summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt18
1 files changed, 17 insertions, 1 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt
index b13863f108..2893729917 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt
@@ -28,7 +28,10 @@ class AccountFragment : ServiceDependentFragment(OnNoService.GoBack) {
view.findViewById<View>(R.id.logout).setOnClickListener { logout() }
- accountNumberView = view.findViewById(R.id.account_number)
+ accountNumberView = view.findViewById<CopyableInformationView>(R.id.account_number).apply {
+ displayFormatter = { rawAccountNumber -> addSpacesToAccountNumber(rawAccountNumber) }
+ }
+
accountExpiryView = view.findViewById(R.id.account_expiry)
return view
@@ -96,4 +99,17 @@ class AccountFragment : ServiceDependentFragment(OnNoService.GoBack) {
commit()
}
}
+
+ private fun addSpacesToAccountNumber(rawAccountNumber: String): String {
+ return rawAccountNumber
+ .asSequence()
+ .fold(StringBuilder()) { formattedAccountNumber, nextDigit ->
+ if ((formattedAccountNumber.length % 5) == 4) {
+ formattedAccountNumber.append(' ')
+ }
+
+ formattedAccountNumber.append(nextDigit)
+ }
+ .toString()
+ }
}