diff options
author | Adrian Roos <roosa@google.com> | 2014-09-09 16:37:08 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-09-09 16:37:09 +0000 |
commit | e5322f47bff973c3844bd95c9c2bdbc3d0159184 (patch) | |
tree | 248e308c7e5e5058d217533f3d3e8c9c5aea3094 /packages | |
parent | bb9637bb58a1e0753ffed6a43f91675d1979e3b6 (diff) | |
parent | 0c6763a19f32f73f8a940aaee7abecb2a04d1889 (diff) | |
download | frameworks_base-e5322f47bff973c3844bd95c9c2bdbc3d0159184.zip frameworks_base-e5322f47bff973c3844bd95c9c2bdbc3d0159184.tar.gz frameworks_base-e5322f47bff973c3844bd95c9c2bdbc3d0159184.tar.bz2 |
Merge "Show confirmation dialog when adding user from QS" into lmp-dev
Diffstat (limited to 'packages')
-rw-r--r-- | packages/SystemUI/res/values/strings.xml | 6 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java | 39 |
2 files changed, 43 insertions, 2 deletions
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 23d9748..147efaf 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -798,6 +798,12 @@ <!-- Notification when resuming an existing guest session: Action that continues with the current session [CHAR LIMIT=35] --> <string name="guest_wipe_session_dontwipe">Yes, continue</string> + <!-- Title for add user confirmation dialog [CHAR LIMIT=30] --> + <string name="user_add_user_title" msgid="2108112641783146007">Add new user?</string> + + <!-- Message for add user confirmation dialog - short version. [CHAR LIMIT=none] --> + <string name="user_add_user_message_short" msgid="1511354412249044381">When you add a new user, that person needs to set up their space.\n\nAny user can update apps for all other users. </string> + <!-- Zen mode condition: time duration in minutes. [CHAR LIMIT=NONE] --> <plurals name="zen_mode_duration_minutes"> diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java index 52fa621..d02826f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java @@ -73,6 +73,7 @@ public class UserSwitcherController { private ArrayList<UserRecord> mUsers = new ArrayList<>(); private Dialog mExitGuestDialog; + private Dialog mAddUserDialog; private int mLastNonGuestUser = UserHandle.USER_OWNER; private boolean mSimpleUserSwitcher; private boolean mAddUsersWhenLocked; @@ -228,8 +229,8 @@ public class UserSwitcherController { // No guest user. Create one. id = mUserManager.createGuest(mContext, mContext.getString(R.string.guest_nickname)).id; } else if (record.isAddUser) { - id = mUserManager.createUser( - mContext.getString(R.string.user_new_user_name), 0 /* flags */).id; + showAddUserDialog(); + return; } else { id = record.info.id; } @@ -260,6 +261,14 @@ public class UserSwitcherController { mExitGuestDialog.show(); } + private void showAddUserDialog() { + if (mAddUserDialog != null && mAddUserDialog.isShowing()) { + mAddUserDialog.cancel(); + } + mAddUserDialog = new AddUserDialog(mContext); + mAddUserDialog.show(); + } + private void exitGuest(int id) { int newId = UserHandle.USER_OWNER; if (mLastNonGuestUser != UserHandle.USER_OWNER) { @@ -534,4 +543,30 @@ public class UserSwitcherController { } } } + + private final class AddUserDialog extends SystemUIDialog implements + DialogInterface.OnClickListener { + + public AddUserDialog(Context context) { + super(context); + setTitle(R.string.user_add_user_title); + setMessage(context.getString(R.string.user_add_user_message_short)); + setButton(DialogInterface.BUTTON_NEGATIVE, + context.getString(android.R.string.cancel), this); + setButton(DialogInterface.BUTTON_POSITIVE, + context.getString(android.R.string.ok), this); + } + + @Override + public void onClick(DialogInterface dialog, int which) { + if (which == BUTTON_NEGATIVE) { + cancel(); + } else { + dismiss(); + int id = mUserManager.createUser( + mContext.getString(R.string.user_new_user_name), 0 /* flags */).id; + switchToUserId(id); + } + } + } } |