summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2010-12-05 19:44:45 +0000
committerGerrit Code Review <gerrit@review.cyanogenmod.com>2010-12-05 19:44:46 +0000
commit0e4f4ead5908c35f0f293fd4205de291e8859b08 (patch)
treeb4c54309e1a4f69c7021abdba47ff9f91c23147c
parentfde2d1b2264d8381bbe38d779a8fdbfb70b34c90 (diff)
parentab3fc3dc83e71a2e34adf55bd9a46df2e7e1fed5 (diff)
downloadframeworks_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.xml3
-rw-r--r--services/java/com/android/server/PowerManagerService.java13
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;
}