diff --git a/packages/SystemUI/res/color/kg_user_switcher_rounded_background_color.xml b/packages/SystemUI/res/color/kg_user_switcher_rounded_background_color.xml
new file mode 100644
index 0000000000000..b16d038f68f26
--- /dev/null
+++ b/packages/SystemUI/res/color/kg_user_switcher_rounded_background_color.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/SystemUI/res/color/qs_user_detail_avatar_frame.xml b/packages/SystemUI/res/color/qs_user_avatar_frame.xml
similarity index 91%
rename from packages/SystemUI/res/color/qs_user_detail_avatar_frame.xml
rename to packages/SystemUI/res/color/qs_user_avatar_frame.xml
index 344859c27e34b..0c816b4feffc8 100644
--- a/packages/SystemUI/res/color/qs_user_detail_avatar_frame.xml
+++ b/packages/SystemUI/res/color/qs_user_avatar_frame.xml
@@ -18,5 +18,5 @@
-
+
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/bg_avatar_selected.xml b/packages/SystemUI/res/drawable/bg_avatar_selected.xml
new file mode 100644
index 0000000000000..84d3416b78854
--- /dev/null
+++ b/packages/SystemUI/res/drawable/bg_avatar_selected.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/ic_add_circle.xml b/packages/SystemUI/res/drawable/ic_add_circle.xml
new file mode 100644
index 0000000000000..79ea70704ec97
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_add_circle.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/drawable/ic_add_circle_qs.xml b/packages/SystemUI/res/drawable/ic_add_circle_qs.xml
deleted file mode 100644
index 8e933445be0b8..0000000000000
--- a/packages/SystemUI/res/drawable/ic_add_circle_qs.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
diff --git a/packages/SystemUI/res/drawable/ic_avatar_guest_user.xml b/packages/SystemUI/res/drawable/ic_avatar_guest_user.xml
new file mode 100644
index 0000000000000..e3a83a29b764a
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_avatar_guest_user.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/drawable/ic_avatar_user.xml b/packages/SystemUI/res/drawable/ic_avatar_user.xml
new file mode 100644
index 0000000000000..b4a4a88bf1554
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_avatar_user.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
diff --git a/packages/SystemUI/res/drawable/rounded_user_switcher_bg.xml b/packages/SystemUI/res/drawable/kg_user_switcher_rounded_bg.xml
similarity index 69%
rename from packages/SystemUI/res/drawable/rounded_user_switcher_bg.xml
rename to packages/SystemUI/res/drawable/kg_user_switcher_rounded_bg.xml
index e3d010ee76741..13c5fe08f43af 100644
--- a/packages/SystemUI/res/drawable/rounded_user_switcher_bg.xml
+++ b/packages/SystemUI/res/drawable/kg_user_switcher_rounded_bg.xml
@@ -16,17 +16,17 @@
-->
- -
-
-
+
-
+
+
-
+
-
-
-
+
+
+
diff --git a/packages/SystemUI/res/drawable/qs_bg_avatar.xml b/packages/SystemUI/res/drawable/qs_bg_avatar.xml
new file mode 100644
index 0000000000000..41176a8efc5e5
--- /dev/null
+++ b/packages/SystemUI/res/drawable/qs_bg_avatar.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout-sw600dp/keyguard_user_switcher_item.xml b/packages/SystemUI/res/layout-sw600dp/keyguard_user_switcher_item.xml
index 1f38b1ea1da55..4413b1ef3cd35 100644
--- a/packages/SystemUI/res/layout-sw600dp/keyguard_user_switcher_item.xml
+++ b/packages/SystemUI/res/layout-sw600dp/keyguard_user_switcher_item.xml
@@ -20,24 +20,24 @@
+ android:background="@drawable/kg_user_switcher_rounded_bg"
+ sysui:regularTextAppearance="@style/TextAppearance.StatusBar.Expanded.UserSwitcher">
diff --git a/packages/SystemUI/res/layout/keyguard_user_switcher_item.xml b/packages/SystemUI/res/layout/keyguard_user_switcher_item.xml
index b1e51659817e8..626951c8c0b7f 100644
--- a/packages/SystemUI/res/layout/keyguard_user_switcher_item.xml
+++ b/packages/SystemUI/res/layout/keyguard_user_switcher_item.xml
@@ -36,8 +36,8 @@
android:textAppearance="@style/TextAppearance.StatusBar.Expanded.UserSwitcher"
/>
+ sysui:frameColor="@color/kg_user_switcher_rounded_background_color" />
diff --git a/packages/SystemUI/res/layout/qs_user_detail_item.xml b/packages/SystemUI/res/layout/qs_user_detail_item.xml
index 5c03e30995226..0608685c3440a 100644
--- a/packages/SystemUI/res/layout/qs_user_detail_item.xml
+++ b/packages/SystemUI/res/layout/qs_user_detail_item.xml
@@ -30,21 +30,20 @@
android:clipToPadding="false"
android:focusable="true"
android:background="@drawable/ripple_drawable"
- systemui:regularTextAppearance="@style/TextAppearance.QS.UserSwitcher"
- systemui:activatedTextAppearance="@style/TextAppearance.QS.UserSwitcher.Activated">
+ systemui:regularTextAppearance="@style/TextAppearance.QS.UserSwitcher">
+ systemui:framePadding="-1dp"
+ systemui:frameColor="@color/qs_user_avatar_frame"/>
#E25142
#F5C518
+
+ @android:color/background_light
+
+ #202124
+
+ @android:color/background_light
+
+ #202124
+
+ #3C4043
+
diff --git a/packages/SystemUI/res/values-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp/dimens.xml
index 89341838f3e36..8f73d231c7329 100644
--- a/packages/SystemUI/res/values-sw600dp/dimens.xml
+++ b/packages/SystemUI/res/values-sw600dp/dimens.xml
@@ -45,6 +45,11 @@
60dp
+
+ 60dp
+
+ 48dp
+
48dp
@@ -88,4 +93,7 @@
488dp
+
+
+ 18sp
diff --git a/packages/SystemUI/res/values-sw600dp/styles.xml b/packages/SystemUI/res/values-sw600dp/styles.xml
index b375364fdab9b..02bd60210e815 100644
--- a/packages/SystemUI/res/values-sw600dp/styles.xml
+++ b/packages/SystemUI/res/values-sw600dp/styles.xml
@@ -30,20 +30,10 @@
- ?attr/wallpaperTextColor
-
-
-
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 74bbee681ccc6..288487acec792 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -58,6 +58,19 @@
#B2000000
+
+ #26000000
+
+ @android:color/background_light
+
+ @android:color/background_light
+
+ #3C4043
+
+ @android:color/background_light
+
+ #DADCE0
+
#ff1a1a1a
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 5b213edd5f0ff..9b9fbed0d9041 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -752,8 +752,10 @@
quick settings header -->
48dp
-
- 54dp
+
+ 54dp
+
+ 54dp
16dp
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailView.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailView.java
index 4f90527098703..447f48b5db94e 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailView.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/UserDetailView.java
@@ -18,6 +18,8 @@ package com.android.systemui.qs.tiles;
import android.content.Context;
import android.content.Intent;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.LayerDrawable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
@@ -29,6 +31,7 @@ import com.android.settingslib.RestrictedLockUtils;
import com.android.systemui.R;
import com.android.systemui.qs.PseudoGridView;
import com.android.systemui.statusbar.policy.UserSwitcherController;
+
/**
* Quick settings detail view for user switching.
*/
@@ -101,6 +104,19 @@ public class UserDetailView extends PseudoGridView {
return v;
}
+ private static Drawable getDrawable(Context context,
+ UserSwitcherController.UserRecord item) {
+ Drawable icon = getIconDrawable(context, item);
+ int iconColorRes = item.isCurrent ? R.color.qs_user_switcher_selected_avatar_icon_color
+ : R.color.qs_user_switcher_avatar_icon_color;
+ icon.setTint(context.getResources().getColor(iconColorRes, context.getTheme()));
+
+ int bgRes = item.isCurrent ? R.drawable.bg_avatar_selected : R.drawable.qs_bg_avatar;
+ Drawable bg = context.getDrawable(bgRes);
+ LayerDrawable drawable = new LayerDrawable(new Drawable[]{bg, icon});
+ return drawable;
+ }
+
@Override
public void onClick(View view) {
UserSwitcherController.UserRecord tag =
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcher.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcher.java
index 7d5498157136a..45e47f1f763fc 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcher.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardUserSwitcher.java
@@ -21,6 +21,8 @@ import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.database.DataSetObserver;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.LayerDrawable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -294,6 +296,21 @@ public class KeyguardUserSwitcher {
return convertView;
}
+ private static Drawable getDrawable(Context context,
+ UserSwitcherController.UserRecord item) {
+ Drawable drawable = getIconDrawable(context, item);
+ int iconColorRes = item.isCurrent ? R.color.kg_user_switcher_selected_avatar_icon_color
+ : R.color.kg_user_switcher_avatar_icon_color;
+ drawable.setTint(context.getResources().getColor(iconColorRes, context.getTheme()));
+
+ if (item.isCurrent) {
+ Drawable bg = context.getDrawable(R.drawable.bg_avatar_selected);
+ drawable = new LayerDrawable(new Drawable[]{bg, drawable});
+ }
+
+ return drawable;
+ }
+
@Override
public void onClick(View v) {
UserSwitcherController.UserRecord user = (UserSwitcherController.UserRecord) v.getTag();
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 69eaaa4f54a9f..bb0b5e00ff67e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java
@@ -31,7 +31,6 @@ import android.content.IntentFilter;
import android.content.pm.UserInfo;
import android.database.ContentObserver;
import android.graphics.Bitmap;
-import android.graphics.PorterDuff.Mode;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Handler;
@@ -52,7 +51,6 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.UserIcons;
import com.android.settingslib.RestrictedLockUtilsInternal;
-import com.android.settingslib.Utils;
import com.android.systemui.Dumpable;
import com.android.systemui.GuestResumeSessionReceiver;
import com.android.systemui.Prefs;
@@ -684,18 +682,17 @@ public class UserSwitcherController implements Dumpable {
}
}
- public Drawable getDrawable(Context context, UserRecord item) {
+ protected static Drawable getIconDrawable(Context context, UserRecord item) {
+ int iconRes;
if (item.isAddUser) {
- return context.getDrawable(R.drawable.ic_add_circle_qs);
+ iconRes = R.drawable.ic_add_circle;
+ } else if (item.isGuest) {
+ iconRes = R.drawable.ic_avatar_guest_user;
+ } else {
+ iconRes = R.drawable.ic_avatar_user;
}
- Drawable icon = UserIcons.getDefaultUserIcon(
- context.getResources(), item.resolveId(), /* light= */ false);
- if (item.isGuest) {
- icon.setColorFilter(Utils.getColorAttrDefaultColor(context,
- android.R.attr.colorForeground),
- Mode.SRC_IN);
- }
- return icon;
+
+ return context.getDrawable(iconRes);
}
public void refresh() {