Merge "Revert "Making ScreenOnUnblocked and ScreenOffUnblocked public""
diff --git a/services/core/java/com/android/server/display/DisplayPowerController2.java b/services/core/java/com/android/server/display/DisplayPowerController2.java
index 234a46c..09136b0 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController2.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController2.java
@@ -267,10 +267,12 @@
// Must only be accessed on the handler thread.
private DisplayPowerState mPowerState;
+
+
// The currently active screen on unblocker. This field is non-null whenever
// we are waiting for a callback to release it and unblock the screen.
- private WindowManagerPolicy.ScreenOnListener mPendingScreenOnUnblocker;
- private WindowManagerPolicy.ScreenOffListener mPendingScreenOffUnblocker;
+ private ScreenOnUnblocker mPendingScreenOnUnblocker;
+ private ScreenOffUnblocker mPendingScreenOffUnblocker;
// True if we were in the process of turning off the screen.
// This allows us to recover more gracefully from situations where we abort
@@ -1756,9 +1758,7 @@
private void blockScreenOn() {
if (mPendingScreenOnUnblocker == null) {
Trace.asyncTraceBegin(Trace.TRACE_TAG_POWER, SCREEN_ON_BLOCKED_TRACE_NAME, 0);
- mPendingScreenOnUnblocker = () -> {
- mHandler.obtainMessage(MSG_SCREEN_ON_UNBLOCKED, this).sendToTarget();
- };
+ mPendingScreenOnUnblocker = new ScreenOnUnblocker();
mScreenOnBlockStartRealTime = SystemClock.elapsedRealtime();
Slog.i(mTag, "Blocking screen on until initial contents have been drawn.");
}
@@ -1776,9 +1776,7 @@
private void blockScreenOff() {
if (mPendingScreenOffUnblocker == null) {
Trace.asyncTraceBegin(Trace.TRACE_TAG_POWER, SCREEN_OFF_BLOCKED_TRACE_NAME, 0);
- mPendingScreenOffUnblocker = () -> {
- mHandler.obtainMessage(MSG_SCREEN_ON_UNBLOCKED, this).sendToTarget();
- };
+ mPendingScreenOffUnblocker = new ScreenOffUnblocker();
mScreenOffBlockStartRealTime = SystemClock.elapsedRealtime();
Slog.i(mTag, "Blocking screen off");
}
@@ -2562,6 +2560,22 @@
}
}
+ private final class ScreenOnUnblocker implements WindowManagerPolicy.ScreenOnListener {
+ @Override
+ public void onScreenOn() {
+ Message msg = mHandler.obtainMessage(MSG_SCREEN_ON_UNBLOCKED, this);
+ mHandler.sendMessage(msg);
+ }
+ }
+
+ private final class ScreenOffUnblocker implements WindowManagerPolicy.ScreenOffListener {
+ @Override
+ public void onScreenOff() {
+ Message msg = mHandler.obtainMessage(MSG_SCREEN_OFF_UNBLOCKED, this);
+ mHandler.sendMessage(msg);
+ }
+ }
+
@Override
public void setAutoBrightnessLoggingEnabled(boolean enabled) {
if (mAutomaticBrightnessController != null) {
diff --git a/services/tests/mockingservicestests/src/com/android/server/display/DisplayPowerController2Test.java b/services/tests/mockingservicestests/src/com/android/server/display/DisplayPowerController2Test.java
index 7726b73..f2cba40 100644
--- a/services/tests/mockingservicestests/src/com/android/server/display/DisplayPowerController2Test.java
+++ b/services/tests/mockingservicestests/src/com/android/server/display/DisplayPowerController2Test.java
@@ -16,11 +16,12 @@
package com.android.server.display;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
+
import static org.junit.Assert.assertNotNull;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
diff --git a/services/tests/mockingservicestests/src/com/android/server/display/DisplayPowerControllerTest.java b/services/tests/mockingservicestests/src/com/android/server/display/DisplayPowerControllerTest.java
index f380a7d..4f8cb88 100644
--- a/services/tests/mockingservicestests/src/com/android/server/display/DisplayPowerControllerTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/display/DisplayPowerControllerTest.java
@@ -16,11 +16,13 @@
package com.android.server.display;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
+
+
import static org.junit.Assert.assertNotNull;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;