Revert "Ensure taskbar insets for camera cutout only apply on the needed sides"
This reverts commit 40fc6eb323d3d42e3b745b528e42b20ef7aa3cb3.
Reason for revert: <b/328182219>
Change-Id: I5b846919823d696933b7d9f4220c1797409fc8b8
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
index 50fe6be..9006df8 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
@@ -505,26 +505,52 @@
/**
* Creates {@link WindowManager.LayoutParams} for Taskbar, and also sets LP.paramsForRotation
- * for taskbar
+ * for taskbar showing as navigation bar
*/
private WindowManager.LayoutParams createAllWindowParams() {
final int windowType =
ENABLE_TASKBAR_NAVBAR_UNIFICATION ? TYPE_NAVIGATION_BAR : TYPE_NAVIGATION_BAR_PANEL;
WindowManager.LayoutParams windowLayoutParams =
createDefaultWindowLayoutParams(windowType, TaskbarActivityContext.WINDOW_TITLE);
+ if (!isPhoneButtonNavMode()) {
+ return windowLayoutParams;
+ }
+ // Provide WM layout params for all rotations to cache, see NavigationBar#getBarLayoutParams
+ int width = WindowManager.LayoutParams.MATCH_PARENT;
+ int height = WindowManager.LayoutParams.MATCH_PARENT;
+ int gravity = Gravity.BOTTOM;
windowLayoutParams.paramsForRotation = new WindowManager.LayoutParams[4];
for (int rot = Surface.ROTATION_0; rot <= Surface.ROTATION_270; rot++) {
WindowManager.LayoutParams lp =
createDefaultWindowLayoutParams(windowType,
TaskbarActivityContext.WINDOW_TITLE);
- if (isPhoneButtonNavMode()) {
- populatePhoneButtonNavModeWindowLayoutParams(rot, lp);
+ switch (rot) {
+ case Surface.ROTATION_0, Surface.ROTATION_180 -> {
+ // Defaults are fine
+ width = WindowManager.LayoutParams.MATCH_PARENT;
+ height = mLastRequestedNonFullscreenSize;
+ gravity = Gravity.BOTTOM;
+ }
+ case Surface.ROTATION_90 -> {
+ width = mLastRequestedNonFullscreenSize;
+ height = WindowManager.LayoutParams.MATCH_PARENT;
+ gravity = Gravity.END;
+ }
+ case Surface.ROTATION_270 -> {
+ width = mLastRequestedNonFullscreenSize;
+ height = WindowManager.LayoutParams.MATCH_PARENT;
+ gravity = Gravity.START;
+ }
+
}
+ lp.width = width;
+ lp.height = height;
+ lp.gravity = gravity;
windowLayoutParams.paramsForRotation[rot] = lp;
}
- // Override with current layout params
+ // Override current layout params
WindowManager.LayoutParams currentParams =
windowLayoutParams.paramsForRotation[getDisplay().getRotation()];
windowLayoutParams.width = currentParams.width;
@@ -534,32 +560,6 @@
return windowLayoutParams;
}
- /**
- * Update {@link WindowManager.LayoutParams} with values specific to phone and 3 button
- * navigation users
- */
- private void populatePhoneButtonNavModeWindowLayoutParams(int rot,
- WindowManager.LayoutParams lp) {
- lp.width = WindowManager.LayoutParams.MATCH_PARENT;
- lp.height = WindowManager.LayoutParams.MATCH_PARENT;
- lp.gravity = Gravity.BOTTOM;
-
- // Override with per-rotation specific values
- switch (rot) {
- case Surface.ROTATION_0, Surface.ROTATION_180 -> {
- lp.height = mLastRequestedNonFullscreenSize;
- }
- case Surface.ROTATION_90 -> {
- lp.width = mLastRequestedNonFullscreenSize;
- lp.gravity = Gravity.END;
- }
- case Surface.ROTATION_270 -> {
- lp.width = mLastRequestedNonFullscreenSize;
- lp.gravity = Gravity.START;
- }
- }
- }
-
public void onConfigurationChanged(@Config int configChanges) {
mControllers.onConfigurationChanged(configChanges);
if (!mIsUserSetupComplete) {
@@ -920,10 +920,8 @@
}
if (landscapePhoneButtonNav) {
mWindowLayoutParams.width = size;
- mWindowLayoutParams.paramsForRotation[getDisplay().getRotation()].width = size;
} else {
mWindowLayoutParams.height = size;
- mWindowLayoutParams.paramsForRotation[getDisplay().getRotation()].height = size;
}
mControllers.taskbarInsetsController.onTaskbarOrBubblebarWindowHeightOrInsetsChanged();
notifyUpdateLayoutParams();
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
index 567fad0..aa457ca 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt
@@ -118,9 +118,11 @@
getProvidedInsets(insetsRoundedCornerFlag)
}
- if (windowLayoutParams.paramsForRotation != null) {
- for (layoutParams in windowLayoutParams.paramsForRotation) {
- layoutParams.providedInsets = getProvidedInsets(insetsRoundedCornerFlag)
+ if (!context.isGestureNav) {
+ if (windowLayoutParams.paramsForRotation != null) {
+ for (layoutParams in windowLayoutParams.paramsForRotation) {
+ layoutParams.providedInsets = getProvidedInsets(insetsRoundedCornerFlag)
+ }
}
}
@@ -154,12 +156,19 @@
)
}
+ val gravity = windowLayoutParams.gravity
+
// Pre-calculate insets for different providers across different rotations for this gravity
for (rotation in Surface.ROTATION_0..Surface.ROTATION_270) {
// Add insets for navbar rotated params
- val layoutParams = windowLayoutParams.paramsForRotation[rotation]
- for (provider in layoutParams.providedInsets) {
- setProviderInsets(provider, layoutParams.gravity, rotation)
+ if (windowLayoutParams.paramsForRotation != null) {
+ val layoutParams = windowLayoutParams.paramsForRotation[rotation]
+ for (provider in layoutParams.providedInsets) {
+ setProviderInsets(provider, layoutParams.gravity, rotation)
+ }
+ }
+ for (provider in windowLayoutParams.providedInsets) {
+ setProviderInsets(provider, gravity, rotation)
}
}
context.notifyUpdateLayoutParams()