Home | History | Annotate | Download | only in aapt

Lines Matching defs:feature

470  * Represents a feature that has been automatically added due to
478 * Name of the implied feature.
488 * List of human-readable reasons for why this feature was implied.
493 struct Feature {
494 Feature() : required(false), version(-1) {}
495 explicit Feature(bool required, int32_t version = -1) : required(required), version(version) {}
498 * Whether the feature is required.
503 * What version of the feature is requested.
509 * Represents a <feature-group> tag in the AndroidManifest.xml
522 KeyedVector<String8, Feature> features;
548 ImpliedFeature* feature = &impliedFeatures->editValueAt(idx);
550 // A non-sdk 23 implied feature takes precedence.
551 if (feature
552 feature->impliedBySdk23 = false;
554 feature->reasons.add(reason);
559 printf("feature-group: label='%s'\n", grp.label.string());
567 const Feature& feature = grp.features[i];
568 const bool required = feature.required;
569 const int32_t version = feature.version;
572 printf(" uses-feature%s: name='%s'", (required ? "" : "-not-required"),
586 // The feature is explicitly set, no need to use implied
595 printf(" uses-feature%s: name='%s'\n", sdk23Suffix, printableFeatureName.string());
596 printf(" uses-implied-feature%s: name='%s' reason='", sdk23Suffix,
623 grp->features.add(String8("android.hardware.camera"), Feature(true));
626 grp->features.add(String8("android.hardware.location"), Feature(true));
628 grp->features.add(String8("android.hardware.faketouch"), Feature(true));
631 grp->features.add(String8("android.hardware.faketouch.multitouch"), Feature(true));
632 grp->features.add(String8("android.hardware.faketouch"), Feature(true));
634 grp->features.add(String8("android.hardware.touchscreen"), Feature(true));
637 grp->features.add(String8("android.hardware.touchscreen.multitouch"), Feature(true));
638 grp->features.add(String8("android.hardware.touchscreen"), Feature(true));
1056 // some new uses-feature constants in 2.1 and 2.2. In most cases, the
1058 // request the corresponding <uses-feature>, presume it's there anyway".
1514 } else if (tag == "feature-group") {
1525 feature") {
1549 commonFeatures.features.add(name, Feature(req != 0, version));
1891 } else if (withinFeatureGroup && tag == "uses-feature") {
1897 Feature feature(true);
1902 feature.version = featureVers;
1910 top.features.add(name, feature);
2108 // If the app hasn't declared the touchscreen as a feature requirement (either
2109 // directly or implied, required or not), then the faketouch feature is implied.
2112 String8("default feature for all apps"), false);
2117 // If no <feature-group> tags were defined, apply auto-implied features.
2121 // <feature-group> tags are defined, so we ignore implied features and
2129 // Merge the features defined in the top level (not inside a <feature-group>)
2130 // with this feature group.