diff options
| author | Albin <albin@mullvad.net> | 2022-06-15 13:12:54 +0200 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2022-06-22 11:57:30 +0200 |
| commit | 1dd006c67b7d0bad0bcea87fc8491589ad06f0f3 (patch) | |
| tree | 955af2655ea81a9e0e339e3221895aafaaa52dc1 /android | |
| parent | 334b10b32725083a8816ebb57971eabe73836031 (diff) | |
| download | mullvadvpn-1dd006c67b7d0bad0bcea87fc8491589ad06f0f3.tar.xz mullvadvpn-1dd006c67b7d0bad0bcea87fc8491589ad06f0f3.zip | |
Fix flow lifecycle setup
Ensures that flows are setup in the correct Android lifecycle methods.
Diffstat (limited to 'android')
3 files changed, 28 insertions, 23 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt index 04e52ea518..8cd506f13d 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt @@ -65,6 +65,18 @@ class AccountFragment : ServiceDependentFragment(OnNoService.GoBack) { private lateinit var redeemVoucherButton: RedeemVoucherButton private lateinit var titleController: CollapsibleTitleController + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + lifecycleScope.launch { + deviceRepository.deviceState + .flowWithLifecycle(lifecycle, Lifecycle.State.RESUMED) + .collect { state -> + accountNumberView.information = state.token() + deviceNameView.information = state.deviceName()?.capitalizeFirstCharOfEachWord() + } + } + } + override fun onSafelyCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -103,19 +115,6 @@ class AccountFragment : ServiceDependentFragment(OnNoService.GoBack) { return view } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - - lifecycleScope.launch { - deviceRepository.deviceState - .flowWithLifecycle(lifecycle, Lifecycle.State.RESUMED) - .collect { state -> - accountNumberView.information = state.token() - deviceNameView.information = state.deviceName()?.capitalizeFirstCharOfEachWord() - } - } - } - override fun onSafelyStart() { jobTracker.newUiJob("updateAccountExpiry") { accountCache.accountExpiryState diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt index d16cf2f0a9..dcd8844656 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt @@ -38,6 +38,11 @@ class LoginFragment : private lateinit var background: View private lateinit var headerBar: HeaderBar + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setupLifecycleSubscriptionsToViewModel() + } + override fun onSafelyCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -70,8 +75,6 @@ class LoginFragment : scrollToShow(accountLogin) - setupLifecycleSubscriptionsToViewModel() - return view } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt index 2cf83fc4c7..5d78098eb8 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/SettingsFragment.kt @@ -51,6 +51,17 @@ class SettingsFragment : ServiceAwareFragment(), StatusBarPainter, NavigationBar versionInfoCache = null } + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + lifecycleScope.launch { + deviceRepository.deviceState + .flowWithLifecycle(lifecycle, Lifecycle.State.RESUMED) + .collect { device -> + updateLoggedInStatus(device is DeviceState.LoggedIn) + } + } + } + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -92,14 +103,6 @@ class SettingsFragment : ServiceAwareFragment(), StatusBarPainter, NavigationBar paintStatusBar(ContextCompat.getColor(requireContext(), R.color.darkBlue)) } } - - lifecycleScope.launch { - deviceRepository.deviceState - .flowWithLifecycle(lifecycle, Lifecycle.State.RESUMED) - .collect { device -> - updateLoggedInStatus(device is DeviceState.LoggedIn) - } - } } override fun onResume() { |
