@Override public int[] getPackageInstalledUsers(String packageName) { PackageSetting ps = PackageCacheManager.getSetting(packageName); if (ps != null) { IntArray installedUsers = new IntArray(5); int[] userIds = VUserManagerService.get().getUserIds(); for (int userId : userIds) { if (ps.readUserState(userId).installed) { installedUsers.add(userId); } } return installedUsers.getAll(); } return new int[0]; }
private void uninstallPackageFully(PackageSetting ps) { String packageName = ps.packageName; try { BroadcastSystem.get().stopApp(packageName); VActivityManagerService.get().killAppByPkg(packageName, VUserHandle.USER_ALL); VEnvironment.getPackageResourcePath(packageName).delete(); FileUtils.deleteDir(VEnvironment.getDataAppPackageDirectory(packageName)); VEnvironment.getOdexFile(packageName).delete(); for (int id : VUserManagerService.get().getUserIds()) { FileUtils.deleteDir(VEnvironment.getDataUserPackageDirectory(id, packageName)); FileUtils.deleteDir(VEnvironment.getVirtualPrivateStorageDir(id, packageName)); } PackageCacheManager.remove(packageName); } catch (Exception e) { e.printStackTrace(); } finally { notifyAppUninstalled(ps, -1); } }
ps.firstInstallTime = installTime; ps.lastUpdateTime = installTime; for (int userId : VUserManagerService.get().getUserIds()) { boolean installed = userId == 0; ps.setUserState(userId, false/*launched*/, false/*hidden*/, installed);
@Override public boolean clearPackage(String packageName) throws RemoteException { try { BroadcastSystem.get().stopApp(packageName); VActivityManagerService.get().killAppByPkg(packageName, VUserHandle.USER_ALL); for (int id : VUserManagerService.get().getUserIds()) { FileUtils.deleteDir(VEnvironment.getDataUserPackageDirectory(id, packageName)); FileUtils.deleteDir(VEnvironment.getVirtualPrivateStorageDir(id, packageName)); } return true; } catch (Exception e) { return false; } }
private void cleanUpResidualFiles(PackageSetting ps) { File dataAppDir = VEnvironment.getDataAppPackageDirectory(ps.packageName); FileUtils.deleteDir(dataAppDir); for (int userId : VUserManagerService.get().getUserIds()) { FileUtils.deleteDir(VEnvironment.getDataUserPackageDirectory(userId, ps.packageName)); } }
@Override public int[] getPackageInstalledUsers(String packageName) { PackageSetting ps = PackageCacheManager.getSetting(packageName); if (ps != null) { IntArray installedUsers = new IntArray(5); int[] userIds = VUserManagerService.get().getUserIds(); for (int userId : userIds) { if (ps.readUserState(userId).installed) { installedUsers.add(userId); } } return installedUsers.getAll(); } return new int[0]; }
@Override public int[] getPackageInstalledUsers(String packageName) { PackageSetting ps = PackageCacheManager.getSetting(packageName); if (ps != null) { IntArray installedUsers = new IntArray(5); int[] userIds = VUserManagerService.get().getUserIds(); for (int userId : userIds) { if (ps.readUserState(userId).installed) { installedUsers.add(userId); } } return installedUsers.getAll(); } return new int[0]; }
private void uninstallPackageFully(PackageSetting ps) { String packageName = ps.packageName; try { BroadcastSystem.get().stopApp(packageName); VActivityManagerService.get().killAppByPkg(packageName, VUserHandle.USER_ALL); VEnvironment.getPackageResourcePath(packageName).delete(); FileUtils.deleteDir(VEnvironment.getDataAppPackageDirectory(packageName)); VEnvironment.getOdexFile(packageName).delete(); for (int id : VUserManagerService.get().getUserIds()) { FileUtils.deleteDir(VEnvironment.getDataUserPackageDirectory(id, packageName)); } PackageCacheManager.remove(packageName); } catch (Exception e) { e.printStackTrace(); } finally { notifyAppUninstalled(ps, -1); } }
private void uninstallPackageFully(PackageSetting ps) { String packageName = ps.packageName; try { BroadcastSystem.get().stopApp(packageName); VActivityManagerService.get().killAppByPkg(packageName, VUserHandle.USER_ALL); VEnvironment.getPackageResourcePath(packageName).delete(); FileUtils.deleteDir(VEnvironment.getDataAppPackageDirectory(packageName)); VEnvironment.getOdexFile(packageName).delete(); for (int id : VUserManagerService.get().getUserIds()) { FileUtils.deleteDir(VEnvironment.getDataUserPackageDirectory(id, packageName)); FileUtils.deleteDir(VEnvironment.getVirtualPrivateStorageDir(id, packageName)); } PackageCacheManager.remove(packageName); } catch (Exception e) { e.printStackTrace(); } finally { notifyAppUninstalled(ps, -1); } }
ps.firstInstallTime = installTime; ps.lastUpdateTime = installTime; for (int userId : VUserManagerService.get().getUserIds()) { boolean installed = userId == 0; ps.setUserState(userId, false/*launched*/, false/*hidden*/, installed);
ps.firstInstallTime = installTime; ps.lastUpdateTime = installTime; for (int userId : VUserManagerService.get().getUserIds()) { boolean installed = userId == 0; ps.setUserState(userId, false/*launched*/, false/*hidden*/, installed);
@Override public boolean clearPackage(String packageName) throws RemoteException { try { BroadcastSystem.get().stopApp(packageName); VActivityManagerService.get().killAppByPkg(packageName, VUserHandle.USER_ALL); for (int id : VUserManagerService.get().getUserIds()) { FileUtils.deleteDir(VEnvironment.getDataUserPackageDirectory(id, packageName)); FileUtils.deleteDir(VEnvironment.getVirtualPrivateStorageDir(id, packageName)); } return true; } catch (Exception e) { return false; } }