summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSuchi Amalapurapu <asuchitra@google.com>2010-02-08 23:55:56 -0800
committerSuchi Amalapurapu <asuchitra@google.com>2010-02-08 23:55:56 -0800
commit7040ce78666d3307521c6dc6d55c71ea90534a7e (patch)
tree51691643bd3d2b8c2b920d06a9cad1ffb0a2f3bf
parenta90cee8250f228518e7e458c1a4785d1fab5f37f (diff)
parent37a00a36fb69645695b1a165e2fd90cc3eb3e071 (diff)
downloadframeworks_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.java13
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;