summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2012-06-12 12:41:36 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-06-12 12:41:36 -0700
commit6892f1ec9670432f1cab71813592077bea991a8b (patch)
tree13dfe731323f7a32f0854d54da80aa8d3f54f438
parent19e046c4d2f11e6ed5d324122996080942e94569 (diff)
parent0f6471ace77387560988964ed0679f843bba6f1f (diff)
downloadframeworks_base-6892f1ec9670432f1cab71813592077bea991a8b.zip
frameworks_base-6892f1ec9670432f1cab71813592077bea991a8b.tar.gz
frameworks_base-6892f1ec9670432f1cab71813592077bea991a8b.tar.bz2
am 0f6471ac: Merge "Fix issue #6641368: can\'t launch gallery" into jb-dev
* commit '0f6471ace77387560988964ed0679f843bba6f1f': Fix issue #6641368: can't launch gallery
-rw-r--r--core/java/android/content/pm/PackageParser.java6
-rw-r--r--tools/aapt/Command.cpp4
2 files changed, 8 insertions, 2 deletions
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index b9811c8..f8898c1 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -127,9 +127,13 @@ public class PackageParser {
*/
public static final PackageParser.SplitPermissionInfo SPLIT_PERMISSIONS[] =
new PackageParser.SplitPermissionInfo[] {
+ // READ_EXTERNAL_STORAGE is always required when an app requests
+ // WRITE_EXTERNAL_STORAGE, because we can't have an app that has
+ // write access without read access. The hack here with the target
+ // target SDK version ensures that this grant is always done.
new PackageParser.SplitPermissionInfo(android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
new String[] { android.Manifest.permission.READ_EXTERNAL_STORAGE },
- android.os.Build.VERSION_CODES.JELLY_BEAN),
+ android.os.Build.VERSION_CODES.CUR_DEVELOPMENT+1),
new PackageParser.SplitPermissionInfo(android.Manifest.permission.READ_CONTACTS,
new String[] { android.Manifest.permission.READ_CALL_LOG },
android.os.Build.VERSION_CODES.JELLY_BEAN),
diff --git a/tools/aapt/Command.cpp b/tools/aapt/Command.cpp
index d428fef..0a5e590 100644
--- a/tools/aapt/Command.cpp
+++ b/tools/aapt/Command.cpp
@@ -1204,7 +1204,9 @@ int doDump(Bundle* bundle)
}
// If the application has requested WRITE_EXTERNAL_STORAGE, we will
- // force them to always take READ_EXTERNAL_STORAGE as well.
+ // force them to always take READ_EXTERNAL_STORAGE as well. We always
+ // do this (regardless of target API version) because we can't have
+ // an app with write permission but not read permission.
if (!hasReadExternalStoragePermission && hasWriteExternalStoragePermission) {
printf("uses-permission:'android.permission.READ_EXTERNAL_STORAGE'\n");
printf("uses-implied-permission:'android.permission.READ_EXTERNAL_STORAGE'," \