ButtonBrightness: use switch for devices without variable button brightness
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
@@ -177,4 +177,6 @@
|
||||
|
||||
<!-- Enable keys backlight-->
|
||||
<string name="button_brightness_title">Backlight</string>
|
||||
<!-- Enable keys backlight-->
|
||||
<string name="button_brightness_sw_title">Enable backlight</string>
|
||||
</resources>
|
||||
|
||||
@@ -43,6 +43,11 @@
|
||||
settings:units=""
|
||||
android:persistent="false" />
|
||||
|
||||
<SwitchPreference
|
||||
android:key="button_brightness_sw"
|
||||
android:title="@string/button_brightness_sw_title"
|
||||
android:persistent="false" />
|
||||
|
||||
<ListPreference
|
||||
android:dialogTitle="@string/backlight_timeout_title"
|
||||
android:entries="@array/backlight_timeout_entries"
|
||||
|
||||
@@ -45,6 +45,7 @@ public class ButtonSettings extends SettingsPreferenceFragment implements
|
||||
|
||||
//Keys
|
||||
private static final String KEY_BUTTON_BRIGHTNESS = "button_brightness";
|
||||
private static final String KEY_BUTTON_BRIGHTNESS_SW = "button_brightness_sw";
|
||||
private static final String KEY_BACKLIGHT_TIMEOUT = "backlight_timeout";
|
||||
|
||||
// category keys
|
||||
@@ -52,6 +53,7 @@ public class ButtonSettings extends SettingsPreferenceFragment implements
|
||||
|
||||
private ListPreference mBacklightTimeout;
|
||||
private CustomSeekBarPreference mButtonBrightness;
|
||||
private SwitchPreference mButtonBrightness_sw;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
@@ -60,10 +62,15 @@ public class ButtonSettings extends SettingsPreferenceFragment implements
|
||||
|
||||
final PreferenceScreen prefScreen = getPreferenceScreen();
|
||||
|
||||
final boolean variableBrightness = getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_deviceHasVariableButtonBrightness);
|
||||
|
||||
mBacklightTimeout =
|
||||
(ListPreference) findPreference(KEY_BACKLIGHT_TIMEOUT);
|
||||
mButtonBrightness =
|
||||
(CustomSeekBarPreference) findPreference(KEY_BUTTON_BRIGHTNESS);
|
||||
mButtonBrightness_sw =
|
||||
(SwitchPreference) findPreference(KEY_BUTTON_BRIGHTNESS_SW);
|
||||
|
||||
if (mBacklightTimeout != null) {
|
||||
mBacklightTimeout.setOnPreferenceChangeListener(this);
|
||||
@@ -73,11 +80,21 @@ public class ButtonSettings extends SettingsPreferenceFragment implements
|
||||
mBacklightTimeout.setSummary(mBacklightTimeout.getEntry());
|
||||
}
|
||||
|
||||
if (mButtonBrightness != null) {
|
||||
int ButtonBrightness = Settings.System.getInt(getContentResolver(),
|
||||
Settings.System.BUTTON_BRIGHTNESS, 255);
|
||||
mButtonBrightness.setValue(ButtonBrightness / 1);
|
||||
mButtonBrightness.setOnPreferenceChangeListener(this);
|
||||
if (variableBrightness) {
|
||||
prefScreen.removePreference(mButtonBrightness_sw);
|
||||
if (mButtonBrightness != null) {
|
||||
int ButtonBrightness = Settings.System.getInt(getContentResolver(),
|
||||
Settings.System.BUTTON_BRIGHTNESS, 255);
|
||||
mButtonBrightness.setValue(ButtonBrightness / 1);
|
||||
mButtonBrightness.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
} else {
|
||||
prefScreen.removePreference(mButtonBrightness);
|
||||
if (mButtonBrightness_sw != null) {
|
||||
mButtonBrightness_sw.setChecked((Settings.System.getInt(getContentResolver(),
|
||||
Settings.System.BUTTON_BRIGHTNESS, 1) == 1));
|
||||
mButtonBrightness_sw.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,6 +115,11 @@ public class ButtonSettings extends SettingsPreferenceFragment implements
|
||||
Settings.System.putInt(getActivity().getContentResolver(),
|
||||
Settings.System.BUTTON_BRIGHTNESS, value * 1);
|
||||
return true;
|
||||
} else if (preference == mButtonBrightness_sw) {
|
||||
boolean value = (Boolean) newValue;
|
||||
Settings.System.putInt(getActivity().getContentResolver(),
|
||||
Settings.System.BUTTON_BRIGHTNESS, value ? 1 : 0);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user