diff options
author | Clark Scheff <clark@cyngn.com> | 2014-07-22 19:51:11 -0700 |
---|---|---|
committer | Clark Scheff <clark@cyngn.com> | 2014-07-23 22:16:52 +0000 |
commit | 219818a13149d1371cc3fe0db90f43d9b9c4f224 (patch) | |
tree | 1fc71384d8e601c94ee7de3509aee279c6f7d7d1 /src/org | |
parent | abca5a2f718f5feae45adb67c691cbeed10d8939 (diff) | |
download | packages_apps_ThemeChooser-219818a13149d1371cc3fe0db90f43d9b9c4f224.zip packages_apps_ThemeChooser-219818a13149d1371cc3fe0db90f43d9b9c4f224.tar.gz packages_apps_ThemeChooser-219818a13149d1371cc3fe0db90f43d9b9c4f224.tar.bz2 |
Clear the adapters cursor before switching components.
It is possible for the CursorPagerAdapter to get in a state where
it throws an IllegalStateException stating that notifyDataSetChanged()
was not called even though we call it whenever we swap the cursor.
Clearing it first resolves this problem.
Change-Id: I5e1c2f1c06e10be74d0ac058b97a36d029d83c6a
Diffstat (limited to 'src/org')
-rw-r--r-- | src/org/cyanogenmod/theme/chooserv2/ComponentSelector.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/org/cyanogenmod/theme/chooserv2/ComponentSelector.java b/src/org/cyanogenmod/theme/chooserv2/ComponentSelector.java index 1070a3b..9efb6ac 100644 --- a/src/org/cyanogenmod/theme/chooserv2/ComponentSelector.java +++ b/src/org/cyanogenmod/theme/chooserv2/ComponentSelector.java @@ -187,7 +187,10 @@ public class ComponentSelector extends LinearLayout } else { mAppliedComponentPkgName = null; } - if (mComponentType == null || !mComponentType.equals(component)) mPager.setCurrentItem(0); + if (mComponentType == null || !mComponentType.equals(component)){ + mPager.setCurrentItem(0); + mAdapter.swapCursor(null); + } mComponentType = component; ((FragmentActivity) mContext).getSupportLoaderManager().restartLoader( getLoaderIdFromComponent(component), null, this); @@ -363,7 +366,7 @@ public class ComponentSelector extends LinearLayout } @Override - public void onLoadFinished(Loader<Cursor> loader, Cursor data) { + public void onLoadFinished(Loader<Cursor> loader, final Cursor data) { mAdapter.swapCursor(data); } @@ -468,8 +471,6 @@ public class ComponentSelector extends LinearLayout } public void swapCursor(Cursor c) { - if (mCursor == c) return; - mCursor = c; notifyDataSetChanged(); } |