diff --git a/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java b/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java
index 26fb6b6415e4b..07bb4533c4e0b 100644
--- a/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java
+++ b/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java
@@ -27,9 +27,11 @@ import android.text.TextUtils;
public class AmbientDisplayConfiguration {
private final Context mContext;
+ private final boolean mAlwaysOnByDefault;
public AmbientDisplayConfiguration(Context context) {
mContext = context;
+ mAlwaysOnByDefault = mContext.getResources().getBoolean(R.bool.config_dozeAlwaysOnEnabled);
}
public boolean enabled(int user) {
@@ -101,8 +103,8 @@ public class AmbientDisplayConfiguration {
}
public boolean alwaysOnEnabled(int user) {
- return boolSettingDefaultOn(Settings.Secure.DOZE_ALWAYS_ON, user) && alwaysOnAvailable()
- && !accessibilityInversionEnabled(user);
+ return boolSetting(Settings.Secure.DOZE_ALWAYS_ON, user, mAlwaysOnByDefault ? 1 : 0)
+ && alwaysOnAvailable() && !accessibilityInversionEnabled(user);
}
public boolean alwaysOnAvailable() {
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 0b5dd7e70e8bb..bf16f73e60710 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -2085,6 +2085,10 @@
states. -->
false
+
+ true
+
false
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index f80abc1a04f90..f5dc90785c797 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -3231,6 +3231,7 @@
+
diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeConfigurationTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeConfigurationTest.java
index 64507be764de0..bb67d6e03a9d4 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeConfigurationTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeConfigurationTest.java
@@ -16,7 +16,7 @@
package com.android.systemui.doze;
-import static org.junit.Assert.assertTrue;
+import static junit.framework.TestCase.assertEquals;
import android.os.UserHandle;
import android.provider.Settings;
@@ -42,14 +42,15 @@ public class DozeConfigurationTest extends SysuiTestCase {
}
@Test
- public void alwaysOn_onByDefault() throws Exception {
+ public void alwaysOn_followsConfigByDefault() throws Exception {
if (!mDozeConfig.alwaysOnAvailable()) {
return;
}
Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.DOZE_ALWAYS_ON,
null);
-
- assertTrue(mDozeConfig.alwaysOnEnabled(UserHandle.USER_CURRENT));
+ boolean defaultValue = mContext.getResources()
+ .getBoolean(com.android.internal.R.bool.config_dozeAlwaysOnEnabled);
+ assertEquals(mDozeConfig.alwaysOnEnabled(UserHandle.USER_CURRENT), defaultValue);
}
}