Eliminate flicker when entering multiselect.

fork-5.53.8
Alex Hart 2021-10-05 10:36:33 -03:00
rodzic 92e506b117
commit 2d0feca278
2 zmienionych plików z 8 dodań i 6 usunięć

Wyświetl plik

@ -489,9 +489,11 @@ public class ConversationAdapter
* Conversation search query updated. Allows rendering of text highlighting. * Conversation search query updated. Allows rendering of text highlighting.
*/ */
void onSearchQueryUpdated(String query) { void onSearchQueryUpdated(String query) {
if (!Objects.equals(query, this.searchQuery)) {
this.searchQuery = query; this.searchQuery = query;
notifyDataSetChanged(); notifyDataSetChanged();
} }
}
/** /**
* Lets the adapter know that the wallpaper state has changed. * Lets the adapter know that the wallpaper state has changed.

Wyświetl plik

@ -1365,7 +1365,7 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
public void onItemClick(MultiselectPart item) { public void onItemClick(MultiselectPart item) {
if (actionMode != null) { if (actionMode != null) {
((ConversationAdapter) list.getAdapter()).toggleSelection(item); ((ConversationAdapter) list.getAdapter()).toggleSelection(item);
list.getAdapter().notifyDataSetChanged(); list.invalidateItemDecorations();
if (getListAdapter().getSelectedItems().size() == 0) { if (getListAdapter().getSelectedItems().size() == 0) {
actionMode.finish(); actionMode.finish();
@ -1405,7 +1405,7 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
} else { } else {
clearFocusedItem(); clearFocusedItem();
((ConversationAdapter) list.getAdapter()).toggleSelection(item); ((ConversationAdapter) list.getAdapter()).toggleSelection(item);
list.getAdapter().notifyDataSetChanged(); list.invalidateItemDecorations();
actionMode = ((AppCompatActivity)getActivity()).startSupportActionMode(actionModeCallback); actionMode = ((AppCompatActivity)getActivity()).startSupportActionMode(actionModeCallback);
} }
@ -1740,7 +1740,7 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
((ConversationAdapter) list.getAdapter()).toggleSelection(part); ((ConversationAdapter) list.getAdapter()).toggleSelection(part);
}); });
list.getAdapter().notifyDataSetChanged(); list.invalidateItemDecorations();
actionMode = ((AppCompatActivity)getActivity()).startSupportActionMode(actionModeCallback); actionMode = ((AppCompatActivity)getActivity()).startSupportActionMode(actionModeCallback);
} }
@ -1884,7 +1884,7 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
@Override @Override
public void onDestroyActionMode(ActionMode mode) { public void onDestroyActionMode(ActionMode mode) {
((ConversationAdapter)list.getAdapter()).clearSelection(); ((ConversationAdapter)list.getAdapter()).clearSelection();
list.getAdapter().notifyDataSetChanged(); list.invalidateItemDecorations();
if (Build.VERSION.SDK_INT >= 21) { if (Build.VERSION.SDK_INT >= 21) {
WindowUtil.setStatusBarColor(requireActivity().getWindow(), statusBarColor); WindowUtil.setStatusBarColor(requireActivity().getWindow(), statusBarColor);