Revert "AOD: Refactor always on configuration"
This reverts commit 28d26a821f5fa078af756ceb3e94090a10f73175.
Bug: 36027947
Change-Id: I3d4c2e58b753120ff668a4594f60692abc6a3426
(cherry picked from commit c45944b68009c319c93d48f1c4df60393f108fff)
diff --git a/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java b/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java
index bab7cb3..cf1bf62 100644
--- a/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java
+++ b/core/java/com/android/internal/hardware/AmbientDisplayConfiguration.java
@@ -19,7 +19,6 @@
import com.android.internal.R;
import android.content.Context;
-import android.os.Build;
import android.provider.Settings;
import android.text.TextUtils;
@@ -34,8 +33,7 @@
public boolean enabled(int user) {
return pulseOnNotificationEnabled(user)
|| pulseOnPickupEnabled(user)
- || pulseOnDoubleTapEnabled(user)
- || alwaysOnEnabled(user);
+ || pulseOnDoubleTapEnabled(user);
}
public boolean available() {
@@ -74,16 +72,6 @@
return mContext.getResources().getString(R.string.config_dozeDoubleTapSensorType);
}
- public boolean alwaysOnEnabled(int user) {
- return boolSetting(Settings.Secure.DOZE_ALWAYS_ON, user)
- && alwaysOnAvailable();
- }
-
- public boolean alwaysOnAvailable() {
- // TODO: introduce config_dozeAlwaysOnAvailable. For now just debuggable builds.
- return Build.IS_DEBUGGABLE && ambientDisplayAvailable();
- }
-
public String ambientDisplayComponent() {
return mContext.getResources().getString(R.string.config_dozeComponent);
}
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java b/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java
index e38f922..5d57daa 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java
@@ -53,7 +53,7 @@
DozeMachine machine = new DozeMachine(
DozeScreenStatePreventingAdapter.wrapIfNeeded(dozeService, params),
- config,
+ params,
wakeLock);
machine.setParts(new DozeMachine.Part[]{
createDozeTriggers(context, sensorManager, host, config, params, handler, wakeLock,
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java b/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java
index c852b49..c9eb790 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java
@@ -17,12 +17,11 @@
package com.android.systemui.doze;
import android.annotation.MainThread;
-import android.os.UserHandle;
import android.util.Log;
import android.view.Display;
-import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.internal.util.Preconditions;
+import com.android.systemui.statusbar.phone.DozeParameters;
import com.android.systemui.util.Assert;
import java.io.PrintWriter;
@@ -96,17 +95,16 @@
private final Service mDozeService;
private final DozeFactory.WakeLock mWakeLock;
- private final AmbientDisplayConfiguration mConfig;
+ private final DozeParameters mParams;
private Part[] mParts;
private final ArrayList<State> mQueuedRequests = new ArrayList<>();
private State mState = State.UNINITIALIZED;
private boolean mWakeLockHeldForCurrentState = false;
- public DozeMachine(Service service, AmbientDisplayConfiguration config,
- DozeFactory.WakeLock wakeLock) {
+ public DozeMachine(Service service, DozeParameters params, DozeFactory.WakeLock wakeLock) {
mDozeService = service;
- mConfig = config;
+ mParams = params;
mWakeLock = wakeLock;
}
@@ -269,7 +267,7 @@
switch (state) {
case INITIALIZED:
case DOZE_PULSE_DONE:
- transitionTo(mConfig.alwaysOnEnabled(UserHandle.USER_CURRENT)
+ transitionTo(mParams.getAlwaysOn()
? DozeMachine.State.DOZE_AOD : DozeMachine.State.DOZE);
break;
default:
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java
index 7b2e9979..4a2ec88 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java
@@ -17,6 +17,7 @@
package com.android.systemui.statusbar.phone;
import android.content.Context;
+import android.os.Build;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.provider.Settings;
@@ -24,7 +25,6 @@
import android.util.MathUtils;
import android.util.SparseBooleanArray;
-import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.systemui.R;
import java.io.PrintWriter;
@@ -32,15 +32,14 @@
public class DozeParameters {
private static final int MAX_DURATION = 60 * 1000;
public static final String DOZE_SENSORS_WAKE_UP_FULLY = "doze_sensors_wake_up_fully";
+ public static final boolean ALWAYS_ON_AVAILABLE = Build.IS_DEBUGGABLE;
private final Context mContext;
- private final AmbientDisplayConfiguration mAmbientDisplayConfiguration;
private static IntInOutMatcher sPickupSubtypePerformsProxMatcher;
public DozeParameters(Context context) {
mContext = context;
- mAmbientDisplayConfiguration = new AmbientDisplayConfiguration(mContext);
}
public void dump(PrintWriter pw) {
@@ -59,7 +58,8 @@
pw.print(" getPickupVibrationThreshold(): "); pw.println(getPickupVibrationThreshold());
pw.print(" getPickupSubtypePerformsProxCheck(): ");pw.println(
dumpPickupSubtypePerformsProxCheck());
- if (mAmbientDisplayConfiguration.alwaysOnAvailable()) {
+ if (ALWAYS_ON_AVAILABLE) {
+ pw.print(" getAlwaysOn(): "); pw.println(getAlwaysOn());
pw.print(" getSensorsWakeUpFully(): "); pw.println(getSensorsWakeUpFully());
}
}
@@ -119,11 +119,13 @@
}
public boolean getAlwaysOn() {
- return mAmbientDisplayConfiguration.alwaysOnEnabled(UserHandle.USER_CURRENT);
+ return ALWAYS_ON_AVAILABLE
+ && Settings.Secure.getIntForUser(mContext.getContentResolver(),
+ Settings.Secure.DOZE_ALWAYS_ON, 0, UserHandle.USER_CURRENT) != 0;
}
public boolean getSensorsWakeUpFully() {
- return mAmbientDisplayConfiguration.alwaysOnAvailable()
+ return ALWAYS_ON_AVAILABLE
&& Settings.Secure.getIntForUser(mContext.getContentResolver(),
DOZE_SENSORS_WAKE_UP_FULLY, 1, UserHandle.USER_CURRENT) != 0;
}
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java
index e7bce708..209b439 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java
@@ -26,11 +26,11 @@
import android.view.MenuInflater;
import android.view.MenuItem;
-import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.systemui.R;
import com.android.systemui.plugins.PluginPrefs;
+import com.android.systemui.statusbar.phone.DozeParameters;
public class TunerFragment extends PreferenceFragment {
@@ -65,7 +65,7 @@
if (!PluginPrefs.hasPlugins(getContext())) {
getPreferenceScreen().removePreference(findPreference(KEY_PLUGINS));
}
- if (!alwaysOnAvailable()) {
+ if (!DozeParameters.ALWAYS_ON_AVAILABLE) {
getPreferenceScreen().removePreference(findPreference(KEY_DOZE));
}
@@ -77,10 +77,6 @@
}
}
- private boolean alwaysOnAvailable() {
- return new AmbientDisplayConfiguration(getContext()).alwaysOnAvailable();
- }
-
@Override
public void onResume() {
super.onResume();
diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java
index 267580e..32afee9 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeMachineTest.java
@@ -28,9 +28,8 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
@@ -43,7 +42,7 @@
import android.support.test.runner.AndroidJUnit4;
import android.view.Display;
-import com.android.internal.hardware.AmbientDisplayConfiguration;
+import com.android.systemui.statusbar.phone.DozeParameters;
import org.junit.Before;
import org.junit.Test;
@@ -57,17 +56,17 @@
private DozeServiceFake mServiceFake;
private WakeLockFake mWakeLockFake;
- private AmbientDisplayConfiguration mConfigMock;
+ private DozeParameters mParamsMock;
private DozeMachine.Part mPartMock;
@Before
public void setUp() {
mServiceFake = new DozeServiceFake();
mWakeLockFake = new WakeLockFake();
- mConfigMock = mock(AmbientDisplayConfiguration.class);
+ mParamsMock = mock(DozeParameters.class);
mPartMock = mock(DozeMachine.Part.class);
- mMachine = new DozeMachine(mServiceFake, mConfigMock, mWakeLockFake);
+ mMachine = new DozeMachine(mServiceFake, mParamsMock, mWakeLockFake);
mMachine.setParts(new DozeMachine.Part[]{mPartMock});
}
@@ -83,7 +82,7 @@
@Test
@UiThreadTest
public void testInitialize_goesToDoze() {
- when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(false);
+ when(mParamsMock.getAlwaysOn()).thenReturn(false);
mMachine.requestState(INITIALIZED);
@@ -94,7 +93,7 @@
@Test
@UiThreadTest
public void testInitialize_goesToAod() {
- when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(true);
+ when(mParamsMock.getAlwaysOn()).thenReturn(true);
mMachine.requestState(INITIALIZED);
@@ -105,7 +104,7 @@
@Test
@UiThreadTest
public void testPulseDone_goesToDoze() {
- when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(false);
+ when(mParamsMock.getAlwaysOn()).thenReturn(false);
mMachine.requestState(INITIALIZED);
mMachine.requestState(DOZE_REQUEST_PULSE);
mMachine.requestState(DOZE_PULSING);
@@ -119,7 +118,7 @@
@Test
@UiThreadTest
public void testPulseDone_goesToAoD() {
- when(mConfigMock.alwaysOnEnabled(anyInt())).thenReturn(true);
+ when(mParamsMock.getAlwaysOn()).thenReturn(true);
mMachine.requestState(INITIALIZED);
mMachine.requestState(DOZE_REQUEST_PULSE);
mMachine.requestState(DOZE_PULSING);