diff options
author | Suchi Amalapurapu <asuchitra@google.com> | 2010-02-08 23:55:56 -0800 |
---|---|---|
committer | Suchi Amalapurapu <asuchitra@google.com> | 2010-02-08 23:55:56 -0800 |
commit | 7040ce78666d3307521c6dc6d55c71ea90534a7e (patch) | |
tree | 51691643bd3d2b8c2b920d06a9cad1ffb0a2f3bf | |
parent | a90cee8250f228518e7e458c1a4785d1fab5f37f (diff) | |
parent | 37a00a36fb69645695b1a165e2fd90cc3eb3e071 (diff) | |
download | frameworks_base-7040ce78666d3307521c6dc6d55c71ea90534a7e.zip frameworks_base-7040ce78666d3307521c6dc6d55c71ea90534a7e.tar.gz frameworks_base-7040ce78666d3307521c6dc6d55c71ea90534a7e.tar.bz2 |
resolved conflicts for merge of 37a00a36 to master
-rw-r--r-- | services/java/com/android/server/PackageManagerService.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java index f7e3cea..f27ef8e 100644 --- a/services/java/com/android/server/PackageManagerService.java +++ b/services/java/com/android/server/PackageManagerService.java @@ -2111,6 +2111,12 @@ class PackageManagerService extends IPackageManager.Stub { File file = new File(dir, files[i]); PackageParser.Package pkg = scanPackageLI(file, flags|PackageParser.PARSE_MUST_BE_APK, scanMode); + // Don't mess around with apps in system partition. + if (pkg == null && (flags & PackageParser.PARSE_IS_SYSTEM) == 0) { + // Delete the apk + Log.w(TAG, "Cleaning up failed install of " + file); + file.delete(); + } } } @@ -2353,6 +2359,13 @@ class PackageManagerService extends IPackageManager.Stub { private PackageParser.Package scanPackageLI( PackageParser.Package pkg, int parseFlags, int scanMode) { File scanFile = new File(pkg.mScanPath); + if (scanFile == null || pkg.applicationInfo.sourceDir == null || + pkg.applicationInfo.publicSourceDir == null) { + // Bail out. The resource and code paths haven't been set. + Log.w(TAG, " Code and resource paths haven't been set correctly"); + mLastScanError = PackageManager.INSTALL_FAILED_INVALID_APK; + return null; + } mScanningPath = scanFile; if (pkg == null) { mLastScanError = PackageManager.INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME; |