Loading src/com/android/customization/model/theme/custom/ColorOptionsProvider.java +30 −17 Original line number Diff line number Diff line Loading @@ -45,7 +45,9 @@ import com.android.customization.model.theme.custom.ThemeComponentOption.ColorOp import com.android.wallpaper.R; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Implementation of {@link ThemeComponentOptionProvider} that reads {@link ColorOption}s from Loading Loading @@ -91,8 +93,18 @@ public class ColorOptionsProvider extends ThemeComponentOptionProvider<ColorOpti } Drawable shape = loadShape(shapePackage); addDefault(previewIcons, shape); addNonDefaults(previewIcons, shape); } private void addNonDefaults(List<Drawable> previewIcons, Drawable shape) { Map<String, ColorOption> optionMap = new HashMap<>(); String skippedPackage = "org.lineageos.overlay.accent.black"; for (String overlayPackage : mOverlayPackages) { if (!overlayPackage.equalsIgnoreCase(skippedPackage)) { try { PackageManager pm = mContext.getPackageManager(); String label = pm.getApplicationInfo(overlayPackage, 0).loadLabel(pm).toString(); if (!optionMap.containsKey(label.toLowerCase())) { Resources overlayRes = getOverlayResources(overlayPackage); int lightColor = overlayRes.getColor( overlayRes.getIdentifier(ACCENT_COLOR_LIGHT_NAME, "color", overlayPackage), Loading @@ -100,18 +112,19 @@ public class ColorOptionsProvider extends ThemeComponentOptionProvider<ColorOpti int darkColor = overlayRes.getColor( overlayRes.getIdentifier(ACCENT_COLOR_DARK_NAME, "color", overlayPackage), null); PackageManager pm = mContext.getPackageManager(); String label = pm.getApplicationInfo(overlayPackage, 0).loadLabel(pm).toString(); ColorOption option = new ColorOption(overlayPackage, label, lightColor, darkColor); option.setPreviewIcons(previewIcons); option.setShapeDrawable(shape); mOptions.add(option); optionMap.put(label.toLowerCase(), option); } } catch (NameNotFoundException | NotFoundException e) { Log.w(TAG, String.format("Couldn't load color overlay %s, will skip it", overlayPackage), e); } } } } private void addDefault(List<Drawable> previewIcons, Drawable shape) { int lightColor, darkColor; Loading Loading
src/com/android/customization/model/theme/custom/ColorOptionsProvider.java +30 −17 Original line number Diff line number Diff line Loading @@ -45,7 +45,9 @@ import com.android.customization.model.theme.custom.ThemeComponentOption.ColorOp import com.android.wallpaper.R; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Implementation of {@link ThemeComponentOptionProvider} that reads {@link ColorOption}s from Loading Loading @@ -91,8 +93,18 @@ public class ColorOptionsProvider extends ThemeComponentOptionProvider<ColorOpti } Drawable shape = loadShape(shapePackage); addDefault(previewIcons, shape); addNonDefaults(previewIcons, shape); } private void addNonDefaults(List<Drawable> previewIcons, Drawable shape) { Map<String, ColorOption> optionMap = new HashMap<>(); String skippedPackage = "org.lineageos.overlay.accent.black"; for (String overlayPackage : mOverlayPackages) { if (!overlayPackage.equalsIgnoreCase(skippedPackage)) { try { PackageManager pm = mContext.getPackageManager(); String label = pm.getApplicationInfo(overlayPackage, 0).loadLabel(pm).toString(); if (!optionMap.containsKey(label.toLowerCase())) { Resources overlayRes = getOverlayResources(overlayPackage); int lightColor = overlayRes.getColor( overlayRes.getIdentifier(ACCENT_COLOR_LIGHT_NAME, "color", overlayPackage), Loading @@ -100,18 +112,19 @@ public class ColorOptionsProvider extends ThemeComponentOptionProvider<ColorOpti int darkColor = overlayRes.getColor( overlayRes.getIdentifier(ACCENT_COLOR_DARK_NAME, "color", overlayPackage), null); PackageManager pm = mContext.getPackageManager(); String label = pm.getApplicationInfo(overlayPackage, 0).loadLabel(pm).toString(); ColorOption option = new ColorOption(overlayPackage, label, lightColor, darkColor); option.setPreviewIcons(previewIcons); option.setShapeDrawable(shape); mOptions.add(option); optionMap.put(label.toLowerCase(), option); } } catch (NameNotFoundException | NotFoundException e) { Log.w(TAG, String.format("Couldn't load color overlay %s, will skip it", overlayPackage), e); } } } } private void addDefault(List<Drawable> previewIcons, Drawable shape) { int lightColor, darkColor; Loading