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); } }