diff --git a/app/app/src/main/java/ing/bikeshedengineer/debtpirate/app/screen/auth/presentation/register/RegistrationScreen.kt b/app/app/src/main/java/ing/bikeshedengineer/debtpirate/app/screen/auth/presentation/register/RegistrationScreen.kt index bb783ee..82c113c 100644 --- a/app/app/src/main/java/ing/bikeshedengineer/debtpirate/app/screen/auth/presentation/register/RegistrationScreen.kt +++ b/app/app/src/main/java/ing/bikeshedengineer/debtpirate/app/screen/auth/presentation/register/RegistrationScreen.kt @@ -2,6 +2,7 @@ package ing.bikeshedengineer.debtpirate.app.screen.auth.presentation.register import android.annotation.SuppressLint import android.util.Log +import android.widget.Toast import androidx.activity.ComponentActivity import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues @@ -71,15 +72,16 @@ fun RegistrationScreen( val result = accountManager.storeCredentials(emailAddress, password) when (result) { - is AccountManagerResult.Unavailable -> { + is AccountManagerResult.Failure -> { + Toast.makeText(context, "Unable to store credentials", Toast.LENGTH_SHORT).show() + } + else -> { + Toast.makeText(context, "Registration successful", Toast.LENGTH_SHORT).show() + viewModel.onAction(RegistrationScreenAction.ResetFields) viewModel.navigateUp() } - - else -> { - - } } - Log.d("RegistrationScreen", "$result") + } } } diff --git a/app/app/src/main/java/ing/bikeshedengineer/debtpirate/app/screen/auth/presentation/register/RegistrationScreenViewModel.kt b/app/app/src/main/java/ing/bikeshedengineer/debtpirate/app/screen/auth/presentation/register/RegistrationScreenViewModel.kt index ee2f805..d3ea658 100644 --- a/app/app/src/main/java/ing/bikeshedengineer/debtpirate/app/screen/auth/presentation/register/RegistrationScreenViewModel.kt +++ b/app/app/src/main/java/ing/bikeshedengineer/debtpirate/app/screen/auth/presentation/register/RegistrationScreenViewModel.kt @@ -107,8 +107,6 @@ class RegistrationScreenViewModel @Inject constructor( submitAccountRegistrationRequest(emailAddress, name, confirmPassword) _onRegistrationComplete.emit(Pair(emailAddress, confirmPassword)) - - resetFields() } catch (err: Throwable) { // TODO... } diff --git a/app/app/src/main/java/ing/bikeshedengineer/debtpirate/domain/model/AccountManagerResult.kt b/app/app/src/main/java/ing/bikeshedengineer/debtpirate/domain/model/AccountManagerResult.kt index 52279b8..45607b7 100644 --- a/app/app/src/main/java/ing/bikeshedengineer/debtpirate/domain/model/AccountManagerResult.kt +++ b/app/app/src/main/java/ing/bikeshedengineer/debtpirate/domain/model/AccountManagerResult.kt @@ -1,7 +1,7 @@ package ing.bikeshedengineer.debtpirate.domain.model sealed interface AccountManagerResult { - data class Success(val username: String) : AccountManagerResult + data object Success : AccountManagerResult data object Unavailable : AccountManagerResult data object Canceled : AccountManagerResult data object Failure : AccountManagerResult diff --git a/app/app/src/main/java/ing/bikeshedengineer/debtpirate/domain/repository/AccountManager.kt b/app/app/src/main/java/ing/bikeshedengineer/debtpirate/domain/repository/AccountManager.kt index 56bc7d9..3cdf117 100644 --- a/app/app/src/main/java/ing/bikeshedengineer/debtpirate/domain/repository/AccountManager.kt +++ b/app/app/src/main/java/ing/bikeshedengineer/debtpirate/domain/repository/AccountManager.kt @@ -24,15 +24,14 @@ class AccountManager(private val context: Activity) { ) ) - AccountManagerResult.Success(emailAddress) + AccountManagerResult.Success } catch (err: CreateCredentialNoCreateOptionException) { Log.w( "DebtPirate::AccountManager", "Cannot store credentials; a Google account isn't associated with this device" ) AccountManagerResult.Unavailable - } catch (err: CreateCredentialCancellationException) { - err.printStackTrace() + } catch (_: CreateCredentialCancellationException) { AccountManagerResult.Canceled } catch (err: CreateCredentialException) { err.printStackTrace()