diff options
author | Kenny Root <kroot@google.com> | 2012-05-02 16:56:15 -0700 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2012-05-02 17:09:57 -0700 |
commit | bf023589b3d9994f43823c7cb0450d278b084f9b (patch) | |
tree | 6ed973d10a584b68efd2efd6654953ab158538c4 /packages/DefaultContainerService/src/com | |
parent | e849230f444653e692024b4321044cb9f6188919 (diff) | |
download | frameworks_base-bf023589b3d9994f43823c7cb0450d278b084f9b.zip frameworks_base-bf023589b3d9994f43823c7cb0450d278b084f9b.tar.gz frameworks_base-bf023589b3d9994f43823c7cb0450d278b084f9b.tar.bz2 |
Fix some problems with ASECs
On devices that had external storage, permissions weren't set correctly
on non-forward-locked applications. Also, moving forward locked
applications didn't work since DefaultContainerService wasn't able to
read it.
Fixed some faulty unit tests as well.
Bug: 6427212
Change-Id: I5c1f0bf5278549069c78939f0708c4c43a7d4006
Diffstat (limited to 'packages/DefaultContainerService/src/com')
-rw-r--r-- | packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java b/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java index 3eec18c..c709e40 100644 --- a/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java +++ b/packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java @@ -311,6 +311,14 @@ public class DefaultContainerService extends IntentService { return null; } + try { + Libcore.os.chmod(resFile.getAbsolutePath(), 0640); + } catch (ErrnoException e) { + Slog.e(TAG, "Could not chown APK: " + e.getMessage()); + PackageHelper.destroySdDir(newCid); + return null; + } + if (isForwardLocked) { File publicZipFile = new File(newCachePath, publicResFileName); try { @@ -326,10 +334,9 @@ public class DefaultContainerService extends IntentService { } try { - Libcore.os.chmod(resFile.getAbsolutePath(), 0640); Libcore.os.chmod(publicZipFile.getAbsolutePath(), 0644); } catch (ErrnoException e) { - Slog.e(TAG, "Could not chown APK or resource file: " + e.getMessage()); + Slog.e(TAG, "Could not chown public resource file: " + e.getMessage()); PackageHelper.destroySdDir(newCid); return null; } |