Loading quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +5 −0 Original line number Diff line number Diff line Loading @@ -138,6 +138,11 @@ public class LauncherTaskbarUIController extends TaskbarUIController { mHomeState.removeListener(mVisibilityChangeListener); } /** Returns {@code true} if launcher is currently presenting the home screen. */ public boolean isOnHome() { return mTaskbarLauncherStateController.isOnHome(); } private void onInAppDisplayProgressChanged() { if (mControllers != null) { // Update our shared state so we can restore it if taskbar gets recreated. Loading quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt +22 −19 Original line number Diff line number Diff line Loading @@ -136,14 +136,8 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas val taskbarTouchableHeight = controllers.taskbarStashController.touchableHeight val bubblesTouchableHeight = bubbleControllers?.bubbleStashController?.getTouchableHeight() ?: 0 // add bounds for task bar and bubble bar stash controllers val touchableHeight = max(taskbarTouchableHeight, bubblesTouchableHeight) defaultTouchableRegion.set( 0, windowLayoutParams.height - touchableHeight, context.deviceProfile.widthPx, windowLayoutParams.height ) // reset touch bounds defaultTouchableRegion.setEmpty() if (bubbleControllers != null) { val bubbleBarViewController = bubbleControllers.bubbleBarViewController val isBubbleBarVisible = bubbleControllers.bubbleStashController.isBubbleBarVisible() Loading @@ -153,6 +147,15 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas defaultTouchableRegion.addBoundsToRegion(bubbleBarViewController.bubbleBarBounds) } } val taskbarUIController = controllers.uiController as? LauncherTaskbarUIController if (taskbarUIController?.isOnHome != true) { // only add the bars touch region if not on home val touchableHeight = max(taskbarTouchableHeight, bubblesTouchableHeight) val bottom = windowLayoutParams.height val top = bottom - touchableHeight val right = context.deviceProfile.widthPx defaultTouchableRegion.addBoundsToRegion(Rect(/* left= */ 0, top, right, bottom)) } // Pre-calculate insets for different providers across different rotations for this gravity for (rotation in Surface.ROTATION_0..Surface.ROTATION_270) { Loading Loading @@ -221,20 +224,20 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas provider.insetsSize = getInsetsForGravityWithCutout(contentHeight, gravity, endRotation) } else if (provider.type == mandatorySystemGestures()) { if (context.isThreeButtonNav) { provider.insetsSize = getInsetsForGravityWithCutout(contentHeight, gravity, endRotation) provider.insetsSize = getInsetsForGravityWithCutout(contentHeight, gravity, endRotation) } else { val gestureHeight = ResourceUtils.getNavbarSize( ResourceUtils.NAVBAR_BOTTOM_GESTURE_SIZE, context.resources) val isPinnedTaskbar = context.deviceProfile.isTaskbarPresent && !context.deviceProfile.isTransientTaskbar val mandatoryGestureHeight = if (isPinnedTaskbar) contentHeight else gestureHeight provider.insetsSize = getInsetsForGravityWithCutout(mandatoryGestureHeight, gravity, endRotation) context.resources ) val isPinnedTaskbar = context.deviceProfile.isTaskbarPresent && !context.deviceProfile.isTransientTaskbar val mandatoryGestureHeight = if (isPinnedTaskbar) contentHeight else gestureHeight provider.insetsSize = getInsetsForGravityWithCutout(mandatoryGestureHeight, gravity, endRotation) } } else if (provider.type == tappableElement()) { provider.insetsSize = getInsetsForGravity(tappableHeight, gravity) Loading quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java +6 −2 Original line number Diff line number Diff line Loading @@ -433,6 +433,11 @@ public class TaskbarLauncherStateController { return animator; } /** Returns {@code true} if launcher is currently presenting the home screen. */ public boolean isOnHome() { return isInLauncher() && mLauncherState == LauncherState.NORMAL; } private Animator onStateChangeApplied(int changedFlags, long duration, boolean start) { final boolean isInLauncher = isInLauncher(); final boolean isIconAlignedWithHotseat = isIconAlignedWithHotseat(); Loading @@ -445,9 +450,8 @@ public class TaskbarLauncherStateController { } mControllers.bubbleControllers.ifPresent(controllers -> { // Show the bubble bar when on launcher home or in overview. boolean onHome = isInLauncher && mLauncherState == LauncherState.NORMAL; boolean onOverview = mLauncherState == LauncherState.OVERVIEW; controllers.bubbleStashController.setBubblesShowingOnHome(onHome); controllers.bubbleStashController.setBubblesShowingOnHome(isOnHome()); controllers.bubbleStashController.setBubblesShowingOnOverview(onOverview); }); Loading quickstep/tests/src/com/android/quickstep/TaplTestsPersistentTaskbar.java +3 −6 Original line number Diff line number Diff line Loading @@ -15,18 +15,15 @@ */ package com.android.quickstep; import static com.android.quickstep.TaskbarModeSwitchRule.Mode.PERSISTENT; import android.graphics.Rect; import androidx.test.filters.LargeTest; import androidx.test.runner.AndroidJUnit4; import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape; import com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch; import com.android.quickstep.TaskbarModeSwitchRule.TaskbarModeSwitch; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -34,9 +31,9 @@ import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) public class TaplTestsPersistentTaskbar extends AbstractTaplTestsTaskbar { //TODO(b/359277238): fix falling tests @Ignore @Test @TaskbarModeSwitch(mode = PERSISTENT) @PortraitLandscape @NavigationModeSwitch public void testTaskbarFillsWidth() { // Width check is performed inside TAPL whenever getTaskbar() is called. Loading quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java +2 −0 Original line number Diff line number Diff line Loading @@ -521,6 +521,8 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest { isInState(() -> LauncherState.NORMAL)); } //TODO(b/359277238): fix falling tests @Ignore @Test @PortraitLandscape @TaskbarModeSwitch Loading Loading
quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +5 −0 Original line number Diff line number Diff line Loading @@ -138,6 +138,11 @@ public class LauncherTaskbarUIController extends TaskbarUIController { mHomeState.removeListener(mVisibilityChangeListener); } /** Returns {@code true} if launcher is currently presenting the home screen. */ public boolean isOnHome() { return mTaskbarLauncherStateController.isOnHome(); } private void onInAppDisplayProgressChanged() { if (mControllers != null) { // Update our shared state so we can restore it if taskbar gets recreated. Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarInsetsController.kt +22 −19 Original line number Diff line number Diff line Loading @@ -136,14 +136,8 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas val taskbarTouchableHeight = controllers.taskbarStashController.touchableHeight val bubblesTouchableHeight = bubbleControllers?.bubbleStashController?.getTouchableHeight() ?: 0 // add bounds for task bar and bubble bar stash controllers val touchableHeight = max(taskbarTouchableHeight, bubblesTouchableHeight) defaultTouchableRegion.set( 0, windowLayoutParams.height - touchableHeight, context.deviceProfile.widthPx, windowLayoutParams.height ) // reset touch bounds defaultTouchableRegion.setEmpty() if (bubbleControllers != null) { val bubbleBarViewController = bubbleControllers.bubbleBarViewController val isBubbleBarVisible = bubbleControllers.bubbleStashController.isBubbleBarVisible() Loading @@ -153,6 +147,15 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas defaultTouchableRegion.addBoundsToRegion(bubbleBarViewController.bubbleBarBounds) } } val taskbarUIController = controllers.uiController as? LauncherTaskbarUIController if (taskbarUIController?.isOnHome != true) { // only add the bars touch region if not on home val touchableHeight = max(taskbarTouchableHeight, bubblesTouchableHeight) val bottom = windowLayoutParams.height val top = bottom - touchableHeight val right = context.deviceProfile.widthPx defaultTouchableRegion.addBoundsToRegion(Rect(/* left= */ 0, top, right, bottom)) } // Pre-calculate insets for different providers across different rotations for this gravity for (rotation in Surface.ROTATION_0..Surface.ROTATION_270) { Loading Loading @@ -221,20 +224,20 @@ class TaskbarInsetsController(val context: TaskbarActivityContext) : LoggableTas provider.insetsSize = getInsetsForGravityWithCutout(contentHeight, gravity, endRotation) } else if (provider.type == mandatorySystemGestures()) { if (context.isThreeButtonNav) { provider.insetsSize = getInsetsForGravityWithCutout(contentHeight, gravity, endRotation) provider.insetsSize = getInsetsForGravityWithCutout(contentHeight, gravity, endRotation) } else { val gestureHeight = ResourceUtils.getNavbarSize( ResourceUtils.NAVBAR_BOTTOM_GESTURE_SIZE, context.resources) val isPinnedTaskbar = context.deviceProfile.isTaskbarPresent && !context.deviceProfile.isTransientTaskbar val mandatoryGestureHeight = if (isPinnedTaskbar) contentHeight else gestureHeight provider.insetsSize = getInsetsForGravityWithCutout(mandatoryGestureHeight, gravity, endRotation) context.resources ) val isPinnedTaskbar = context.deviceProfile.isTaskbarPresent && !context.deviceProfile.isTransientTaskbar val mandatoryGestureHeight = if (isPinnedTaskbar) contentHeight else gestureHeight provider.insetsSize = getInsetsForGravityWithCutout(mandatoryGestureHeight, gravity, endRotation) } } else if (provider.type == tappableElement()) { provider.insetsSize = getInsetsForGravity(tappableHeight, gravity) Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarLauncherStateController.java +6 −2 Original line number Diff line number Diff line Loading @@ -433,6 +433,11 @@ public class TaskbarLauncherStateController { return animator; } /** Returns {@code true} if launcher is currently presenting the home screen. */ public boolean isOnHome() { return isInLauncher() && mLauncherState == LauncherState.NORMAL; } private Animator onStateChangeApplied(int changedFlags, long duration, boolean start) { final boolean isInLauncher = isInLauncher(); final boolean isIconAlignedWithHotseat = isIconAlignedWithHotseat(); Loading @@ -445,9 +450,8 @@ public class TaskbarLauncherStateController { } mControllers.bubbleControllers.ifPresent(controllers -> { // Show the bubble bar when on launcher home or in overview. boolean onHome = isInLauncher && mLauncherState == LauncherState.NORMAL; boolean onOverview = mLauncherState == LauncherState.OVERVIEW; controllers.bubbleStashController.setBubblesShowingOnHome(onHome); controllers.bubbleStashController.setBubblesShowingOnHome(isOnHome()); controllers.bubbleStashController.setBubblesShowingOnOverview(onOverview); }); Loading
quickstep/tests/src/com/android/quickstep/TaplTestsPersistentTaskbar.java +3 −6 Original line number Diff line number Diff line Loading @@ -15,18 +15,15 @@ */ package com.android.quickstep; import static com.android.quickstep.TaskbarModeSwitchRule.Mode.PERSISTENT; import android.graphics.Rect; import androidx.test.filters.LargeTest; import androidx.test.runner.AndroidJUnit4; import com.android.launcher3.ui.PortraitLandscapeRunner.PortraitLandscape; import com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch; import com.android.quickstep.TaskbarModeSwitchRule.TaskbarModeSwitch; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -34,9 +31,9 @@ import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) public class TaplTestsPersistentTaskbar extends AbstractTaplTestsTaskbar { //TODO(b/359277238): fix falling tests @Ignore @Test @TaskbarModeSwitch(mode = PERSISTENT) @PortraitLandscape @NavigationModeSwitch public void testTaskbarFillsWidth() { // Width check is performed inside TAPL whenever getTaskbar() is called. Loading
quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java +2 −0 Original line number Diff line number Diff line Loading @@ -521,6 +521,8 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest { isInState(() -> LauncherState.NORMAL)); } //TODO(b/359277238): fix falling tests @Ignore @Test @PortraitLandscape @TaskbarModeSwitch Loading