private static void installPackages(List<String> list, int userId) { VirtualCore core = VirtualCore.get(); for (String packageName : list) { if (core.isAppInstalledAsUser(userId, packageName)) { continue; } ApplicationInfo info = null; try { info = VirtualCore.get().getUnHookPackageManager().getApplicationInfo(packageName, 0); } catch (PackageManager.NameNotFoundException e) { // Ignore } if (info == null || info.sourceDir == null) { continue; } if (userId == 0) { core.installPackage(info.sourceDir, InstallStrategy.DEPEND_SYSTEM_IF_EXIST); } else { core.installPackageAsUser(userId, packageName); } } }
public static void addGmsSupport() { List<String> gApps = new ArrayList<>(); gApps.addAll(GmsSupport.GOOGLE_APP); gApps.addAll(GmsSupport.GOOGLE_SERVICE); VirtualCore core = VirtualCore.get(); final int userId = 0; ArrayList<AppInfoLite> toInstalled = new ArrayList<>(); for (String packageName : gApps) { if (core.isAppInstalledAsUser(userId, packageName)) { continue; } ApplicationInfo info = null; try { info = VirtualCore.get().getUnHookPackageManager().getApplicationInfo(packageName, 0); } catch (PackageManager.NameNotFoundException e) { // Ignore } if (info == null || info.sourceDir == null) { continue; } AppInfoLite lite = new AppInfoLite(info.packageName, info.sourceDir, false, true); toInstalled.add(lite); } startInstallerActivity(VirtualCore.get().getContext(), toInstalled); } }
private static void installPackages(List<String> list, int userId) { VirtualCore core = VirtualCore.get(); for (String packageName : list) { if (core.isAppInstalledAsUser(userId, packageName)) { continue; } ApplicationInfo info = null; try { info = VirtualCore.get().getUnHookPackageManager().getApplicationInfo(packageName, 0); } catch (PackageManager.NameNotFoundException e) { // Ignore } if (info == null || info.sourceDir == null) { continue; } if (userId == 0) { core.installPackage(info.sourceDir, InstallStrategy.DEPEND_SYSTEM_IF_EXIST); } else { core.installPackageAsUser(userId, packageName); } } }
private static void installPackages(List<String> list, int userId) { VirtualCore core = VirtualCore.get(); for (String packageName : list) { if (core.isAppInstalledAsUser(userId, packageName)) { continue; } ApplicationInfo info = null; try { info = VirtualCore.get().getUnHookPackageManager().getApplicationInfo(packageName, 0); } catch (PackageManager.NameNotFoundException e) { // Ignore } if (info == null || info.sourceDir == null) { continue; } if (userId == 0) { core.installPackage(info.sourceDir, InstallStrategy.DEPEND_SYSTEM_IF_EXIST); } else { core.installPackageAsUser(userId, packageName); } } }
@Override public Promise<List<AppData>, Throwable, Void> getVirtualApps() { return VUiKit.defer().when(() -> { List<InstalledAppInfo> infos = VirtualCore.get().getInstalledApps(0); List<AppData> models = new ArrayList<>(); for (InstalledAppInfo info : infos) { if (!VirtualCore.get().isPackageLaunchable(info.packageName)) { continue; } PackageAppData data = new PackageAppData(mContext, info); if (VirtualCore.get().isAppInstalledAsUser(0, info.packageName)) { models.add(data); } int[] userIds = info.getInstalledUsers(); for (int userId : userIds) { if (userId != 0) { models.add(new MultiplePackageAppData(data, userId)); } } } return models; }); }
@Override public Promise<List<AppData>, Throwable, Void> getVirtualApps() { return VUiKit.defer().when(() -> { List<InstalledAppInfo> infos = VirtualCore.get().getInstalledApps(0); List<AppData> models = new ArrayList<>(); for (InstalledAppInfo info : infos) { if (!VirtualCore.get().isPackageLaunchable(info.packageName)) { continue; } PackageAppData data = new PackageAppData(mContext, info); if (VirtualCore.get().isAppInstalledAsUser(0, info.packageName)) { models.add(data); } int[] userIds = info.getInstalledUsers(); for (int userId : userIds) { if (userId != 0) { models.add(new MultiplePackageAppData(data, userId)); } } } return models; }); }