OSDN Git Service

Catch all data set changes
authorTony Mantler <nicoya@google.com>
Tue, 27 Sep 2016 21:48:16 +0000 (14:48 -0700)
committerTony Mantler <nicoya@google.com>
Tue, 27 Sep 2016 21:48:50 +0000 (14:48 -0700)
Test: Toggle wifi in settings
b/31649262

Change-Id: I303206f3b977707528e98dfe227b49835edc78f2

src/com/android/settings/SettingsPreferenceFragment.java

index 5cc4011..575194b 100644 (file)
@@ -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;