Merge "Taskbar in overview" into tm-qpr-dev am: 5e47e78a17

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/19866366

Change-Id: I4be28fef85efc59f4f2cd3f183f29b684d5be649
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Alex Chau
2022-10-05 09:41:08 +00:00
committed by Automerger Merge Worker
4 changed files with 27 additions and 6 deletions

View File

@@ -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);
}
}
/**

View File

@@ -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

View File

@@ -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. */

View File

@@ -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.");