Map META+T shortcut to toggling task bar

Bug: 246660615
Test: N/A
Change-Id: I5327afc388861732fd02c66e6c0ed249b7d46441
This commit is contained in:
Tracy Zhou
2023-02-22 08:50:50 +00:00
parent 3a9b6fc086
commit fee2ea9c94
7 changed files with 59 additions and 0 deletions

View File

@@ -56,6 +56,7 @@ oneway interface IStatusBar
void showRecentApps(boolean triggeredFromAltTab);
void hideRecentApps(boolean triggeredFromAltTab, boolean triggeredFromHomeKey);
void toggleRecentApps();
void toggleTaskbar();
void toggleSplitScreen();
void preloadRecentApps();
void cancelPreloadRecentApps();

View File

@@ -104,4 +104,9 @@ oneway interface IOverviewProxy {
* Sent when the surface for navigation bar is created or changed
*/
void onNavigationBarSurface(in SurfaceControl surface) = 26;
/**
* Sent when the task bar stash state is toggled.
*/
void onTaskbarToggled() = 27;
}

View File

@@ -431,6 +431,19 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
}
}
@Override
public void toggleTaskbar() {
if (mOverviewProxyService.getProxy() == null) {
return;
}
try {
mOverviewProxyService.getProxy().onTaskbarToggled();
} catch (RemoteException e) {
Log.e(TAG, "onTaskbarToggled() failed", e);
}
}
private void clearTransient() {
if (mTaskbarTransientShowing) {
mTaskbarTransientShowing = false;

View File

@@ -168,6 +168,7 @@ public class CommandQueue extends IStatusBar.Stub implements
private static final int MSG_GO_TO_FULLSCREEN_FROM_SPLIT = 70 << MSG_SHIFT;
private static final int MSG_ENTER_STAGE_SPLIT_FROM_RUNNING_APP = 71 << MSG_SHIFT;
private static final int MSG_SHOW_MEDIA_OUTPUT_SWITCHER = 72 << MSG_SHIFT;
private static final int MSG_TOGGLE_TASKBAR = 73 << MSG_SHIFT;
public static final int FLAG_EXCLUDE_NONE = 0;
public static final int FLAG_EXCLUDE_SEARCH_PANEL = 1 << 0;
@@ -229,6 +230,7 @@ public class CommandQueue extends IStatusBar.Stub implements
@BackDispositionMode int backDisposition, boolean showImeSwitcher) { }
default void showRecentApps(boolean triggeredFromAltTab) { }
default void hideRecentApps(boolean triggeredFromAltTab, boolean triggeredFromHomeKey) { }
default void toggleTaskbar() { }
default void toggleRecentApps() { }
default void toggleSplitScreen() { }
default void preloadRecentApps() { }
@@ -715,6 +717,13 @@ public class CommandQueue extends IStatusBar.Stub implements
}
}
public void toggleTaskbar() {
synchronized (mLock) {
mHandler.removeMessages(MSG_TOGGLE_TASKBAR);
mHandler.obtainMessage(MSG_TOGGLE_TASKBAR, 0, 0, null).sendToTarget();
}
}
public void toggleRecentApps() {
synchronized (mLock) {
mHandler.removeMessages(MSG_TOGGLE_RECENT_APPS);
@@ -1416,6 +1425,11 @@ public class CommandQueue extends IStatusBar.Stub implements
mCallbacks.get(i).hideRecentApps(msg.arg1 != 0, msg.arg2 != 0);
}
break;
case MSG_TOGGLE_TASKBAR:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).toggleTaskbar();
}
break;
case MSG_TOGGLE_RECENT_APPS:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).toggleRecentApps();

View File

@@ -2989,6 +2989,12 @@ public class PhoneWindowManager implements WindowManagerPolicy {
return key_consumed;
}
break;
case KeyEvent.KEYCODE_T:
if (down && event.isMetaPressed()) {
toggleTaskbar();
return key_consumed;
}
break;
case KeyEvent.KEYCODE_DPAD_UP:
if (down && event.isMetaPressed() && event.isCtrlPressed() && repeatCount == 0) {
StatusBarManagerInternal statusbar = getStatusBarManagerInternal();
@@ -3660,6 +3666,13 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
}
private void toggleTaskbar() {
StatusBarManagerInternal statusbar = getStatusBarManagerInternal();
if (statusbar != null) {
statusbar.toggleTaskbar();
}
}
private void toggleRecentApps() {
mPreloadedRecentApps = false; // preloading no longer needs to be canceled
StatusBarManagerInternal statusbar = getStatusBarManagerInternal();

View File

@@ -122,6 +122,10 @@ public interface StatusBarManagerInternal {
*/
void onEmergencyActionLaunchGestureDetected();
/** Toggle the task bar stash state. */
void toggleTaskbar();
/** Toggle recents. */
void toggleRecentApps();
void setCurrentUser(int newUserId);

View File

@@ -417,6 +417,15 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D
}
}
@Override
public void toggleTaskbar() {
if (mBar != null) {
try {
mBar.toggleTaskbar();
} catch (RemoteException ex) {}
}
}
@Override
public void toggleRecentApps() {
if (mBar != null) {