diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index b488c562a42b8..eff519105b0ad 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -752,6 +752,9 @@
Switch user
+
+ Switch user, current user %s
+
Show profile
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitch.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitch.java
index d7144dadcd9e8..dc491183b4f01 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitch.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/MultiUserSwitch.java
@@ -30,6 +30,7 @@ import android.widget.FrameLayout;
import com.android.systemui.R;
import com.android.systemui.qs.QSPanel;
import com.android.systemui.statusbar.policy.KeyguardUserSwitcher;
+import com.android.systemui.statusbar.policy.UserSwitcherController;
/**
* Container for image of the multi user switcher (tappable).
@@ -90,9 +91,21 @@ public class MultiUserSwitch extends FrameLayout implements View.OnClickListener
if (isClickable()) {
final UserManager um = UserManager.get(getContext());
- String text = mContext.getString(um.isUserSwitcherEnabled()
- ? R.string.accessibility_multi_user_switch_switcher
- : R.string.accessibility_multi_user_switch_quick_contact);
+ String text;
+ if (um.isUserSwitcherEnabled()) {
+ UserSwitcherController controller = mQsPanel.getHost()
+ .getUserSwitcherController();
+ String currentUser = controller.getCurrentUserName(mContext);
+ if (TextUtils.isEmpty(currentUser)) {
+ text = mContext.getString(R.string.accessibility_multi_user_switch_switcher);
+ } else {
+ text = mContext.getString(
+ R.string.accessibility_multi_user_switch_switcher_with_current,
+ currentUser);
+ }
+ } else {
+ text = mContext.getString(R.string.accessibility_multi_user_switch_quick_contact);
+ }
if (!TextUtils.isEmpty(text)) {
event.getText().add(text);
}
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 adb71e714f388..27a89015b91ee 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java
@@ -334,6 +334,14 @@ public class UserSwitcherController {
}
}
+ public String getCurrentUserName(Context context) {
+ if (mUsers.isEmpty()) return null;
+ UserRecord item = mUsers.get(0);
+ if (item == null || item.info == null) return null;
+ if (item.isGuest) return context.getString(R.string.guest_nickname);
+ return item.info.name;
+ }
+
public static abstract class BaseUserAdapter extends BaseAdapter {
final UserSwitcherController mController;