diff options
4 files changed, 13 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/wm/Dimmer.java b/services/core/java/com/android/server/wm/Dimmer.java index c6db8a7acb6f..8660becf56a9 100644 --- a/services/core/java/com/android/server/wm/Dimmer.java +++ b/services/core/java/com/android/server/wm/Dimmer.java @@ -263,16 +263,19 @@ class Dimmer { * {@link WindowContainer#prepareSurfaces}. After calling this, the container should * chain {@link WindowContainer#prepareSurfaces} down to it's children to give them * a chance to request dims to continue. - * @return Non-null dim bounds if the dimmer is showing. */ - Rect resetDimStates() { + void resetDimStates() { if (mDimState == null) { - return null; + return; } if (!mDimState.mDontReset) { mDimState.mDimming = false; } - return mDimState.mDimBounds; + } + + /** Returns non-null bounds if the dimmer is showing. */ + Rect getDimBounds() { + return mDimState != null ? mDimState.mDimBounds : null; } void dontAnimateExit() { diff --git a/services/core/java/com/android/server/wm/DisplayArea.java b/services/core/java/com/android/server/wm/DisplayArea.java index 26f56a2e5c0b..9f59f5a30caf 100644 --- a/services/core/java/com/android/server/wm/DisplayArea.java +++ b/services/core/java/com/android/server/wm/DisplayArea.java @@ -779,8 +779,9 @@ public class DisplayArea<T extends WindowContainer> extends WindowContainer<T> { @Override void prepareSurfaces() { - final Rect dimBounds = mDimmer.resetDimStates(); + mDimmer.resetDimStates(); super.prepareSurfaces(); + final Rect dimBounds = mDimmer.getDimBounds(); if (dimBounds != null) { // Bounds need to be relative, as the dim layer is a child. getBounds(dimBounds); diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index fb592e124920..bd9a7a51b414 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -3253,9 +3253,10 @@ class Task extends TaskFragment { @Override void prepareSurfaces() { - final Rect dimBounds = mDimmer.resetDimStates(); + mDimmer.resetDimStates(); super.prepareSurfaces(); + final Rect dimBounds = mDimmer.getDimBounds(); if (dimBounds != null) { getDimBounds(dimBounds); diff --git a/services/core/java/com/android/server/wm/TaskFragment.java b/services/core/java/com/android/server/wm/TaskFragment.java index 1d232fe99e3c..311b9a6d2876 100644 --- a/services/core/java/com/android/server/wm/TaskFragment.java +++ b/services/core/java/com/android/server/wm/TaskFragment.java @@ -2923,9 +2923,10 @@ class TaskFragment extends WindowContainer<WindowContainer> { return; } - final Rect dimBounds = mDimmer.resetDimStates(); + mDimmer.resetDimStates(); super.prepareSurfaces(); + final Rect dimBounds = mDimmer.getDimBounds(); if (dimBounds != null) { // Bounds need to be relative, as the dim layer is a child. dimBounds.offsetTo(0 /* newLeft */, 0 /* newTop */); |