From d461afb25bde3981fe989d6cbe288bb2f1f6f9d0 Mon Sep 17 00:00:00 2001 From: Mario Danic Date: Wed, 12 Dec 2018 16:54:23 +0100 Subject: [PATCH] Partly fix rotation issues Signed-off-by: Mario Danic --- .../talk/controllers/ChatController.java | 8 ++--- .../talk/controllers/ContactsController.java | 30 ++++++++++--------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java index 43221682b..70c1aa637 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.java @@ -503,9 +503,9 @@ public class ChatController extends BaseController implements MessagesListAdapte new KeyboardUtils(getActivity(), getView(), false); } - if (inChat) { - NotificationUtils.cancelExistingNotifications(getApplicationContext(), conversationUser); + NotificationUtils.cancelExistingNotifications(getApplicationContext(), conversationUser); + if (inChat) { if (wasDetached & conversationUser.hasSpreedCapabilityWithName("no-ping")) { wasDetached = false; joinRoomWithPassword(); @@ -516,7 +516,8 @@ public class ChatController extends BaseController implements MessagesListAdapte @Override protected void onDetach(@NonNull View view) { super.onDetach(view); - if (conversationUser.hasSpreedCapabilityWithName("no-ping")) { + if (conversationUser.hasSpreedCapabilityWithName("no-ping") + && getActivity() != null && !getActivity().isChangingConfigurations()) { wasDetached = true; leaveRoom(); } @@ -538,7 +539,6 @@ public class ChatController extends BaseController implements MessagesListAdapte adapter = null; inChat = false; ApplicationWideCurrentRoomHolder.getInstance().clear(); - leaveRoom(); } private void dispose() { diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java b/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java index 722977d5f..d28450648 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java @@ -200,7 +200,6 @@ public class ContactsController extends BaseController implements SearchView.OnQ if (isNewConversationView) { toggleNewCallHeaderVisibility(!isPublicCall); - checkAndHandleDoneMenuItem(); } @@ -608,18 +607,6 @@ public class ContactsController extends BaseController implements SearchView.OnQ if (swipeRefreshLayout != null) { swipeRefreshLayout.setRefreshing(false); } - - progressBar.setVisibility(View.GONE); - genericRvLayout.setVisibility(View.VISIBLE); - if (isNewConversationView) { - conversationPrivacyToogleLayout.setVisibility(View.VISIBLE); - joinConversationViaLinkLayout.setVisibility(View.VISIBLE); - } - - if (isNewConversationView) { - checkAndHandleDoneMenuItem(); - } - } } @@ -660,6 +647,7 @@ public class ContactsController extends BaseController implements SearchView.OnQ dispose(contactsQueryDisposable); alreadyFetching = false; + disengageProgressBar(); } }); @@ -686,6 +674,21 @@ public class ContactsController extends BaseController implements SearchView.OnQ return ""; } }); + + disengageProgressBar(); + } + + private void disengageProgressBar() { + if (!alreadyFetching) { + progressBar.setVisibility(View.GONE); + genericRvLayout.setVisibility(View.VISIBLE); + + if (isNewConversationView) { + conversationPrivacyToogleLayout.setVisibility(View.VISIBLE); + joinConversationViaLinkLayout.setVisibility(View.VISIBLE); + checkAndHandleDoneMenuItem(); + } + } } private void dispose(@Nullable Disposable disposable) { @@ -766,7 +769,6 @@ public class ContactsController extends BaseController implements SearchView.OnQ if (!doneMenuItem.isVisible()) { doneMenuItem.setVisible(true); } - } else { doneMenuItem.setVisible(false); }