diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java index 808a776c1..2d5ee2adf 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/settings/PreferencesSettingsFragment.java @@ -19,9 +19,15 @@ package org.dslul.openboard.inputmethod.latin.settings; import android.content.Context; import android.content.SharedPreferences; import android.content.res.Resources; +import android.graphics.Color; +import android.graphics.drawable.Drawable; import android.media.AudioManager; +import android.os.Build; import android.os.Bundle; +import androidx.core.graphics.drawable.DrawableCompat; +import androidx.preference.Preference; + import org.dslul.openboard.inputmethod.latin.AudioAndHapticFeedbackManager; import org.dslul.openboard.inputmethod.latin.R; import org.dslul.openboard.inputmethod.latin.RichInputMethodManager; @@ -33,6 +39,16 @@ public final class PreferencesSettingsFragment extends SubScreenFragment { super.onCreate(icicle); addPreferencesFromResource(R.xml.prefs_screen_preferences); + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { + // need to set icon tint because old android versions don't use the vector drawables + for (int i = 0; i < getPreferenceScreen().getPreferenceCount(); i++) { + final Preference p = getPreferenceScreen().getPreference(0); + final Drawable icon = p.getIcon(); + if (icon != null) + DrawableCompat.setTint(icon, Color.WHITE); + } + } + final Resources res = getResources(); final Context context = getActivity();