in com/android/systemui/statusbar/CommandQueue.java [559:801]
public void handleMessage(Message msg) {
final int what = msg.what & MSG_MASK;
switch (what) {
case MSG_ICON: {
switch (msg.arg1) {
case OP_SET_ICON: {
Pair<String, StatusBarIcon> p = (Pair<String, StatusBarIcon>) msg.obj;
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).setIcon(p.first, p.second);
}
break;
}
case OP_REMOVE_ICON:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).removeIcon((String) msg.obj);
}
break;
}
break;
}
case MSG_DISABLE:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).disable(msg.arg1, msg.arg2, (Boolean) msg.obj);
}
break;
case MSG_EXPAND_NOTIFICATIONS:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).animateExpandNotificationsPanel();
}
break;
case MSG_COLLAPSE_PANELS:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).animateCollapsePanels(msg.arg1);
}
break;
case MSG_TOGGLE_PANEL:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).togglePanel();
}
break;
case MSG_EXPAND_SETTINGS:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).animateExpandSettingsPanel((String) msg.obj);
}
break;
case MSG_SET_SYSTEMUI_VISIBILITY:
SomeArgs args = (SomeArgs) msg.obj;
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).setSystemUiVisibility(args.argi1, args.argi2, args.argi3,
args.argi4, (Rect) args.arg1, (Rect) args.arg2);
}
args.recycle();
break;
case MSG_TOP_APP_WINDOW_CHANGED:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).topAppWindowChanged(msg.arg1 != 0);
}
break;
case MSG_SHOW_IME_BUTTON:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).setImeWindowStatus((IBinder) msg.obj, msg.arg1, msg.arg2,
msg.getData().getBoolean(SHOW_IME_SWITCHER_KEY, false));
}
break;
case MSG_SHOW_RECENT_APPS:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).showRecentApps(msg.arg1 != 0);
}
break;
case MSG_HIDE_RECENT_APPS:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).hideRecentApps(msg.arg1 != 0, msg.arg2 != 0);
}
break;
case MSG_TOGGLE_RECENT_APPS:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).toggleRecentApps();
}
break;
case MSG_PRELOAD_RECENT_APPS:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).preloadRecentApps();
}
break;
case MSG_CANCEL_PRELOAD_RECENT_APPS:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).cancelPreloadRecentApps();
}
break;
case MSG_DISMISS_KEYBOARD_SHORTCUTS:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).dismissKeyboardShortcutsMenu();
}
break;
case MSG_TOGGLE_KEYBOARD_SHORTCUTS:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).toggleKeyboardShortcutsMenu(msg.arg1);
}
break;
case MSG_SET_WINDOW_STATE:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).setWindowState(msg.arg1, msg.arg2);
}
break;
case MSG_SHOW_SCREEN_PIN_REQUEST:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).showScreenPinningRequest(msg.arg1);
}
break;
case MSG_APP_TRANSITION_PENDING:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).appTransitionPending(msg.arg1 != 0);
}
break;
case MSG_APP_TRANSITION_CANCELLED:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).appTransitionCancelled();
}
break;
case MSG_APP_TRANSITION_STARTING:
for (int i = 0; i < mCallbacks.size(); i++) {
Pair<Long, Long> data = (Pair<Long, Long>) msg.obj;
mCallbacks.get(i).appTransitionStarting(data.first, data.second,
msg.arg1 != 0);
}
break;
case MSG_APP_TRANSITION_FINISHED:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).appTransitionFinished();
}
break;
case MSG_ASSIST_DISCLOSURE:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).showAssistDisclosure();
}
break;
case MSG_START_ASSIST:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).startAssist((Bundle) msg.obj);
}
break;
case MSG_CAMERA_LAUNCH_GESTURE:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).onCameraLaunchGestureDetected(msg.arg1);
}
break;
case MSG_SHOW_PICTURE_IN_PICTURE_MENU:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).showPictureInPictureMenu();
}
break;
case MSG_ADD_QS_TILE:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).addQsTile((ComponentName) msg.obj);
}
break;
case MSG_REMOVE_QS_TILE:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).remQsTile((ComponentName) msg.obj);
}
break;
case MSG_CLICK_QS_TILE:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).clickTile((ComponentName) msg.obj);
}
break;
case MSG_TOGGLE_APP_SPLIT_SCREEN:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).toggleSplitScreen();
}
break;
case MSG_HANDLE_SYSTEM_KEY:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).handleSystemKey(msg.arg1);
}
break;
case MSG_SHOW_GLOBAL_ACTIONS:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).handleShowGlobalActionsMenu();
}
break;
case MSG_SHOW_SHUTDOWN_UI:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).handleShowShutdownUi(msg.arg1 != 0, (String) msg.obj);
}
break;
case MSG_SET_TOP_APP_HIDES_STATUS_BAR:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).setTopAppHidesStatusBar(msg.arg1 != 0);
}
break;
case MSG_ROTATION_PROPOSAL:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).onRotationProposal(msg.arg1, msg.arg2 != 0);
}
break;
case MSG_FINGERPRINT_SHOW:
mHandler.removeMessages(MSG_FINGERPRINT_ERROR);
mHandler.removeMessages(MSG_FINGERPRINT_HELP);
mHandler.removeMessages(MSG_FINGERPRINT_AUTHENTICATED);
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).showFingerprintDialog(
(Bundle)((SomeArgs)msg.obj).arg1,
(IBiometricPromptReceiver)((SomeArgs)msg.obj).arg2);
}
break;
case MSG_FINGERPRINT_AUTHENTICATED:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).onFingerprintAuthenticated();
}
break;
case MSG_FINGERPRINT_HELP:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).onFingerprintHelp((String) msg.obj);
}
break;
case MSG_FINGERPRINT_ERROR:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).onFingerprintError((String) msg.obj);
}
break;
case MSG_FINGERPRINT_HIDE:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).hideFingerprintDialog();
}
break;
case MSG_SHOW_CHARGING_ANIMATION:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).showWirelessChargingAnimation(msg.arg1);
}
break;
case MSG_SHOW_PINNING_TOAST_ENTER_EXIT:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).showPinningEnterExitToast((Boolean) msg.obj);
}
break;
case MSG_SHOW_PINNING_TOAST_ESCAPE:
for (int i = 0; i < mCallbacks.size(); i++) {
mCallbacks.get(i).showPinningEscapeToast();
}
break;
}
}