diff --git a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt
index 2c5e7c940..eb9b25ec1 100644
--- a/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt
+++ b/app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt
@@ -1045,6 +1045,10 @@ class ConversationsListActivity :
binding.chatListConnectionLost.visibility = if (show) View.VISIBLE else View.GONE
}
+ private fun showMaintenanceModeWarning(show: Boolean) {
+ binding.chatListMaintenanceWarning.visibility = if (show) View.VISIBLE else View.GONE
+ }
+
private fun handleUI(show: Boolean) {
binding.floatingActionButton.isEnabled = show
binding.searchText.isEnabled = show
@@ -1133,6 +1137,8 @@ class ConversationsListActivity :
private fun prepareViews() {
hideLogoForBrandedClients()
+ showMaintenanceModeWarning(false)
+
layoutManager = SmoothScrollLinearLayoutManager(this)
binding.recyclerView.layoutManager = layoutManager
binding.recyclerView.setHasFixedSize(true)
@@ -1156,6 +1162,7 @@ class ConversationsListActivity :
false
}
binding.swipeRefreshLayoutView.setOnRefreshListener {
+ showMaintenanceModeWarning(false)
fetchRooms()
fetchPendingInvitations()
}
@@ -1931,44 +1938,7 @@ 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)
- )
- }
+ showMaintenanceModeWarning(true)
} else {
showErrorDialog()
}
diff --git a/app/src/main/res/layout/activity_conversations.xml b/app/src/main/res/layout/activity_conversations.xml
index 25084501c..146471ff3 100644
--- a/app/src/main/res/layout/activity_conversations.xml
+++ b/app/src/main/res/layout/activity_conversations.xml
@@ -37,6 +37,17 @@
android:visibility="gone"
tools:visibility="visible" />
+
+
The app is too old and no longer supported by this server. Please update.
Update
Switch account
- Maintenance mode
Server is currently in maintenance mode.