Loading core/java/android/content/theming/FieldColor.java +12 −19 Original line number Diff line number Diff line Loading @@ -16,31 +16,23 @@ package android.content.theming; import android.annotation.ColorInt; import android.annotation.FlaggedApi; import android.annotation.NonNull; import android.graphics.Color; import androidx.annotation.Nullable; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.Objects; import java.util.regex.Pattern; /** @hide */ @FlaggedApi(android.server.Flags.FLAG_ENABLE_THEME_SERVICE) public class FieldColor extends ThemeSettingsField<Integer, String> { public final class FieldColor extends ThemeSettingsField<Color, String> { private static final Pattern COLOR_PATTERN = Pattern.compile("[0-9a-fA-F]{6,8}"); public FieldColor(String key, Function<ThemeSettingsUpdater, Integer> updaterGetter, BiConsumer<ThemeSettingsUpdater, Integer> updaterSetter, Function<ThemeSettings, Integer> getter, ThemeSettings defaults) { super(key, updaterGetter, updaterSetter, getter, defaults); } @Override @ColorInt @Nullable public Integer parse(String primitive) { public Color parse(String primitive) { if (primitive == null) { return null; } Loading @@ -49,25 +41,26 @@ public class FieldColor extends ThemeSettingsField<Integer, String> { } try { return Color.valueOf(Color.parseColor("#" + primitive)).toArgb(); return Color.valueOf(Color.parseColor("#" + primitive)); } catch (IllegalArgumentException e) { return null; } } @Override public String serialize(@ColorInt Integer value) { return Integer.toHexString(value); public String serialize(Color value) { return Integer.toHexString(value.toArgb()).toUpperCase(); } @Override public boolean validate(Integer value) { return !value.equals(Color.TRANSPARENT); public boolean validate(@NonNull Color value) { Objects.requireNonNull(value); return value.toArgb() != Color.TRANSPARENT; } @Override public Class<Integer> getFieldType() { return Integer.class; public Class<Color> getFieldType() { return Color.class; } @Override Loading core/java/android/content/theming/FieldColorBoth.java +1 −9 Original line number Diff line number Diff line Loading @@ -21,18 +21,10 @@ import android.annotation.FlaggedApi; import androidx.annotation.Nullable; import java.util.Objects; import java.util.function.BiConsumer; import java.util.function.Function; /** @hide */ @FlaggedApi(android.server.Flags.FLAG_ENABLE_THEME_SERVICE) public class FieldColorBoth extends ThemeSettingsField<Boolean, String> { public FieldColorBoth(String key, Function<ThemeSettingsUpdater, Boolean> updaterGetter, BiConsumer<ThemeSettingsUpdater, Boolean> updaterSetter, Function<ThemeSettings, Boolean> getter, ThemeSettings defaults) { super(key, updaterGetter, updaterSetter, getter, defaults); } public final class FieldColorBoth extends ThemeSettingsField<Boolean, String> { @Override @Nullable public Boolean parse(String primitive) { Loading core/java/android/content/theming/FieldColorIndex.java +6 −9 Original line number Diff line number Diff line Loading @@ -18,20 +18,16 @@ package android.content.theming; import android.annotation.FlaggedApi; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.Objects; /** @hide */ @FlaggedApi(android.server.Flags.FLAG_ENABLE_THEME_SERVICE) public class FieldColorIndex extends ThemeSettingsField<Integer, String> { public FieldColorIndex(String key, Function<ThemeSettingsUpdater, Integer> updaterGetter, BiConsumer<ThemeSettingsUpdater, Integer> updaterSetter, Function<ThemeSettings, Integer> getter, ThemeSettings defaults) { super(key, updaterGetter, updaterSetter, getter, defaults); } public final class FieldColorIndex extends ThemeSettingsField<Integer, String> { @Override public Integer parse(String primitive) { if (primitive == null) { return null; } try { return Integer.parseInt(primitive); } catch (NumberFormatException e) { Loading @@ -46,6 +42,7 @@ public class FieldColorIndex extends ThemeSettingsField<Integer, String> { @Override public boolean validate(Integer value) { Objects.requireNonNull(value); return value >= -1; } Loading core/java/android/content/theming/FieldColorSource.java +5 −16 Original line number Diff line number Diff line Loading @@ -29,25 +29,13 @@ import androidx.annotation.Nullable; import java.lang.annotation.Retention; import java.lang.annotation.Target; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.Objects; /** @hide */ @FlaggedApi(android.server.Flags.FLAG_ENABLE_THEME_SERVICE) public class FieldColorSource extends ThemeSettingsField<String, String> { public final class FieldColorSource extends ThemeSettingsField<String, String> { public static final String VALUE_PRESET = "preset"; public static final String VALUE_HOME_WALLPAPER = "home_wallpaper"; public static final String VALUE_LOCK_WALLPAPER = "lock_wallpaper"; public FieldColorSource( String key, Function<ThemeSettingsUpdater, String> updaterGetter, BiConsumer<ThemeSettingsUpdater, String> updaterSetter, Function<ThemeSettings, String> getter, ThemeSettings defaults ) { super(key, updaterGetter, updaterSetter, getter, defaults); } @Override @Nullable Loading @@ -63,8 +51,9 @@ public class FieldColorSource extends ThemeSettingsField<String, String> { @Override public boolean validate(String value) { Objects.requireNonNull(value); return switch (value) { case VALUE_PRESET, VALUE_HOME_WALLPAPER, VALUE_LOCK_WALLPAPER -> true; case VALUE_PRESET, VALUE_HOME_WALLPAPER -> true; default -> false; }; } Loading @@ -80,7 +69,7 @@ public class FieldColorSource extends ThemeSettingsField<String, String> { } @StringDef({VALUE_PRESET, VALUE_HOME_WALLPAPER, VALUE_LOCK_WALLPAPER}) @StringDef({VALUE_PRESET, VALUE_HOME_WALLPAPER}) @Target({PARAMETER, METHOD, LOCAL_VARIABLE, FIELD}) @Retention(SOURCE) @interface Type { Loading core/java/android/content/theming/FieldThemeStyle.java +3 −9 Original line number Diff line number Diff line Loading @@ -21,18 +21,11 @@ import android.annotation.Nullable; import java.util.Arrays; import java.util.List; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.Objects; /** @hide */ @FlaggedApi(android.server.Flags.FLAG_ENABLE_THEME_SERVICE) public class FieldThemeStyle extends ThemeSettingsField<Integer, String> { public FieldThemeStyle(String key, Function<ThemeSettingsUpdater, Integer> updaterGetter, BiConsumer<ThemeSettingsUpdater, Integer> updaterSetter, Function<ThemeSettings, Integer> getter, ThemeSettings defaults) { super(key, updaterGetter, updaterSetter, getter, defaults); } public final class FieldThemeStyle extends ThemeSettingsField<Integer, String> { private static final @ThemeStyle.Type List<Integer> sValidStyles = Arrays.asList( ThemeStyle.EXPRESSIVE, ThemeStyle.SPRITZ, ThemeStyle.TONAL_SPOT, ThemeStyle.FRUIT_SALAD, ThemeStyle.RAINBOW, ThemeStyle.VIBRANT, ThemeStyle.MONOCHROMATIC); Loading @@ -44,6 +37,7 @@ public class FieldThemeStyle extends ThemeSettingsField<Integer, String> { @Override public boolean validate(Integer value) { Objects.requireNonNull(value); return sValidStyles.contains(value); } Loading Loading
core/java/android/content/theming/FieldColor.java +12 −19 Original line number Diff line number Diff line Loading @@ -16,31 +16,23 @@ package android.content.theming; import android.annotation.ColorInt; import android.annotation.FlaggedApi; import android.annotation.NonNull; import android.graphics.Color; import androidx.annotation.Nullable; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.Objects; import java.util.regex.Pattern; /** @hide */ @FlaggedApi(android.server.Flags.FLAG_ENABLE_THEME_SERVICE) public class FieldColor extends ThemeSettingsField<Integer, String> { public final class FieldColor extends ThemeSettingsField<Color, String> { private static final Pattern COLOR_PATTERN = Pattern.compile("[0-9a-fA-F]{6,8}"); public FieldColor(String key, Function<ThemeSettingsUpdater, Integer> updaterGetter, BiConsumer<ThemeSettingsUpdater, Integer> updaterSetter, Function<ThemeSettings, Integer> getter, ThemeSettings defaults) { super(key, updaterGetter, updaterSetter, getter, defaults); } @Override @ColorInt @Nullable public Integer parse(String primitive) { public Color parse(String primitive) { if (primitive == null) { return null; } Loading @@ -49,25 +41,26 @@ public class FieldColor extends ThemeSettingsField<Integer, String> { } try { return Color.valueOf(Color.parseColor("#" + primitive)).toArgb(); return Color.valueOf(Color.parseColor("#" + primitive)); } catch (IllegalArgumentException e) { return null; } } @Override public String serialize(@ColorInt Integer value) { return Integer.toHexString(value); public String serialize(Color value) { return Integer.toHexString(value.toArgb()).toUpperCase(); } @Override public boolean validate(Integer value) { return !value.equals(Color.TRANSPARENT); public boolean validate(@NonNull Color value) { Objects.requireNonNull(value); return value.toArgb() != Color.TRANSPARENT; } @Override public Class<Integer> getFieldType() { return Integer.class; public Class<Color> getFieldType() { return Color.class; } @Override Loading
core/java/android/content/theming/FieldColorBoth.java +1 −9 Original line number Diff line number Diff line Loading @@ -21,18 +21,10 @@ import android.annotation.FlaggedApi; import androidx.annotation.Nullable; import java.util.Objects; import java.util.function.BiConsumer; import java.util.function.Function; /** @hide */ @FlaggedApi(android.server.Flags.FLAG_ENABLE_THEME_SERVICE) public class FieldColorBoth extends ThemeSettingsField<Boolean, String> { public FieldColorBoth(String key, Function<ThemeSettingsUpdater, Boolean> updaterGetter, BiConsumer<ThemeSettingsUpdater, Boolean> updaterSetter, Function<ThemeSettings, Boolean> getter, ThemeSettings defaults) { super(key, updaterGetter, updaterSetter, getter, defaults); } public final class FieldColorBoth extends ThemeSettingsField<Boolean, String> { @Override @Nullable public Boolean parse(String primitive) { Loading
core/java/android/content/theming/FieldColorIndex.java +6 −9 Original line number Diff line number Diff line Loading @@ -18,20 +18,16 @@ package android.content.theming; import android.annotation.FlaggedApi; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.Objects; /** @hide */ @FlaggedApi(android.server.Flags.FLAG_ENABLE_THEME_SERVICE) public class FieldColorIndex extends ThemeSettingsField<Integer, String> { public FieldColorIndex(String key, Function<ThemeSettingsUpdater, Integer> updaterGetter, BiConsumer<ThemeSettingsUpdater, Integer> updaterSetter, Function<ThemeSettings, Integer> getter, ThemeSettings defaults) { super(key, updaterGetter, updaterSetter, getter, defaults); } public final class FieldColorIndex extends ThemeSettingsField<Integer, String> { @Override public Integer parse(String primitive) { if (primitive == null) { return null; } try { return Integer.parseInt(primitive); } catch (NumberFormatException e) { Loading @@ -46,6 +42,7 @@ public class FieldColorIndex extends ThemeSettingsField<Integer, String> { @Override public boolean validate(Integer value) { Objects.requireNonNull(value); return value >= -1; } Loading
core/java/android/content/theming/FieldColorSource.java +5 −16 Original line number Diff line number Diff line Loading @@ -29,25 +29,13 @@ import androidx.annotation.Nullable; import java.lang.annotation.Retention; import java.lang.annotation.Target; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.Objects; /** @hide */ @FlaggedApi(android.server.Flags.FLAG_ENABLE_THEME_SERVICE) public class FieldColorSource extends ThemeSettingsField<String, String> { public final class FieldColorSource extends ThemeSettingsField<String, String> { public static final String VALUE_PRESET = "preset"; public static final String VALUE_HOME_WALLPAPER = "home_wallpaper"; public static final String VALUE_LOCK_WALLPAPER = "lock_wallpaper"; public FieldColorSource( String key, Function<ThemeSettingsUpdater, String> updaterGetter, BiConsumer<ThemeSettingsUpdater, String> updaterSetter, Function<ThemeSettings, String> getter, ThemeSettings defaults ) { super(key, updaterGetter, updaterSetter, getter, defaults); } @Override @Nullable Loading @@ -63,8 +51,9 @@ public class FieldColorSource extends ThemeSettingsField<String, String> { @Override public boolean validate(String value) { Objects.requireNonNull(value); return switch (value) { case VALUE_PRESET, VALUE_HOME_WALLPAPER, VALUE_LOCK_WALLPAPER -> true; case VALUE_PRESET, VALUE_HOME_WALLPAPER -> true; default -> false; }; } Loading @@ -80,7 +69,7 @@ public class FieldColorSource extends ThemeSettingsField<String, String> { } @StringDef({VALUE_PRESET, VALUE_HOME_WALLPAPER, VALUE_LOCK_WALLPAPER}) @StringDef({VALUE_PRESET, VALUE_HOME_WALLPAPER}) @Target({PARAMETER, METHOD, LOCAL_VARIABLE, FIELD}) @Retention(SOURCE) @interface Type { Loading
core/java/android/content/theming/FieldThemeStyle.java +3 −9 Original line number Diff line number Diff line Loading @@ -21,18 +21,11 @@ import android.annotation.Nullable; import java.util.Arrays; import java.util.List; import java.util.function.BiConsumer; import java.util.function.Function; import java.util.Objects; /** @hide */ @FlaggedApi(android.server.Flags.FLAG_ENABLE_THEME_SERVICE) public class FieldThemeStyle extends ThemeSettingsField<Integer, String> { public FieldThemeStyle(String key, Function<ThemeSettingsUpdater, Integer> updaterGetter, BiConsumer<ThemeSettingsUpdater, Integer> updaterSetter, Function<ThemeSettings, Integer> getter, ThemeSettings defaults) { super(key, updaterGetter, updaterSetter, getter, defaults); } public final class FieldThemeStyle extends ThemeSettingsField<Integer, String> { private static final @ThemeStyle.Type List<Integer> sValidStyles = Arrays.asList( ThemeStyle.EXPRESSIVE, ThemeStyle.SPRITZ, ThemeStyle.TONAL_SPOT, ThemeStyle.FRUIT_SALAD, ThemeStyle.RAINBOW, ThemeStyle.VIBRANT, ThemeStyle.MONOCHROMATIC); Loading @@ -44,6 +37,7 @@ public class FieldThemeStyle extends ThemeSettingsField<Integer, String> { @Override public boolean validate(Integer value) { Objects.requireNonNull(value); return sValidStyles.contains(value); } Loading