diff options
author | Nick Kralevich <nnk@google.com> | 2013-04-03 09:00:02 -0700 |
---|---|---|
committer | Nick Kralevich <nnk@google.com> | 2013-04-03 16:32:40 -0700 |
commit | 1bcc3d691fd1cb68abced62caf3024e2bb228561 (patch) | |
tree | d0a53d0ed98af85ef76ad74ae2e837f76c9b9be7 /tools | |
parent | 55cfcd75691581ffc4f88034711a2442db619a53 (diff) | |
download | frameworks_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.cpp | 8 |
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()); |