diff options
| -rw-r--r-- | services/core/java/com/android/server/display/LocalDisplayAdapter.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java index b8bf4847f556..096f26399973 100644 --- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java +++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java @@ -96,6 +96,14 @@ final class LocalDisplayAdapter extends DisplayAdapter { } } + static boolean shouldBlank(int state) { + return state == Display.STATE_OFF; + } + + static boolean shouldUnblank(int state) { + return state == Display.STATE_ON || state == Display.STATE_DOZING; + } + private final class LocalDisplayDevice extends DisplayDevice { private final int mBuiltInDisplayId; private final SurfaceControl.PhysicalDisplayInfo mPhys; @@ -175,9 +183,9 @@ final class LocalDisplayAdapter extends DisplayAdapter { @Override public void requestDisplayStateLocked(int state) { if (mState != state) { - if (state == Display.STATE_OFF && mState != Display.STATE_OFF) { + if (shouldBlank(state) && !shouldBlank(mState)) { SurfaceControl.blankDisplay(getDisplayTokenLocked()); - } else if (state != Display.STATE_OFF && mState == Display.STATE_OFF) { + } else if (shouldUnblank(state) && !shouldUnblank(mState)) { SurfaceControl.unblankDisplay(getDisplayTokenLocked()); } mState = state; |