Merge "Fix fillsParent() always be false on finishing activity" into rvc-dev

This commit is contained in:
Louis Chang
2020-05-11 00:47:45 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 4 deletions

View File

@@ -2120,12 +2120,20 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
@Override @Override
boolean fillsParent() { boolean fillsParent() {
return occludesParent(); return occludesParent(true /* includingFinishing */);
} }
/** Returns true if this activity is opaque and fills the entire space of this task. */ /** Returns true if this activity is not finishing, is opaque and fills the entire space of
* this task. */
boolean occludesParent() { boolean occludesParent() {
return !finishing && mOccludesParent; return occludesParent(false /* includingFinishing */);
}
private boolean occludesParent(boolean includingFinishing) {
if (!includingFinishing && finishing) {
return false;
}
return mOccludesParent;
} }
boolean setOccludesParent(boolean occludesParent) { boolean setOccludesParent(boolean occludesParent) {
@@ -7547,7 +7555,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
if (mThumbnail != null){ if (mThumbnail != null){
mThumbnail.dumpDebug(proto, THUMBNAIL); mThumbnail.dumpDebug(proto, THUMBNAIL);
} }
proto.write(FILLS_PARENT, mOccludesParent); proto.write(FILLS_PARENT, fillsParent());
proto.write(APP_STOPPED, mAppStopped); proto.write(APP_STOPPED, mAppStopped);
proto.write(TRANSLUCENT, !occludesParent()); proto.write(TRANSLUCENT, !occludesParent());
proto.write(VISIBLE, mVisible); proto.write(VISIBLE, mVisible);

View File

@@ -295,6 +295,7 @@ class ActivityTestsBase extends SystemServiceTestsBase {
// fullscreen value is normally read from resources in ctor, so for testing we need // fullscreen value is normally read from resources in ctor, so for testing we need
// to set it somewhere else since we can't mock resources. // to set it somewhere else since we can't mock resources.
doReturn(true).when(activity).occludesParent(); doReturn(true).when(activity).occludesParent();
doReturn(true).when(activity).fillsParent();
mTask.addChild(activity); mTask.addChild(activity);
// Make visible by default... // Make visible by default...
activity.setVisible(true); activity.setVisible(true);