summaryrefslogtreecommitdiffstats
path: root/services/java
diff options
context:
space:
mode:
Diffstat (limited to 'services/java')
-rw-r--r--services/java/com/android/server/pm/PackageManagerService.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index a57f68d..177cf41 100644
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -5348,7 +5348,7 @@ public class PackageManagerService extends IPackageManager.Stub {
try {
out = ParcelFileDescriptor.open(codeFile, ParcelFileDescriptor.MODE_READ_WRITE);
} catch (FileNotFoundException e) {
- Slog.e(TAG, "Failed to create file descritpor for : " + codeFileName);
+ Slog.e(TAG, "Failed to create file descriptor for : " + codeFileName);
return PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE;
}
// Copy the resource now
@@ -5356,9 +5356,7 @@ public class PackageManagerService extends IPackageManager.Stub {
try {
mContext.grantUriPermission(DEFAULT_CONTAINER_PACKAGE, packageURI,
Intent.FLAG_GRANT_READ_URI_PERMISSION);
- if (imcs.copyResource(packageURI, out)) {
- ret = PackageManager.INSTALL_SUCCEEDED;
- }
+ ret = imcs.copyResource(packageURI, out);
} finally {
try { if (out != null) out.close(); } catch (IOException e) {}
mContext.revokeUriPermission(packageURI, Intent.FLAG_GRANT_READ_URI_PERMISSION);
@@ -5553,6 +5551,12 @@ public class PackageManagerService extends IPackageManager.Stub {
int copyApk(IMediaContainerService imcs, boolean temp) throws RemoteException {
if (temp) {
createCopyFile();
+ } else {
+ /*
+ * Pre-emptively destroy the container since it's destroyed if
+ * copying fails due to it existing anyway.
+ */
+ PackageHelper.destroySdDir(cid);
}
final String newCachePath;