Skip to content

Commit 3d0895d

Browse files
committed
-ViewModelProvider deprecated code migrated to latest for fragment / Activity
- Boilerplate code removed.
1 parent 7c2aac1 commit 3d0895d

File tree

8 files changed

+53
-66
lines changed

8 files changed

+53
-66
lines changed

app/app.iml

Lines changed: 34 additions & 25 deletions
Large diffs are not rendered by default.

app/src/main/java/com/kotlin/mvvm/ui/countries/CountriesFragment.kt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,39 +3,43 @@ package com.kotlin.mvvm.ui.countries
33
import android.content.Context
44
import android.content.Intent
55
import android.os.Bundle
6-
import androidx.fragment.app.Fragment
76
import androidx.recyclerview.widget.GridLayoutManager
87
import androidx.recyclerview.widget.LinearLayoutManager
98
import android.view.LayoutInflater
109
import android.view.View
1110
import android.view.ViewGroup
11+
import androidx.fragment.app.viewModels
1212
import androidx.lifecycle.Observer
1313
import androidx.lifecycle.ViewModelProvider
14-
import androidx.lifecycle.ViewModelProviders
1514
import com.kotlin.mvvm.R
16-
import com.kotlin.mvvm.di.base.Injectable
1715
import com.kotlin.mvvm.repository.model.countries.Country
1816
import com.kotlin.mvvm.ui.news.NewsActivity
1917

2018
import dagger.android.support.AndroidSupportInjection
19+
import dagger.android.support.DaggerFragment
2120
import kotlinx.android.synthetic.main.fragment_country_list.view.*
2221
import javax.inject.Inject
2322

2423
/**
2524
* Created by Waheed on 08,November,2019
25+
* Updated to dagger 2.27, 29, September 2020
2626
*/
2727

2828
/**
2929
* A fragment representing a list of Items.
3030
*/
31-
class CountriesFragment : Fragment(), Injectable {
31+
class CountriesFragment : DaggerFragment() {
3232

3333
@Inject
3434
lateinit var viewModelFactory: ViewModelProvider.Factory
3535

36+
37+
private val countriesViewModel: CountriesViewModel by viewModels {
38+
viewModelFactory
39+
}
40+
3641
private var columnCount = 1
3742
private lateinit var countriesAdapter: CountriesAdapter
38-
private lateinit var countriesViewModel: CountriesViewModel
3943
private var listOfCountries = ArrayList<Country>()
4044
private lateinit var thisView: View
4145

@@ -94,10 +98,6 @@ class CountriesFragment : Fragment(), Injectable {
9498
*
9599
*/
96100
private fun load() {
97-
countriesViewModel =
98-
ViewModelProviders.of(this, viewModelFactory).get(CountriesViewModel::class.java)
99-
100-
101101
thisView.recyclerview_countries.layoutManager =
102102
if (columnCount <= 1) LinearLayoutManager(context) else GridLayoutManager(
103103
context,

app/src/main/java/com/kotlin/mvvm/ui/news/NewsActivity.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
package com.kotlin.mvvm.ui.news
22

33
import android.os.Bundle
4+
import androidx.activity.viewModels
45
import androidx.lifecycle.Observer
56
import androidx.recyclerview.widget.LinearLayoutManager
67
import com.kotlin.mvvm.R
78
import com.kotlin.mvvm.ui.BaseActivity
89
import com.kotlin.mvvm.utils.ToastUtil
9-
import com.kotlin.mvvm.utils.extensions.getViewModel
1010
import com.kotlin.mvvm.utils.extensions.load
11-
import com.kotlin.mvvm.utils.extensions.toast
1211
import kotlinx.android.synthetic.main.activity_news_articles.*
1312
import kotlinx.android.synthetic.main.empty_layout_news_article.*
1413
import kotlinx.android.synthetic.main.progress_layout_news_article.*
@@ -24,11 +23,10 @@ class NewsActivity : BaseActivity() {
2423
val KEY_COUNTRY_SHORT_KEY: String = "COUNTRY_SHORT_KEY"
2524
}
2625

27-
2826
private lateinit var adapter: NewsAdapter
2927

30-
private val newsArticleViewModel by lazy {
31-
getViewModel<NewsViewModel>()
28+
private val newsArticleViewModel: NewsViewModel by viewModels {
29+
viewModelFactory
3230
}
3331

3432
/**
@@ -49,7 +47,7 @@ class NewsActivity : BaseActivity() {
4947
news_list.adapter = adapter
5048
news_list.layoutManager = LinearLayoutManager(this)
5149

52-
getNewsOfCountry(intent.getStringExtra(KEY_COUNTRY_SHORT_KEY))
50+
getNewsOfCountry(intent?.getStringExtra(KEY_COUNTRY_SHORT_KEY)!!)
5351
}
5452

5553
/**

app/src/main/java/com/kotlin/mvvm/utils/ConnectivityUtil.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import android.net.ConnectivityManager
99

1010
object ConnectivityUtil {
1111

12+
@Suppress("DEPRECATION")
1213
fun isConnected(context: Context): Boolean {
1314
val connectivityManager =
1415
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager

app/src/main/java/com/kotlin/mvvm/utils/IntentUtils.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import androidx.core.app.ShareCompat
1010
* Created by Waheed on 04,November,2019
1111
*/
1212

13+
1314
fun intentShareText(activity: Activity, text: String) {
1415
val shareIntent = ShareCompat.IntentBuilder.from(activity)
1516
.setText(text)
@@ -22,7 +23,8 @@ fun intentShareText(activity: Activity, text: String) {
2223
addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT or Intent.FLAG_ACTIVITY_MULTIPLE_TASK)
2324
} else {
2425
// Else, we will use the old CLEAR_WHEN_TASK_RESET flag
25-
addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET)
26+
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP)
27+
addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET)
2628
}
2729
}
2830
activity.startActivity(shareIntent)

app/src/main/java/com/kotlin/mvvm/utils/extensions/ActivityExtension.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ fun Activity.startActivityNewTask(clazz: Class<*>) {
3838
startActivity(intent)
3939
}
4040

41+
@Suppress("DEPRECATION")
4142
fun Activity.isConnectedInternet(): Boolean {
4243
val connectivityManager =
4344
this.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager?

app/src/main/java/com/kotlin/mvvm/utils/extensions/ViewExtensions.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ fun ViewGroup.inflate(layoutRes: Int): View {
4646
return LayoutInflater.from(context).inflate(layoutRes, this, false)
4747
}
4848

49+
@Suppress("DEPRECATION")
4950
fun Context.getDrawableCompat(@DrawableRes resId: Int, @ColorRes tintColorRes: Int = 0) = when {
5051
tintColorRes != 0 -> AppCompatResources.getDrawable(this, resId)?.apply {
5152
setColorFilter(getColorCompat(tintColorRes), PorterDuff.Mode.SRC_ATOP)

app/src/main/java/com/kotlin/mvvm/utils/extensions/ViewModelExtensions.kt

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)