diff options
| author | Albin <albin@mullvad.net> | 2022-09-06 09:43:08 +0200 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2022-09-06 09:43:08 +0200 |
| commit | 2950bb6362a98ad3640052bed8e023c596fe570a (patch) | |
| tree | 2a7b300e204982ab9ff264a372cdbd0935af186b | |
| parent | c0b5290d5859b1737c2995571e902b60434305ee (diff) | |
| parent | b09342ee0aaa329b9af65218cb39d7c7878b94cb (diff) | |
| download | mullvadvpn-2950bb6362a98ad3640052bed8e023c596fe570a.tar.xz mullvadvpn-2950bb6362a98ad3640052bed8e023c596fe570a.zip | |
Merge branch 'refresh-device-in-account-view'
4 files changed, 15 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 0df2d06f2a..b60076e795 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,6 +52,10 @@ Line wrap the file at 100 chars. Th - Remove dependency on `ipconfig.exe`. Call `DnsFlushResolverCache` to flush the DNS cache. - Upgrade Wintun to 0.14.1. +#### Android +- Refresh device data when opening the account view to ensure the local data is up-to-date and that + the device hasn't been revoked. + ### Fixed - Connect to TCP endpoints over IPv6 if IPv6 is enabled for WireGuard. - Fix udp2tcp not working when quantum-resistant tunnels are enabled. 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 de6b9f17c9..78134c3a02 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 @@ -171,6 +171,7 @@ class AccountFragment : BaseFragment() { launchUpdateTextOnDeviceChanges() launchUpdateTextOnExpiryChanges() launchTunnelStateSubscription() + launchRefreshDeviceStateAfterAnimation() } } @@ -221,6 +222,12 @@ class AccountFragment : BaseFragment() { } } + private fun CoroutineScope.launchRefreshDeviceStateAfterAnimation() = launch { + transitionFinishedFlow.collect { + deviceRepository.refreshDeviceState() + } + } + private fun checkForAddedTime() { currentAccountExpiry?.let { expiry -> oldAccountExpiry = expiry diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt index b9391edd0e..0697a5e5a5 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt @@ -236,6 +236,7 @@ open class MainActivity : FragmentActivity() { } private fun openRevokedView() { + clearBackStack() supportFragmentManager.beginTransaction().apply { setCustomAnimations( R.anim.fragment_enter_from_right, diff --git a/android/app/src/main/res/layout/account.xml b/android/app/src/main/res/layout/account.xml index 225ef71cc0..1d47262416 100644 --- a/android/app/src/main/res/layout/account.xml +++ b/android/app/src/main/res/layout/account.xml @@ -48,7 +48,7 @@ android:paddingHorizontal="@dimen/side_margin" android:paddingVertical="@dimen/half_vertical_space" mullvad:description="@string/device_name" - mullvad:whenMissing="hide" /> + mullvad:whenMissing="showSpinner" /> <net.mullvad.mullvadvpn.ui.widget.CopyableInformationView android:id="@+id/account_number" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -57,7 +57,7 @@ mullvad:clipboardLabel="@string/mullvad_account_number" mullvad:copiedToast="@string/copied_mullvad_account_number" mullvad:description="@string/account_number" - mullvad:whenMissing="hide" + mullvad:whenMissing="showSpinner" android:descendantFocusability="afterDescendants" /> <net.mullvad.mullvadvpn.ui.widget.InformationView android:id="@+id/account_expiry" android:layout_width="match_parent" @@ -66,7 +66,7 @@ android:paddingHorizontal="@dimen/side_margin" android:paddingVertical="@dimen/half_vertical_space" mullvad:description="@string/paid_until" - mullvad:whenMissing="hide" /> + mullvad:whenMissing="showSpinner" /> <Space android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> |
