mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-04 09:56:49 +00:00
Merge "Restore proper nav buttons translation when taskbar is recreated" into tm-qpr-dev
This commit is contained in:
@@ -66,9 +66,10 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
|
||||
public static final int WIDGETS_PAGE_PROGRESS_INDEX = 2;
|
||||
public static final int SYSUI_SURFACE_PROGRESS_INDEX = 3;
|
||||
|
||||
private static final int DISPLAY_PROGRESS_COUNT = 4;
|
||||
public static final int DISPLAY_PROGRESS_COUNT = 4;
|
||||
|
||||
private final AnimatedFloat mTaskbarInAppDisplayProgress = new AnimatedFloat();
|
||||
private final AnimatedFloat mTaskbarInAppDisplayProgress = new AnimatedFloat(
|
||||
this::onInAppDisplayProgressChanged);
|
||||
private final MultiPropertyFactory<AnimatedFloat> mTaskbarInAppDisplayProgressMultiProp =
|
||||
new MultiPropertyFactory<>(mTaskbarInAppDisplayProgress,
|
||||
AnimatedFloat.VALUE, DISPLAY_PROGRESS_COUNT, Float::max);
|
||||
@@ -105,6 +106,12 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
|
||||
mTaskbarLauncherStateController.updateStateForSysuiFlags(
|
||||
mControllers.getSharedState().sysuiStateFlags, true /* fromInit */);
|
||||
mLauncher.addOnDeviceProfileChangeListener(mOnDeviceProfileChangeListener);
|
||||
|
||||
// Restore the in-app display progress from before Taskbar was recreated.
|
||||
float[] prevProgresses = mControllers.getSharedState().inAppDisplayProgressMultiPropValues;
|
||||
for (int i = 0; i < prevProgresses.length; i++) {
|
||||
mTaskbarInAppDisplayProgressMultiProp.get(i).setValue(prevProgresses[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -118,6 +125,18 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
|
||||
updateTaskTransitionSpec(true);
|
||||
}
|
||||
|
||||
private void onInAppDisplayProgressChanged() {
|
||||
if (mControllers != null) {
|
||||
// Update our shared state so we can restore it if taskbar gets recreated.
|
||||
for (int i = 0; i < DISPLAY_PROGRESS_COUNT; i++) {
|
||||
mControllers.getSharedState().inAppDisplayProgressMultiPropValues[i] =
|
||||
mTaskbarInAppDisplayProgressMultiProp.get(i).getValue();
|
||||
}
|
||||
// Ensure nav buttons react to our latest state if necessary.
|
||||
mControllers.navbarButtonsViewController.updateNavButtonTranslationY();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isTaskbarTouchable() {
|
||||
return !(mTaskbarLauncherStateController.isAnimatingToLauncher()
|
||||
@@ -360,9 +379,10 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
|
||||
public void dumpLogs(String prefix, PrintWriter pw) {
|
||||
super.dumpLogs(prefix, pw);
|
||||
|
||||
pw.println(String.format("%s\tTaskbar in-app display progress:", prefix));
|
||||
pw.println(String.format("%s\tTaskbar in-app display progress: %.2f", prefix,
|
||||
mTaskbarInAppDisplayProgress.value));
|
||||
mTaskbarInAppDisplayProgressMultiProp.dump(
|
||||
prefix + "\t",
|
||||
prefix + "\t\t",
|
||||
pw,
|
||||
"mTaskbarInAppDisplayProgressMultiProp",
|
||||
"MINUS_ONE_PAGE_PROGRESS_INDEX",
|
||||
|
||||
Reference in New Issue
Block a user