Make sure we're obtaining themed drawables correctly
Change-Id: I446a3492f7bf5a897c5d698e61327af4b7840d85
This commit is contained in:
@@ -275,7 +275,7 @@ public class AnimatedRotateDrawable extends Drawable implements Drawable.Callbac
|
||||
final int res = a.getResourceId(R.styleable.AnimatedRotateDrawable_drawable, 0);
|
||||
Drawable drawable = null;
|
||||
if (res > 0) {
|
||||
drawable = r.getDrawable(res);
|
||||
drawable = r.getDrawable(res, theme);
|
||||
}
|
||||
|
||||
a.recycle();
|
||||
|
||||
@@ -427,7 +427,7 @@ public class AnimatedStateListDrawable extends StateListDrawable {
|
||||
|
||||
final Drawable dr;
|
||||
if (drawableRes != 0) {
|
||||
dr = r.getDrawable(drawableRes);
|
||||
dr = r.getDrawable(drawableRes, theme);
|
||||
} else {
|
||||
int type;
|
||||
while ((type = parser.next()) == XmlPullParser.TEXT) {
|
||||
@@ -473,7 +473,7 @@ public class AnimatedStateListDrawable extends StateListDrawable {
|
||||
|
||||
final Drawable dr;
|
||||
if (drawableRes != 0) {
|
||||
dr = r.getDrawable(drawableRes);
|
||||
dr = r.getDrawable(drawableRes, theme);
|
||||
} else {
|
||||
int type;
|
||||
while ((type = parser.next()) == XmlPullParser.TEXT) {
|
||||
|
||||
@@ -313,7 +313,7 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An
|
||||
|
||||
Drawable dr;
|
||||
if (drawableRes != 0) {
|
||||
dr = r.getDrawable(drawableRes);
|
||||
dr = r.getDrawable(drawableRes, theme);
|
||||
} else {
|
||||
while ((type=parser.next()) == XmlPullParser.TEXT) {
|
||||
// Empty
|
||||
|
||||
@@ -436,7 +436,7 @@ public class RotateDrawable extends Drawable implements Drawable.Callback {
|
||||
com.android.internal.R.styleable.RotateDrawable_drawable, 0);
|
||||
Drawable drawable = null;
|
||||
if (res > 0) {
|
||||
drawable = r.getDrawable(res);
|
||||
drawable = r.getDrawable(res, theme);
|
||||
}
|
||||
|
||||
a.recycle();
|
||||
|
||||
@@ -210,7 +210,7 @@ public class IconUtils {
|
||||
return pm.getDrawable(info.packageName, icon, info.applicationInfo);
|
||||
}
|
||||
} else {
|
||||
return context.getResources().getDrawable(icon);
|
||||
return context.getDrawable(icon);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
@@ -218,19 +218,17 @@ public class IconUtils {
|
||||
|
||||
public static Drawable loadMimeIcon(
|
||||
Context context, String mimeType, String authority, String docId, int mode) {
|
||||
final Resources res = context.getResources();
|
||||
|
||||
if (Document.MIME_TYPE_DIR.equals(mimeType)) {
|
||||
// TODO: eventually move these hacky assets into that package
|
||||
if ("com.android.providers.media.documents".equals(authority)
|
||||
&& docId.startsWith("album")) {
|
||||
return res.getDrawable(R.drawable.ic_doc_album);
|
||||
return context.getDrawable(R.drawable.ic_doc_album);
|
||||
}
|
||||
|
||||
if (mode == DocumentsActivity.State.MODE_GRID) {
|
||||
return res.getDrawable(R.drawable.ic_grid_folder);
|
||||
return context.getDrawable(R.drawable.ic_grid_folder);
|
||||
} else {
|
||||
return res.getDrawable(R.drawable.ic_doc_folder);
|
||||
return context.getDrawable(R.drawable.ic_doc_folder);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -238,16 +236,14 @@ public class IconUtils {
|
||||
}
|
||||
|
||||
public static Drawable loadMimeIcon(Context context, String mimeType) {
|
||||
final Resources res = context.getResources();
|
||||
|
||||
if (Document.MIME_TYPE_DIR.equals(mimeType)) {
|
||||
return res.getDrawable(R.drawable.ic_doc_folder);
|
||||
return context.getDrawable(R.drawable.ic_doc_folder);
|
||||
}
|
||||
|
||||
// Look for exact match first
|
||||
Integer resId = sMimeIcons.get(mimeType);
|
||||
if (resId != null) {
|
||||
return res.getDrawable(resId);
|
||||
return context.getDrawable(resId);
|
||||
}
|
||||
|
||||
if (mimeType == null) {
|
||||
@@ -258,15 +254,15 @@ public class IconUtils {
|
||||
// Otherwise look for partial match
|
||||
final String typeOnly = mimeType.split("/")[0];
|
||||
if ("audio".equals(typeOnly)) {
|
||||
return res.getDrawable(R.drawable.ic_doc_audio);
|
||||
return context.getDrawable(R.drawable.ic_doc_audio);
|
||||
} else if ("image".equals(typeOnly)) {
|
||||
return res.getDrawable(R.drawable.ic_doc_image);
|
||||
return context.getDrawable(R.drawable.ic_doc_image);
|
||||
} else if ("text".equals(typeOnly)) {
|
||||
return res.getDrawable(R.drawable.ic_doc_text);
|
||||
return context.getDrawable(R.drawable.ic_doc_text);
|
||||
} else if ("video".equals(typeOnly)) {
|
||||
return res.getDrawable(R.drawable.ic_doc_video);
|
||||
return context.getDrawable(R.drawable.ic_doc_video);
|
||||
} else {
|
||||
return res.getDrawable(R.drawable.ic_doc_generic);
|
||||
return context.getDrawable(R.drawable.ic_doc_generic);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -276,7 +272,7 @@ public class IconUtils {
|
||||
final TypedValue outValue = new TypedValue();
|
||||
context.getTheme().resolveAttribute(tintAttrId, outValue, true);
|
||||
|
||||
final Drawable icon = res.getDrawable(drawableId);
|
||||
final Drawable icon = context.getDrawable(drawableId);
|
||||
icon.mutate();
|
||||
icon.setTintList(res.getColorStateList(outValue.resourceId));
|
||||
return icon;
|
||||
|
||||
@@ -221,8 +221,7 @@ public class RecentsCreateFragment extends Fragment {
|
||||
final DocumentStack stack = getItem(position);
|
||||
iconMime.setImageDrawable(stack.root.loadIcon(context));
|
||||
|
||||
final Drawable crumb = context.getResources()
|
||||
.getDrawable(R.drawable.ic_breadcrumb_arrow);
|
||||
final Drawable crumb = context.getDrawable(R.drawable.ic_breadcrumb_arrow);
|
||||
crumb.setBounds(0, 0, crumb.getIntrinsicWidth(), crumb.getIntrinsicHeight());
|
||||
|
||||
final SpannableStringBuilder builder = new SpannableStringBuilder();
|
||||
|
||||
@@ -205,7 +205,7 @@ public class RootInfo implements Durable, Parcelable {
|
||||
|
||||
public Drawable loadIcon(Context context) {
|
||||
if (derivedIcon != 0) {
|
||||
return context.getResources().getDrawable(derivedIcon);
|
||||
return context.getDrawable(derivedIcon);
|
||||
} else {
|
||||
return IconUtils.loadPackageIcon(context, authority, icon);
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ public class PhoneAccount implements Parcelable {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
return packageContext.getResources().getDrawable(resId);
|
||||
return packageContext.getDrawable(resId);
|
||||
} catch (NotFoundException|MissingResourceException e) {
|
||||
Log.e(this, e, "Cannot find icon %d in package %s",
|
||||
resId, mAccountHandle.getComponentName().getPackageName());
|
||||
|
||||
@@ -121,7 +121,7 @@ public final class StatusHints implements Parcelable {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
return packageContext.getResources().getDrawable(resId);
|
||||
return packageContext.getDrawable(resId);
|
||||
} catch (MissingResourceException e) {
|
||||
Log.e(this, e, "Cannot find icon %d in package %s",
|
||||
resId, mComponentName.getPackageName());
|
||||
|
||||
Reference in New Issue
Block a user