diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-04-27 21:18:08 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-04-28 16:52:51 +0000 |
| commit | 21745fbc0f186ce1d85e3ae5f636a0ee9bce11e9 (patch) | |
| tree | 2ff159bba870594023e254a5b7edcf8d0e3e9825 /android/src | |
| parent | 02d01b5568bebe297db24e90358335bb1a0c71de (diff) | |
| download | mullvadvpn-21745fbc0f186ce1d85e3ae5f636a0ee9bce11e9.tar.xz mullvadvpn-21745fbc0f186ce1d85e3ae5f636a0ee9bce11e9.zip | |
Implement creating a new account
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt | 40 | ||||
| -rw-r--r-- | android/src/main/res/values/strings.xml | 3 |
2 files changed, 29 insertions, 14 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt index 9814a32290..c8663eb149 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/LoginFragment.kt @@ -1,7 +1,5 @@ package net.mullvad.mullvadvpn.ui -import android.content.Intent -import android.net.Uri import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -71,11 +69,25 @@ class LoginFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) { jobTracker.cancelAllJobs() } - private fun createAccount() { - val uri = Uri.parse(parentActivity.getString(R.string.create_account_url)) - val intent = Intent(Intent.ACTION_VIEW, uri) + private suspend fun createAccount() { + title.setText(R.string.logging_in_title) + subtitle.setText(R.string.creating_new_account) + + loggingInStatus.visibility = View.VISIBLE + loginFailStatus.visibility = View.GONE + loggedInStatus.visibility = View.GONE - startActivity(intent) + accountInput.state = LoginState.InProgress + + val accountToken = jobTracker.runOnBackground { + daemon.createNewAccount() + } + + if (accountToken == null) { + loginFailure(R.string.failed_to_create_account) + } else { + loggedIn(resources.getString(R.string.account_created)) + } } private fun login(accountToken: String) { @@ -114,22 +126,22 @@ class LoginFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) { } if (loginSucceeded) { - loggedIn() + loggedIn("") } else { - loginFailure() + loginFailure(R.string.login_fail_description) } } } - private suspend fun loggedIn() { - showLoggedInMessage() + private suspend fun loggedIn(subtitleMessage: String) { + showLoggedInMessage(subtitleMessage) delay(1000) loggedIn.complete(Unit) } - private fun showLoggedInMessage() { + private fun showLoggedInMessage(subtitleMessage: String) { title.setText(R.string.logged_in_title) - subtitle.setText("") + subtitle.setText(subtitleMessage) loggingInStatus.visibility = View.GONE loginFailStatus.visibility = View.GONE @@ -145,9 +157,9 @@ class LoginFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) { } } - private fun loginFailure() { + private fun loginFailure(description: Int) { title.setText(R.string.login_fail_title) - subtitle.setText(R.string.login_fail_description) + subtitle.setText(description) loggingInStatus.visibility = View.GONE loginFailStatus.visibility = View.VISIBLE diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml index cbef0fe68c..ff70bf0730 100644 --- a/android/src/main/res/values/strings.xml +++ b/android/src/main/res/values/strings.xml @@ -29,6 +29,9 @@ <string name="dont_have_an_account">Don\'t have an account number?</string> <string name="create_account">Create account</string> + <string name="creating_new_account">Creating new account</string> + <string name="failed_to_create_account">Failed to create account</string> + <string name="account_created">Account created</string> <string name="settings">Settings</string> <string name="settings_account">Account</string> <string name="less_than_a_day_left">less than a day |
