From 0b825f5db08006389c4602123beff72102cf21cd Mon Sep 17 00:00:00 2001 From: Tony Mantler Date: Tue, 27 Sep 2016 14:48:16 -0700 Subject: [PATCH] Catch all data set changes Test: Toggle wifi in settings b/31649262 Change-Id: I303206f3b977707528e98dfe227b49835edc78f2 --- .../settings/SettingsPreferenceFragment.java | 35 ++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java index 5cc4011ddbc..575194be8ba 100644 --- a/src/com/android/settings/SettingsPreferenceFragment.java +++ b/src/com/android/settings/SettingsPreferenceFragment.java @@ -86,11 +86,36 @@ public abstract class SettingsPreferenceFragment extends InstrumentedFragment private boolean mIsDataSetObserverRegistered = false; private RecyclerView.AdapterDataObserver mDataSetObserver = new RecyclerView.AdapterDataObserver() { - @Override - public void onChanged() { - onDataSetChanged(); - } - }; + @Override + public void onChanged() { + onDataSetChanged(); + } + + @Override + public void onItemRangeChanged(int positionStart, int itemCount) { + onDataSetChanged(); + } + + @Override + public void onItemRangeChanged(int positionStart, int itemCount, Object payload) { + onDataSetChanged(); + } + + @Override + public void onItemRangeInserted(int positionStart, int itemCount) { + onDataSetChanged(); + } + + @Override + public void onItemRangeRemoved(int positionStart, int itemCount) { + onDataSetChanged(); + } + + @Override + public void onItemRangeMoved(int fromPosition, int toPosition, int itemCount) { + onDataSetChanged(); + } + }; private ViewGroup mPinnedHeaderFrameLayout; private ViewGroup mButtonBar;