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() {