Notify visibility change if source visibility is changed am: e8bd5284d3

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13292846

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0e77b4ed58c35aa14a7eaaf089d89c13087033db
This commit is contained in:
Tiger Huang
2021-01-06 20:00:39 +00:00
committed by Automerger Merge Worker

View File

@@ -113,13 +113,20 @@ public class InsetsSourceConsumer {
InsetsState.typeToString(control.getType()),
mController.getHost().getRootViewTitle()));
}
// We are loosing control
if (mSourceControl == null) {
// We are loosing control
mController.notifyControlRevoked(this);
// Restore server visibility.
mState.getSource(getType()).setVisible(
mController.getLastDispatchedState().getSource(getType()).isVisible());
// Check if we need to restore server visibility.
final InsetsSource source = mState.getSource(mType);
final boolean serverVisibility =
mController.getLastDispatchedState().getSourceOrDefaultVisibility(mType);
if (source.isVisible() != serverVisibility) {
source.setVisible(serverVisibility);
mController.notifyVisibilityChanged();
}
// For updateCompatSysUiVisibility
applyLocalVisibilityOverride();
} else {
// We are gaining control, and need to run an animation since previous state