Skip to content

Commit 0199679

Browse files
Amith YamasaniAndroid (Google) Code Review
authored andcommitted
Merge "Remove user switcher from long-press power menu" into jb-mr1-dev
2 parents 9dbbfcd + bc4ba82 commit 0199679

File tree

2 files changed

+35
-27
lines changed

2 files changed

+35
-27
lines changed

policy/src/com/android/internal/policy/impl/GlobalActions.java

Lines changed: 34 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,39 @@ public boolean showBeforeProvisioning() {
286286
mItems.add(mSilentModeAction);
287287
}
288288

289+
// one more thing: optionally add a list of users to switch to
290+
if (SystemProperties.getBoolean("fw.power_user_switcher", false)) {
291+
addUsersToMenu(mItems);
292+
}
293+
294+
mAdapter = new MyAdapter();
295+
296+
AlertParams params = new AlertParams(mContext);
297+
params.mAdapter = mAdapter;
298+
params.mOnClickListener = this;
299+
params.mForceInverseBackground = true;
300+
301+
GlobalActionsDialog dialog = new GlobalActionsDialog(mContext, params);
302+
dialog.setCanceledOnTouchOutside(false); // Handled by the custom class.
303+
304+
dialog.getListView().setItemsCanFocus(true);
305+
dialog.getListView().setLongClickable(true);
306+
dialog.getListView().setOnItemLongClickListener(
307+
new AdapterView.OnItemLongClickListener() {
308+
@Override
309+
public boolean onItemLongClick(AdapterView<?> parent, View view, int position,
310+
long id) {
311+
return mAdapter.getItem(position).onLongPress();
312+
}
313+
});
314+
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);
315+
316+
dialog.setOnDismissListener(this);
317+
318+
return dialog;
319+
}
320+
321+
private void addUsersToMenu(ArrayList<Action> items) {
289322
List<UserInfo> users = ((UserManager) mContext.getSystemService(Context.USER_SERVICE))
290323
.getUsers();
291324
if (users.size() > 1) {
@@ -320,35 +353,9 @@ public boolean showBeforeProvisioning() {
320353
return false;
321354
}
322355
};
323-
mItems.add(switchToUser);
356+
items.add(switchToUser);
324357
}
325358
}
326-
327-
mAdapter = new MyAdapter();
328-
329-
AlertParams params = new AlertParams(mContext);
330-
params.mAdapter = mAdapter;
331-
params.mOnClickListener = this;
332-
params.mForceInverseBackground = true;
333-
334-
GlobalActionsDialog dialog = new GlobalActionsDialog(mContext, params);
335-
dialog.setCanceledOnTouchOutside(false); // Handled by the custom class.
336-
337-
dialog.getListView().setItemsCanFocus(true);
338-
dialog.getListView().setLongClickable(true);
339-
dialog.getListView().setOnItemLongClickListener(
340-
new AdapterView.OnItemLongClickListener() {
341-
@Override
342-
public boolean onItemLongClick(AdapterView<?> parent, View view, int position,
343-
long id) {
344-
return mAdapter.getItem(position).onLongPress();
345-
}
346-
});
347-
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);
348-
349-
dialog.setOnDismissListener(this);
350-
351-
return dialog;
352359
}
353360

354361
private void prepareDialog() {

services/java/com/android/server/am/ActivityManagerService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14057,6 +14057,7 @@ public boolean switchUser(int userId) {
1405714057
return false;
1405814058
}
1405914059

14060+
mWindowManager.lockNow();
1406014061
mWindowManager.startFreezingScreen(R.anim.screen_user_exit,
1406114062
R.anim.screen_user_enter);
1406214063

0 commit comments

Comments
 (0)