Skip to content
Closed
  •  
  •  
  •  

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
import android.content.IntentFilter;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.graphics.Color;
import android.inputmethodservice.InputMethodService;
import android.media.AudioManager;
Expand Down Expand Up @@ -2018,7 +2020,7 @@ public boolean shouldShowLanguageSwitchKey() {
}

// slightly modified from Simple Keyboard: https://github.com/rkkr/simple-keyboard/blob/master/app/src/main/java/rkr/simplekeyboard/inputmethod/latin/LatinIME.java
private void setNavigationBarColor() {
/* private void setNavigationBarColor() {
final SettingsValues settingsValues = mSettings.getCurrent();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP || !settingsValues.mNavBarColor)
return;
Expand All @@ -2044,6 +2046,50 @@ private void setNavigationBarColor() {
} else {
view.setSystemUiVisibility(mOriginalNavBarFlags & ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
}
}*/

private void setNavigationBarColor() {
final SettingsValues settingsValues = mSettings.getCurrent();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP && !settingsValues.mNavBarColor)
return;

final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
final int keyboardColor = Settings.readKeyboardColor(prefs, this);
final int color;

if (settingsValues.mUserTheme) {
final int c = settingsValues.mBackgroundColor;
// slightly adjust so color is same as keyboard background
color = Color.rgb((int) (Color.red(c) * 0.925), (int) (Color.green(c) * 0.9379), (int) (Color.blue(c) * 0.945));
} else {
color = keyboardColor;
}

final Window window = getWindow().getWindow();
if (window == null) {
return;
}
if (settingsValues.mUserTheme) {
mOriginalNavBarColor = window.getNavigationBarColor();
window.setNavigationBarColor(color);
} else {
mOriginalNavBarColor = window.getNavigationBarColor();
window.setNavigationBarColor(keyboardColor);
}

final View view = window.getDecorView();
mOriginalNavBarFlags = view.getSystemUiVisibility();

if (isBrightColor(color) || isBrightColor(keyboardColor)) {
view.setSystemUiVisibility(mOriginalNavBarFlags | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
} else {
view.setSystemUiVisibility(mOriginalNavBarFlags & ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
}
/* if (isBrightColor(keyboardColor)) {
view.setSystemUiVisibility(mOriginalNavBarFlags | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
} else {
view.setSystemUiVisibility(mOriginalNavBarFlags & ~View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
}*/
}

private void clearNavigationBarColor() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,12 @@ class AppearanceSettingsFragment : SubScreenFragment(), Preference.OnPreferenceC
}
amoledModePref.apply {
isEnabled = !isLegacyFamily && variant != KeyboardTheme.THEME_VARIANT_LIGHT
&& variant != KeyboardTheme.THEME_VARIANT_BLUE && variant != KeyboardTheme.THEME_VARIANT_BLUE_GREY
&& variant != KeyboardTheme.THEME_VARIANT_BROWN && variant != KeyboardTheme.THEME_VARIANT_GREEN
&& variant != KeyboardTheme.THEME_VARIANT_GREY && variant != KeyboardTheme.THEME_VARIANT_INDIGO
&& variant != KeyboardTheme.THEME_VARIANT_ORANGE && variant != KeyboardTheme.THEME_VARIANT_RED
&& variant != KeyboardTheme.THEME_VARIANT_PINK && variant != KeyboardTheme.THEME_VARIANT_PURPLE
&& variant != KeyboardTheme.THEME_VARIANT_YELLOW
&& !KeyboardTheme.getHasKeyBorders(selectedThemeId)
&& !KeyboardTheme.getIsUser(selectedThemeId)
isChecked = !isLegacyFamily && KeyboardTheme.getIsAmoledMode(selectedThemeId)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,12 @@
import android.content.pm.ApplicationInfo;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.graphics.Color;
import android.os.Build;
import android.util.Log;

import android.view.Gravity;
import org.dslul.openboard.inputmethod.keyboard.KeyboardTheme;
import org.dslul.openboard.inputmethod.latin.AudioAndHapticFeedbackManager;
import org.dslul.openboard.inputmethod.latin.InputAttributes;
import org.dslul.openboard.inputmethod.latin.R;
Expand All @@ -36,7 +38,6 @@
import org.dslul.openboard.inputmethod.latin.utils.JniUtils;
import org.dslul.openboard.inputmethod.latin.utils.ResourceUtils;
import org.dslul.openboard.inputmethod.latin.utils.RunInLocale;
import org.dslul.openboard.inputmethod.latin.utils.ScriptUtils;
import org.dslul.openboard.inputmethod.latin.utils.StatsUtils;

import java.util.Collections;
Expand Down Expand Up @@ -138,7 +139,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
public static final String PREF_SECONDARY_LOCALES = "pref_secondary_locales";
public static final String PREF_ADD_TO_PERSONAL_DICTIONARY = "add_to_personal_dictionary";
public static final String PREF_NAVBAR_COLOR = "navbar_color";

public static final String PREF_KEYBOARD_COLOR = "pref_keyboard_color";
// This preference key is deprecated. Use {@link #PREF_SHOW_LANGUAGE_SWITCH_KEY} instead.
// This is being used only for the backward compatibility.
private static final String PREF_SUPPRESS_LANGUAGE_SWITCH_KEY =
Expand Down Expand Up @@ -541,4 +542,19 @@ public static Locale getSecondaryLocale(final SharedPreferences prefs, final Str
return null;
}

public static int readKeyboardColor(final SharedPreferences prefs, final Context context) {
return prefs.getInt(PREF_KEYBOARD_COLOR, readKeyboardDefaultColor(context));
}

public static int readKeyboardDefaultColor(final Context context) {
final int[] keyboardThemeColors = context.getResources().getIntArray(R.array.keyboard_theme_colors);
final int[] keyboardThemeIds = context.getResources().getIntArray(R.array.keyboard_theme_ids);
final int themeId = KeyboardTheme.getKeyboardTheme(context).mThemeId;
for (int index = 0; index < keyboardThemeIds.length; index++) {
if (themeId == keyboardThemeIds[index]) {
return keyboardThemeColors[index];
}
}
return Color.LTGRAY;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<solid
android:color="@color/action_key_background_lxx_light_border_blue"/>

<size
android:width="40dp"
android:height="40dp"/>
</shape>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<solid
android:color="@color/action_key_background_lxx_light_border_blue_grey"/>

<size
android:width="40dp"
android:height="40dp"/>
</shape>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="@color/key_bottom_bevel_lxx_light" />
<corners android:radius="150dp"/>
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/action_key_background_lxx_light_border_blue" />
<corners android:radius="150dp" />
</shape>
</item>
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="@color/key_bottom_bevel_lxx_light" />
<corners android:radius="150dp"/>
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/action_key_background_lxx_light_border_blue_grey" />
<corners android:radius="150dp" />
</shape>
</item>
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="@color/key_bottom_bevel_lxx_light" />
<corners android:radius="150dp"/>
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/action_key_background_lxx_light_border_brown" />
<corners android:radius="150dp" />
</shape>
</item>
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="@color/key_bottom_bevel_lxx_light" />
<corners android:radius="150dp"/>
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/action_key_background_lxx_light_border_green" />
<corners android:radius="150dp" />
</shape>
</item>
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="@color/key_bottom_bevel_lxx_light" />
<corners android:radius="150dp"/>
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/action_key_background_lxx_light_border_grey" />
<corners android:radius="150dp" />
</shape>
</item>
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="@color/key_bottom_bevel_lxx_light" />
<corners android:radius="150dp"/>
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/action_key_background_lxx_light_border_indigo" />
<corners android:radius="150dp" />
</shape>
</item>
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="@color/key_bottom_bevel_lxx_light" />
<corners android:radius="150dp"/>
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/action_key_background_lxx_light_border_orange" />
<corners android:radius="150dp" />
</shape>
</item>
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="@color/key_bottom_bevel_lxx_light" />
<corners android:radius="150dp"/>
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/action_key_background_lxx_light_border_pink" />
<corners android:radius="150dp" />
</shape>
</item>
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="@color/key_bottom_bevel_lxx_light" />
<corners android:radius="150dp"/>
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/action_key_background_lxx_light_border_purple" />
<corners android:radius="150dp" />
</shape>
</item>
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="@color/key_bottom_bevel_lxx_light" />
<corners android:radius="150dp"/>
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/action_key_background_lxx_light_border_red" />
<corners android:radius="150dp" />
</shape>
</item>
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="@color/key_bottom_bevel_lxx_light" />
<corners android:radius="150dp"/>
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="@color/action_key_background_lxx_light_border_yellow" />
<corners android:radius="150dp" />
</shape>
</item>
</layer-list>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<solid
android:color="@color/action_key_background_lxx_light_border_brown"/>

<size
android:width="40dp"
android:height="40dp"/>
</shape>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<solid
android:color="@color/action_key_background_lxx_light_border_green"/>

<size
android:width="40dp"
android:height="40dp"/>
</shape>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<solid
android:color="@color/action_key_background_lxx_light_border_grey"/>

<size
android:width="40dp"
android:height="40dp"/>
</shape>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<solid
android:color="@color/action_key_background_lxx_light_border_indigo"/>

<size
android:width="40dp"
android:height="40dp"/>
</shape>
Loading