Merge "Use desktop mode autostashing on desktop devices" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
bee486a7da
@@ -83,7 +83,7 @@ constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
|
||||
resources.getDimension(R.dimen.taskbar_pinning_popup_menu_min_padding_from_screen_edge)
|
||||
|
||||
private var alwaysShowTaskbarOn =
|
||||
if (taskbarActivityContext.isInDesktopMode) {
|
||||
if (taskbarActivityContext.isTaskbarShowingDesktopTasks) {
|
||||
LauncherPrefs.TASKBAR_PINNING_IN_DESKTOP_MODE.get(context)
|
||||
} else {
|
||||
!taskbarActivityContext.isTransientTaskbar
|
||||
|
||||
@@ -60,7 +60,7 @@ class TaskbarPinningController(private val context: TaskbarActivityContext) :
|
||||
}
|
||||
|
||||
if (
|
||||
controllers.taskbarDesktopModeController.isInDesktopModeAndNotInOverview(
|
||||
controllers.taskbarDesktopModeController.shouldShowDesktopTasksInTaskbar(
|
||||
context.displayId
|
||||
)
|
||||
) {
|
||||
|
||||
@@ -653,11 +653,13 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
|
||||
* @return if we should allow taskbar to auto stash
|
||||
*/
|
||||
public boolean shouldAllowTaskbarToAutoStash() {
|
||||
boolean isTransientTaskbar = mActivity.isTransientTaskbar();
|
||||
boolean isInDesktop = mActivity.isInDesktopMode();
|
||||
if (mActivity.isTransientTaskbar()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
boolean isTaskbarPinningOnInDesktopMode = LauncherPrefs.TASKBAR_PINNING_IN_DESKTOP_MODE.get(
|
||||
mActivity);
|
||||
return isTransientTaskbar || (isInDesktop && !isTaskbarPinningOnInDesktopMode);
|
||||
return !isTaskbarPinningOnInDesktopMode && mActivity.isTaskbarShowingDesktopTasks();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -688,7 +690,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
|
||||
}
|
||||
if (mActivity.isTransientTaskbar()) {
|
||||
updateAndAnimateTransientTaskbar(!hasAnyFlag(FLAG_STASHED_IN_APP_AUTO));
|
||||
} else if (mActivity.isInDesktopMode()) {
|
||||
} else if (mActivity.isTaskbarShowingDesktopTasks()) {
|
||||
updateAndAnimatePinnedTaskbar(!hasAnyFlag(FLAG_STASHED_IN_APP_AUTO));
|
||||
}
|
||||
}
|
||||
|
||||
+17
@@ -412,6 +412,23 @@ class TaskbarStashControllerTest {
|
||||
assertThat(stashController.timeoutAlarm.alarmPending()).isFalse()
|
||||
}
|
||||
|
||||
@Test
|
||||
@TaskbarMode(TRANSIENT)
|
||||
fun shouldAllowTaskbarToAutoStash_transientTaskbar() {
|
||||
assertThat(stashController.shouldAllowTaskbarToAutoStash()).isTrue()
|
||||
}
|
||||
|
||||
@Test
|
||||
@TaskbarMode(PINNED)
|
||||
fun toggleTaskbarStash_autoStashedDesktopModeTaskbar() {
|
||||
LauncherPrefs.get(context).put(TASKBAR_PINNING_IN_DESKTOP_MODE, false)
|
||||
whenever(desktopVisibilityController.isInDesktopMode(context.displayId)).thenReturn(true)
|
||||
|
||||
getInstrumentation().runOnMainSync { stashController.toggleTaskbarStash() }
|
||||
|
||||
assertThat(stashController.isStashed).isTrue()
|
||||
}
|
||||
|
||||
@Test
|
||||
@TaskbarMode(TRANSIENT)
|
||||
fun testUpdateAndAnimateTransientTaskbar_finishTaskbarTimeout_taskbarStashes() {
|
||||
|
||||
+13
@@ -76,6 +76,19 @@ class TaskbarPinningControllerTest : TaskbarBaseTestCase() {
|
||||
)
|
||||
)
|
||||
.thenAnswer { _ -> isInDesktopMode }
|
||||
whenever(
|
||||
taskbarControllers.taskbarDesktopModeController.isInDesktopMode(
|
||||
taskbarActivityContext.displayId
|
||||
)
|
||||
)
|
||||
.thenAnswer { _ -> isInDesktopMode }
|
||||
whenever(
|
||||
taskbarControllers.taskbarDesktopModeController.shouldShowDesktopTasksInTaskbar(
|
||||
taskbarActivityContext.displayId
|
||||
)
|
||||
)
|
||||
.thenAnswer { _ -> isInDesktopMode }
|
||||
|
||||
pinningController = spy(TaskbarPinningController(taskbarActivityContext))
|
||||
pinningController.init(taskbarControllers, taskbarSharedState)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user