summaryrefslogtreecommitdiffhomepage
path: root/android/app/src
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-05-09 09:33:52 +0200
committerAlbin <albin@mullvad.net>2023-05-09 09:33:52 +0200
commit3aa48fa36cc860abc7b82efc167feea547c97315 (patch)
treeca3892b97746b275c91424075ba8569543bb3ced /android/app/src
parent97f104a4dc17c5633d78010548454dd9f49d8cf2 (diff)
parent3af6013154f7dd746ecf187acf0cb8bb039b8ec9 (diff)
downloadmullvadvpn-3aa48fa36cc860abc7b82efc167feea547c97315.tar.xz
mullvadvpn-3aa48fa36cc860abc7b82efc167feea547c97315.zip
Merge branch 'change-text-on-buy-credit-button-in-droid-132'
Diffstat (limited to 'android/app/src')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/AccountFragment.kt21
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountManagementButton.kt21
-rw-r--r--android/app/src/main/res/layout/account.xml2
-rw-r--r--android/app/src/main/res/layout/account_buttons.xml15
-rw-r--r--android/app/src/main/res/values/strings.xml1
5 files changed, 45 insertions, 15 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/AccountFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/AccountFragment.kt
index 6d43578411..80a8e0c184 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/AccountFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/fragment/AccountFragment.kt
@@ -5,7 +5,6 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import androidx.core.view.isVisible
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
@@ -17,9 +16,7 @@ import kotlinx.coroutines.flow.emptyFlow
import kotlinx.coroutines.flow.flatMapLatest
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.launch
-import net.mullvad.mullvadvpn.BuildConfig
import net.mullvad.mullvadvpn.R
-import net.mullvad.mullvadvpn.constant.BuildTypes
import net.mullvad.mullvadvpn.model.TunnelState
import net.mullvad.mullvadvpn.repository.AccountRepository
import net.mullvad.mullvadvpn.repository.DeviceRepository
@@ -31,11 +28,11 @@ import net.mullvad.mullvadvpn.ui.extension.requireMainActivity
import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnectionManager
import net.mullvad.mullvadvpn.ui.serviceconnection.ServiceConnectionState
import net.mullvad.mullvadvpn.ui.serviceconnection.authTokenCache
+import net.mullvad.mullvadvpn.ui.widget.AccountManagementButton
import net.mullvad.mullvadvpn.ui.widget.Button
import net.mullvad.mullvadvpn.ui.widget.CopyableInformationView
import net.mullvad.mullvadvpn.ui.widget.InformationView
import net.mullvad.mullvadvpn.ui.widget.RedeemVoucherButton
-import net.mullvad.mullvadvpn.ui.widget.SitePaymentButton
import net.mullvad.mullvadvpn.util.JobTracker
import net.mullvad.mullvadvpn.util.UNKNOWN_STATE_DEBOUNCE_DELAY_MILLISECONDS
import net.mullvad.mullvadvpn.util.addDebounceForUnknownState
@@ -72,7 +69,7 @@ class AccountFragment : BaseFragment() {
private var hasConnectivity = true
set(value) {
field = value
- sitePaymentButton.setEnabled(value)
+ accountManagementButton.isEnabled = value
}
private var isOffline = true
@@ -94,7 +91,7 @@ class AccountFragment : BaseFragment() {
private lateinit var accountExpiryView: InformationView
private lateinit var accountNumberView: CopyableInformationView
private lateinit var deviceNameView: InformationView
- private lateinit var sitePaymentButton: SitePaymentButton
+ private lateinit var accountManagementButton: AccountManagementButton
private lateinit var redeemVoucherButton: RedeemVoucherButton
private lateinit var titleController: CollapsibleTitleController
@@ -121,22 +118,18 @@ class AccountFragment : BaseFragment() {
requireMainActivity().onBackPressed()
}
- sitePaymentButton =
- view.findViewById<SitePaymentButton>(R.id.site_payment).apply {
- newAccount = false
-
+ accountManagementButton =
+ view.findViewById<AccountManagementButton>(R.id.account_management).apply {
setOnClickAction("openAccountPageInBrowser", jobTracker) {
- setEnabled(false)
+ isEnabled = false
serviceConnectionManager.authTokenCache()?.fetchAuthToken()?.let { token ->
context.openAccountPageInBrowser(token)
}
- setEnabled(true)
+ isEnabled = true
checkForAddedTime()
}
}
- sitePaymentButton.isVisible = BuildTypes.RELEASE != BuildConfig.BUILD_TYPE
-
redeemVoucherButton =
view.findViewById<RedeemVoucherButton>(R.id.redeem_voucher).apply {
prepare(parentFragmentManager, jobTracker)
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountManagementButton.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountManagementButton.kt
new file mode 100644
index 0000000000..e9b7d170d7
--- /dev/null
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountManagementButton.kt
@@ -0,0 +1,21 @@
+package net.mullvad.mullvadvpn.ui.widget
+
+import android.content.Context
+import android.util.AttributeSet
+import net.mullvad.mullvadvpn.R
+
+class AccountManagementButton : UrlButton {
+ constructor(context: Context) : super(context)
+
+ constructor(context: Context, attributes: AttributeSet) : super(context, attributes)
+
+ constructor(
+ context: Context,
+ attributes: AttributeSet,
+ defaultStyleAttribute: Int
+ ) : super(context, attributes, defaultStyleAttribute)
+
+ init {
+ label = context.getString(R.string.manage_account)
+ }
+}
diff --git a/android/app/src/main/res/layout/account.xml b/android/app/src/main/res/layout/account.xml
index 1d47262416..01a003c883 100644
--- a/android/app/src/main/res/layout/account.xml
+++ b/android/app/src/main/res/layout/account.xml
@@ -70,7 +70,7 @@
<Space android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
- <include layout="@layout/payment_buttons" />
+ <include layout="@layout/account_buttons" />
<net.mullvad.mullvadvpn.ui.widget.Button android:id="@+id/logout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/android/app/src/main/res/layout/account_buttons.xml b/android/app/src/main/res/layout/account_buttons.xml
new file mode 100644
index 0000000000..13d7883995
--- /dev/null
+++ b/android/app/src/main/res/layout/account_buttons.xml
@@ -0,0 +1,15 @@
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:mullvad="http://schemas.android.com/apk/res-auto">
+ <net.mullvad.mullvadvpn.ui.widget.AccountManagementButton android:id="@+id/account_management"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginHorizontal="@dimen/side_margin"
+ mullvad:buttonColor="green" />
+ <net.mullvad.mullvadvpn.ui.widget.RedeemVoucherButton android:id="@+id/redeem_voucher"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/button_separation"
+ android:layout_marginHorizontal="@dimen/side_margin"
+ mullvad:buttonColor="green"
+ mullvad:text="@string/redeem_voucher" />
+</merge>
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index b0431964e2..d007411148 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -186,4 +186,5 @@
</string>
<string name="settings_changes_effect_warning_short">DNS settings might not go into effect immediately</string>
<string name="settings_changes_effect_warning_content_blocker">Changes to DNS related settings might not go into effect immediately due to cached results.</string>
+ <string name="manage_account">Manage account</string>
</resources>