Map META+T shortcut to toggling task bar
Bug: 246660615 Test: N/A Change-Id: I5327afc388861732fd02c66e6c0ed249b7d46441
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user