From d8da252a3299cba864508b5e398753404062f18a Mon Sep 17 00:00:00 2001 From: d34d Date: Fri, 23 Jan 2015 15:41:37 -0800 Subject: Fix isPresentableTheme() logic The way it was written guaranteed that ALL themes are marked as being presentable as a theme pack. Change-Id: Ic6cfa08ebd5f1841ea19da9bedb9c71c2fb02d0c --- .../cyanogenmod/themes/provider/ThemePackageHelper.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/org/cyanogenmod/themes/provider/ThemePackageHelper.java b/src/org/cyanogenmod/themes/provider/ThemePackageHelper.java index f26e5e7..8d9a933 100644 --- a/src/org/cyanogenmod/themes/provider/ThemePackageHelper.java +++ b/src/org/cyanogenmod/themes/provider/ThemePackageHelper.java @@ -86,7 +86,7 @@ public class ThemePackageHelper { private static void insertPackageInternal(Context context, PackageInfo pi, Map capabilities, boolean processPreviews) { ThemeInfo info = pi.themeInfo; - boolean isPresentableTheme = ThemePackageHelper.isPresentableTheme(capabilities); + boolean isPresentableTheme = isPresentableTheme(capabilities); ContentValues values = new ContentValues(); values.put(ThemesColumns.PKG_NAME, pi.packageName); @@ -285,13 +285,16 @@ public class ThemePackageHelper { } // Presently we are defining a "presentable" theme as any theme - // which implements 2+ components. Such themes can be shown to the user - // under the "themes" category. + // which has icons, wallpaper, and overlays public static boolean isPresentableTheme(Map implementMap) { return implementMap != null && - implementMap.containsKey(ThemesColumns.MODIFIES_LAUNCHER) && - implementMap.containsKey(ThemesColumns.MODIFIES_ICONS) && - implementMap.containsKey(ThemesColumns.MODIFIES_OVERLAYS); + hasThemeComponent(implementMap, ThemesColumns.MODIFIES_LAUNCHER) && + hasThemeComponent(implementMap, ThemesColumns.MODIFIES_ICONS) && + hasThemeComponent(implementMap, ThemesColumns.MODIFIES_OVERLAYS); + } + + private static boolean hasThemeComponent(Map componentMap, String component) { + return componentMap.containsKey(component) && componentMap.get(component); } private static void reapplyInstalledComponentsForTheme(Context context, String pkgName) { -- cgit v1.2.3