summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorNick Kralevich <nnk@google.com>2013-04-03 09:00:02 -0700
committerNick Kralevich <nnk@google.com>2013-04-03 16:32:40 -0700
commit1bcc3d691fd1cb68abced62caf3024e2bb228561 (patch)
treed0a53d0ed98af85ef76ad74ae2e837f76c9b9be7 /tools
parent55cfcd75691581ffc4f88034711a2442db619a53 (diff)
downloadframeworks_base-1bcc3d691fd1cb68abced62caf3024e2bb228561.zip
frameworks_base-1bcc3d691fd1cb68abced62caf3024e2bb228561.tar.gz
frameworks_base-1bcc3d691fd1cb68abced62caf3024e2bb228561.tar.bz2
aapt: add support for optional uses-permission
Applications can request a permission with android:required="false". For example: <uses-permission android:name="android.permission.READ_PHONE_STATE" android:required="false" /> Make aapt understand such permissions. Bug: 8522021 Change-Id: I7d3af64e7c3eca608316d5bea19c4ea639dd2b7a
Diffstat (limited to 'tools')
-rw-r--r--tools/aapt/Command.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/aapt/Command.cpp b/tools/aapt/Command.cpp
index 84f5a5c..cadac02 100644
--- a/tools/aapt/Command.cpp
+++ b/tools/aapt/Command.cpp
@@ -592,6 +592,10 @@ int doDump(Bundle* bundle)
goto bail;
}
printf("uses-permission: %s\n", name.string());
+ int req = getIntegerAttribute(tree, REQUIRED_ATTR, NULL, 1);
+ if (!req) {
+ printf("optional-permission: %s\n", name.string());
+ }
}
}
} else if (strcmp("badging", option) == 0) {
@@ -1033,6 +1037,10 @@ int doDump(Bundle* bundle)
hasWriteCallLogPermission = true;
}
printf("uses-permission:'%s'\n", name.string());
+ int req = getIntegerAttribute(tree, REQUIRED_ATTR, NULL, 1);
+ if (!req) {
+ printf("optional-permission:'%s'\n", name.string());
+ }
} else {
fprintf(stderr, "ERROR getting 'android:name' attribute: %s\n",
error.string());