diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt | 18 |
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() + } } |
