Preventing multiple calls to loadLabel for the same info within a single load.
- Fixing mind boggling bug where we weren't even using the label cache earlier.
Change-Id: I605abf4d589ad02b2426d20adfe9cd1773cc84fd
diff --git a/src/com/android/launcher2/ApplicationInfo.java b/src/com/android/launcher2/ApplicationInfo.java
index ac571ea..1fc1d1f 100644
--- a/src/com/android/launcher2/ApplicationInfo.java
+++ b/src/com/android/launcher2/ApplicationInfo.java
@@ -19,12 +19,13 @@
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.pm.ResolveInfo;
import android.graphics.Bitmap;
import android.util.Log;
import java.util.ArrayList;
+import java.util.HashMap;
/**
* Represents an app in AllAppsView.
@@ -66,7 +67,8 @@
/**
* Must not hold the Context.
*/
- public ApplicationInfo(PackageManager pm, ResolveInfo info, IconCache iconCache) {
+ public ApplicationInfo(PackageManager pm, ResolveInfo info, IconCache iconCache,
+ HashMap<Object, CharSequence> labelCache) {
final String packageName = info.activityInfo.applicationInfo.packageName;
this.componentName = new ComponentName(packageName, info.activityInfo.name);
@@ -88,9 +90,9 @@
Log.d(TAG, "PackageManager.getApplicationInfo failed for " + packageName);
}
- iconCache.getTitleAndIcon(this, info);
+ iconCache.getTitleAndIcon(this, info, labelCache);
}
-
+
public ApplicationInfo(ApplicationInfo info) {
super(info);
componentName = info.componentName;