diff options
author | Jeff Brown <jeffbrown@google.com> | 2010-03-30 23:49:17 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2010-03-30 23:49:17 -0700 |
commit | 767225d8206adf4db968f3fa86d9ebb107a12067 (patch) | |
tree | 140c2a0f460d096a0c031c2007d357610a297aa0 /core/java/android/content/pm/ApplicationInfo.java | |
parent | 2e41ffe7cfc9cb7666224217c38d46ccca57ca1a (diff) | |
parent | d9ee01a95c8d9e785a48f1b1cb5245c8b12e444d (diff) | |
download | frameworks_base-767225d8206adf4db968f3fa86d9ebb107a12067.zip frameworks_base-767225d8206adf4db968f3fa86d9ebb107a12067.tar.gz frameworks_base-767225d8206adf4db968f3fa86d9ebb107a12067.tar.bz2 |
resolved conflicts for merge of d9ee01a9 to kraken
Change-Id: I645177513e6dfa4b3b02c0061b8026bde4acde8d
Diffstat (limited to 'core/java/android/content/pm/ApplicationInfo.java')
-rw-r--r-- | core/java/android/content/pm/ApplicationInfo.java | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java index ae38af6..023f9c4 100644 --- a/core/java/android/content/pm/ApplicationInfo.java +++ b/core/java/android/content/pm/ApplicationInfo.java @@ -16,6 +16,9 @@ package android.content.pm; +import android.content.pm.PackageManager.NameNotFoundException; +import android.content.res.Resources; +import android.graphics.drawable.Drawable; import android.os.Parcel; import android.os.Parcelable; import android.util.Printer; @@ -506,7 +509,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { */ public CharSequence loadDescription(PackageManager pm) { if (descriptionRes != 0) { - CharSequence label = pm.getText(packageName, descriptionRes, null); + CharSequence label = pm.getText(packageName, descriptionRes, this); if (label != null) { return label; } @@ -524,4 +527,31 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { FLAG_SUPPORTS_SMALL_SCREENS | FLAG_RESIZEABLE_FOR_SCREENS | FLAG_SUPPORTS_SCREEN_DENSITIES); } + + /** + * @hide + */ + @Override protected Drawable loadDefaultIcon(PackageManager pm) { + if ((flags & FLAG_EXTERNAL_STORAGE) != 0 + && isPackageUnavailable(pm)) { + return Resources.getSystem().getDrawable( + com.android.internal.R.drawable.sym_app_on_sd_unavailable_icon); + } + return pm.getDefaultActivityIcon(); + } + + private boolean isPackageUnavailable(PackageManager pm) { + try { + return pm.getPackageInfo(packageName, 0) == null; + } catch (NameNotFoundException ex) { + return true; + } + } + + /** + * @hide + */ + @Override protected ApplicationInfo getApplicationInfo() { + return this; + } } |