AAPT: Don't imply specific location hardware for dump badging am: 43158773b4

am: 7f56759cfd

Change-Id: Id54d729793267634f1ade9073395ed6d6921ce60
This commit is contained in:
Adam Lesinski
2016-09-22 05:40:44 +00:00
committed by android-build-merger

View File

@@ -540,7 +540,7 @@ static bool hasFeature(const char* name, const FeatureGroup& grp,
}
static void addImpliedFeature(KeyedVector<String8, ImpliedFeature>* impliedFeatures,
const char* name, const char* reason, bool sdk23) {
const char* name, const String8& reason, bool sdk23) {
String8 name8(name);
ssize_t idx = impliedFeatures->indexOfKey(name8);
if (idx < 0) {
@@ -553,7 +553,7 @@ static void addImpliedFeature(KeyedVector<String8, ImpliedFeature>* impliedFeatu
if (feature->impliedBySdk23 && !sdk23) {
feature->impliedBySdk23 = false;
}
feature->reasons.add(String8(reason));
feature->reasons.add(reason);
}
static void printFeatureGroupImpl(const FeatureGroup& grp,
@@ -651,50 +651,58 @@ static void addImpliedFeaturesForPermission(const int targetSdk, const String8&
bool impliedBySdk23Permission) {
if (name == "android.permission.CAMERA") {
addImpliedFeature(impliedFeatures, "android.hardware.camera",
String8::format("requested %s permission", name.string())
.string(), impliedBySdk23Permission);
String8::format("requested %s permission", name.string()),
impliedBySdk23Permission);
} else if (name == "android.permission.ACCESS_FINE_LOCATION") {
addImpliedFeature(impliedFeatures, "android.hardware.location.gps",
String8::format("requested %s permission", name.string())
.string(), impliedBySdk23Permission);
if (targetSdk < SDK_LOLLIPOP) {
addImpliedFeature(impliedFeatures, "android.hardware.location.gps",
String8::format("requested %s permission", name.string()),
impliedBySdk23Permission);
addImpliedFeature(impliedFeatures, "android.hardware.location.gps",
String8::format("targetSdkVersion < %d", SDK_LOLLIPOP),
impliedBySdk23Permission);
}
addImpliedFeature(impliedFeatures, "android.hardware.location",
String8::format("requested %s permission", name.string())
.string(), impliedBySdk23Permission);
} else if (name == "android.permission.ACCESS_MOCK_LOCATION") {
addImpliedFeature(impliedFeatures, "android.hardware.location",
String8::format("requested %s permission", name.string())
.string(), impliedBySdk23Permission);
String8::format("requested %s permission", name.string()),
impliedBySdk23Permission);
} else if (name == "android.permission.ACCESS_COARSE_LOCATION") {
addImpliedFeature(impliedFeatures, "android.hardware.location.network",
String8::format("requested %s permission", name.string())
.string(), impliedBySdk23Permission);
if (targetSdk < SDK_LOLLIPOP) {
addImpliedFeature(impliedFeatures, "android.hardware.location.network",
String8::format("requested %s permission", name.string()),
impliedBySdk23Permission);
addImpliedFeature(impliedFeatures, "android.hardware.location.network",
String8::format("targetSdkVersion < %d", SDK_LOLLIPOP),
impliedBySdk23Permission);
}
addImpliedFeature(impliedFeatures, "android.hardware.location",
String8::format("requested %s permission", name.string())
.string(), impliedBySdk23Permission);
} else if (name == "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ||
String8::format("requested %s permission", name.string()),
impliedBySdk23Permission);
} else if (name == "android.permission.ACCESS_MOCK_LOCATION" ||
name == "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" ||
name == "android.permission.INSTALL_LOCATION_PROVIDER") {
addImpliedFeature(impliedFeatures, "android.hardware.location",
String8::format("requested %s permission", name.string())
.string(), impliedBySdk23Permission);
String8::format("requested %s permission", name.string()),
impliedBySdk23Permission);
} else if (name == "android.permission.BLUETOOTH" ||
name == "android.permission.BLUETOOTH_ADMIN") {
if (targetSdk > 4) {
if (targetSdk > SDK_DONUT) {
addImpliedFeature(impliedFeatures, "android.hardware.bluetooth",
String8::format("requested %s permission", name.string())
.string(), impliedBySdk23Permission);
String8::format("requested %s permission", name.string()),
impliedBySdk23Permission);
addImpliedFeature(impliedFeatures, "android.hardware.bluetooth",
"targetSdkVersion > 4", impliedBySdk23Permission);
String8::format("targetSdkVersion > %d", SDK_DONUT),
impliedBySdk23Permission);
}
} else if (name == "android.permission.RECORD_AUDIO") {
addImpliedFeature(impliedFeatures, "android.hardware.microphone",
String8::format("requested %s permission", name.string())
.string(), impliedBySdk23Permission);
String8::format("requested %s permission", name.string()),
impliedBySdk23Permission);
} else if (name == "android.permission.ACCESS_WIFI_STATE" ||
name == "android.permission.CHANGE_WIFI_STATE" ||
name == "android.permission.CHANGE_WIFI_MULTICAST_STATE") {
addImpliedFeature(impliedFeatures, "android.hardware.wifi",
String8::format("requested %s permission", name.string())
.string(), impliedBySdk23Permission);
String8::format("requested %s permission", name.string()),
impliedBySdk23Permission);
} else if (name == "android.permission.CALL_PHONE" ||
name == "android.permission.CALL_PRIVILEGED" ||
name == "android.permission.MODIFY_PHONE_STATE" ||
@@ -707,8 +715,8 @@ static void addImpliedFeaturesForPermission(const int targetSdk, const String8&
name == "android.permission.WRITE_APN_SETTINGS" ||
name == "android.permission.WRITE_SMS") {
addImpliedFeature(impliedFeatures, "android.hardware.telephony",
String8("requested a telephony permission").string(),
impliedBySdk23Permission);
String8("requested a telephony permission"),
impliedBySdk23Permission);
}
}
@@ -1659,18 +1667,18 @@ int doDump(Bundle* bundle)
if (error == "") {
if (orien == 0 || orien == 6 || orien == 8) {
// Requests landscape, sensorLandscape, or reverseLandscape.
addImpliedFeature(&impliedFeatures,
"android.hardware.screen.landscape",
"one or more activities have specified a "
"landscape orientation",
false);
addImpliedFeature(
&impliedFeatures, "android.hardware.screen.landscape",
String8("one or more activities have specified a "
"landscape orientation"),
false);
} else if (orien == 1 || orien == 7 || orien == 9) {
// Requests portrait, sensorPortrait, or reversePortrait.
addImpliedFeature(&impliedFeatures,
"android.hardware.screen.portrait",
"one or more activities have specified a "
"portrait orientation",
false);
addImpliedFeature(
&impliedFeatures, "android.hardware.screen.portrait",
String8("one or more activities have specified a "
"portrait orientation"),
false);
}
}
} else if (tag == "uses-library") {
@@ -2026,7 +2034,7 @@ int doDump(Bundle* bundle)
// directly or implied, required or not), then the faketouch feature is implied.
if (!hasFeature("android.hardware.touchscreen", commonFeatures, impliedFeatures)) {
addImpliedFeature(&impliedFeatures, "android.hardware.faketouch",
"default feature for all apps", false);
String8("default feature for all apps"), false);
}
const size_t numFeatureGroups = featureGroups.size();