summaryrefslogtreecommitdiffstats
path: root/src/org/cyanogenmod/themes/provider/ThemesProvider.java
diff options
context:
space:
mode:
authorRichard MacGregor <rmacgregor@cyngn.com>2015-05-18 12:24:43 -0700
committerRichard MacGregor <rmacgregor@cyngn.com>2015-05-18 15:32:14 -0700
commitd2d2ffd0c08c748f1c4cb99c97d6e5ec7fc2beed (patch)
tree5eb77750c2d5e9227db5c30133b17c4e98fc851c /src/org/cyanogenmod/themes/provider/ThemesProvider.java
parent8fd765a1646bdbba1852d75516894c667d6b5249 (diff)
downloadandroid_packages_providers_ThemesProvider-d2d2ffd0c08c748f1c4cb99c97d6e5ec7fc2beed.tar.gz
android_packages_providers_ThemesProvider-d2d2ffd0c08c748f1c4cb99c97d6e5ec7fc2beed.tar.bz2
android_packages_providers_ThemesProvider-d2d2ffd0c08c748f1c4cb99c97d6e5ec7fc2beed.zip
[2/3] Implement better legacy support for themes
Move preview query construction to provider. This will allow for chooser to use older and newer versions of the provider and themes contract. Depends on: http://review.cyanogenmod.org/#/c/98708/ Change-Id: I8b350339c083935079baf9e2710ff4d9665507df
Diffstat (limited to 'src/org/cyanogenmod/themes/provider/ThemesProvider.java')
-rw-r--r--src/org/cyanogenmod/themes/provider/ThemesProvider.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/org/cyanogenmod/themes/provider/ThemesProvider.java b/src/org/cyanogenmod/themes/provider/ThemesProvider.java
index 43cfc3e..8645bbc 100644
--- a/src/org/cyanogenmod/themes/provider/ThemesProvider.java
+++ b/src/org/cyanogenmod/themes/provider/ThemesProvider.java
@@ -236,10 +236,14 @@ public class ThemesProvider extends ContentProvider {
queryBuilder.appendWhere(MixnMatchColumns.COL_KEY + "=" + uri.getLastPathSegment());
break;
case COMPONENTS_PREVIEWS:
- // COMPONENT_PREVIEWS has the same query behavior as PREVIEWS, however, it requires a
- // groupBy parameter to be defined before doing so. Let it fall through after this.
- groupBy = PreviewColumns.THEME_ID;
+ groupBy = PreviewColumns.THEME_ID + "," + PreviewColumns.COMPONENT_ID;
+ queryBuilder.setTables(THEMES_PREVIEWS_INNER_JOIN);
+ break;
case PREVIEWS:
+ projection = ProviderUtils.modifyPreviewsProjection(projection);
+ selection = ProviderUtils.modifyPreviewsSelection(selection, projection);
+ selectionArgs = ProviderUtils.modifyPreviewsSelectionArgs(selectionArgs, projection);
+ groupBy = PreviewColumns.THEME_ID + "," + PreviewColumns.COMPONENT_ID;
queryBuilder.setTables(THEMES_PREVIEWS_INNER_JOIN);
break;
case PREVIEWS_ID:
@@ -365,7 +369,7 @@ public class ThemesProvider extends ContentProvider {
delimeter = ",";
}
} else if (ThemesColumns.MODIFIES_LAUNCHER.equals(component)) {
- String previewKey = PreviewColumns.KEY_WALLPAPER_PREVIEW;
+ String previewKey = PreviewColumns.WALLPAPER_PREVIEW;
sb.append(delimeter).append(String.format(
"(SELECT %s AS %s FROM previews WHERE %s=%d AND %s='%s')",
PreviewColumns.COL_VALUE, previewKey, PreviewColumns.THEME_ID,
@@ -381,7 +385,7 @@ public class ThemesProvider extends ContentProvider {
delimeter = ",";
}
} else if (ThemesColumns.MODIFIES_OVERLAYS.equals(component)) {
- String previewKey = PreviewColumns.KEY_STYLE_PREVIEW;
+ String previewKey = PreviewColumns.STYLE_PREVIEW;
sb.append(delimeter).append(String.format(
"(SELECT %s AS %s FROM previews WHERE %s=%d AND %s='%s')",
PreviewColumns.COL_VALUE, previewKey, PreviewColumns.THEME_ID,