Merge "Add handling for toggling keyboard stashing from the keyboard" into udc-dev

This commit is contained in:
TreeHugger Robot
2023-05-15 22:57:14 +00:00
committed by Android (Google) Code Review
5 changed files with 28 additions and 12 deletions

View File

@@ -1000,11 +1000,16 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
mControllers.taskbarEduTooltipController.hide();
}
/** Returns {@code true} if taskbar All Apps is open. */
/** Returns {@code true} if Taskbar All Apps is open. */
public boolean isTaskbarAllAppsOpen() {
return mControllers.taskbarAllAppsController.isOpen();
}
/** Toggles the Taskbar's stash state. */
public void toggleTaskbarStash() {
mControllers.taskbarStashController.toggleTaskbarStash();
}
/**
* Called to start the taskbar translation spring to its settled translation (0).
*/

View File

@@ -474,8 +474,7 @@ public class TaskbarLauncherStateController {
public void onAnimationEnd(Animator animation) {
TaskbarStashController stashController =
mControllers.taskbarStashController;
stashController.updateAndAnimateTransientTaskbar(
/* stash */ true, /* duration */ 0);
stashController.updateAndAnimateTransientTaskbar(/* stash */ true);
}
});
} else {

View File

@@ -500,17 +500,10 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
return mStashedHeight;
}
/**
* Stash or unstashes the transient taskbar, using the default TASKBAR_STASH_DURATION.
*/
public void updateAndAnimateTransientTaskbar(boolean stash) {
updateAndAnimateTransientTaskbar(stash, TASKBAR_STASH_DURATION);
}
/**
* Stash or unstashes the transient taskbar.
*/
public void updateAndAnimateTransientTaskbar(boolean stash, long duration) {
public void updateAndAnimateTransientTaskbar(boolean stash) {
if (!DisplayController.isTransientTaskbar(mActivity)) {
return;
}
@@ -575,6 +568,12 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
return false;
}
/** Toggles the Taskbar's stash state. */
public void toggleTaskbarStash() {
if (!DisplayController.isTransientTaskbar(mActivity) || !hasAnyFlag(FLAGS_IN_APP)) return;
updateAndAnimateTransientTaskbar(!hasAnyFlag(FLAG_STASHED_IN_APP_AUTO));
}
/**
* Adds the Taskbar unstash to Hotseat animator to the animator set.
*

View File

@@ -84,6 +84,7 @@ import com.android.launcher3.LauncherPrefs;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.anim.AnimatedFloat;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.provider.RestoreDbTask;
import com.android.launcher3.statehandlers.DesktopVisibilityController;
import com.android.launcher3.statemanager.StatefulActivity;
@@ -206,7 +207,15 @@ public class TouchInteractionService extends Service
@BinderThread
@Override
public void onTaskbarToggled() {
// To be implemented.
if (!FeatureFlags.ENABLE_KEYBOARD_TASKBAR_TOGGLE.get()) return;
MAIN_EXECUTOR.execute(() -> {
TaskbarActivityContext activityContext =
mTaskbarManager.getCurrentActivityContext();
if (activityContext != null) {
activityContext.toggleTaskbarStash();
}
});
}
@BinderThread

View File

@@ -392,6 +392,10 @@ public final class FeatureFlags {
public static final BooleanFlag ENABLE_KEYBOARD_QUICK_SWITCH = getDebugFlag(270396844,
"ENABLE_KEYBOARD_QUICK_SWITCH", ENABLED, "Enables keyboard quick switching");
public static final BooleanFlag ENABLE_KEYBOARD_TASKBAR_TOGGLE = getDebugFlag(281726846,
"ENABLE_KEYBOARD_TASKBAR_TOGGLE", ENABLED,
"Enables keyboard taskbar stash toggling");
// TODO(Block 30): Clean up flags
public static final BooleanFlag USE_SEARCH_REQUEST_TIMEOUT_OVERRIDES = getDebugFlag(270395010,
"USE_SEARCH_REQUEST_TIMEOUT_OVERRIDES", DISABLED,