diff options
| author | Amith Yamasani <yamasani@google.com> | 2012-09-28 11:09:22 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-09-28 11:09:22 -0700 |
| commit | 01996793dd2a70acb0ae006960c23c31f0e39d5f (patch) | |
| tree | 8fa23b717039cde61f8c377849f6e56190034530 | |
| parent | 9dbbfcda81f251f23aded866f7f9d49d8a744c75 (diff) | |
| parent | bc4ba82335c091cebaaee8b20987a61fb54c1727 (diff) | |
| download | frameworks_base-01996793dd2a70acb0ae006960c23c31f0e39d5f.zip frameworks_base-01996793dd2a70acb0ae006960c23c31f0e39d5f.tar.gz frameworks_base-01996793dd2a70acb0ae006960c23c31f0e39d5f.tar.bz2 | |
Merge "Remove user switcher from long-press power menu" into jb-mr1-dev
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/GlobalActions.java | 61 | ||||
| -rw-r--r-- | services/java/com/android/server/am/ActivityManagerService.java | 1 |
2 files changed, 35 insertions, 27 deletions
diff --git a/policy/src/com/android/internal/policy/impl/GlobalActions.java b/policy/src/com/android/internal/policy/impl/GlobalActions.java index 0f9ad59..511cf05 100644 --- a/policy/src/com/android/internal/policy/impl/GlobalActions.java +++ b/policy/src/com/android/internal/policy/impl/GlobalActions.java @@ -286,6 +286,39 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac mItems.add(mSilentModeAction); } + // one more thing: optionally add a list of users to switch to + if (SystemProperties.getBoolean("fw.power_user_switcher", false)) { + addUsersToMenu(mItems); + } + + mAdapter = new MyAdapter(); + + AlertParams params = new AlertParams(mContext); + params.mAdapter = mAdapter; + params.mOnClickListener = this; + params.mForceInverseBackground = true; + + GlobalActionsDialog dialog = new GlobalActionsDialog(mContext, params); + dialog.setCanceledOnTouchOutside(false); // Handled by the custom class. + + dialog.getListView().setItemsCanFocus(true); + dialog.getListView().setLongClickable(true); + dialog.getListView().setOnItemLongClickListener( + new AdapterView.OnItemLongClickListener() { + @Override + public boolean onItemLongClick(AdapterView<?> parent, View view, int position, + long id) { + return mAdapter.getItem(position).onLongPress(); + } + }); + dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG); + + dialog.setOnDismissListener(this); + + return dialog; + } + + private void addUsersToMenu(ArrayList<Action> items) { List<UserInfo> users = ((UserManager) mContext.getSystemService(Context.USER_SERVICE)) .getUsers(); if (users.size() > 1) { @@ -320,35 +353,9 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfac return false; } }; - mItems.add(switchToUser); + items.add(switchToUser); } } - - mAdapter = new MyAdapter(); - - AlertParams params = new AlertParams(mContext); - params.mAdapter = mAdapter; - params.mOnClickListener = this; - params.mForceInverseBackground = true; - - GlobalActionsDialog dialog = new GlobalActionsDialog(mContext, params); - dialog.setCanceledOnTouchOutside(false); // Handled by the custom class. - - dialog.getListView().setItemsCanFocus(true); - dialog.getListView().setLongClickable(true); - dialog.getListView().setOnItemLongClickListener( - new AdapterView.OnItemLongClickListener() { - @Override - public boolean onItemLongClick(AdapterView<?> parent, View view, int position, - long id) { - return mAdapter.getItem(position).onLongPress(); - } - }); - dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG); - - dialog.setOnDismissListener(this); - - return dialog; } private void prepareDialog() { diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index bfefe67..5319db9 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -14057,6 +14057,7 @@ public final class ActivityManagerService extends ActivityManagerNative return false; } + mWindowManager.lockNow(); mWindowManager.startFreezingScreen(R.anim.screen_user_exit, R.anim.screen_user_enter); |
