From 3ba2623ffe46b5c7b9fb6c4e783ec6ad6985df4c Mon Sep 17 00:00:00 2001 From: Geoffrey Pitsch Date: Fri, 28 Jul 2017 15:07:39 -0400 Subject: [PATCH] Disable AOD when accessibility color inversion is on. White background drains too much to be always on. Bug: 62918778 Test: Manual Change-Id: I78b2f6a5951b108aff4f353dabe2493117032dce --- .../hardware/AmbientDisplayConfiguration.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java b/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java index df9c27b9df14b..1168eec3b66ff 100644 --- a/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java +++ b/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java @@ -94,8 +94,8 @@ public class AmbientDisplayConfiguration { } public boolean alwaysOnEnabled(int user) { - return boolSettingDefaultOn(Settings.Secure.DOZE_ALWAYS_ON, user) - && alwaysOnAvailable(); + return boolSettingDefaultOn(Settings.Secure.DOZE_ALWAYS_ON, user) && alwaysOnAvailable() + && !accessibilityInversionEnabled(user); } public boolean alwaysOnAvailable() { @@ -103,10 +103,18 @@ public class AmbientDisplayConfiguration { && ambientDisplayAvailable(); } + public boolean alwaysOnAvailableForUser(int user) { + return alwaysOnAvailable() && !accessibilityInversionEnabled(user); + } + public String ambientDisplayComponent() { return mContext.getResources().getString(R.string.config_dozeComponent); } + private boolean accessibilityInversionEnabled(int user) { + return boolSettingDefaultOff(Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, user); + } + private boolean ambientDisplayAvailable() { return !TextUtils.isEmpty(ambientDisplayComponent()); }