show snackbar instead of dialog to perform add or remove account action when server is in maintenance mode.

Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
sowjanyakch 2025-02-24 09:27:23 +01:00
parent 04d2f056b8
commit 97ea35a6b1
No known key found for this signature in database
GPG Key ID: F7AA2A8B65B50220
2 changed files with 7 additions and 38 deletions

View File

@ -1876,42 +1876,11 @@ class ConversationsListActivity :
private fun showServiceUnavailableDialog(httpException: HttpException) {
if (httpException.response()?.headers()?.get(MAINTENANCE_MODE_HEADER_KEY) == "1") {
binding.floatingActionButton.let {
val dialogBuilder = MaterialAlertDialogBuilder(it.context)
.setIcon(
viewThemeUtils.dialog.colorMaterialAlertDialogIcon(
context,
R.drawable.ic_info_white_24dp
)
)
.setTitle(R.string.nc_dialog_maintenance_mode)
.setMessage(R.string.nc_dialog_maintenance_mode_description)
.setCancelable(false)
.setNegativeButton(R.string.nc_settings_remove_account) { _, _ ->
deleteUserAndRestartApp()
}
if (resources!!.getBoolean(R.bool.multiaccount_support) && userManager.users.blockingGet().size > 1) {
dialogBuilder.setPositiveButton(R.string.nc_switch_account) { _, _ ->
val newFragment: DialogFragment = ChooseAccountDialogFragment.newInstance()
newFragment.show(supportFragmentManager, ChooseAccountDialogFragment.TAG)
}
}
if (resources!!.getBoolean(R.bool.multiaccount_support)) {
dialogBuilder.setNeutralButton(R.string.nc_account_chooser_add_account) { _, _ ->
val intent = Intent(this, ServerSelectionActivity::class.java)
intent.putExtra(ADD_ADDITIONAL_ACCOUNT, true)
startActivity(intent)
}
}
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(it.context, dialogBuilder)
val dialog = dialogBuilder.show()
viewThemeUtils.platform.colorTextButtons(
dialog.getButton(AlertDialog.BUTTON_POSITIVE),
dialog.getButton(AlertDialog.BUTTON_NEGATIVE),
dialog.getButton(AlertDialog.BUTTON_NEUTRAL)
)
Snackbar.make(
binding.root,
R.string.nc_dialog_maintenance_mode_description,
Snackbar.LENGTH_LONG
).show()
}
} else {
showErrorDialog()

View File

@ -656,8 +656,8 @@ How to translate with transifex:
<string name="nc_dialog_outdated_client_description">The app is too old and no longer supported by this server. Please update.</string>
<string name="nc_dialog_outdated_client_option_update">Update</string>
<string name="nc_switch_account">Switch account</string>
<string name="nc_dialog_maintenance_mode">Maintenance mode</string>
<string name="nc_dialog_maintenance_mode_description">Server is currently in maintenance mode.</string>
<string name="nc_dialog_maintenance_mode_description">Server is currently in maintenance mode. Please try again
later.</string>
<!-- Take photo -->
<string name="take_photo">Take a photo</string>