From db7a657001c4e90d97950dc304ef2a85ae0b65e9 Mon Sep 17 00:00:00 2001 From: Rhodey Orbits Date: Thu, 5 Mar 2015 16:06:11 -0800 Subject: [PATCH] fix LoaderManager inefficiencies Redundant calls in ConversationActivity and ConversationListActivity was causing unnecessary view invalidations. Closes #2592 --- .../thoughtcrime/securesms/ConversationFragment.java | 12 +++++------- .../securesms/ConversationListFragment.java | 2 -- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/org/thoughtcrime/securesms/ConversationFragment.java b/src/org/thoughtcrime/securesms/ConversationFragment.java index ee5bc11bdc..214a771296 100644 --- a/src/org/thoughtcrime/securesms/ConversationFragment.java +++ b/src/org/thoughtcrime/securesms/ConversationFragment.java @@ -103,7 +103,6 @@ public class ConversationFragment extends ListFragment initializeResources(); initializeListAdapter(); - getLoaderManager().restartLoader(0, null, this); } private void initializeResources() { @@ -117,7 +116,7 @@ public class ConversationFragment extends ListFragment (!this.recipients.isSingleRecipient()) || this.recipients.isGroupRecipient(), DirectoryHelper.isPushDestination(getActivity(), this.recipients))); getListView().setRecyclerListener((ConversationAdapter)getListAdapter()); - getLoaderManager().initLoader(0, null, this); + getLoaderManager().restartLoader(0, null, this); } } @@ -127,12 +126,9 @@ public class ConversationFragment extends ListFragment } private void setCorrectMenuVisibility(Menu menu) { - ConversationAdapter adapter = (ConversationAdapter) getListAdapter(); List messageRecords = getSelectedMessageRecords(); if (actionMode != null && messageRecords.size() == 0) { - adapter.getBatchSelected().clear(); - adapter.notifyDataSetChanged(); actionMode.finish(); return; } @@ -170,9 +166,11 @@ public class ConversationFragment extends ListFragment public void reload(Recipients recipients, long threadId) { this.recipients = recipients; - this.threadId = threadId; - initializeListAdapter(); + if (this.threadId != threadId) { + this.threadId = threadId; + initializeListAdapter(); + } } public void scrollToBottom() { diff --git a/src/org/thoughtcrime/securesms/ConversationListFragment.java b/src/org/thoughtcrime/securesms/ConversationListFragment.java index 8e2d5c23ec..84c78b1b75 100644 --- a/src/org/thoughtcrime/securesms/ConversationListFragment.java +++ b/src/org/thoughtcrime/securesms/ConversationListFragment.java @@ -96,8 +96,6 @@ public class ConversationListFragment extends ListFragment }); initializeListAdapter(); initializeBatchListener(); - - getLoaderManager().initLoader(0, null, this); } @Override