From 9b53a188f45c3cd8da7a436d0afc345f8acda5b3 Mon Sep 17 00:00:00 2001 From: Jagrut Desai Date: Tue, 1 Apr 2025 17:37:59 -0700 Subject: Fix Taskbar offset in launcher This cl includes: adding support to stash controller to get device locked state. Use different taskbar offset before and after lock screen. Test: Manual Bug: 407589216 Flag: EXEMPT bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:cef287164f798e3daef35d9a77a679df2cd8a09d) Merged-In: I55b27d39049458c741efc9bec365cdbc27d4e012 Change-Id: I55b27d39049458c741efc9bec365cdbc27d4e012 --- .../src/com/android/launcher3/taskbar/TaskbarStashController.java | 4 ++++ .../src/com/android/launcher3/taskbar/TaskbarViewController.java | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java index e597148462..f0f46771d9 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java @@ -426,6 +426,10 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba return mIsStashed; } + public boolean isDeviceLocked() { + return hasAnyFlag(FLAG_STASHED_DEVICE_LOCKED); + } + /** * Sets the hotseat stashed. * b/373429249 - we might change this behavior if we remove the scrim, that's why we're keeping diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java index ac9d2ba8bf..4b600eed15 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java @@ -948,11 +948,13 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar launcherDp.numShownHotseatIcons); boolean isToHome = mControllers.uiController.isIconAlignedWithHotseat(); + boolean isDeviceLocked = mControllers.taskbarStashController.isDeviceLocked(); // If Hotseat is not the top element, Taskbar should maintain in-app state as it fades out, // or fade in while already in in-app state. Interpolator interpolator = mIsHotseatIconOnTopWhenAligned ? LINEAR : FINAL_FRAME; - int offsetY = taskbarDp.getTaskbarOffsetY(); + int offsetY = + isDeviceLocked ? taskbarDp.getTaskbarOffsetY() : launcherDp.getTaskbarOffsetY(); setter.setFloat(mTaskbarIconTranslationYForHome, VALUE, -offsetY, interpolator); setter.setFloat(mTaskbarNavButtonTranslationY, VALUE, -offsetY, interpolator); setter.setFloat(mTaskbarNavButtonTranslationYForInAppDisplay, VALUE, offsetY, interpolator); -- cgit v1.2.3-59-g8ed1b