Skip to content
Snippets Groups Projects
Commit f5a93ffe authored by Taras's avatar Taras
Browse files

Integrate add email to settings

parent 714e58e3
No related branches found
No related tags found
No related merge requests found
......@@ -20,6 +20,10 @@ class SettingsDataSource @Inject constructor(
session.accountService().deactivateAccount(false, authConfirmationProvider)
}
suspend fun addEmailUIA() = createResult {
session.accountService().changeEmailStages(authConfirmationProvider)
}
suspend fun changePasswordUIA() =
changePasswordDataSource.changePasswordUIA(authConfirmationProvider)
......
......@@ -71,8 +71,11 @@ class SettingsFragment : Fragment(R.layout.fragment_settings), ReAuthCancellatio
}
}
tvSwitchUser.setOnClickListener { withConfirmation(SwitchUser()) { (activity as? MainActivity)?.stopSyncAndRestart() } }
tvChangePassword.setOnClickListener { viewModel.handleChangePasswordFlow() }
tvAddEmail.setOnClickListener {
loadingDialog.handleLoading(LoadingData())
viewModel.handleChangeEmailFlow()
}
tvDeactivate.setOnClickListener {
withConfirmation(DeactivateAccount()) {
loadingDialog.handleLoading(LoadingData())
......@@ -105,6 +108,11 @@ class SettingsFragment : Fragment(R.layout.fragment_settings), ReAuthCancellatio
viewModel.navigateToMatrixChangePasswordEvent.observeData(this) {
navigator.navigateToMatrixChangePassword()
}
viewModel.addEmailLiveData.observeResponse(this,
success = { showSuccess(getString(org.futo.circles.core.R.string.email_added)) },
error = { showError(getString(org.futo.circles.auth.R.string.invalid_auth)) },
onRequestInvoked = { loadingDialog.dismiss() }
)
viewModel.changePasswordResponseLiveData.observeResponse(this,
success = { showSuccess(getString(org.futo.circles.core.R.string.password_changed)) },
error = { message -> showError(message) },
......
......@@ -23,6 +23,7 @@ class SettingsViewModel @Inject constructor(
val startReAuthEventLiveData = settingsDataSource.startReAuthEventLiveData
val logOutLiveData = SingleEventLiveData<Response<Unit?>>()
val deactivateLiveData = SingleEventLiveData<Response<Unit?>>()
val addEmailLiveData = SingleEventLiveData<Response<Unit?>>()
val navigateToMatrixChangePasswordEvent = SingleEventLiveData<Unit>()
val changePasswordResponseLiveData = SingleEventLiveData<Response<Unit?>>()
val mediaUsageInfoLiveData = SingleEventLiveData<Response<MediaUsageInfo?>>()
......@@ -54,6 +55,13 @@ class SettingsViewModel @Inject constructor(
}
}
fun handleChangeEmailFlow() {
launchBg {
val result = settingsDataSource.addEmailUIA()
addEmailLiveData.postValue(result)
}
}
private suspend fun createNewBackupInNeeded() {
val createBackupResult = settingsDataSource.createNewBackupIfNeeded()
changePasswordResponseLiveData.postValue(createBackupResult)
......
......@@ -123,11 +123,11 @@
app:optionName="@string/change_password" />
<org.futo.circles.core.view.SettingsMenuItemView
android:id="@+id/tvChangeEmail"
android:id="@+id/tvAddEmail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:optionIcon="@drawable/ic_email"
app:optionName="@string/change_email_address" />
app:optionName="@string/add_email_address" />
<org.futo.circles.core.view.SettingsMenuItemView
android:id="@+id/tvClearCache"
......
......@@ -91,7 +91,7 @@
<string name="switch_user_message">Are you sure you want to switch user?</string>
<string name="switch_str">Switch</string>
<string name="change_password">Change password</string>
<string name="change_email_address">Change email address</string>
<string name="add_email_address">Add email address</string>
<string name="new_password">New password</string>
<string name="old_password">Old Password</string>
<string name="repeat_new_password">Repeat new password</string>
......
......@@ -54,6 +54,7 @@
<string name="save">Save</string>
<string name="select_items_from_list_below">Select items from list below</string>
<string name="password_changed">Password changed</string>
<string name="email_added">Email added</string>
<string name="remove">Remove</string>
<string name="choose_gallery">Choose gallery</string>
<string name="pick_media">Pick media</string>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment