diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/org/cyanogenmod/themes/provider/ThemePackageHelper.java | 15 |
1 files changed, 9 insertions, 6 deletions
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<String, Boolean> 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<String, Boolean> 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<String, Boolean> componentMap, String component) { + return componentMap.containsKey(component) && componentMap.get(component); } private static void reapplyInstalledComponentsForTheme(Context context, String pkgName) { |