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
This commit is contained in:
Nick Kralevich
2013-04-03 09:00:02 -07:00
parent 55cfcd7569
commit 1bcc3d691f

View File

@@ -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());