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); } } }
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); } } }
boolean success = VirtualCore.get().installPackageAsUser(nextUserId, info.packageName); if (!success) { throw new IllegalStateException();
boolean success = VirtualCore.get().installPackageAsUser(nextUserId, info.packageName); if (!success) { throw new IllegalStateException();