summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/pm/Installer.java67
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 {