mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-28 15:56:49 +00:00
Restore proper nav buttons translation when taskbar is recreated
Since mTaskbarInAppDisplayProgressMultiProp is set by various states that are hard to query in init() (e.g. state of all apps, -1, widgets, etc.), we store the last mTaskbarInAppDisplayProgressMultiProp in the TaskbarSharedState and restore those values in init(). Also updated some debug logs in the dump. Test: manual: from home screen, swipe down to quick settings and toggle Dark theme, ensure nav buttons don't translate; do the same but over launcher all apps Flag: none Fixes: 267325761 Change-Id: Ib8e6778582ed39c674cd3c1e95312e673659f6a7
This commit is contained in:
@@ -159,6 +159,7 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
|
||||
this::updateNavButtonTranslationY);
|
||||
private final AnimatedFloat mTaskbarNavButtonTranslationYForIme = new AnimatedFloat(
|
||||
this::updateNavButtonTranslationY);
|
||||
private float mLastSetNavButtonTranslationY;
|
||||
// Used for System UI state updates that should translate the nav button for in-app display.
|
||||
private final AnimatedFloat mNavButtonInAppDisplayProgressForSysui = new AnimatedFloat(
|
||||
this::updateNavButtonInAppDisplayProgressForSysui);
|
||||
@@ -606,7 +607,10 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
|
||||
}
|
||||
}
|
||||
|
||||
private void updateNavButtonTranslationY() {
|
||||
/**
|
||||
* Sets the translationY of the nav buttons based on the current device state.
|
||||
*/
|
||||
public void updateNavButtonTranslationY() {
|
||||
if (isPhoneButtonNavMode(mContext)) {
|
||||
return;
|
||||
}
|
||||
@@ -618,9 +622,10 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
|
||||
&& ((LauncherTaskbarUIController) uiController).shouldUseInAppLayout())
|
||||
? mTaskbarNavButtonTranslationYForInAppDisplay.value : 0;
|
||||
|
||||
mNavButtonsView.setTranslationY(normalTranslationY
|
||||
mLastSetNavButtonTranslationY = normalTranslationY
|
||||
+ imeAdjustmentTranslationY
|
||||
+ inAppDisplayAdjustmentTranslationY);
|
||||
+ inAppDisplayAdjustmentTranslationY;
|
||||
mNavButtonsView.setTranslationY(mLastSetNavButtonTranslationY);
|
||||
}
|
||||
|
||||
private void updateNavButtonColor() {
|
||||
@@ -925,6 +930,13 @@ public class NavbarButtonsViewController implements TaskbarControllers.LoggableT
|
||||
pw.println(prefix + "\tmFloatingRotationButtonBounds=" + mFloatingRotationButtonBounds);
|
||||
pw.println(prefix + "\tmSysuiStateFlags=" + QuickStepContract.getSystemUiStateString(
|
||||
mSysuiStateFlags));
|
||||
pw.println(prefix + "\tLast set nav button translationY=" + mLastSetNavButtonTranslationY);
|
||||
pw.println(prefix + "\t\tmTaskbarNavButtonTranslationY="
|
||||
+ mTaskbarNavButtonTranslationY.value);
|
||||
pw.println(prefix + "\t\tmTaskbarNavButtonTranslationYForInAppDisplay="
|
||||
+ mTaskbarNavButtonTranslationYForInAppDisplay.value);
|
||||
pw.println(prefix + "\t\tmTaskbarNavButtonTranslationYForIme="
|
||||
+ mTaskbarNavButtonTranslationYForIme.value);
|
||||
}
|
||||
|
||||
private static String getStateString(int flags) {
|
||||
|
||||
Reference in New Issue
Block a user