summaryrefslogtreecommitdiffstats
path: root/core/java/android/content/pm/ApplicationInfo.java
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2010-03-30 23:49:17 -0700
committerJeff Brown <jeffbrown@google.com>2010-03-30 23:49:17 -0700
commit767225d8206adf4db968f3fa86d9ebb107a12067 (patch)
tree140c2a0f460d096a0c031c2007d357610a297aa0 /core/java/android/content/pm/ApplicationInfo.java
parent2e41ffe7cfc9cb7666224217c38d46ccca57ca1a (diff)
parentd9ee01a95c8d9e785a48f1b1cb5245c8b12e444d (diff)
downloadframeworks_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.java32
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;
+ }
}