Add user button UX update
Visually align all add user/guest icons between settings and systemui. Both areas may tint and size the icons slightly differently. Fixes: 219078700 Test: visual, use the multiple users settings page Change-Id: Ic88d5b2197f402f130d6cfeb94bdb2bb1b6aa58c
This commit is contained in:
@@ -205,4 +205,7 @@
|
|||||||
|
|
||||||
<!-- Battery error text color -->
|
<!-- Battery error text color -->
|
||||||
<color name="battery_info_error_color_black">@*android:color/primary_text_default_material_light</color>
|
<color name="battery_info_error_color_black">@*android:color/primary_text_default_material_light</color>
|
||||||
|
|
||||||
|
<!-- Background for multiple user settings page avatars -->
|
||||||
|
<color name="user_avatar_color_bg">?androidprv:attr/colorSurface</color>
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -134,6 +134,7 @@
|
|||||||
<dimen name="avatar_length">48dp</dimen>
|
<dimen name="avatar_length">48dp</dimen>
|
||||||
<dimen name="avatar_margin_top">56dp</dimen>
|
<dimen name="avatar_margin_top">56dp</dimen>
|
||||||
<dimen name="avatar_margin_end">24dp</dimen>
|
<dimen name="avatar_margin_end">24dp</dimen>
|
||||||
|
<dimen name="multiple_users_avatar_size">20dp</dimen>
|
||||||
|
|
||||||
<!-- Homepage title -->
|
<!-- Homepage title -->
|
||||||
<dimen name="homepage_title_margin_bottom">8dp</dimen>
|
<dimen name="homepage_title_margin_bottom">8dp</dimen>
|
||||||
|
@@ -13625,7 +13625,7 @@
|
|||||||
<!-- Title for default print service main switch. [CHAR LIMIT=50] -->
|
<!-- Title for default print service main switch. [CHAR LIMIT=50] -->
|
||||||
<string name="default_print_service_main_switch_title">Use print service</string>
|
<string name="default_print_service_main_switch_title">Use print service</string>
|
||||||
<!-- Title for multiple users main switch. [CHAR LIMIT=50] -->
|
<!-- Title for multiple users main switch. [CHAR LIMIT=50] -->
|
||||||
<string name="multiple_users_main_switch_title">Use multiple users</string>
|
<string name="multiple_users_main_switch_title">Enable multiple users</string>
|
||||||
<!-- Title for wireless debugging main switch. [CHAR LIMIT=50] -->
|
<!-- Title for wireless debugging main switch. [CHAR LIMIT=50] -->
|
||||||
<string name="wireless_debugging_main_switch_title">Use wireless debugging</string>
|
<string name="wireless_debugging_main_switch_title">Use wireless debugging</string>
|
||||||
<!-- Title for graphics driver main switch. [CHAR LIMIT=50] -->
|
<!-- Title for graphics driver main switch. [CHAR LIMIT=50] -->
|
||||||
|
@@ -40,13 +40,11 @@
|
|||||||
<com.android.settingslib.RestrictedPreference
|
<com.android.settingslib.RestrictedPreference
|
||||||
android:key="user_add"
|
android:key="user_add"
|
||||||
android:title="@string/user_add_user_or_profile_menu"
|
android:title="@string/user_add_user_or_profile_menu"
|
||||||
android:icon="@drawable/ic_add_40dp"
|
|
||||||
android:order="20"/>
|
android:order="20"/>
|
||||||
|
|
||||||
<com.android.settingslib.RestrictedPreference
|
<com.android.settingslib.RestrictedPreference
|
||||||
android:key="supervised_user_add"
|
android:key="supervised_user_add"
|
||||||
android:title="@*android:string/supervised_user_creation_label"
|
android:title="@*android:string/supervised_user_creation_label"
|
||||||
android:icon="@*android:drawable/ic_add_supervised_user"
|
|
||||||
android:order="25"/>
|
android:order="25"/>
|
||||||
|
|
||||||
<com.android.settingslib.RestrictedSwitchPreference
|
<com.android.settingslib.RestrictedSwitchPreference
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.settings.users;
|
package com.android.settings.users;
|
||||||
|
|
||||||
|
import static com.android.settingslib.Utils.getColorAttrDefaultColor;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.ActivityManager;
|
import android.app.ActivityManager;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
@@ -31,7 +33,9 @@ import android.content.pm.UserInfo;
|
|||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
|
import android.graphics.BlendMode;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.graphics.drawable.LayerDrawable;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -46,6 +50,7 @@ import android.provider.ContactsContract;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
|
import android.view.Gravity;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
@@ -1123,7 +1128,8 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
&& WizardManagerHelper.isDeviceProvisioned(context)
|
&& WizardManagerHelper.isDeviceProvisioned(context)
|
||||||
&& mUserCaps.mUserSwitcherEnabled) {
|
&& mUserCaps.mUserSwitcherEnabled) {
|
||||||
mAddGuest.setVisible(true);
|
mAddGuest.setVisible(true);
|
||||||
mAddGuest.setIcon(getEncircledDefaultIcon());
|
Drawable icon = context.getDrawable(R.drawable.ic_account_circle);
|
||||||
|
mAddGuest.setIcon(centerAndTint(icon));
|
||||||
mAddGuest.setSelectable(true);
|
mAddGuest.setSelectable(true);
|
||||||
if (mGuestUserAutoCreated && mGuestCreationScheduled.get()) {
|
if (mGuestUserAutoCreated && mGuestCreationScheduled.get()) {
|
||||||
mAddGuest.setTitle(com.android.settingslib.R.string.user_guest);
|
mAddGuest.setTitle(com.android.settingslib.R.string.user_guest);
|
||||||
@@ -1140,11 +1146,15 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
private void updateAddUser(Context context) {
|
private void updateAddUser(Context context) {
|
||||||
updateAddUserCommon(context, mAddUser, mUserCaps.mCanAddRestrictedProfile);
|
updateAddUserCommon(context, mAddUser, mUserCaps.mCanAddRestrictedProfile);
|
||||||
|
Drawable icon = context.getDrawable(R.drawable.ic_account_circle_filled);
|
||||||
|
mAddUser.setIcon(centerAndTint(icon));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateAddSupervisedUser(Context context) {
|
private void updateAddSupervisedUser(Context context) {
|
||||||
if (!TextUtils.isEmpty(mConfigSupervisedUserCreationPackage)) {
|
if (!TextUtils.isEmpty(mConfigSupervisedUserCreationPackage)) {
|
||||||
updateAddUserCommon(context, mAddSupervisedUser, false);
|
updateAddUserCommon(context, mAddSupervisedUser, false);
|
||||||
|
Drawable icon = context.getDrawable(R.drawable.ic_add_supervised_user);
|
||||||
|
mAddSupervisedUser.setIcon(centerAndTint(icon));
|
||||||
} else {
|
} else {
|
||||||
mAddSupervisedUser.setVisible(false);
|
mAddSupervisedUser.setVisible(false);
|
||||||
}
|
}
|
||||||
@@ -1162,6 +1172,7 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
|| (canAddRestrictedProfile
|
|| (canAddRestrictedProfile
|
||||||
&& mUserManager.canAddMoreUsers(UserManager.USER_TYPE_FULL_RESTRICTED));
|
&& mUserManager.canAddMoreUsers(UserManager.USER_TYPE_FULL_RESTRICTED));
|
||||||
addUser.setEnabled(canAddMoreUsers && !mAddingUser && canSwitchUserNow());
|
addUser.setEnabled(canAddMoreUsers && !mAddingUser && canSwitchUserNow());
|
||||||
|
|
||||||
if (!canAddMoreUsers) {
|
if (!canAddMoreUsers) {
|
||||||
addUser.setSummary(
|
addUser.setSummary(
|
||||||
getString(R.string.user_add_max_count, getRealUsersCount()));
|
getString(R.string.user_add_max_count, getRealUsersCount()));
|
||||||
@@ -1177,6 +1188,20 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Drawable centerAndTint(Drawable icon) {
|
||||||
|
icon.setTintBlendMode(BlendMode.SRC_IN);
|
||||||
|
icon.setTint(getColorAttrDefaultColor(getContext(), android.R.attr.textColorPrimary));
|
||||||
|
|
||||||
|
Drawable bg = getContext().getDrawable(R.drawable.user_avatar_bg).mutate();
|
||||||
|
LayerDrawable ld = new LayerDrawable(new Drawable[] {bg, icon});
|
||||||
|
int size = getContext().getResources().getDimensionPixelSize(
|
||||||
|
R.dimen.multiple_users_avatar_size);
|
||||||
|
ld.setLayerSize(1, size, size);
|
||||||
|
ld.setLayerGravity(1, Gravity.CENTER);
|
||||||
|
|
||||||
|
return ld;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return number of non-guest non-managed users
|
* @return number of non-guest non-managed users
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user