Update Settings to use themed Context.getDrawable()
Explicit null theme is passed when using Resources.getDrawable() and no theme is available, e.g. when using getResourcesForApplication(). This fixes an issue with ic_text_dot theming and helps avoid similar issues in the future. BUG: 17648301 Change-Id: I3e97c3490b6f2a55744f567b21284f2935ae9af7
This commit is contained in:
@@ -159,7 +159,7 @@ public class ActivityPicker extends AlertActivity implements
|
||||
Resources res = packageManager.getResourcesForApplication(
|
||||
iconResource.packageName);
|
||||
icon = res.getDrawable(res.getIdentifier(
|
||||
iconResource.resourceName, null, null));
|
||||
iconResource.resourceName, null, null), null);
|
||||
} catch (NameNotFoundException e) {
|
||||
// Ignore
|
||||
}
|
||||
|
@@ -212,7 +212,7 @@ public class MasterClear extends Fragment {
|
||||
try {
|
||||
if (desc.iconId != 0) {
|
||||
Context authContext = context.createPackageContext(desc.packageName, 0);
|
||||
icon = authContext.getResources().getDrawable(desc.iconId);
|
||||
icon = authContext.getDrawable(desc.iconId);
|
||||
}
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.w(TAG, "No icon for account type " + desc.type);
|
||||
|
@@ -63,7 +63,7 @@ public class RegulatoryInfoDisplayActivity extends Activity implements
|
||||
int resId = getResourceId();
|
||||
if (resId != 0) {
|
||||
try {
|
||||
Drawable d = resources.getDrawable(resId);
|
||||
Drawable d = getDrawable(resId);
|
||||
// set to false if the width or height is <= 2
|
||||
// (missing PNG can return an empty 2x2 pixel Drawable)
|
||||
regulatoryInfoDrawableExists = (d.getIntrinsicWidth() > 2
|
||||
|
@@ -51,7 +51,7 @@ public class UserSpinnerAdapter implements SpinnerAdapter {
|
||||
UserInfo userInfo = um.getUserInfo(mUserHandle.getIdentifier());
|
||||
if (userInfo.isManagedProfile()) {
|
||||
name = context.getString(R.string.managed_user_title);
|
||||
icon = Resources.getSystem().getDrawable(
|
||||
icon = context.getDrawable(
|
||||
com.android.internal.R.drawable.ic_corp_icon);
|
||||
} else {
|
||||
name = userInfo.name;
|
||||
|
@@ -211,7 +211,8 @@ public final class Utils {
|
||||
Bundle metaData = resolveInfo.activityInfo.metaData;
|
||||
|
||||
if (res != null && metaData != null) {
|
||||
icon = res.getDrawable(metaData.getInt(META_DATA_PREFERENCE_ICON));
|
||||
icon = res.getDrawable(
|
||||
metaData.getInt(META_DATA_PREFERENCE_ICON), null);
|
||||
title = res.getString(metaData.getInt(META_DATA_PREFERENCE_TITLE));
|
||||
summary = res.getString(metaData.getInt(META_DATA_PREFERENCE_SUMMARY));
|
||||
}
|
||||
|
@@ -231,7 +231,7 @@ public class ToggleAccessibilityServicePreferenceFragment
|
||||
|
||||
ImageView imageView = (ImageView) capabilityView.findViewById(
|
||||
com.android.internal.R.id.perm_icon);
|
||||
imageView.setImageDrawable(getResources().getDrawable(
|
||||
imageView.setImageDrawable(getActivity().getDrawable(
|
||||
com.android.internal.R.drawable.ic_text_dot));
|
||||
|
||||
TextView labelView = (TextView) capabilityView.findViewById(
|
||||
@@ -257,7 +257,7 @@ public class ToggleAccessibilityServicePreferenceFragment
|
||||
|
||||
imageView = (ImageView) capabilityView.findViewById(
|
||||
com.android.internal.R.id.perm_icon);
|
||||
imageView.setImageDrawable(getResources().getDrawable(
|
||||
imageView.setImageDrawable(getActivity().getDrawable(
|
||||
com.android.internal.R.drawable.ic_text_dot));
|
||||
|
||||
labelView = (TextView) capabilityView.findViewById(
|
||||
|
@@ -111,7 +111,7 @@ final public class AuthenticatorHelper extends BroadcastReceiver {
|
||||
Context authContext = context.createPackageContextAsUser(desc.packageName, 0,
|
||||
mUserHandle);
|
||||
icon = mContext.getPackageManager().getUserBadgedIcon(
|
||||
authContext.getResources().getDrawable(desc.iconId), mUserHandle);
|
||||
authContext.getDrawable(desc.iconId), mUserHandle);
|
||||
synchronized (mAccTypeIconCache) {
|
||||
mAccTypeIconCache.put(accountType, icon);
|
||||
}
|
||||
|
@@ -216,7 +216,7 @@ public class ChooseAccountActivity extends PreferenceActivity {
|
||||
AuthenticatorDescription desc = mTypeToAuthDescription.get(accountType);
|
||||
Context authContext = createPackageContextAsUser(desc.packageName, 0, mUserHandle);
|
||||
icon = getPackageManager().getUserBadgedIcon(
|
||||
authContext.getResources().getDrawable(desc.iconId), mUserHandle);
|
||||
authContext.getDrawable(desc.iconId), mUserHandle);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
// TODO: place holder icon for missing account icons?
|
||||
Log.w(TAG, "No icon name for account type " + accountType);
|
||||
|
@@ -269,7 +269,7 @@ public class AppOpsState {
|
||||
return mIcon;
|
||||
}
|
||||
|
||||
return mState.mContext.getResources().getDrawable(
|
||||
return mState.mContext.getDrawable(
|
||||
android.R.drawable.sym_def_app_icon);
|
||||
}
|
||||
|
||||
|
@@ -144,7 +144,7 @@ public class ApplicationsState {
|
||||
return true;
|
||||
} else {
|
||||
this.mounted = false;
|
||||
this.icon = context.getResources().getDrawable(
|
||||
this.icon = context.getDrawable(
|
||||
com.android.internal.R.drawable.sym_app_on_sd_unavailable_icon);
|
||||
}
|
||||
} else if (!this.mounted) {
|
||||
|
@@ -679,7 +679,7 @@ public class RunningState {
|
||||
return constState.newDrawable();
|
||||
}
|
||||
}
|
||||
return context.getResources().getDrawable(
|
||||
return context.getDrawable(
|
||||
com.android.internal.R.drawable.ic_menu_cc);
|
||||
}
|
||||
}
|
||||
|
@@ -194,7 +194,7 @@ public final class DeviceProfilesSettings extends SettingsPreferenceFragment
|
||||
|
||||
int iconResource = profile.getDrawableResource(mCachedDevice.getBtClass());
|
||||
if (iconResource != 0) {
|
||||
pref.setIcon(getResources().getDrawable(iconResource));
|
||||
pref.setIcon(getActivity().getDrawable(iconResource));
|
||||
}
|
||||
|
||||
refreshProfilePreference(pref, profile);
|
||||
|
@@ -189,7 +189,7 @@ public class BatteryEntry {
|
||||
break;
|
||||
}
|
||||
if (iconId > 0) {
|
||||
icon = context.getResources().getDrawable(iconId);
|
||||
icon = context.getDrawable(iconId);
|
||||
}
|
||||
if ((name == null || iconId == 0) && this.sipper.uidObj != null) {
|
||||
getQuickNameIconForUid(this.sipper.uidObj);
|
||||
@@ -228,7 +228,7 @@ public class BatteryEntry {
|
||||
name = context.getResources().getString(R.string.process_mediaserver_label);
|
||||
}
|
||||
iconId = R.drawable.ic_power_system;
|
||||
icon = context.getResources().getDrawable(iconId);
|
||||
icon = context.getDrawable(iconId);
|
||||
return;
|
||||
} else {
|
||||
//name = packages[0];
|
||||
|
@@ -379,7 +379,7 @@ public class PowerUsageDetail extends Fragment implements Button.OnClickListener
|
||||
// Use default icon
|
||||
}
|
||||
} else if (iconId != 0) {
|
||||
mAppIcon = getActivity().getResources().getDrawable(iconId);
|
||||
mAppIcon = getActivity().getDrawable(iconId);
|
||||
}
|
||||
if (mAppIcon == null) {
|
||||
mAppIcon = getActivity().getPackageManager().getDefaultActivityIcon();
|
||||
|
@@ -138,7 +138,7 @@ public class UidDetailProvider {
|
||||
if (info != null) {
|
||||
if (info.isManagedProfile()) {
|
||||
detail.label = res.getString(R.string.managed_user_title);
|
||||
detail.icon = Resources.getSystem().getDrawable(
|
||||
detail.icon = mContext.getDrawable(
|
||||
com.android.internal.R.drawable.ic_corp_icon);
|
||||
} else {
|
||||
detail.label = res.getString(R.string.running_process_item_user_label,
|
||||
|
@@ -275,7 +275,7 @@ public class NotificationStation extends SettingsPreferenceFragment {
|
||||
}
|
||||
|
||||
try {
|
||||
return r.getDrawable(resId);
|
||||
return r.getDrawable(resId, null);
|
||||
} catch (RuntimeException e) {
|
||||
Log.w(TAG, "Icon not found in "
|
||||
+ (pkg != null ? resId : "<system>")
|
||||
|
Reference in New Issue
Block a user