Tweak locking in launcher so mLock isn't held while the slow stuff happens.

Bug 2652948

Change-Id: I9d386395278830ead5deda17b8b09e0dcfeff989
This commit is contained in:
Joe Onorato
2010-05-04 12:12:41 -07:00
parent c15bd51dbf
commit fad1fb5ed4
2 changed files with 19 additions and 14 deletions

View File

@@ -100,24 +100,28 @@ public class IconCache {
}
public Bitmap getIcon(Intent intent) {
final ResolveInfo resolveInfo = mPackageManager.resolveActivity(intent, 0);
ComponentName component = intent.getComponent();
synchronized (mCache) {
final ResolveInfo resolveInfo = mPackageManager.resolveActivity(intent, 0);
ComponentName component = intent.getComponent();
if (resolveInfo == null || component == null) {
return mDefaultIcon;
if (resolveInfo == null || component == null) {
return mDefaultIcon;
}
CacheEntry entry = cacheLocked(component, resolveInfo);
return entry.icon;
}
CacheEntry entry = cacheLocked(component, resolveInfo);
return entry.icon;
}
public Bitmap getIcon(ComponentName component, ResolveInfo resolveInfo) {
if (resolveInfo == null || component == null) {
return null;
}
synchronized (mCache) {
if (resolveInfo == null || component == null) {
return null;
}
CacheEntry entry = cacheLocked(component, resolveInfo);
return entry.icon;
CacheEntry entry = cacheLocked(component, resolveInfo);
return entry.icon;
}
}
private CacheEntry cacheLocked(ComponentName componentName, ResolveInfo info) {