summaryrefslogtreecommitdiffstats
path: root/src/org
diff options
context:
space:
mode:
authorClark Scheff <clark@cyngn.com>2014-07-22 19:51:11 -0700
committerClark Scheff <clark@cyngn.com>2014-07-23 22:16:52 +0000
commit219818a13149d1371cc3fe0db90f43d9b9c4f224 (patch)
tree1fc71384d8e601c94ee7de3509aee279c6f7d7d1 /src/org
parentabca5a2f718f5feae45adb67c691cbeed10d8939 (diff)
downloadpackages_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.java9
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();
}