mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-04 01:46:49 +00:00
Fix taskbar 3-button truncation on rotate am: c0b30dc266
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/17109868 Change-Id: I0f81a210269a36d46d2250502abddd36c2f7f9c8 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
committed by
Automerger Merge Worker
commit
b3513063b5
@@ -43,6 +43,7 @@ import com.android.launcher3.util.OnboardingPrefs;
|
||||
import com.android.quickstep.AnimatedFloat;
|
||||
import com.android.quickstep.RecentsAnimationCallbacks;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.Arrays;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
@@ -57,7 +58,12 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
|
||||
private final BaseQuickstepLauncher mLauncher;
|
||||
|
||||
private final DeviceProfile.OnDeviceProfileChangeListener mOnDeviceProfileChangeListener =
|
||||
this::onStashedInAppChanged;
|
||||
dp -> {
|
||||
onStashedInAppChanged(dp);
|
||||
if (mControllers != null && mControllers.taskbarViewController != null) {
|
||||
mControllers.taskbarViewController.onRotationChanged(dp);
|
||||
}
|
||||
};
|
||||
|
||||
// Initialized in init.
|
||||
private AnimatedFloat mTaskbarOverrideBackgroundAlpha;
|
||||
@@ -65,15 +71,6 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
|
||||
private final TaskbarLauncherStateController
|
||||
mTaskbarLauncherStateController = new TaskbarLauncherStateController();
|
||||
|
||||
private final DeviceProfile.OnDeviceProfileChangeListener mProfileChangeListener =
|
||||
new DeviceProfile.OnDeviceProfileChangeListener() {
|
||||
@Override
|
||||
public void onDeviceProfileChanged(DeviceProfile dp) {
|
||||
mControllers.taskbarViewController.onRotationChanged(
|
||||
mLauncher.getDeviceProfile());
|
||||
}
|
||||
};
|
||||
|
||||
public LauncherTaskbarUIController(BaseQuickstepLauncher launcher) {
|
||||
mLauncher = launcher;
|
||||
}
|
||||
@@ -93,7 +90,10 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
|
||||
|
||||
onStashedInAppChanged(mLauncher.getDeviceProfile());
|
||||
mLauncher.addOnDeviceProfileChangeListener(mOnDeviceProfileChangeListener);
|
||||
mLauncher.addOnDeviceProfileChangeListener(mProfileChangeListener);
|
||||
}
|
||||
|
||||
public boolean supportsVisualStashing() {
|
||||
return mControllers.taskbarStashController.supportsVisualStashing();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -102,9 +102,8 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
|
||||
onLauncherResumedOrPaused(false);
|
||||
mTaskbarLauncherStateController.onDestroy();
|
||||
|
||||
mLauncher.removeOnDeviceProfileChangeListener(mOnDeviceProfileChangeListener);
|
||||
mLauncher.setTaskbarUIController(null);
|
||||
mLauncher.removeOnDeviceProfileChangeListener(mProfileChangeListener);
|
||||
mLauncher.removeOnDeviceProfileChangeListener(mOnDeviceProfileChangeListener);
|
||||
updateTaskTransitionSpec(true);
|
||||
}
|
||||
|
||||
@@ -271,4 +270,16 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
|
||||
// gesture ends, start drawing taskbar's background again since launcher might stop drawing.
|
||||
forceHideBackground(inProgress);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dumpLogs(String prefix, PrintWriter pw) {
|
||||
super.dumpLogs(prefix, pw);
|
||||
|
||||
pw.println(String.format(
|
||||
"%s\tmTaskbarOverrideBackgroundAlpha=%.2f",
|
||||
prefix,
|
||||
mTaskbarOverrideBackgroundAlpha.value));
|
||||
|
||||
mTaskbarLauncherStateController.dumpLogs(prefix + "\t", pw);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -187,9 +187,12 @@ public class TaskbarControllers {
|
||||
return;
|
||||
}
|
||||
|
||||
pw.println(String.format(
|
||||
"%s\tmAreAllControllersInitialized=%b", prefix, mAreAllControllersInitialized));
|
||||
for (LoggableTaskbarController controller : mControllersToLog) {
|
||||
controller.dumpLogs(prefix + "\t", pw);
|
||||
}
|
||||
uiController.dumpLogs(prefix + "\t", pw);
|
||||
rotationButtonController.dumpLogs(prefix + "\t", pw);
|
||||
}
|
||||
|
||||
|
||||
@@ -42,7 +42,9 @@ import com.android.quickstep.views.RecentsView;
|
||||
import com.android.systemui.animation.ViewRootSync;
|
||||
import com.android.systemui.shared.recents.model.ThumbnailData;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.HashMap;
|
||||
import java.util.StringJoiner;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -476,4 +478,48 @@ import java.util.function.Supplier;
|
||||
controller.applyState();
|
||||
}
|
||||
}
|
||||
|
||||
private static String getStateString(int flags) {
|
||||
StringJoiner str = new StringJoiner("|");
|
||||
str.add((flags & FLAG_RESUMED) != 0 ? "FLAG_RESUMED" : "");
|
||||
str.add((flags & FLAG_RECENTS_ANIMATION_RUNNING) != 0
|
||||
? "FLAG_RECENTS_ANIMATION_RUNNING" : "");
|
||||
str.add((flags & FLAG_TRANSITION_STATE_RUNNING) != 0
|
||||
? "FLAG_TRANSITION_STATE_RUNNING" : "");
|
||||
return str.toString();
|
||||
}
|
||||
|
||||
protected void dumpLogs(String prefix, PrintWriter pw) {
|
||||
pw.println(prefix + "TaskbarLauncherStateController:");
|
||||
|
||||
pw.println(String.format(
|
||||
"%s\tmIconAlignmentForResumedState=%.2f",
|
||||
prefix,
|
||||
mIconAlignmentForResumedState.value));
|
||||
pw.println(String.format(
|
||||
"%s\tmIconAlignmentForGestureState=%.2f",
|
||||
prefix,
|
||||
mIconAlignmentForGestureState.value));
|
||||
pw.println(String.format(
|
||||
"%s\tmIconAlignmentForLauncherState=%.2f",
|
||||
prefix,
|
||||
mIconAlignmentForLauncherState.value));
|
||||
pw.println(String.format(
|
||||
"%s\tmTaskbarBackgroundAlpha=%.2f", prefix, mTaskbarBackgroundAlpha.value));
|
||||
pw.println(String.format(
|
||||
"%s\tmIconAlphaForHome=%.2f", prefix, mIconAlphaForHome.getValue()));
|
||||
pw.println(String.format("%s\tmPrevState=%s", prefix, getStateString(mPrevState)));
|
||||
pw.println(String.format("%s\tmState=%s", prefix, getStateString(mState)));
|
||||
pw.println(String.format("%s\tmLauncherState=%s", prefix, mLauncherState));
|
||||
pw.println(String.format(
|
||||
"%s\tmIsAnimatingToLauncherViaGesture=%b",
|
||||
prefix,
|
||||
mIsAnimatingToLauncherViaGesture));
|
||||
pw.println(String.format(
|
||||
"%s\tmIsAnimatingToLauncherViaResume=%b",
|
||||
prefix,
|
||||
mIsAnimatingToLauncherViaResume));
|
||||
pw.println(String.format(
|
||||
"%s\tmShouldDelayLauncherStateAnim=%b", prefix, mShouldDelayLauncherStateAnim));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
|
||||
return !mIsStashed && isInApp();
|
||||
}
|
||||
|
||||
private boolean isInApp() {
|
||||
public boolean isInApp() {
|
||||
return hasAnyFlag(FLAGS_IN_APP);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import androidx.annotation.CallSuper;
|
||||
import com.android.launcher3.model.data.ItemInfo;
|
||||
import com.android.launcher3.model.data.ItemInfoWithIcon;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
@@ -86,4 +87,12 @@ public class TaskbarUIController {
|
||||
stashController.applyState();
|
||||
}
|
||||
}
|
||||
|
||||
@CallSuper
|
||||
protected void dumpLogs(String prefix, PrintWriter pw) {
|
||||
pw.println(String.format(
|
||||
"%sTaskbarUIController: using an instance of %s",
|
||||
prefix,
|
||||
getClass().getSimpleName()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -289,10 +289,12 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar
|
||||
}
|
||||
|
||||
public void onRotationChanged(DeviceProfile deviceProfile) {
|
||||
if (areIconsVisible()) {
|
||||
if (mControllers.taskbarStashController.isInApp()) {
|
||||
// We only translate on rotation when on home
|
||||
return;
|
||||
}
|
||||
mActivity.setTaskbarWindowHeight(
|
||||
deviceProfile.taskbarSize + deviceProfile.getTaskbarOffsetY());
|
||||
mTaskbarNavButtonTranslationY.updateValue(-deviceProfile.getTaskbarOffsetY());
|
||||
}
|
||||
|
||||
|
||||
@@ -22,10 +22,12 @@ import android.content.Context;
|
||||
import android.graphics.Rect;
|
||||
import android.os.SystemProperties;
|
||||
|
||||
import com.android.launcher3.BaseQuickstepLauncher;
|
||||
import com.android.launcher3.DeviceProfile;
|
||||
import com.android.launcher3.Launcher;
|
||||
import com.android.launcher3.LauncherState;
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.taskbar.LauncherTaskbarUIController;
|
||||
import com.android.launcher3.util.DisplayController;
|
||||
import com.android.launcher3.util.Themes;
|
||||
import com.android.quickstep.util.LayoutUtils;
|
||||
@@ -93,7 +95,13 @@ public class OverviewState extends LauncherState {
|
||||
|
||||
@Override
|
||||
public boolean isTaskbarStashed(Launcher launcher) {
|
||||
return true;
|
||||
if (launcher instanceof BaseQuickstepLauncher) {
|
||||
LauncherTaskbarUIController uiController =
|
||||
((BaseQuickstepLauncher) launcher).getTaskbarUIController();
|
||||
|
||||
return uiController != null && uiController.supportsVisualStashing();
|
||||
}
|
||||
return super.isTaskbarStashed(launcher);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user