Merge "Switch taskbar overflow flag to lse_desktop_experience" into main
This commit is contained in:
@@ -383,13 +383,6 @@ flag {
|
||||
bug: "345760034"
|
||||
}
|
||||
|
||||
flag {
|
||||
name: "taskbar_overflow"
|
||||
namespace: "launcher"
|
||||
description: "Show recent apps in the taskbar overflow."
|
||||
bug: "368119679"
|
||||
}
|
||||
|
||||
flag {
|
||||
name: "enable_recents_window_proto_log"
|
||||
namespace: "lse_desktop_experience"
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
*/
|
||||
package com.android.launcher3.taskbar;
|
||||
|
||||
import static android.window.DesktopModeFlags.ENABLE_TASKBAR_OVERFLOW;
|
||||
|
||||
import static com.android.launcher3.taskbar.TaskbarDesktopExperienceFlags.enableAltTabKqsFlatenning;
|
||||
import static com.android.launcher3.taskbar.TaskbarDesktopExperienceFlags.enableAltTabKqsOnConnectedDisplays;
|
||||
|
||||
@@ -27,7 +29,6 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.launcher3.Flags;
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.taskbar.overlay.TaskbarOverlayContext;
|
||||
import com.android.launcher3.taskbar.overlay.TaskbarOverlayDragLayer;
|
||||
@@ -187,7 +188,7 @@ public final class KeyboardQuickSwitchController implements
|
||||
}
|
||||
|
||||
mOverlayContext = mControllers.taskbarOverlayController.requestWindow();
|
||||
if (Flags.taskbarOverflow()) {
|
||||
if (ENABLE_TASKBAR_OVERFLOW.isTrue()) {
|
||||
mOverlayContext.getDragLayer().addTouchController(this);
|
||||
}
|
||||
KeyboardQuickSwitchView keyboardQuickSwitchView =
|
||||
@@ -239,8 +240,8 @@ public final class KeyboardQuickSwitchController implements
|
||||
}
|
||||
|
||||
private boolean shouldExcludeTask(GroupTask task, Set<Integer> taskIdsToExclude) {
|
||||
return Flags.taskbarOverflow() && task.getTasks().stream().anyMatch(
|
||||
t -> taskIdsToExclude.contains(t.key.id));
|
||||
return ENABLE_TASKBAR_OVERFLOW.isTrue()
|
||||
&& task.getTasks().stream().anyMatch(t -> taskIdsToExclude.contains(t.key.id));
|
||||
}
|
||||
|
||||
private void processLoadedTasks(List<GroupTask> tasks, Set<Integer> taskIdsToExclude) {
|
||||
@@ -376,7 +377,7 @@ public final class KeyboardQuickSwitchController implements
|
||||
public boolean onControllerInterceptTouchEvent(MotionEvent ev) {
|
||||
if (mQuickSwitchViewController == null
|
||||
|| mOverlayContext == null
|
||||
|| !Flags.taskbarOverflow()) {
|
||||
|| !ENABLE_TASKBAR_OVERFLOW.isTrue()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -472,7 +473,7 @@ public final class KeyboardQuickSwitchController implements
|
||||
}
|
||||
|
||||
void onCloseComplete() {
|
||||
if (Flags.taskbarOverflow() && mOverlayContext != null) {
|
||||
if (ENABLE_TASKBAR_OVERFLOW.isTrue() && mOverlayContext != null) {
|
||||
mOverlayContext.getDragLayer()
|
||||
.removeTouchController(KeyboardQuickSwitchController.this);
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
*/
|
||||
package com.android.launcher3.taskbar;
|
||||
|
||||
import static android.window.DesktopModeFlags.ENABLE_TASKBAR_OVERFLOW;
|
||||
|
||||
import static com.android.launcher3.desktop.DesktopAppLaunchTransition.AppLaunchType.UNMINIMIZE;
|
||||
import static com.android.launcher3.taskbar.TaskbarDesktopExperienceFlags.enableAltTabKqsFlatenning;
|
||||
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
|
||||
@@ -35,7 +37,6 @@ import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.internal.jank.Cuj;
|
||||
import com.android.launcher3.DeviceProfile;
|
||||
import com.android.launcher3.Flags;
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.Utilities;
|
||||
import com.android.launcher3.anim.AnimatorListeners;
|
||||
@@ -124,7 +125,7 @@ public class KeyboardQuickSwitchViewController {
|
||||
mWasDesktopTaskFilteredOut = wasDesktopTaskFilteredOut;
|
||||
mWasOpenedFromTaskbar = wasOpenedFromTaskbar;
|
||||
|
||||
if (Flags.taskbarOverflow() && wasOpenedFromTaskbar) {
|
||||
if (ENABLE_TASKBAR_OVERFLOW.isTrue() && wasOpenedFromTaskbar) {
|
||||
mKeyboardQuickSwitchView.enableScrollArrowSupport();
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
package com.android.launcher3.taskbar;
|
||||
|
||||
import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED;
|
||||
import static android.window.DesktopModeFlags.ENABLE_TASKBAR_OVERFLOW;
|
||||
import static android.window.DesktopModeFlags.ENABLE_TASKBAR_RECENTS_LAYOUT_TRANSITION;
|
||||
|
||||
import static com.android.launcher3.BubbleTextView.DISPLAY_TASKBAR;
|
||||
@@ -193,7 +194,7 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar
|
||||
mTaskbarDividerContainer = new TaskbarDividerContainer(context);
|
||||
}
|
||||
|
||||
if (Flags.taskbarOverflow()) {
|
||||
if (ENABLE_TASKBAR_OVERFLOW.isTrue()) {
|
||||
mTaskbarOverflowView = TaskbarOverflowView.inflateIcon(
|
||||
R.layout.taskbar_overflow_view, this,
|
||||
mIconTouchSize, mItemPadding);
|
||||
@@ -261,7 +262,7 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar
|
||||
* that should be shown in the taskbar.
|
||||
*/
|
||||
boolean updateMaxNumIcons() {
|
||||
if (!Flags.taskbarOverflow()) {
|
||||
if (!ENABLE_TASKBAR_OVERFLOW.isTrue()) {
|
||||
return false;
|
||||
}
|
||||
int oldMaxNumIcons = mMaxNumIcons;
|
||||
@@ -359,7 +360,7 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar
|
||||
mControllerCallbacks.getOverflowOnLongClickListener());
|
||||
}
|
||||
|
||||
if (Flags.taskbarOverflow()) {
|
||||
if (ENABLE_TASKBAR_OVERFLOW.isTrue()) {
|
||||
mMaxNumIcons = calculateMaxNumIcons();
|
||||
}
|
||||
}
|
||||
@@ -617,7 +618,7 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar
|
||||
}
|
||||
|
||||
private void updateRecents(List<GroupTask> recentTasks, int hotseatSize) {
|
||||
boolean supportsOverflow = Flags.taskbarOverflow() && recentTasks.size() > 1;
|
||||
boolean supportsOverflow = ENABLE_TASKBAR_OVERFLOW.isTrue() && recentTasks.size() > 1;
|
||||
int overflowSize = 0;
|
||||
boolean hasOverflow = false;
|
||||
if (supportsOverflow && mTaskbarOverflowView != null) {
|
||||
|
||||
@@ -20,13 +20,13 @@ import static android.animation.LayoutTransition.CHANGE_APPEARING;
|
||||
import static android.animation.LayoutTransition.CHANGE_DISAPPEARING;
|
||||
import static android.animation.LayoutTransition.DISAPPEARING;
|
||||
import static android.view.Display.DEFAULT_DISPLAY;
|
||||
import static android.window.DesktopModeFlags.ENABLE_TASKBAR_OVERFLOW;
|
||||
import static android.window.DesktopModeFlags.ENABLE_TASKBAR_RECENTS_LAYOUT_TRANSITION;
|
||||
|
||||
import static com.android.app.animation.Interpolators.EMPHASIZED;
|
||||
import static com.android.app.animation.Interpolators.FINAL_FRAME;
|
||||
import static com.android.app.animation.Interpolators.LINEAR;
|
||||
import static com.android.launcher3.Flags.enableScalingRevealHomeAnimation;
|
||||
import static com.android.launcher3.Flags.taskbarOverflow;
|
||||
import static com.android.launcher3.LauncherAnimUtils.SCALE_PROPERTY;
|
||||
import static com.android.launcher3.LauncherAnimUtils.VIEW_ALPHA;
|
||||
import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_X;
|
||||
@@ -782,7 +782,7 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar
|
||||
* @return A set of Task ids of running apps that are pinned in the taskbar.
|
||||
*/
|
||||
protected Set<Integer> getTaskIdsForPinnedApps() {
|
||||
if (!taskbarOverflow()) {
|
||||
if (!ENABLE_TASKBAR_OVERFLOW.isTrue()) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.launcher3.taskbar.overlay;
|
||||
import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
|
||||
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_CONSUME_IME_INSETS;
|
||||
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
|
||||
import static android.window.DesktopModeFlags.ENABLE_TASKBAR_OVERFLOW;
|
||||
|
||||
import static com.android.launcher3.AbstractFloatingView.TYPE_ALL;
|
||||
import static com.android.launcher3.AbstractFloatingView.TYPE_REBIND_SAFE;
|
||||
@@ -315,7 +316,7 @@ public final class TaskbarOverlayController {
|
||||
@Override
|
||||
protected void handleClose(boolean animate) {
|
||||
if (!mIsOpen) return;
|
||||
if (Flags.taskbarOverflow()) {
|
||||
if (ENABLE_TASKBAR_OVERFLOW.isTrue()) {
|
||||
// Mark the view closed before attempting to remove it, so the drag layer does not
|
||||
// schedule another call to close. Needed for taskbar overflow in case the KQS
|
||||
// view shown for taskbar overflow needs to be reshown - delayed close call would
|
||||
|
||||
+2
-2
@@ -27,7 +27,6 @@ import androidx.test.core.app.ApplicationProvider
|
||||
import com.android.launcher3.BubbleTextView
|
||||
import com.android.launcher3.Flags.FLAG_ENABLE_ALT_TAB_KQS_FLATENNING
|
||||
import com.android.launcher3.Flags.FLAG_ENABLE_MULTI_INSTANCE_MENU_TASKBAR
|
||||
import com.android.launcher3.Flags.FLAG_TASKBAR_OVERFLOW
|
||||
import com.android.launcher3.R
|
||||
import com.android.launcher3.dagger.LauncherAppSingleton
|
||||
import com.android.launcher3.dagger.LauncherComponentProvider.appComponent
|
||||
@@ -73,6 +72,7 @@ import com.android.systemui.shared.recents.model.Task
|
||||
import com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE
|
||||
import com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS
|
||||
import com.android.window.flags.Flags.FLAG_ENABLE_PINNING_APP_WITH_CONTEXT_MENU
|
||||
import com.android.window.flags.Flags.FLAG_ENABLE_TASKBAR_OVERFLOW
|
||||
import com.android.wm.shell.Flags.FLAG_ENABLE_BUBBLE_BAR
|
||||
import com.android.wm.shell.desktopmode.IDesktopTaskListener
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
@@ -91,10 +91,10 @@ import org.mockito.kotlin.whenever
|
||||
@RunWith(LauncherMultivalentJUnit::class)
|
||||
@EmulatedDevices(["pixelTablet2023"])
|
||||
@EnableFlags(
|
||||
FLAG_TASKBAR_OVERFLOW,
|
||||
FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS,
|
||||
FLAG_ENABLE_DESKTOP_WINDOWING_MODE,
|
||||
FLAG_ENABLE_BUBBLE_BAR,
|
||||
FLAG_ENABLE_TASKBAR_OVERFLOW,
|
||||
)
|
||||
@DisableFlags(FLAG_ENABLE_MULTI_INSTANCE_MENU_TASKBAR)
|
||||
class TaskbarOverflowTest {
|
||||
|
||||
+2
-2
@@ -19,7 +19,6 @@ package com.android.launcher3.taskbar
|
||||
import android.platform.test.annotations.EnableFlags
|
||||
import android.platform.test.flag.junit.SetFlagsRule
|
||||
import android.view.View
|
||||
import com.android.launcher3.Flags.FLAG_TASKBAR_OVERFLOW
|
||||
import com.android.launcher3.R
|
||||
import com.android.launcher3.statehandlers.DesktopVisibilityController
|
||||
import com.android.launcher3.taskbar.TaskbarControllerTestUtil.runOnMainSync
|
||||
@@ -36,6 +35,7 @@ import com.android.launcher3.taskbar.rules.TaskbarUnitTestRule.ForceRtl
|
||||
import com.android.launcher3.taskbar.rules.TaskbarWindowSandboxContext
|
||||
import com.android.launcher3.util.LauncherMultivalentJUnit
|
||||
import com.android.launcher3.util.LauncherMultivalentJUnit.EmulatedDevices
|
||||
import com.android.window.flags.Flags.FLAG_ENABLE_TASKBAR_OVERFLOW
|
||||
import com.android.window.flags.Flags.FLAG_ENABLE_TASKBAR_RECENTS_LAYOUT_TRANSITION
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import org.junit.Before
|
||||
@@ -46,7 +46,7 @@ import org.mockito.kotlin.whenever
|
||||
|
||||
@RunWith(LauncherMultivalentJUnit::class)
|
||||
@EmulatedDevices(["pixelFoldable2023", "pixelTablet2023"])
|
||||
@EnableFlags(FLAG_ENABLE_TASKBAR_RECENTS_LAYOUT_TRANSITION, FLAG_TASKBAR_OVERFLOW)
|
||||
@EnableFlags(FLAG_ENABLE_TASKBAR_OVERFLOW, FLAG_ENABLE_TASKBAR_RECENTS_LAYOUT_TRANSITION)
|
||||
class TaskbarViewWithLayoutTransitionTest {
|
||||
|
||||
@get:Rule(order = 0) val setFlagsRule = SetFlagsRule()
|
||||
|
||||
Reference in New Issue
Block a user