[2/2] OmniGears: add back kill config and settings
and
-use numerals instead of strings for columns
-set summary on button brightness pref
Change-Id: I6ae4ebe287d8842fcf72fbccef485ca4a874a82d
diff --git a/res/values/custom_arrays.xml b/res/values/custom_arrays.xml
index e288c42..adfe514 100644
--- a/res/values/custom_arrays.xml
+++ b/res/values/custom_arrays.xml
@@ -223,4 +223,16 @@
<item>3</item>
<item>4</item>
</string-array>
+
+ <string-array name="button_back_kill_timeout_entries" translatable="false">
+ <item>@string/button_back_kill_timeout_500ms</item>
+ <item>@string/button_back_kill_timeout_1000ms</item>
+ <item>@string/button_back_kill_timeout_1500ms</item>
+ </string-array>
+
+ <string-array name="button_back_kill_timeout_values" translatable="false">
+ <item>500</item>
+ <item>1000</item>
+ <item>1500</item>
+ </string-array>
</resources>
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index d8f0e61..ea453a9 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -63,9 +63,15 @@
<string name="button_home_wake_summary">Pressing the home button will wake the device</string>
<string name="button_home_answers_call_title">Button answers call</string>
<string name="button_home_answers_call_summary">Pressing the home button will answer incoming call</string>
- <string name="button_other_title">Recents</string>
+ <string name="button_other_title">Other</string>
<string name="keys_action_app_switch_short">Default</string>
<string name="keys_action_omniswitch_short">OmniSwitch</string>
+ <string name="button_back_kill_enable_title">Kill app back button</string>
+ <string name="button_back_kill_enable_summary">Kill the foreground app by long-pressing the back button</string>
+ <string name="button_back_kill_timeout_title">Kill app timeout</string>
+ <string name="button_back_kill_timeout_500ms">500 ms</string>
+ <string name="button_back_kill_timeout_1000ms">1000 ms</string>
+ <string name="button_back_kill_timeout_1500ms">1500 ms</string>
<!-- Double tap to sleep -->
<string name="double_tap_to_sleep_title">Double-tap to sleep</string>
@@ -266,8 +272,8 @@
<!-- Dashboard columns -->
<string name="dashboard_columns_title">Settings columns</string>
<string name="dashboard_columns_phone_default">Default</string>
- <string name="dashboard_columns_two">Two</string>
+ <string name="dashboard_columns_two">2</string>
<string name="dashboard_columns_tablet_default">Default</string>
- <string name="dashboard_columns_three">Three</string>
- <string name="dashboard_columns_four">Four</string>
+ <string name="dashboard_columns_three">3</string>
+ <string name="dashboard_columns_four">4</string>
</resources>
diff --git a/res/xml/button_settings.xml b/res/xml/button_settings.xml
index 9a11f8b..efc4112 100644
--- a/res/xml/button_settings.xml
+++ b/res/xml/button_settings.xml
@@ -258,6 +258,20 @@
android:entries="@array/navbar_recents_style_entries"
android:entryValues="@array/navbar_recents_style_values"
android:persistent="false"/>
+
+ <com.android.settings.preference.SystemCheckBoxPreference
+ android:key="button_back_kill_enable"
+ android:title="@string/button_back_kill_enable_title"
+ android:summary="@string/button_back_kill_enable_summary"
+ android:defaultValue="true"/>
+
+ <ListPreference
+ android:key="button_back_kill_timeout"
+ android:title="@string/button_back_kill_timeout_title"
+ android:entries="@array/button_back_kill_timeout_entries"
+ android:entryValues="@array/button_back_kill_timeout_values"
+ android:persistent="false"
+ android:dependency="button_back_kill_enable"/>
</PreferenceCategory>
<!-- <PreferenceCategory
diff --git a/src/org/omnirom/omnigears/ButtonBrightnessSettings.java b/src/org/omnirom/omnigears/ButtonBrightnessSettings.java
index ccaa12f..fd778c8 100644
--- a/src/org/omnirom/omnigears/ButtonBrightnessSettings.java
+++ b/src/org/omnirom/omnigears/ButtonBrightnessSettings.java
@@ -72,6 +72,7 @@
private ManualButtonBrightnessDialog mManualBrightnessDialog;
private IPowerManager mPowerService;
private SeekBarPreference mButtonTimoutBar;
+ private int mCurrentBrightness;
@Override
protected int getMetricsCategory() {
@@ -94,6 +95,11 @@
Settings.System.CUSTOM_BUTTON_USE_SCREEN_BRIGHTNESS, 0) != 0);
mManualButtonBrightness = (Preference) findPreference(KEY_BUTTON_MANUAL_BRIGHTNESS);
+ final int customButtonBrightness = getResources().getInteger(
+ com.android.internal.R.integer.config_button_brightness_default);
+ mCurrentBrightness = Settings.System.getInt(getContext().getContentResolver(),
+ Settings.System.CUSTOM_BUTTON_BRIGHTNESS, customButtonBrightness);
+ mManualButtonBrightness.setSummary(String.valueOf(mCurrentBrightness));
mButtonTimoutBar = (SeekBarPreference) findPreference(KEY_BUTTON_TIMEOUT);
int currentTimeout = Settings.System.getInt(resolver,
@@ -184,7 +190,6 @@
private SeekBar mBacklightBar;
private EditText mBacklightInput;
- private int mCurrentBrightness;
private boolean mIsDragging = false;
public ManualButtonBrightnessDialog(Context context) {
@@ -203,11 +208,6 @@
setCancelable(true);
setView(v);
- final int customButtonBrightness = getResources().getInteger(
- com.android.internal.R.integer.config_button_brightness_default);
- mCurrentBrightness = Settings.System.getInt(getContext().getContentResolver(),
- Settings.System.CUSTOM_BUTTON_BRIGHTNESS, customButtonBrightness);
-
mBacklightBar.setMax(brightnessToProgress(PowerManager.BRIGHTNESS_ON));
mBacklightBar.setProgress(brightnessToProgress(mCurrentBrightness));
mBacklightInput.setText(String.valueOf(mCurrentBrightness));
@@ -233,9 +233,10 @@
public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_POSITIVE) {
try {
- int newBacklight = Integer.valueOf(mBacklightInput.getText().toString());
+ mCurrentBrightness = Integer.valueOf(mBacklightInput.getText().toString());
Settings.System.putInt(getContext().getContentResolver(),
- Settings.System.CUSTOM_BUTTON_BRIGHTNESS, newBacklight);
+ Settings.System.CUSTOM_BUTTON_BRIGHTNESS, mCurrentBrightness);
+ mManualButtonBrightness.setSummary(String.valueOf(mCurrentBrightness));
} catch (NumberFormatException e) {
Log.d(TAG, "NumberFormatException " + e);
}
diff --git a/src/org/omnirom/omnigears/ButtonSettings.java b/src/org/omnirom/omnigears/ButtonSettings.java
index a65bbd7..c2c602e 100644
--- a/src/org/omnirom/omnigears/ButtonSettings.java
+++ b/src/org/omnirom/omnigears/ButtonSettings.java
@@ -108,6 +108,7 @@
private static final String KEYS_SHOW_NAVBAR_KEY = "navigation_bar_show";
private static final String KEYS_DISABLE_HW_KEY = "hardware_keys_disable";
private static final String NAVIGATION_BAR_RECENTS_STYLE = "navbar_recents_style";
+ private static final String BUTTON_BACK_KILL_TIMEOUT = "button_back_kill_timeout";
// Available custom actions to perform on a key press.
private static final int ACTION_NOTHING = 0;
@@ -164,6 +165,7 @@
private PreferenceCategory mKeysAppSwitchCategory;
private PreferenceCategory mKeysAssistCategory;
private ListPreference mNavbarRecentsStyle;
+ private ListPreference mBackKillTimeout;
@Override
protected int getMetricsCategory() {
@@ -185,7 +187,7 @@
final PreferenceCategory volumeCategory =
(PreferenceCategory) prefScreen.findPreference(CATEGORY_VOLUME);
- mButtonBrightnessSupport = getResources().getBoolean(com.android.internal.R.bool.config_button_brightness_support);
+ mButtonBrightnessSupport = res.getBoolean(com.android.internal.R.bool.config_button_brightness_support);
if (hasVolumeRocker()) {
mVolumeWake = (CheckBoxPreference) findPreference(BUTTON_VOLUME_WAKE);
@@ -226,7 +228,7 @@
prefScreen.removePreference(volumeCategory);
}
- final int deviceKeys = getResources().getInteger(
+ final int deviceKeys = res.getInteger(
com.android.internal.R.integer.config_deviceHardwareKeys);
final boolean hasBackKey = false; //(deviceKeys & KEY_MASK_BACK) != 0;
final boolean hasHomeKey = false; //(deviceKeys & KEY_MASK_HOME) != 0;
@@ -321,7 +323,7 @@
mKeySettings.put(Settings.System.KEY_HOME_ACTION, homePressAction);
int homeLongPressAction;
- int longPressOnHomeBehavior = getResources().getInteger(
+ int longPressOnHomeBehavior = res.getInteger(
com.android.internal.R.integer.config_longPressOnHomeBehavior);
if (longPressOnHomeBehavior == 1) {
@@ -346,7 +348,7 @@
mKeySettings.put(Settings.System.KEY_HOME_LONG_PRESS_ACTION, homeLongPressAction);
- int doubleTapOnHomeBehavior = getResources().getInteger(
+ int doubleTapOnHomeBehavior = res.getInteger(
com.android.internal.R.integer.config_doubleTapOnHomeBehavior);
int homeDoubleTapAction = Settings.System.getInt(resolver,
@@ -459,8 +461,7 @@
// Settings.System.VIRTUAL_KEYS_HAPTIC_FEEDBACK, 1) == 1);
// }
//
- boolean hasNavBar = getResources().getBoolean(
- com.android.internal.R.bool.config_showNavigationBar);
+ boolean hasNavBar = res.getBoolean(com.android.internal.R.bool.config_showNavigationBar);
// mForceShowOverflowMenu.setChecked(Settings.System.getInt(resolver,
// Settings.System.FORCE_SHOW_OVERFLOW_MENU, (!hasNavBar && hasMenuKey) ? 0 : 1) == 1);
//
@@ -489,6 +490,15 @@
mNavbarRecentsStyle.setSummary(mNavbarRecentsStyle.getEntry());
mNavbarRecentsStyle.setOnPreferenceChangeListener(this);
+ mBackKillTimeout = (ListPreference) findPreference(BUTTON_BACK_KILL_TIMEOUT);
+ final int backKillTimeoutDefault = res.getInteger(com.android.internal.R.integer.config_backKillTimeout);
+ final int backKillTimeout = Settings.System.getInt(resolver,
+ Settings.System.BUTTON_BACK_KILL_TIMEOUT, backKillTimeoutDefault);
+
+ mBackKillTimeout.setValue(Integer.toString(backKillTimeout));
+ mBackKillTimeout.setSummary(mBackKillTimeout.getEntry());
+ mBackKillTimeout.setOnPreferenceChangeListener(this);
+
// final PreferenceCategory headsethookCategory =
// (PreferenceCategory) prefScreen.findPreference(CATEGORY_HEADSETHOOK);
@@ -708,10 +718,14 @@
}
}
int index = mNavbarRecentsStyle.findIndexOfValue((String) newValue);
- mNavbarRecentsStyle.setSummary(
- mNavbarRecentsStyle.getEntries()[index]);
- Settings.System.putInt(getContentResolver(),
- Settings.System.NAVIGATION_BAR_RECENTS, value);
+ mNavbarRecentsStyle.setSummary(mNavbarRecentsStyle.getEntries()[index]);
+ Settings.System.putInt(getContentResolver(), Settings.System.NAVIGATION_BAR_RECENTS, value);
+ return true;
+ } else if (preference == mBackKillTimeout) {
+ int value = Integer.valueOf((String) newValue);
+ int index = mBackKillTimeout.findIndexOfValue((String) newValue);
+ mBackKillTimeout.setSummary(mBackKillTimeout.getEntries()[index]);
+ Settings.System.putInt(getContentResolver(), Settings.System.BUTTON_BACK_KILL_TIMEOUT, value);
return true;
}
return false;