summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/power/FaceDownDetector.java19
-rw-r--r--services/core/java/com/android/server/power/PowerManagerService.java6
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 53863aa83ab4..eb1f7202f317 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -622,7 +622,6 @@ public final class PowerManagerService extends SystemService
// Value we store for tracking face down behavior.
@VisibleForTesting
boolean mIsFaceDown = false;
- private boolean mUseFaceDownDetector = true;
private long mLastFlipTime = 0L;
// The screen brightness setting override from the window manager
@@ -3254,7 +3253,7 @@ public final class PowerManagerService extends SystemService
mScreenTimeoutOverridePolicy.getScreenTimeoutOverrideLocked(
mWakeLockSummary, screenOffTimeout);
}
- if (mIsFaceDown && mUseFaceDownDetector) {
+ if (mIsFaceDown) {
shortestScreenOffTimeout = Math.min(screenDimDuration, shortestScreenOffTimeout);
}
@@ -4702,7 +4701,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:");
@@ -6927,7 +6925,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);
}