diff --git a/app/src/main/java/helium314/keyboard/keyboard/internal/KeyboardIconsSet.kt b/app/src/main/java/helium314/keyboard/keyboard/internal/KeyboardIconsSet.kt index 72ca012e6..dd4852675 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/internal/KeyboardIconsSet.kt +++ b/app/src/main/java/helium314/keyboard/keyboard/internal/KeyboardIconsSet.kt @@ -18,8 +18,8 @@ class KeyboardIconsSet private constructor() { fun loadIcons(context: Context) { val prefs = DeviceProtectedUtils.getSharedPreferences(context) - val theme = prefs.getString(Settings.PREF_THEME_STYLE, KeyboardTheme.STYLE_MATERIAL) - val ids = when (theme) { + val iconStyle = prefs.getString(Settings.PREF_ICON_STYLE, KeyboardTheme.STYLE_MATERIAL) + val ids = when (iconStyle) { KeyboardTheme.STYLE_HOLO -> keyboardIconsHolo KeyboardTheme.STYLE_ROUNDED -> keyboardIconsRounded else -> keyboardIconsMaterial diff --git a/app/src/main/java/helium314/keyboard/latin/settings/AppearanceSettingsFragment.kt b/app/src/main/java/helium314/keyboard/latin/settings/AppearanceSettingsFragment.kt index df1969b2a..5bf2525e2 100644 --- a/app/src/main/java/helium314/keyboard/latin/settings/AppearanceSettingsFragment.kt +++ b/app/src/main/java/helium314/keyboard/latin/settings/AppearanceSettingsFragment.kt @@ -33,6 +33,7 @@ class AppearanceSettingsFragment : SubScreenFragment() { private var needsReload = false private val stylePref: ListPreference by lazy { preferenceScreen.findPreference(Settings.PREF_THEME_STYLE)!! } + private val iconStylePref: ListPreference by lazy { preferenceScreen.findPreference(Settings.PREF_ICON_STYLE)!! } private val colorsPref: ListPreference by lazy { preferenceScreen.findPreference(Settings.PREF_THEME_COLORS)!! } private val colorsNightPref: ListPreference? by lazy { preferenceScreen.findPreference(Settings.PREF_THEME_COLORS_NIGHT) } private val dayNightPref: TwoStatePreference? by lazy { preferenceScreen.findPreference(Settings.PREF_THEME_DAY_NIGHT) } @@ -155,6 +156,18 @@ class AppearanceSettingsFragment : SubScreenFragment() { } summary = entries[entryValues.indexOfFirst { it == value }] } + iconStylePref.apply { + entryValues = KeyboardTheme.STYLES + entries = entryValues.getNamesFromResourcesIfAvailable("style_name_") + if (value !in entryValues) + value = entryValues.first().toString() + + onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, value -> + summary = entries[entryValues.indexOfFirst { it == value }] + true + } + summary = entries[entryValues.indexOfFirst { it == value }] + } dayNightPref?.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, value -> val yesThisIsBoolean = value as Boolean // apparently kotlin smartcast got less smart with 2.0.0 colorsNightPref?.isVisible = yesThisIsBoolean diff --git a/app/src/main/java/helium314/keyboard/latin/settings/Settings.java b/app/src/main/java/helium314/keyboard/latin/settings/Settings.java index 8273f6601..b94e916b1 100644 --- a/app/src/main/java/helium314/keyboard/latin/settings/Settings.java +++ b/app/src/main/java/helium314/keyboard/latin/settings/Settings.java @@ -60,6 +60,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang // theme-related stuff public static final String PREF_THEME_STYLE = "theme_style"; + public static final String PREF_ICON_STYLE = "icon_style"; public static final String PREF_THEME_COLORS = "theme_colors"; public static final String PREF_THEME_COLORS_NIGHT = "theme_colors_night"; public static final String PREF_THEME_KEY_BORDERS = "theme_key_borders"; diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bc8113f74..bd74923d4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -697,6 +697,8 @@ New dictionary: Add a word Style + + Icon style Rounded diff --git a/app/src/main/res/xml/prefs_screen_appearance.xml b/app/src/main/res/xml/prefs_screen_appearance.xml index f02ede3d4..ea44b42ca 100644 --- a/app/src/main/res/xml/prefs_screen_appearance.xml +++ b/app/src/main/res/xml/prefs_screen_appearance.xml @@ -19,6 +19,12 @@ android:defaultValue="Material" latin:singleLineTitle="false" /> + +