Merge "Get dim bounds after super.prepareSurfaces" into udc-dev

This commit is contained in:
Riddle Hsu
2023-04-13 01:31:14 +00:00
committed by Android (Google) Code Review
4 changed files with 13 additions and 7 deletions

View File

@@ -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() {

View File

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

View File

@@ -3252,9 +3252,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);

View File

@@ -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 */);