diff options
| -rw-r--r-- | services/core/java/com/android/server/power/FaceDownDetector.java | 19 | ||||
| -rw-r--r-- | services/core/java/com/android/server/power/PowerManagerService.java | 6 |
2 files changed, 17 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/power/FaceDownDetector.java b/services/core/java/com/android/server/power/FaceDownDetector.java index b237ca27e62d..84ed87ac85cf 100644 --- a/services/core/java/com/android/server/power/FaceDownDetector.java +++ b/services/core/java/com/android/server/power/FaceDownDetector.java @@ -76,6 +76,8 @@ public class FaceDownDetector implements SensorEventListener { private static final boolean DEFAULT_FEATURE_ENABLED = true; private boolean mIsEnabled; + // Defaults to true, we only want to disable if this is specifically requested. + private boolean mEnabledOverride = true; private int mSensorMaxLatencyMicros; @@ -240,6 +242,7 @@ public class FaceDownDetector implements SensorEventListener { pw.println(" mZAccelerationThreshold=" + mZAccelerationThreshold); pw.println(" mAccelerationThreshold=" + mAccelerationThreshold); pw.println(" mTimeThreshold=" + mTimeThreshold); + pw.println(" mEnabledOverride=" + mEnabledOverride); } @Override @@ -336,10 +339,9 @@ public class FaceDownDetector implements SensorEventListener { } private boolean isEnabled() { - return DeviceConfig.getBoolean(NAMESPACE_ATTENTION_MANAGER_SERVICE, KEY_FEATURE_ENABLED, - DEFAULT_FEATURE_ENABLED) - && mContext.getResources().getBoolean( - com.android.internal.R.bool.config_flipToScreenOffEnabled); + return mEnabledOverride && DeviceConfig.getBoolean(NAMESPACE_ATTENTION_MANAGER_SERVICE, + KEY_FEATURE_ENABLED, DEFAULT_FEATURE_ENABLED) && mContext.getResources().getBoolean( + com.android.internal.R.bool.config_flipToScreenOffEnabled); } private float getAccelerationThreshold() { @@ -450,6 +452,15 @@ public class FaceDownDetector implements SensorEventListener { } /** + * Allows detector to be enabled & disabled. + * @param enabled whether to enable detector. + */ + public void setEnabledOverride(boolean enabled) { + mEnabledOverride = enabled; + mIsEnabled = isEnabled(); + } + + /** * Sets how much screen on time might be saved as a result of this detector. Currently used for * logging purposes. */ diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java index ab29eb8e3e8b..683f3443a7aa 100644 --- a/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java @@ -616,7 +616,6 @@ public final class PowerManagerService extends SystemService // Value we store for tracking face down behavior. private boolean mIsFaceDown = false; - private boolean mUseFaceDownDetector = true; private long mLastFlipTime = 0L; // The screen brightness setting override from the window manager @@ -3199,7 +3198,7 @@ public final class PowerManagerService extends SystemService long screenOffTimeout, long screenDimDuration) { // If face down, we decrease the timeout to equal the dim duration so that the // device will go into a dim state. - if (mIsFaceDown && mUseFaceDownDetector) { + if (mIsFaceDown) { return Math.min(screenDimDuration, screenOffTimeout); } return screenOffTimeout; @@ -4644,7 +4643,6 @@ public final class PowerManagerService extends SystemService pw.println(" mHoldingDisplaySuspendBlocker=" + mHoldingDisplaySuspendBlocker); pw.println(" mLastFlipTime=" + mLastFlipTime); pw.println(" mIsFaceDown=" + mIsFaceDown); - pw.println(" mUseFaceDownDetector=" + mUseFaceDownDetector); pw.println(); pw.println("Settings and Configuration:"); @@ -6846,7 +6844,7 @@ public final class PowerManagerService extends SystemService public void setUseFaceDownDetector(boolean enable) { final long ident = Binder.clearCallingIdentity(); try { - mUseFaceDownDetector = enable; + mFaceDownDetector.setEnabledOverride(enable); } finally { Binder.restoreCallingIdentity(ident); } |