diff options
author | Steve Kondik <shade@chemlab.org> | 2010-12-05 19:44:45 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@review.cyanogenmod.com> | 2010-12-05 19:44:46 +0000 |
commit | 0e4f4ead5908c35f0f293fd4205de291e8859b08 (patch) | |
tree | b4c54309e1a4f69c7021abdba47ff9f91c23147c | |
parent | fde2d1b2264d8381bbe38d779a8fdbfb70b34c90 (diff) | |
parent | ab3fc3dc83e71a2e34adf55bd9a46df2e7e1fed5 (diff) | |
download | frameworks_base-0e4f4ead5908c35f0f293fd4205de291e8859b08.zip frameworks_base-0e4f4ead5908c35f0f293fd4205de291e8859b08.tar.gz frameworks_base-0e4f4ead5908c35f0f293fd4205de291e8859b08.tar.bz2 |
Merge "allow the light sensor to be ignored when flashlight is on" into froyo
-rw-r--r-- | core/res/res/values/config.xml | 3 | ||||
-rw-r--r-- | services/java/com/android/server/PowerManagerService.java | 13 |
2 files changed, 14 insertions, 2 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 4556740..048e214 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -278,6 +278,9 @@ will not debounce light sensor readings --> <integer name="config_lightSensorWarmupTime">0</integer> + <!-- Allows the light sensor to be ignored when flashlight is on --> + <bool name="config_flashlight_affects_lightsensor">false</bool> + <!-- Enables swipe versus poly-finger touch disambiguation in the KeyboardView --> <bool name="config_swipeDisambiguation">true</bool> diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java index 8373be0..457622e 100644 --- a/services/java/com/android/server/PowerManagerService.java +++ b/services/java/com/android/server/PowerManagerService.java @@ -62,6 +62,7 @@ import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE; import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC; import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT; import static android.provider.Settings.System.STAY_ON_WHILE_PLUGGED_IN; +import static android.provider.Settings.System.TORCH_STATE; import java.io.FileDescriptor; import java.io.IOException; @@ -240,6 +241,8 @@ class PowerManagerService extends IPowerManager.Stub private int[] mButtonBacklightValues; private int[] mKeyboardBacklightValues; private int mLightSensorWarmupTime; + private boolean mFlashlightAffectsLightSensor; + private boolean mIgnoreLightSensor; // Custom light housekeeping private long mLightSettingsTag = -1; @@ -455,6 +458,8 @@ class PowerManagerService extends IPowerManager.Stub // DIM_SCREEN //mDimScreen = getInt(DIM_SCREEN) != 0; + mIgnoreLightSensor = (getInt(TORCH_STATE) != 0) && mFlashlightAffectsLightSensor; + updateLightSettings(); // SCREEN_BRIGHTNESS_MODE @@ -542,6 +547,8 @@ class PowerManagerService extends IPowerManager.Stub Resources resources = mContext.getResources(); // read settings for auto-brightness + mFlashlightAffectsLightSensor = resources.getBoolean( + com.android.internal.R.bool.config_flashlight_affects_lightsensor); mUseSoftwareAutoBrightness = resources.getBoolean( com.android.internal.R.bool.config_automatic_brightness_available); if (mUseSoftwareAutoBrightness) { @@ -563,9 +570,10 @@ class PowerManagerService extends IPowerManager.Stub + Settings.System.NAME + "=?) or (" + Settings.System.NAME + "=?) or (" + Settings.System.NAME + "=?) or (" + + Settings.System.NAME + "=?) or (" + Settings.System.NAME + "=?)", new String[]{STAY_ON_WHILE_PLUGGED_IN, SCREEN_OFF_TIMEOUT, DIM_SCREEN, - SCREEN_BRIGHTNESS_MODE, Settings.System.LIGHTS_CHANGED}, + SCREEN_BRIGHTNESS_MODE, TORCH_STATE, Settings.System.LIGHTS_CHANGED}, null); mSettings = new ContentQueryMap(settingsCursor, Settings.System.NAME, true, mHandler); SettingsObserver settingsObserver = new SettingsObserver(); @@ -3149,7 +3157,8 @@ class PowerManagerService extends IPowerManager.Stub public void onSensorChanged(SensorEvent event) { synchronized (mLocks) { // ignore light sensor while screen is turning off - if (isScreenTurningOffLocked()) { + // or when flashlight would affect it + if (isScreenTurningOffLocked() || mIgnoreLightSensor) { return; } |