am 74526ab6: am 30417507: Merge "Fixing issue where Quick Settings user profile was not showing name or default picture. (Bug 7308719)" into jb-mr1-dev
* commit '74526ab6755cb57ccbe8c60452e12f49babd971f': Fixing issue where Quick Settings user profile was not showing name or default picture. (Bug 7308719)
This commit is contained in:
@@ -102,7 +102,7 @@ class QuickSettings {
|
|||||||
private int mBrightnessDialogShortTimeout;
|
private int mBrightnessDialogShortTimeout;
|
||||||
private int mBrightnessDialogLongTimeout;
|
private int mBrightnessDialogLongTimeout;
|
||||||
|
|
||||||
private AsyncTask<Void, Void, Pair<String, BitmapDrawable>> mUserInfoTask;
|
private AsyncTask<Void, Void, Pair<String, Drawable>> mUserInfoTask;
|
||||||
|
|
||||||
private LevelListDrawable mBatteryLevels;
|
private LevelListDrawable mBatteryLevels;
|
||||||
private LevelListDrawable mChargingBatteryLevels;
|
private LevelListDrawable mChargingBatteryLevels;
|
||||||
@@ -203,35 +203,43 @@ class QuickSettings {
|
|||||||
final int userId = userInfo.id;
|
final int userId = userInfo.id;
|
||||||
|
|
||||||
final Context context = currentUserContext;
|
final Context context = currentUserContext;
|
||||||
mUserInfoTask = new AsyncTask<Void, Void, Pair<String, BitmapDrawable>>() {
|
mUserInfoTask = new AsyncTask<Void, Void, Pair<String, Drawable>>() {
|
||||||
@Override
|
@Override
|
||||||
protected Pair<String, BitmapDrawable> doInBackground(Void... params) {
|
protected Pair<String, Drawable> doInBackground(Void... params) {
|
||||||
Cursor cursor = context.getContentResolver().query(
|
final Cursor cursor = context.getContentResolver().query(
|
||||||
Profile.CONTENT_URI, new String[] {Phone._ID, Phone.DISPLAY_NAME},
|
Profile.CONTENT_URI, new String[] {Phone._ID, Phone.DISPLAY_NAME},
|
||||||
null, null, null);
|
null, null, null);
|
||||||
|
final UserManager um =
|
||||||
|
(UserManager) mContext.getSystemService(Context.USER_SERVICE);
|
||||||
|
|
||||||
if (cursor == null) {
|
// Fall back to the UserManager nickname if we can't read the name from the local
|
||||||
// Info not available. Should become available later.
|
// profile below.
|
||||||
return new Pair<String, BitmapDrawable>(null, null);
|
String nickName = um.getUserName();
|
||||||
|
String name = nickName;
|
||||||
|
Drawable avatar = null;
|
||||||
|
Bitmap rawAvatar = um.getUserIcon(userId);
|
||||||
|
if (rawAvatar != null) {
|
||||||
|
avatar = new BitmapDrawable(mContext.getResources(), rawAvatar);
|
||||||
|
} else {
|
||||||
|
avatar = mContext.getResources().getDrawable(R.drawable.ic_qs_default_user);
|
||||||
}
|
}
|
||||||
|
|
||||||
String name = null;
|
// Try and read the display name from the local profile
|
||||||
try {
|
if (cursor != null) {
|
||||||
if (cursor.moveToFirst()) {
|
try {
|
||||||
name = cursor.getString(cursor.getColumnIndex(Phone.DISPLAY_NAME));
|
if (cursor.moveToFirst()) {
|
||||||
|
name = cursor.getString(cursor.getColumnIndex(Phone.DISPLAY_NAME));
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
cursor.close();
|
||||||
}
|
}
|
||||||
} finally {
|
|
||||||
cursor.close();
|
|
||||||
}
|
}
|
||||||
final UserManager userManager =
|
|
||||||
(UserManager) mContext.getSystemService(Context.USER_SERVICE);
|
return new Pair<String, Drawable>(name, avatar);
|
||||||
final BitmapDrawable icon = new BitmapDrawable(mContext.getResources(),
|
|
||||||
userManager.getUserIcon(userId));
|
|
||||||
return new Pair<String, BitmapDrawable>(name, icon);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPostExecute(Pair<String, BitmapDrawable> result) {
|
protected void onPostExecute(Pair<String, Drawable> result) {
|
||||||
super.onPostExecute(result);
|
super.onPostExecute(result);
|
||||||
mModel.setUserTileInfo(result.first, result.second);
|
mModel.setUserTileInfo(result.first, result.second);
|
||||||
mUserInfoTask = null;
|
mUserInfoTask = null;
|
||||||
@@ -305,9 +313,7 @@ class QuickSettings {
|
|||||||
ImageView iv = (ImageView) view.findViewById(R.id.user_imageview);
|
ImageView iv = (ImageView) view.findViewById(R.id.user_imageview);
|
||||||
TextView tv = (TextView) view.findViewById(R.id.user_textview);
|
TextView tv = (TextView) view.findViewById(R.id.user_textview);
|
||||||
tv.setText(state.label);
|
tv.setText(state.label);
|
||||||
if (us.avatar != null) {
|
iv.setImageDrawable(us.avatar);
|
||||||
iv.setImageDrawable(us.avatar);
|
|
||||||
}
|
|
||||||
view.setContentDescription(mContext.getString(
|
view.setContentDescription(mContext.getString(
|
||||||
R.string.accessibility_quick_settings_user, state.label));
|
R.string.accessibility_quick_settings_user, state.label));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user