diff options
author | Richard MacGregor <rmacgregor@cyngn.com> | 2015-05-18 12:24:43 -0700 |
---|---|---|
committer | Richard MacGregor <rmacgregor@cyngn.com> | 2015-05-18 15:32:14 -0700 |
commit | d2d2ffd0c08c748f1c4cb99c97d6e5ec7fc2beed (patch) | |
tree | 5eb77750c2d5e9227db5c30133b17c4e98fc851c /src/org/cyanogenmod/themes/provider/ThemesProvider.java | |
parent | 8fd765a1646bdbba1852d75516894c667d6b5249 (diff) | |
download | android_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.java | 14 |
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, |