UserHandle user = new UserHandle(manager.getSerialNumberForUser(profile), profile); for (LauncherActivityInfo activityInfo : launcher.getActivityList(null, profile)) { ApplicationInfo appInfo = activityInfo.getApplicationInfo(); String id = user.addUserSuffixToString(pojoScheme + appInfo.packageName + "/" + activityInfo.getName(), '/'); AppPojo app = new AppPojo(id, appInfo.packageName, activityInfo.getName(), user); app.setName(activityInfo.getLabel().toString());
public ComponentName getComponentName() { return mLauncherActivityInfo.getComponentName(); }
public Drawable getIcon(int density) { return mLauncherActivityInfo.getIcon(density); }
ShortcutConfigActivityInfoVO(LauncherActivityInfo info) { super(info.getComponentName(), info.getUser()); mInfo = info; }
/** * 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); }
ComponentName cn = info.getComponentName(); String component = cn.flattenToString(); if (!iconPackChanged && DatabaseHelper.hasApp(Apps.this, component)) { continue; String name = info.getLabel().toString(); if (name == null) { name = component; writeIconToFile(iconFile, info.getIcon(0), component);
iconStyle = getRoundIcon(mContext, info.getApplicationInfo().packageName, iconDpi); break; case ROUND_COLORFUL: Bitmap defaultIcon = mIconsManager.getDrawableIconForPackage(info.getComponentName()); Bitmap round = BoardUtils.createRoundIcon(mContext, defaultIcon); iconStyle = new BitmapDrawable(mContext.getResources(), round); String packageName = info.getApplicationInfo().packageName; ActivityInfo activityInfo = mPackageManager.getActivityInfo(info.getComponentName(), PackageManager.GET_META_DATA | uninstalled); Bundle metaData = activityInfo.metaData; return drawable != null ? drawable : info.getIcon(iconDpi);
public ApplicationInfo getApplicationInfo() { return mLauncherActivityInfo.getApplicationInfo(); }
getFullResIcon(info), info.getUser(), mContext, infoProvider.get().getApplicationInfo().targetSdkVersion); } else { if (usePackageIcon) { entry.title = info.getLabel(); entry.contentDescription = mUserManager.getBadgedLabelForUser(entry.title, user);
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); }
public CharSequence getLabel() { return mLauncherActivityInfo.getLabel(); }
/** * Initializes a PendingInstallShortcutInfo to represent a launcher target. */ PendingInstallShortcutInfo(LauncherActivityInfo info, Context context) { activityInfo = info; shortcutInfo = null; providerInfo = null; data = null; user = info.getUser(); mContext = context; launchIntent = AppInfo.makeLaunchIntent(info); label = info.getLabel().toString(); }
public Drawable getIcon(int density, IconPackHelper helper) { if (helper != null && helper.isIconPackLoaded()) { int iconId = helper.getResourceIdForActivityIcon(mLauncherActivityInfo.getComponentName().getPackageName(), mLauncherActivityInfo.getComponentName().getClassName()); if (iconId != 0) { isThemed = true; return helper.getIconPackResources().getDrawableForDensity(iconId, density); } } return mLauncherActivityInfo.getIcon(density); }
String packageName = info.getComponentName().getPackageName(); newPackageSet.add(packageName); packagesRemoved.remove(packageName); oldPackageSet.add(packageName); packagesAdded.add(new LauncherActivityInstallInfo( info, info.getFirstInstallTime()));
public long getFirstInstallTime() { return mLauncherActivityInfo.getFirstInstallTime(); } }
public UserHandleCompat getUser() { return UserHandleCompat.fromUser(mLauncherActivityInfo.getUser()); }
private Drawable getDefaultAppDrawable(ComponentName componentName, UserHandle userHandle) { try { if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { LauncherApps launcher = (LauncherApps) ctx.getSystemService(Context.LAUNCHER_APPS_SERVICE); LauncherActivityInfo info = launcher.getActivityList(componentName.getPackageName(), userHandle.getRealHandle()).get(0); return info.getBadgedIcon(0); } else { return pm.getActivityIcon(componentName); } } catch (NameNotFoundException | IndexOutOfBoundsException e) { Log.e(TAG, "Unable to found component " + componentName.toString() + e); return null; } }
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 ApplicationInfo getApplicationInfo() { return mLauncherActivityInfo.getApplicationInfo(); }
/** * @return the component name that should be uninstalled or null. */ private static ComponentName getUninstallTarget(Context context, Object item) { Intent intent = null; UserHandle user = null; if (item instanceof AppInfo) { AppInfo info = (AppInfo) item; intent = info.intent; user = info.user; } else if (item instanceof ShortcutInfo) { ShortcutInfo info = (ShortcutInfo) item; if (info.itemType == LauncherSettings.BaseLauncherColumns.ITEM_TYPE_APPLICATION) { // Do not use restore/target intent here as we cannot uninstall an app which is // being installed/restored. intent = info.intent; user = info.user; } } if (intent != null) { LauncherActivityInfo info = LauncherAppsCompat.getInstance(context) .resolveActivity(intent, user); if (info != null && (info.getApplicationInfo().flags & ApplicationInfo.FLAG_SYSTEM) == 0) { return info.getComponentName(); } } return null; }