diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index a219ac6324..5178968b4a 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -38,6 +38,7 @@ import com.android.launcher3.LauncherState; import com.android.launcher3.QuickstepTransitionManager; import com.android.launcher3.R; import com.android.launcher3.Utilities; +import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.logging.InstanceId; import com.android.launcher3.logging.InstanceIdSequence; import com.android.launcher3.model.data.ItemInfo; @@ -116,7 +117,8 @@ public class LauncherTaskbarUIController extends TaskbarUIController { @Override protected boolean isTaskbarTouchable() { - return !mTaskbarLauncherStateController.isAnimatingToLauncher(); + return !(mTaskbarLauncherStateController.isAnimatingToLauncher() + && mTaskbarLauncherStateController.goingToAlignedLauncherState()); } public void setShouldDelayLauncherStateAnim(boolean shouldDelayLauncherStateAnim) { @@ -291,9 +293,14 @@ public class LauncherTaskbarUIController extends TaskbarUIController { @Override public void setSystemGestureInProgress(boolean inProgress) { super.setSystemGestureInProgress(inProgress); - // Launcher's ScrimView will draw the background throughout the gesture. But once the - // gesture ends, start drawing taskbar's background again since launcher might stop drawing. - forceHideBackground(inProgress); + // TODO(b/250645563): Don't show round corners when leaving in-app state, and remove + // forceHideBackground call entirely. + if (!FeatureFlags.ENABLE_TASKBAR_IN_OVERVIEW.get()) { + // Launcher's ScrimView will draw the background throughout the gesture. But once the + // gesture ends, start drawing taskbar's background again since launcher might stop + // drawing. + forceHideBackground(inProgress); + } } /** diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java index 6f07568cf5..d075750330 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java +++ b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java @@ -26,6 +26,7 @@ import com.android.launcher3.DeviceProfile; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherState; import com.android.launcher3.R; +import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.Themes; import com.android.quickstep.util.LayoutUtils; @@ -104,7 +105,12 @@ public class OverviewState extends LauncherState { @Override public boolean isTaskbarStashed(Launcher launcher) { - return true; + return !FeatureFlags.ENABLE_TASKBAR_IN_OVERVIEW.get(); + } + + @Override + public boolean isTaskbarAlignedWithHotseat(Launcher launcher) { + return !FeatureFlags.ENABLE_TASKBAR_IN_OVERVIEW.get(); } @Override diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index 4cad919c3b..9a1bba97ce 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -43,6 +43,7 @@ import androidx.annotation.Nullable; import com.android.launcher3.CellLayout.ContainerType; import com.android.launcher3.DevicePaddings.DevicePadding; +import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.icons.DotRenderer; import com.android.launcher3.icons.IconNormalizer; import com.android.launcher3.model.data.ItemInfo; @@ -1276,7 +1277,10 @@ public class DeviceProfile { return ((taskbarSize - overviewActionsHeight) / 2) + getTaskbarOffsetY(); } - return isTaskbarPresent ? stashedTaskbarSize : mInsets.bottom; + if (isTaskbarPresent) { + return FeatureFlags.ENABLE_TASKBAR_IN_OVERVIEW.get() ? taskbarSize : stashedTaskbarSize; + } + return mInsets.bottom; } /** Gets the space that the overview actions will take, including bottom margin. */ diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java index 6eeabc5ecd..a2d9dd400c 100644 --- a/src/com/android/launcher3/config/FeatureFlags.java +++ b/src/com/android/launcher3/config/FeatureFlags.java @@ -235,6 +235,10 @@ public final class FeatureFlags { "ENABLE_ALL_APPS_ONE_SEARCH_IN_TASKBAR", false, "Enables One Search box in Taskbar All Apps."); + public static final BooleanFlag ENABLE_TASKBAR_IN_OVERVIEW = getDebugFlag( + "ENABLE_TASKBAR_IN_OVERVIEW", false, + "Enables accessing the system Taskbar in overview."); + public static final BooleanFlag ENABLE_SPLIT_FROM_WORKSPACE = getDebugFlag( "ENABLE_SPLIT_FROM_WORKSPACE", true, "Enable initiating split screen from workspace.");