Merge "Fixed cts failure of WindowInsetsControllerTests" into tm-dev
This commit is contained in:
@@ -65,6 +65,9 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
|
|||||||
| FLAG_STASHED_IN_APP_PINNED | FLAG_STASHED_IN_APP_EMPTY | FLAG_STASHED_IN_APP_SETUP
|
| FLAG_STASHED_IN_APP_PINNED | FLAG_STASHED_IN_APP_EMPTY | FLAG_STASHED_IN_APP_SETUP
|
||||||
| FLAG_STASHED_IN_APP_IME | FLAG_STASHED_IN_APP_ALL_APPS;
|
| FLAG_STASHED_IN_APP_IME | FLAG_STASHED_IN_APP_ALL_APPS;
|
||||||
|
|
||||||
|
private static final int FLAGS_STASHED_IN_APP_IGNORING_IME =
|
||||||
|
FLAGS_STASHED_IN_APP & ~FLAG_STASHED_IN_APP_IME;
|
||||||
|
|
||||||
// If any of these flags are enabled, inset apps by our stashed height instead of our unstashed
|
// If any of these flags are enabled, inset apps by our stashed height instead of our unstashed
|
||||||
// height. This way the reported insets are consistent even during transitions out of the app.
|
// height. This way the reported insets are consistent even during transitions out of the app.
|
||||||
// Currently any flag that causes us to stash in an app is included, except for IME or All Apps
|
// Currently any flag that causes us to stash in an app is included, except for IME or All Apps
|
||||||
@@ -238,6 +241,13 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
|
|||||||
return hasAnyFlag(FLAGS_STASHED_IN_APP);
|
return hasAnyFlag(FLAGS_STASHED_IN_APP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether the taskbar should be stashed in apps regardless of the IME visibility.
|
||||||
|
*/
|
||||||
|
public boolean isStashedInAppIgnoringIme() {
|
||||||
|
return hasAnyFlag(FLAGS_STASHED_IN_APP_IGNORING_IME);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether the taskbar should be stashed in the current LauncherState.
|
* Returns whether the taskbar should be stashed in the current LauncherState.
|
||||||
*/
|
*/
|
||||||
@@ -586,7 +596,11 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
|
|||||||
|
|
||||||
private void notifyStashChange(boolean visible, boolean stashed) {
|
private void notifyStashChange(boolean visible, boolean stashed) {
|
||||||
mSystemUiProxy.notifyTaskbarStatus(visible, stashed);
|
mSystemUiProxy.notifyTaskbarStatus(visible, stashed);
|
||||||
mControllers.taskbarActivityContext.updateInsetRoundedCornerFrame(visible && !stashed);
|
// If stashing taskbar is caused by IME visibility, we could just skip updating rounded
|
||||||
|
// corner insets since the rounded corners will be covered by IME during IME is showing and
|
||||||
|
// taskbar will be restored back to unstashed when IME is hidden.
|
||||||
|
mControllers.taskbarActivityContext.updateInsetRoundedCornerFrame(
|
||||||
|
visible && !isStashedInAppIgnoringIme());
|
||||||
mControllers.rotationButtonController.onTaskbarStateChange(visible, stashed);
|
mControllers.rotationButtonController.onTaskbarStateChange(visible, stashed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user