Merge "Stash task bar when ime switcher is showing" into tm-qpr-dev
This commit is contained in:
@@ -22,6 +22,7 @@ import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCH
|
||||
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASKBAR_LONGPRESS_SHOW;
|
||||
import static com.android.launcher3.taskbar.Utilities.appendFlag;
|
||||
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SHOWING;
|
||||
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SWITCHER_SHOWING;
|
||||
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_SCREEN_PINNING;
|
||||
|
||||
import android.animation.Animator;
|
||||
@@ -149,6 +150,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
|
||||
private @Nullable AnimatorSet mAnimator;
|
||||
private boolean mIsSystemGestureInProgress;
|
||||
private boolean mIsImeShowing;
|
||||
private boolean mIsImeSwitcherShowing;
|
||||
|
||||
private boolean mEnableManualStashingForTests = false;
|
||||
|
||||
@@ -571,9 +573,11 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
|
||||
}
|
||||
|
||||
// Only update the following flags when system gesture is not in progress.
|
||||
maybeResetStashedInAppAllApps(hasAnyFlag(FLAG_STASHED_IN_APP_IME) == mIsImeShowing);
|
||||
if (hasAnyFlag(FLAG_STASHED_IN_APP_IME) != mIsImeShowing) {
|
||||
updateStateForFlag(FLAG_STASHED_IN_APP_IME, mIsImeShowing);
|
||||
boolean shouldStashForIme = shouldStashForIme();
|
||||
maybeResetStashedInAppAllApps(
|
||||
hasAnyFlag(FLAG_STASHED_IN_APP_IME) == shouldStashForIme);
|
||||
if (hasAnyFlag(FLAG_STASHED_IN_APP_IME) != shouldStashForIme) {
|
||||
updateStateForFlag(FLAG_STASHED_IN_APP_IME, shouldStashForIme);
|
||||
applyState(TASKBAR_STASH_DURATION_FOR_IME, getTaskbarStashStartDelayForIme());
|
||||
}
|
||||
}
|
||||
@@ -625,8 +629,9 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
|
||||
|
||||
// Only update FLAG_STASHED_IN_APP_IME when system gesture is not in progress.
|
||||
mIsImeShowing = hasAnyFlag(systemUiStateFlags, SYSUI_STATE_IME_SHOWING);
|
||||
mIsImeSwitcherShowing = hasAnyFlag(systemUiStateFlags, SYSUI_STATE_IME_SWITCHER_SHOWING);
|
||||
if (!mIsSystemGestureInProgress) {
|
||||
updateStateForFlag(FLAG_STASHED_IN_APP_IME, mIsImeShowing);
|
||||
updateStateForFlag(FLAG_STASHED_IN_APP_IME, shouldStashForIme());
|
||||
animDuration = TASKBAR_STASH_DURATION_FOR_IME;
|
||||
startDelay = getTaskbarStashStartDelayForIme();
|
||||
}
|
||||
@@ -634,6 +639,10 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
|
||||
applyState(skipAnim ? 0 : animDuration, skipAnim ? 0 : startDelay);
|
||||
}
|
||||
|
||||
private boolean shouldStashForIme() {
|
||||
return mIsImeShowing || mIsImeSwitcherShowing;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the proper flag to indicate whether the task bar should be stashed.
|
||||
*
|
||||
@@ -699,6 +708,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
|
||||
pw.println(String.format(
|
||||
"%s\tmIsSystemGestureInProgress=%b", prefix, mIsSystemGestureInProgress));
|
||||
pw.println(String.format("%s\tmIsImeShowing=%b", prefix, mIsImeShowing));
|
||||
pw.println(String.format("%s\tmIsImeSwitcherShowing=%b", prefix, mIsImeSwitcherShowing));
|
||||
}
|
||||
|
||||
private static String getStateString(int flags) {
|
||||
|
||||
Reference in New Issue
Block a user