From d8d4fde39108b2e20a2eefea3a622a6a891d0b04 Mon Sep 17 00:00:00 2001 From: jld3103 Date: Fri, 30 Sep 2022 17:48:52 +0200 Subject: [PATCH] Show error when loading chats fails Signed-off-by: jld3103 --- .../ConversationsListController.kt | 20 +++++++++++++++++++ .../ic_baseline_error_outline_24dp.xml | 5 +++++ app/src/main/res/values/strings.xml | 2 ++ 3 files changed, 27 insertions(+) create mode 100644 app/src/main/res/drawable/ic_baseline_error_outline_24dp.xml diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.kt b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.kt index 14abbc2f2..84f671a14 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.kt @@ -616,6 +616,7 @@ class ConversationsListController(bundle: Bundle) : handleHttpExceptions(throwable) withNullableControllerViewBinding { binding.swipeRefreshLayoutView.isRefreshing = false + showErrorDialog() } dispose(roomsQueryDisposable) }) { @@ -627,6 +628,24 @@ class ConversationsListController(bundle: Bundle) : } } + private fun showErrorDialog() { + val dialogBuilder = MaterialAlertDialogBuilder(binding.floatingActionButton.context) + .setIcon( + viewThemeUtils.dialog.colorMaterialAlertDialogIcon( + context, + R.drawable.ic_baseline_error_outline_24dp, + ) + ) + .setTitle(R.string.error_loading_chats) + .setCancelable(false) + .setNegativeButton(R.string.close, null) + viewThemeUtils.dialog.colorMaterialAlertDialogBackground(binding.floatingActionButton.context, dialogBuilder) + val dialog = dialogBuilder.show() + viewThemeUtils.platform.colorTextButtons( + dialog.getButton(AlertDialog.BUTTON_NEGATIVE) + ) + } + private fun sortConversations(conversationItems: MutableList>) { conversationItems.sortWith { o1: AbstractFlexibleItem<*>, o2: AbstractFlexibleItem<*> -> val conversation1 = (o1 as ConversationItem).model @@ -1344,6 +1363,7 @@ class ConversationsListController(bundle: Bundle) : handleHttpExceptions(throwable) withNullableControllerViewBinding { binding.swipeRefreshLayoutView.isRefreshing = false + showErrorDialog() } } diff --git a/app/src/main/res/drawable/ic_baseline_error_outline_24dp.xml b/app/src/main/res/drawable/ic_baseline_error_outline_24dp.xml new file mode 100644 index 000000000..9f2eb6861 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_error_outline_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 156098687..ef4df1cff 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -292,6 +292,8 @@ Unread mentions Conversations Open conversations + There was a problem loading your chats + Close Enter a message …