summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2012-09-28 11:09:22 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-28 11:09:22 -0700
commit01996793dd2a70acb0ae006960c23c31f0e39d5f (patch)
tree8fa23b717039cde61f8c377849f6e56190034530
parent9dbbfcda81f251f23aded866f7f9d49d8a744c75 (diff)
parentbc4ba82335c091cebaaee8b20987a61fb54c1727 (diff)
downloadframeworks_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.java61
-rw-r--r--services/java/com/android/server/am/ActivityManagerService.java1
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);