Skip to content

Commit 1bb21d3

Browse files
committed
Migrate LoginNoSitesFragment to Hilt
1 parent 171606f commit 1bb21d3

File tree

4 files changed

+6
-20
lines changed

4 files changed

+6
-20
lines changed

WordPress/src/main/java/org/wordpress/android/modules/AppComponent.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import org.wordpress.android.ui.accounts.HelpActivity;
1818
import org.wordpress.android.ui.accounts.PostSignupInterstitialActivity;
1919
import org.wordpress.android.ui.accounts.SignupEpilogueActivity;
20-
import org.wordpress.android.ui.accounts.login.jetpack.LoginNoSitesFragment;
2120
import org.wordpress.android.ui.accounts.login.jetpack.LoginSiteCheckErrorFragment;
2221
import org.wordpress.android.ui.accounts.signup.SignupEpilogueFragment;
2322
import org.wordpress.android.ui.activitylog.detail.ActivityLogDetailFragment;
@@ -598,8 +597,6 @@ public interface AppComponent {
598597

599598
void inject(LoginSiteCheckErrorFragment object);
600599

601-
void inject(LoginNoSitesFragment object);
602-
603600
void inject(UserProfileBottomSheetFragment object);
604601

605602
void inject(EngagedPeopleListActivity object);

WordPress/src/main/java/org/wordpress/android/modules/ViewModelModule.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
import org.wordpress.android.ui.JetpackRemoteInstallViewModel;
77
import org.wordpress.android.ui.accounts.LoginViewModel;
8-
import org.wordpress.android.ui.accounts.login.jetpack.LoginNoSitesViewModel;
98
import org.wordpress.android.ui.accounts.login.jetpack.LoginSiteCheckErrorViewModel;
109
import org.wordpress.android.ui.activitylog.list.filter.ActivityLogTypeFilterViewModel;
1110
import org.wordpress.android.ui.bloggingprompts.onboarding.BloggingPromptsOnboardingViewModel;
@@ -483,11 +482,6 @@ abstract class ViewModelModule {
483482
@ViewModelKey(SiteSettingsTimezoneViewModel.class)
484483
abstract ViewModel siteSettingsTimezoneViewModel(SiteSettingsTimezoneViewModel viewModel);
485484

486-
@Binds
487-
@IntoMap
488-
@ViewModelKey(LoginNoSitesViewModel.class)
489-
abstract ViewModel loginNoSitesErrorViewModel(LoginNoSitesViewModel viewModel);
490-
491485
@Binds
492486
@IntoMap
493487
@ViewModelKey(LoginViewModel.class)

WordPress/src/main/java/org/wordpress/android/ui/accounts/login/jetpack/LoginNoSitesFragment.kt

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import android.os.Bundle
55
import android.view.View
66
import androidx.activity.OnBackPressedCallback
77
import androidx.fragment.app.Fragment
8-
import androidx.lifecycle.ViewModelProvider
8+
import androidx.fragment.app.viewModels
9+
import dagger.hilt.android.AndroidEntryPoint
910
import org.wordpress.android.R
1011
import org.wordpress.android.WordPress
1112
import org.wordpress.android.databinding.JetpackLoginEmptyViewBinding
@@ -21,6 +22,7 @@ import org.wordpress.android.ui.main.utils.MeGravatarLoader
2122
import org.wordpress.android.ui.utils.UiHelpers
2223
import javax.inject.Inject
2324

25+
@AndroidEntryPoint
2426
class LoginNoSitesFragment : Fragment(R.layout.jetpack_login_empty_view) {
2527
companion object {
2628
const val TAG = "LoginNoSitesFragment"
@@ -30,15 +32,13 @@ class LoginNoSitesFragment : Fragment(R.layout.jetpack_login_empty_view) {
3032
}
3133
}
3234

33-
@Inject lateinit var viewModelFactory: ViewModelProvider.Factory
3435
@Inject lateinit var meGravatarLoader: MeGravatarLoader
3536
@Inject lateinit var uiHelpers: UiHelpers
3637
private var loginListener: LoginListener? = null
37-
private lateinit var viewModel: LoginNoSitesViewModel
38+
private val viewModel: LoginNoSitesViewModel by viewModels()
3839

3940
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
4041
super.onViewCreated(view, savedInstanceState)
41-
initDagger()
4242
initBackPressHandler()
4343
with(JetpackLoginEmptyViewBinding.bind(view)) {
4444
initContentViews()
@@ -47,10 +47,6 @@ class LoginNoSitesFragment : Fragment(R.layout.jetpack_login_empty_view) {
4747
}
4848
}
4949

50-
private fun initDagger() {
51-
(requireActivity().application as WordPress).component().inject(this)
52-
}
53-
5450
private fun JetpackLoginEmptyViewBinding.initContentViews() {
5551
uiHelpers.setTextOrHide(loginErrorMessageTitle, R.string.login_no_jetpack_sites)
5652
uiHelpers.setTextOrHide(loginErrorMessageText, R.string.login_no_jetpack_sites_error_message)
@@ -62,9 +58,6 @@ class LoginNoSitesFragment : Fragment(R.layout.jetpack_login_empty_view) {
6258
}
6359

6460
private fun JetpackLoginEmptyViewBinding.initViewModel(savedInstanceState: Bundle?) {
65-
viewModel = ViewModelProvider(this@LoginNoSitesFragment, viewModelFactory)
66-
.get(LoginNoSitesViewModel::class.java)
67-
6861
initObservers()
6962

7063
viewModel.start(

WordPress/src/main/java/org/wordpress/android/ui/accounts/login/jetpack/LoginNoSitesViewModel.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package org.wordpress.android.ui.accounts.login.jetpack
33
import android.os.Bundle
44
import androidx.lifecycle.LiveData
55
import androidx.lifecycle.MediatorLiveData
6+
import dagger.hilt.android.lifecycle.HiltViewModel
67
import kotlinx.coroutines.CoroutineDispatcher
78
import kotlinx.coroutines.withContext
89
import org.wordpress.android.WordPress
@@ -24,6 +25,7 @@ import javax.inject.Named
2425

2526
const val KEY_STATE = "key_state"
2627

28+
@HiltViewModel
2729
class LoginNoSitesViewModel @Inject constructor(
2830
private val unifiedLoginTracker: UnifiedLoginTracker,
2931
private val accountStore: AccountStore,

0 commit comments

Comments
 (0)