Support multiple UsesConfiguration in proto format.
Bug: b/260704482
Test: Dump_test
Change-Id: If3b3574356957a18263272286b5eaea2465d9e62
diff --git a/tools/aapt2/ApkInfo.proto b/tools/aapt2/ApkInfo.proto
index 80bdccb..b5ff71f 100644
--- a/tools/aapt2/ApkInfo.proto
+++ b/tools/aapt2/ApkInfo.proto
@@ -40,7 +40,8 @@
PackageInfo package = 1;
Application application = 2;
UsesSdk uses_sdk = 3;
- UsesConfiguration uses_configuration = 4;
+ // Previously: UsesConfiguration uses_configuration = 4;
+ reserved 4;
SupportsScreen supports_screen = 5;
SupportsInput supports_input = 6;
LaunchableActivity launchable_activity = 7;
@@ -57,6 +58,8 @@
repeated string locales = 17;
repeated int32 densities = 18;
+ repeated UsesPackage uses_packages = 51;
+ repeated UsesConfiguration uses_configurations = 52;
repeated FeatureGroup feature_groups = 53;
repeated UsesPermission uses_permissions = 54;
repeated Permission permissions = 55;
@@ -64,7 +67,6 @@
repeated UsesStaticLibrary uses_static_libraries = 57;
repeated UsesSdkLibrary uses_sdk_libraries = 58;
repeated UsesNativeLibrary uses_native_libraries = 59;
- repeated UsesPackage uses_packages = 51;
repeated Metadata metadata = 62;
repeated Property properties = 63;
diff --git a/tools/aapt2/dump/DumpManifest.cpp b/tools/aapt2/dump/DumpManifest.cpp
index d60869a..76a6db6 100644
--- a/tools/aapt2/dump/DumpManifest.cpp
+++ b/tools/aapt2/dump/DumpManifest.cpp
@@ -901,7 +901,7 @@
}
void ToProto(pb::Badging* out_badging) override {
- auto out_configuration = out_badging->mutable_uses_configuration();
+ auto out_configuration = out_badging->add_uses_configurations();
out_configuration->set_req_touch_screen(req_touch_screen);
out_configuration->set_req_keyboard_type(req_keyboard_type);
out_configuration->set_req_hard_keyboard(req_hard_keyboard);
diff --git a/tools/aapt2/integration-tests/DumpTest/components_expected_proto.txt b/tools/aapt2/integration-tests/DumpTest/components_expected_proto.txt
index 4aed4af..456a5a7 100644
--- a/tools/aapt2/integration-tests/DumpTest/components_expected_proto.txt
+++ b/tools/aapt2/integration-tests/DumpTest/components_expected_proto.txt
@@ -40,13 +40,6 @@
min_sdk_version: 21
target_sdk_version: 31
}
- uses_configuration {
- req_touch_screen: 3
- req_keyboard_type: 2
- req_hard_keyboard: -1
- req_navigation: 3
- req_five_way_nav: -1
- }
supports_screen {
screens: NORMAL
screens: LARGE
@@ -101,6 +94,13 @@
densities: 480
densities: 640
densities: 65534
+ uses_configurations {
+ req_touch_screen: 3
+ req_keyboard_type: 2
+ req_hard_keyboard: -1
+ req_navigation: 3
+ req_five_way_nav: -1
+ }
feature_groups {
features {
name: "android.hardware.bluetooth"
diff --git a/tools/aapt2/integration-tests/DumpTest/components_full_proto.txt b/tools/aapt2/integration-tests/DumpTest/components_full_proto.txt
index c783f47..a7e8353 100644
--- a/tools/aapt2/integration-tests/DumpTest/components_full_proto.txt
+++ b/tools/aapt2/integration-tests/DumpTest/components_full_proto.txt
@@ -40,13 +40,6 @@
min_sdk_version: 21
target_sdk_version: 31
}
- uses_configuration {
- req_touch_screen: 3
- req_keyboard_type: 2
- req_hard_keyboard: -1
- req_navigation: 3
- req_five_way_nav: -1
- }
supports_screen {
screens: NORMAL
screens: LARGE
@@ -101,6 +94,13 @@
densities: 480
densities: 640
densities: 65534
+ uses_configurations {
+ req_touch_screen: 3
+ req_keyboard_type: 2
+ req_hard_keyboard: -1
+ req_navigation: 3
+ req_five_way_nav: -1
+ }
feature_groups {
features {
name: "android.hardware.bluetooth"