summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorsaber safavi <saber.safavi@codic.se>2023-10-12 14:41:03 +0200
committerJonatan Rhodin <jonatan.rhodin@mullvad.net>2023-10-19 11:46:33 +0200
commite5f86d1252c8259fc6586e07c5fa37baf20309c0 (patch)
treebb06f9730bc75a25892bd54e7a1eb478f108d68f /android
parented5722ddabbdd860778f53c33d5b8bb5f7d6a6da (diff)
downloadmullvadvpn-e5f86d1252c8259fc6586e07c5fa37baf20309c0.tar.xz
mullvadvpn-e5f86d1252c8259fc6586e07c5fa37baf20309c0.zip
Add redirection callback to voucher dialog
Diffstat (limited to 'android')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/RedeemVoucherDialog.kt10
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/RedeemVoucherDialogScreen.kt2
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/OutOfTimeFragment.kt3
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/RedeemVoucherDialogFragment.kt7
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/WelcomeFragment.kt3
5 files changed, 17 insertions, 8 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/RedeemVoucherDialog.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/RedeemVoucherDialog.kt
index 0848b89594..a7a7273555 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/RedeemVoucherDialog.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/RedeemVoucherDialog.kt
@@ -99,7 +99,7 @@ fun RedeemVoucherDialog(
uiState: VoucherDialogUiState,
onVoucherInputChange: (String) -> Unit = {},
onRedeem: (voucherCode: String) -> Unit,
- onDismiss: () -> Unit
+ onDismiss: (isTimeAdded: Boolean) -> Unit
) {
AlertDialog(
title = {
@@ -127,7 +127,9 @@ fun RedeemVoucherDialog(
R.string.changes_dialog_dismiss_button
else R.string.cancel
),
- onClick = onDismiss
+ onClick = {
+ onDismiss(uiState.voucherViewModelState is VoucherDialogState.Success)
+ }
)
}
},
@@ -173,7 +175,9 @@ fun RedeemVoucherDialog(
},
containerColor = MaterialTheme.colorScheme.background,
titleContentColor = MaterialTheme.colorScheme.onBackground,
- onDismissRequest = onDismiss
+ onDismissRequest = {
+ onDismiss(uiState.voucherViewModelState is VoucherDialogState.Success)
+ }
)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/RedeemVoucherDialogScreen.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/RedeemVoucherDialogScreen.kt
index 1344db5b20..1db18b01a3 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/RedeemVoucherDialogScreen.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/RedeemVoucherDialogScreen.kt
@@ -26,7 +26,7 @@ internal fun RedeemVoucherDialogScreen(
uiState: VoucherDialogUiState,
onVoucherInputChange: (String) -> Unit = {},
onRedeem: (voucherCode: String) -> Unit,
- onDismiss: () -> Unit
+ onDismiss: (isTimeAdded: Boolean) -> Unit
) {
RedeemVoucherDialog(uiState, onVoucherInputChange, onRedeem, onDismiss)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/OutOfTimeFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/OutOfTimeFragment.kt
index 700ffba145..53df05c5f3 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/OutOfTimeFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/OutOfTimeFragment.kt
@@ -46,7 +46,8 @@ class OutOfTimeFragment : BaseFragment() {
private fun openRedeemVoucherFragment() {
val transaction = parentFragmentManager.beginTransaction()
transaction.addToBackStack(null)
- RedeemVoucherDialogFragment().show(transaction, null)
+ RedeemVoucherDialogFragment { wasSuccessful -> if (wasSuccessful) advanceToConnectScreen() }
+ .show(transaction, null)
}
private fun advanceToConnectScreen() {
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/RedeemVoucherDialogFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/RedeemVoucherDialogFragment.kt
index 61f24e45fc..2730fde547 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/RedeemVoucherDialogFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/RedeemVoucherDialogFragment.kt
@@ -14,7 +14,7 @@ import net.mullvad.mullvadvpn.lib.theme.AppTheme
import net.mullvad.mullvadvpn.viewmodel.VoucherDialogViewModel
import org.koin.androidx.viewmodel.ext.android.viewModel
-class RedeemVoucherDialogFragment : DialogFragment() {
+class RedeemVoucherDialogFragment(val onDialogDismiss: (Boolean) -> Unit = {}) : DialogFragment() {
private val vm by viewModel<VoucherDialogViewModel>()
private lateinit var voucherDialog: Dialog
@@ -31,7 +31,10 @@ class RedeemVoucherDialogFragment : DialogFragment() {
uiState = vm.uiState.collectAsState().value,
onVoucherInputChange = { vm.onVoucherInputChange(it) },
onRedeem = { vm.onRedeem(it) },
- onDismiss = { onDismiss(voucherDialog) }
+ onDismiss = {
+ onDismiss(voucherDialog)
+ onDialogDismiss(it)
+ }
)
}
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/WelcomeFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/WelcomeFragment.kt
index 403c50ccec..d04c5de53a 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/WelcomeFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/WelcomeFragment.kt
@@ -45,7 +45,8 @@ class WelcomeFragment : BaseFragment() {
private fun openRedeemVoucherFragment() {
val transaction = parentFragmentManager.beginTransaction()
transaction.addToBackStack(null)
- RedeemVoucherDialogFragment().show(transaction, null)
+ RedeemVoucherDialogFragment { wasSuccessful -> if (wasSuccessful) advanceToConnectScreen() }
+ .show(transaction, null)
}
private fun advanceToConnectScreen() {