summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorChristopher Tate <ctate@android.com>2009-09-28 01:10:40 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2009-09-28 01:10:40 -0700
commitcfe771500a74f25ccdae876be05f471613fd3b8c (patch)
tree634f2d77a4cc06630ca30b7aed7175c86accbed7 /packages
parentd14db943d3c2ea12014ce2b642c70356312ba6c7 (diff)
parent2d5168f650b1865812b1174ea1c37df9bfda6390 (diff)
downloadframeworks_base-cfe771500a74f25ccdae876be05f471613fd3b8c.zip
frameworks_base-cfe771500a74f25ccdae876be05f471613fd3b8c.tar.gz
frameworks_base-cfe771500a74f25ccdae876be05f471613fd3b8c.tar.bz2
am 2d5168f6: am 141e4f1d: Merge change 27177 into eclair
Merge commit '2d5168f650b1865812b1174ea1c37df9bfda6390' * commit '2d5168f650b1865812b1174ea1c37df9bfda6390': Add auto-brightness mode to the list of backed-up settings
Diffstat (limited to 'packages')
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
index 77da8f1..3b91a38 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
@@ -40,16 +40,23 @@ public class SettingsHelper {
private Context mContext;
private AudioManager mAudioManager;
private IContentService mContentService;
+ private IPowerManager mPowerManager;
private static final String[] PROVIDERS = { "gmail-ls", "calendar", "contacts" };
private boolean mSilent;
private boolean mVibrate;
+ private boolean mHasAutoBrightness;
public SettingsHelper(Context context) {
mContext = context;
mAudioManager = (AudioManager) context
.getSystemService(Context.AUDIO_SERVICE);
mContentService = ContentResolver.getContentService();
+ mPowerManager = IPowerManager.Stub.asInterface(
+ ServiceManager.getService("power"));
+
+ mHasAutoBrightness = context.getResources().getBoolean(
+ com.android.internal.R.bool.config_automatic_brightness_available);
}
/**
@@ -64,6 +71,18 @@ public class SettingsHelper {
public boolean restoreValue(String name, String value) {
if (Settings.System.SCREEN_BRIGHTNESS.equals(name)) {
setBrightness(Integer.parseInt(value));
+ } else if (Settings.System.SCREEN_BRIGHTNESS_MODE.equals(name)) {
+ if (mHasAutoBrightness) {
+ // When setting auto-brightness, must reset the brightness afterwards
+ try {
+ int curBrightness = Settings.System.getInt(mContext.getContentResolver(),
+ Settings.System.SCREEN_BRIGHTNESS);
+ setAutoBrightness(Integer.parseInt(value) != 0);
+ setBrightness(curBrightness);
+ } catch (Settings.SettingNotFoundException e) {
+ // no brightness setting at all? weird. skip this then.
+ }
+ }
} else if (Settings.System.SOUND_EFFECTS_ENABLED.equals(name)) {
setSoundEffects(Integer.parseInt(value) == 1);
} else if (Settings.Secure.LOCATION_PROVIDERS_ALLOWED.equals(name)) {
@@ -73,6 +92,16 @@ public class SettingsHelper {
return true;
}
+ private void setAutoBrightness(boolean value) {
+ if (mPowerManager != null) {
+ try {
+ mPowerManager.setAutoBrightness(value);
+ } catch (RemoteException e) {
+ // unable to reach the power manager; skip
+ }
+ }
+ }
+
private void setGpsLocation(String value) {
final String GPS = LocationManager.GPS_PROVIDER;
boolean enabled =