Use circular avatars wherever appropriate

Battery stats, Data usage and Running apps

Change-Id: Ib7f851e55ef7e44f18d3f8a2cd27f5f2204b0145
This commit is contained in:
Amith Yamasani
2013-05-13 15:52:54 -07:00
parent a0f474de45
commit b0b0b110c0
4 changed files with 18 additions and 9 deletions

View File

@@ -32,6 +32,7 @@ import android.content.pm.ServiceInfo;
import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Drawable.ConstantState;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
@@ -671,7 +672,12 @@ public class RunningState {
return super.loadIcon(context, state);
}
if (mUser.mIcon != null) {
return mUser.mIcon.getConstantState().newDrawable();
ConstantState constState = mUser.mIcon.getConstantState();
if (constState == null) {
return mUser.mIcon;
} else {
return constState.newDrawable();
}
}
return context.getResources().getDrawable(
com.android.internal.R.drawable.ic_menu_cc);
@@ -831,8 +837,8 @@ public class RunningState {
UserInfo info = mUm.getUserInfo(newItem.mUserId);
userItem.mUser.mInfo = info;
if (info != null) {
userItem.mUser.mIcon = UserUtils.getUserIcon(mUm, info,
context.getResources());
userItem.mUser.mIcon = UserUtils.getUserIcon(context, mUm,
info, context.getResources());
}
String name = info != null ? info.name : null;
if (name == null) {

View File

@@ -768,6 +768,8 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
}
private void addUserUsage() {
final Context context = getActivity();
if (context == null) return;
for (int i=0; i<mUserSippers.size(); i++) {
final int userId = mUserSippers.keyAt(i);
final List<BatterySipper> sippers = mUserSippers.valueAt(i);
@@ -775,16 +777,16 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
Drawable icon;
String name;
if (info != null) {
icon = UserUtils.getUserIcon(mUm, info, getResources());
icon = UserUtils.getUserIcon(context, mUm, info, getResources());
name = info != null ? info.name : null;
if (name == null) {
name = Integer.toString(info.id);
}
name = getActivity().getResources().getString(
name = context.getResources().getString(
R.string.running_process_item_user_label, name);
} else {
icon = null;
name = getActivity().getResources().getString(
name = context.getResources().getString(
R.string.running_process_item_removed_user_label);
}
double power = mUserPower.get(userId);

View File

@@ -121,7 +121,7 @@ public class UidDetailProvider {
final UserInfo info = um.getUserInfo(userHandle);
if (info != null) {
detail.label = res.getString(R.string.running_process_item_user_label, info.name);
detail.icon = UserUtils.getUserIcon(um, info, res);
detail.icon = UserUtils.getUserIcon(mContext, um, info, res);
return detail;
}
}

View File

@@ -16,6 +16,7 @@
package com.android.settings.users;
import android.content.Context;
import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.graphics.Bitmap;
@@ -24,10 +25,10 @@ import android.graphics.drawable.Drawable;
import android.os.UserManager;
public class UserUtils {
public static Drawable getUserIcon(UserManager um, UserInfo user, Resources res) {
public static Drawable getUserIcon(Context context, UserManager um, UserInfo user, Resources res) {
if (user.iconPath == null) return null;
Bitmap icon = um.getUserIcon(user.id);
if (icon == null) return null;
return new BitmapDrawable(res, icon);
return CircleFramedDrawable.getInstance(context, icon);
}
}