diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/KeyboardTheme.java b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/KeyboardTheme.java index 9bbca3e85..ff3e23964 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/KeyboardTheme.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/KeyboardTheme.java @@ -39,12 +39,29 @@ public final class KeyboardTheme { public static final String THEME_DYNAMIC = "dynamic"; public static final String THEME_USER = "user"; public static final String THEME_USER_NIGHT = "user_night"; + public static final String THEME_BLUE_GRAY = "blue_gray"; + public static final String THEME_BROWN = "brown"; + public static final String THEME_CHOCOLATE = "chocolate"; + public static final String THEME_CLOUDY = "cloudy"; + public static final String THEME_FOREST = "forest"; + public static final String THEME_INDIGO = "indigo"; + public static final String THEME_OCEAN = "ocean"; + public static final String THEME_PINK = "pink"; + public static final String THEME_SAND = "sand"; + public static final String THEME_VIOLETTE = "violette"; + public static final String[] COLORS = Build.VERSION.SDK_INT < Build.VERSION_CODES.S - ? new String[] { THEME_LIGHT, THEME_HOLO_WHITE, THEME_DARK, THEME_DARKER, THEME_BLACK, THEME_USER } - : new String[] { THEME_LIGHT, THEME_HOLO_WHITE, THEME_DARK, THEME_DARKER, THEME_BLACK, THEME_DYNAMIC, THEME_USER } ; + ? new String[] { THEME_LIGHT, THEME_HOLO_WHITE, THEME_DARK, THEME_DARKER, THEME_BLACK, THEME_USER, + THEME_BLUE_GRAY, THEME_BROWN, THEME_CHOCOLATE, THEME_CLOUDY, THEME_FOREST, THEME_INDIGO, + THEME_PINK, THEME_OCEAN, THEME_SAND, THEME_VIOLETTE } + : new String[] { THEME_LIGHT, THEME_HOLO_WHITE, THEME_DARK, THEME_DARKER, THEME_BLACK, THEME_DYNAMIC, + THEME_USER, THEME_BLUE_GRAY, THEME_BROWN, THEME_CHOCOLATE, THEME_CLOUDY, THEME_FOREST, THEME_INDIGO, + THEME_PINK, THEME_OCEAN, THEME_SAND, THEME_VIOLETTE } ; public static final String[] COLORS_DARK = Build.VERSION.SDK_INT < Build.VERSION_CODES.S - ? new String[] { THEME_HOLO_WHITE, THEME_DARK, THEME_DARKER, THEME_BLACK, THEME_USER_NIGHT } - : new String[] { THEME_HOLO_WHITE, THEME_DARK, THEME_DARKER, THEME_BLACK, THEME_DYNAMIC, THEME_USER_NIGHT } ; + ? new String[] { THEME_HOLO_WHITE, THEME_DARK, THEME_DARKER, THEME_BLACK, THEME_USER_NIGHT, + THEME_CHOCOLATE, THEME_CLOUDY, THEME_FOREST, THEME_OCEAN, THEME_VIOLETTE } + : new String[] { THEME_HOLO_WHITE, THEME_DARK, THEME_DARKER, THEME_BLACK, THEME_DYNAMIC, + THEME_USER_NIGHT, THEME_CHOCOLATE, THEME_CLOUDY, THEME_FOREST, THEME_OCEAN, THEME_VIOLETTE } ; public static final String[] STYLES = { STYLE_MATERIAL, STYLE_HOLO, STYLE_ROUNDED }; @@ -229,6 +246,156 @@ public final class KeyboardTheme { if (Build.VERSION.SDK_INT >= VERSION_CODES.S) { return new DynamicColors(context, themeStyle, hasBorders); } + case THEME_BLUE_GRAY: + return new DefaultColors( + themeStyle, + hasBorders, + Color.rgb(120, 144, 156), + Color.rgb(120, 144, 156), + Color.rgb(236, 239, 241), + Color.rgb(255, 255, 255), + Color.rgb(207, 216, 220), + Color.rgb(255, 255, 255), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0) + ); + case THEME_BROWN: + return new DefaultColors( + themeStyle, + hasBorders, + Color.rgb(141, 110, 99), + Color.rgb(141, 110, 99), + Color.rgb(239, 235, 233), + Color.rgb(255, 255, 255), + Color.rgb(215, 204, 200), + Color.rgb(255, 255, 255), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0) + ); + case THEME_CHOCOLATE: + return new DefaultColors( + themeStyle, + hasBorders, + Color.rgb(80, 128, 255), + Color.rgb(80, 128, 255), + Color.rgb(140, 112, 94), + Color.rgb(193, 163, 146), + Color.rgb(168, 127, 103), + Color.rgb(193, 163, 146), + Color.rgb(255, 255, 255), + Color.rgb(255, 255, 255), + Color.rgb(255, 255, 255), + Color.rgb(255, 255, 255) + ); + case THEME_CLOUDY: + return new DefaultColors( + themeStyle, + hasBorders, + Color.rgb(255,113,129), + Color.rgb(255,113,129), + Color.rgb(81,97,113), + Color.rgb(117, 128, 142), + Color.rgb(99, 109, 121), + Color.rgb(117, 128, 142), + Color.rgb(255, 255, 255), + Color.rgb(255, 255, 255), + Color.rgb(255, 255, 255), + Color.rgb(255, 255, 255) + ); + case THEME_FOREST: + return new DefaultColors( + themeStyle, + hasBorders, + Color.rgb(75, 110, 75), + Color.rgb(75, 110, 75), + Color.rgb(181, 125, 88), + Color.rgb(228, 212, 191), + Color.rgb(212, 186, 153), + Color.rgb(228, 212, 191), + Color.rgb(0, 50, 0), + Color.rgb(0, 50, 0), + Color.rgb(0, 50, 0), + Color.rgb(0, 80, 0) + ); + case THEME_INDIGO: + return new DefaultColors( + themeStyle, + hasBorders, + Color.rgb(92, 107, 192), + Color.rgb(92, 107, 192), + Color.rgb(232, 234, 246), + Color.rgb(255, 255, 255), + Color.rgb(197, 202, 233), + Color.rgb(255, 255, 255), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0) + ); + case THEME_OCEAN: + return new DefaultColors( + themeStyle, + hasBorders, + Color.rgb(255, 124, 0), + Color.rgb(255, 124, 0), + Color.rgb(89, 109, 155), + Color.rgb(132, 157, 212), + Color.rgb(81, 116, 194), + Color.rgb(132, 157, 212), + Color.rgb(255, 255, 255), + Color.rgb(255, 255, 255), + Color.rgb(255, 255, 255), + Color.rgb(255, 255, 255) + ); + case THEME_PINK: + return new DefaultColors( + themeStyle, + hasBorders, + Color.rgb(236, 64, 122), + Color.rgb(236, 64, 122), + Color.rgb(252, 228, 236), + Color.rgb(255, 255, 255), + Color.rgb(248, 187, 208), + Color.rgb(255, 255, 255), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0) + ); + case THEME_SAND: + return new DefaultColors( + themeStyle, + hasBorders, + Color.rgb(110, 155, 255), + Color.rgb(110, 155, 255), + Color.rgb(242, 232, 218), + Color.rgb(255, 255, 255), + Color.rgb(234, 211, 185), + Color.rgb(255, 255, 255), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0), + Color.rgb(0, 0, 0) + ); + case THEME_VIOLETTE: + return new DefaultColors( + themeStyle, + hasBorders, + Color.rgb(255, 96, 255), + Color.rgb(255, 96, 255), + Color.rgb(112, 112, 174), + Color.rgb(150, 150, 216), + Color.rgb(123, 123, 206), + Color.rgb(150, 150, 216), + Color.rgb(255, 255, 255), + Color.rgb(255, 255, 255), + Color.rgb(255, 255, 255), + Color.rgb(255, 255, 255) + ); case THEME_LIGHT: default: return new DefaultColors( diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 93de5596c..e84a9f439 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -237,6 +237,16 @@ Nouveau dictionnaire: Noir Amoled Couleurs dynamiques + Bleu Gris + Marron + Chocolat + Nuageux + Forêt + Indigo + Océan + Rose + Sable + Violette Personnalisé Personnalisé (mode nuit) Personnaliser le thème diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a6ede47de..6f0d4269a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -623,6 +623,26 @@ New dictionary: Black Dynamic colors + + Blue Gray + + Brown + + Chocolate + + Cloudy + + Forest + + Indigo + + Ocean + + Pink + + Sand + + Violette User-Defined