Merge "Fixed CTS failure due to selecting wrong transition." into oc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
7b7e7e1603
@@ -284,7 +284,6 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo
|
||||
boolean visible; // does this activity's window need to be shown?
|
||||
boolean visibleIgnoringKeyguard; // is this activity visible, ignoring the fact that Keyguard
|
||||
// might hide this activity?
|
||||
private boolean mLastSetWindowVisibility; // The last window visibility state that was set.
|
||||
private boolean mDeferHidingClient; // If true we told WM to defer reporting to the client
|
||||
// process that it is hidden.
|
||||
boolean sleeping; // have we told the activity to sleep?
|
||||
@@ -1589,10 +1588,6 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo
|
||||
}
|
||||
|
||||
void setVisibility(boolean visible) {
|
||||
if (mLastSetWindowVisibility == visible) {
|
||||
return;
|
||||
}
|
||||
mLastSetWindowVisibility = visible;
|
||||
mWindowContainerController.setVisibility(visible, mDeferHidingClient);
|
||||
mStackSupervisor.mActivityMetricsLogger.notifyVisibilityChanged(this, visible);
|
||||
}
|
||||
|
||||
@@ -346,6 +346,24 @@ public class AppWindowContainerController
|
||||
|
||||
final AppWindowToken wtoken = mContainer;
|
||||
|
||||
// Don't set visibility to false if we were already not visible. This prevents WM from
|
||||
// adding the app to the closing app list which doesn't make sense for something that is
|
||||
// already not visible. However, set visibility to true even if we are already visible.
|
||||
// This makes sure the app is added to the opening apps list so that the right
|
||||
// transition can be selected.
|
||||
// TODO: Probably a good idea to separate the concept of opening/closing apps from the
|
||||
// concept of setting visibility...
|
||||
if (!visible && wtoken.hiddenRequested) {
|
||||
|
||||
if (!deferHidingClient && wtoken.mDeferHidingClient) {
|
||||
// We previously deferred telling the client to hide itself when visibility was
|
||||
// initially set to false. Now we would like it to hide, so go ahead and set it.
|
||||
wtoken.mDeferHidingClient = deferHidingClient;
|
||||
wtoken.setClientHidden(true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (DEBUG_APP_TRANSITIONS || DEBUG_ORIENTATION) Slog.v(TAG_WM, "setAppVisibility("
|
||||
+ mToken + ", visible=" + visible + "): " + mService.mAppTransition
|
||||
+ " hidden=" + wtoken.hidden + " hiddenRequested="
|
||||
|
||||
Reference in New Issue
Block a user