下面列出了android.content.pm.LauncherActivityInfo#getComponentName() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Adds an entry into the DB and the in-memory cache.
* @param replaceExisting if true, it will recreate the bitmap even if it already exists in
* the memory. This is useful then the previous bitmap was created using
* old data.
*/
@Thunk private synchronized void addIconToDBAndMemCache(LauncherActivityInfo app,
PackageInfo info, long userSerial, boolean replaceExisting) {
final ComponentKey key = new ComponentKey(app.getComponentName(), app.getUser());
CacheEntry entry = null;
if (!replaceExisting) {
entry = mCache.get(key);
// We can't reuse the entry if the high-res icon is not present.
if (entry == null || entry.isLowResIcon || entry.icon == null) {
entry = null;
}
}
if (entry == null) {
entry = new CacheEntry();
entry.icon = LauncherIcons.createBadgedIconBitmap(getFullResIcon(app), app.getUser(),
mContext, app.getApplicationInfo().targetSdkVersion);
}
entry.title = app.getLabel();
entry.contentDescription = mUserManager.getBadgedLabelForUser(entry.title, app.getUser());
mCache.put(key, entry);
Bitmap lowResIcon = generateLowResIcon(entry.icon, mActivityBgColor);
ContentValues values = newContentValues(entry.icon, lowResIcon, entry.title.toString(),
app.getApplicationInfo().packageName);
addIconToDB(values, app.getComponentName(), info, userSerial);
}
public void addCustomInfoToDataBase(Drawable icon, ItemInfo info, CharSequence title) {
LauncherActivityInfo app = mLauncherApps.resolveActivity(info.getIntent(), info.user);
final ComponentKey key = new ComponentKey(app.getComponentName(), app.getUser());
CacheEntry entry = mCache.get(key);
PackageInfo packageInfo = null;
try {
packageInfo = mPackageManager.getPackageInfo(
app.getComponentName().getPackageName(), 0);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
// We can't reuse the entry if the high-res icon is not present.
if (entry == null || entry.isLowResIcon || entry.icon == null) {
entry = new CacheEntry();
}
entry.icon = LauncherIcons.createIconBitmap(icon, mContext);
entry.title = title != null ? title : app.getLabel();
entry.contentDescription = mUserManager.getBadgedLabelForUser(entry.title, app.getUser());
mCache.put(key, entry);
Bitmap lowResIcon = generateLowResIcon(entry.icon, mActivityBgColor);
ContentValues values = newContentValues(entry.icon, lowResIcon, entry.title.toString(),
app.getApplicationInfo().packageName);
if (packageInfo != null) {
addIconToDB(values, app.getComponentName(), packageInfo,
mUserManager.getSerialNumberForUser(app.getUser()));
}
}
public AppInfo(LauncherActivityInfo info, UserHandle user, boolean quietModeEnabled) {
this.componentName = info.getComponentName();
this.container = ItemInfo.NO_ID;
this.user = user;
if (PackageManagerHelper.isAppSuspended(info.getApplicationInfo())) {
isDisabled |= ShortcutInfo.FLAG_DISABLED_SUSPENDED;
}
if (quietModeEnabled) {
isDisabled |= ShortcutInfo.FLAG_DISABLED_QUIET_USER;
}
intent = makeLaunchIntent(info);
}
ShortcutConfigActivityInfoVO(LauncherActivityInfo info) {
super(info.getComponentName(), info.getUser());
mInfo = info;
}
public CacheEntry getCacheEntry(LauncherActivityInfo app) {
final ComponentKey key = new ComponentKey(app.getComponentName(), app.getUser());
return mCache.get(key);
}