From: Dianne Hackborn Date: Fri, 28 Aug 2009 03:08:01 +0000 (-0700) Subject: Add platform infrastructure for features. X-Git-Url: https://git.saurik.com/android/aapt.git/commitdiff_plain/826ff9a61f638e4ec2d6891bc421ec7f92882cdf Add platform infrastructure for features. This introduces a new mechanism to define features associated with a platform, query the current device for the available features, and enforce that apps requiring features that aren't available can't be installed. Also now allows uses-library to specify that a library is optional, so the lack of such a library will not prevent the app from being installed (but if it does exist it will be correctly linked into the app). Change-Id: I5b369b46cfa0b3d37c9e08fd14ef1098a978e67b --- diff --git a/Command.cpp b/Command.cpp index f4afd7f..790b474 100644 --- a/Command.cpp +++ b/Command.cpp @@ -730,8 +730,6 @@ int doDump(Bundle* bundle) } else if (tag == "uses-permission") { String8 name = getAttribute(tree, NAME_ATTR, &error); if (error == "") { - int opt = getIntegerAttribute(tree, - REQUIRED_ATTR, NULL, 1); if (name == "android.permission.CAMERA") { hasCameraPermission = true; } @@ -772,7 +770,10 @@ int doDump(Bundle* bundle) fprintf(stderr, "ERROR getting 'android:name' attribute for uses-library: %s\n", error.string()); goto bail; } - printf("uses-library:'%s'\n", libraryName.string()); + int req = getIntegerAttribute(tree, + REQUIRED_ATTR, NULL, 1); + printf("uses-library%s:'%s'\n", + req ? "" : "-not-required", libraryName.string()); } else if (tag == "receiver") { withinReceiver = true; receiverName = getAttribute(tree, NAME_ATTR, &error);