diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/Installer.java | 67 |
1 files changed, 48 insertions, 19 deletions
diff --git a/services/core/java/com/android/server/pm/Installer.java b/services/core/java/com/android/server/pm/Installer.java index 17bdd10684bf..d8f6b80970c0 100644 --- a/services/core/java/com/android/server/pm/Installer.java +++ b/services/core/java/com/android/server/pm/Installer.java @@ -112,25 +112,44 @@ public final class Installer extends SystemService { } } - public void restoreconAppData(String uuid, String pkgname, int userid, int flags, int appid, - String seinfo) throws InstallerException { - mInstaller.execute("restorecon_app_data", uuid, pkgname, userid, flags, appid, - seinfo); + public void restoreconAppData(String uuid, String packageName, int userId, int flags, int appId, + String seInfo) throws InstallerException { + checkLock(); + try { + mInstalld.restoreconAppData(uuid, packageName, userId, flags, appId, seInfo); + } catch (RemoteException | ServiceSpecificException e) { + throw new InstallerException(e.getMessage()); + } } - public void migrateAppData(String uuid, String pkgname, int userid, int flags) + public void migrateAppData(String uuid, String packageName, int userId, int flags) throws InstallerException { - mInstaller.execute("migrate_app_data", uuid, pkgname, userid, flags); + checkLock(); + try { + mInstalld.migrateAppData(uuid, packageName, userId, flags); + } catch (RemoteException | ServiceSpecificException e) { + throw new InstallerException(e.getMessage()); + } } - public void clearAppData(String uuid, String pkgname, int userid, int flags, long ceDataInode) - throws InstallerException { - mInstaller.execute("clear_app_data", uuid, pkgname, userid, flags, ceDataInode); + public void clearAppData(String uuid, String packageName, int userId, int flags, + long ceDataInode) throws InstallerException { + checkLock(); + try { + mInstalld.clearAppData(uuid, packageName, userId, flags, ceDataInode); + } catch (RemoteException | ServiceSpecificException e) { + throw new InstallerException(e.getMessage()); + } } - public void destroyAppData(String uuid, String pkgname, int userid, int flags, long ceDataInode) - throws InstallerException { - mInstaller.execute("destroy_app_data", uuid, pkgname, userid, flags, ceDataInode); + public void destroyAppData(String uuid, String packageName, int userId, int flags, + long ceDataInode) throws InstallerException { + checkLock(); + try { + mInstalld.destroyAppData(uuid, packageName, userId, flags, ceDataInode); + } catch (RemoteException | ServiceSpecificException e) { + throw new InstallerException(e.getMessage()); + } } public void moveCompleteApp(String fromUuid, String toUuid, String packageName, @@ -158,13 +177,13 @@ public final class Installer extends SystemService { } } - public long getAppDataInode(String uuid, String pkgname, int userid, int flags) + public long getAppDataInode(String uuid, String packageName, int userId, int flags) throws InstallerException { - final String[] res = mInstaller.execute("get_app_data_inode", uuid, pkgname, userid, flags); + checkLock(); try { - return Long.parseLong(res[1]); - } catch (ArrayIndexOutOfBoundsException | NumberFormatException e) { - throw new InstallerException("Invalid inode result: " + Arrays.toString(res)); + return mInstalld.getAppDataInode(uuid, packageName, userId, flags); + } catch (RemoteException | ServiceSpecificException e) { + throw new InstallerException(e.getMessage()); } } @@ -218,11 +237,21 @@ public final class Installer extends SystemService { public void createUserData(String uuid, int userId, int userSerial, int flags) throws InstallerException { - mInstaller.execute("create_user_data", uuid, userId, userSerial, flags); + checkLock(); + try { + mInstalld.createUserData(uuid, userId, userSerial, flags); + } catch (RemoteException | ServiceSpecificException e) { + throw new InstallerException(e.getMessage()); + } } public void destroyUserData(String uuid, int userId, int flags) throws InstallerException { - mInstaller.execute("destroy_user_data", uuid, userId, flags); + checkLock(); + try { + mInstalld.destroyUserData(uuid, userId, flags); + } catch (RemoteException | ServiceSpecificException e) { + throw new InstallerException(e.getMessage()); + } } public void markBootComplete(String instructionSet) throws InstallerException { |