resource flagging on xml elements
This removes xml elements that are behind disabled flags
Test: Automated
Bug: 329436914
Flag: EXEMPT Aconfig not supported on host tools
Change-Id: Ie8ede5796f9fd0cbaa7f6aa337ddbba1a5588dca
diff --git a/tools/aapt2/integration-tests/FlaggedResourcesTest/Android.bp b/tools/aapt2/integration-tests/FlaggedResourcesTest/Android.bp
index 4866d2c..c456e5c 100644
--- a/tools/aapt2/integration-tests/FlaggedResourcesTest/Android.bp
+++ b/tools/aapt2/integration-tests/FlaggedResourcesTest/Android.bp
@@ -30,12 +30,14 @@
"res/values/bools2.xml",
"res/values/ints.xml",
"res/values/strings.xml",
+ "res/layout/layout1.xml",
],
out: [
"values_bools.arsc.flat",
"values_bools2.arsc.flat",
"values_ints.arsc.flat",
"values_strings.arsc.flat",
+ "layout_layout1.xml.flat",
],
cmd: "$(location aapt2) compile $(in) -o $(genDir) " +
"--feature-flags test.package.falseFlag:ro=false,test.package.trueFlag:ro=true",
@@ -52,7 +54,10 @@
out: [
"resapp.apk",
],
- cmd: "$(location aapt2) link -o $(out) --manifest $(in)",
+ cmd: "$(location aapt2) link -o $(out) --manifest $(in) " +
+ "-I $(location :current_android_jar) " +
+ "--feature-flags test.package.falseFlag:ro=false,test.package.trueFlag:ro=true",
+ tool_files: [":current_android_jar"],
}
genrule {
@@ -66,7 +71,10 @@
out: [
"resource-flagging-java/com/android/intenal/flaggedresources/R.java",
],
- cmd: "$(location aapt2) link -o $(genDir)/resapp.apk --java $(genDir)/resource-flagging-java --manifest $(in)",
+ cmd: "$(location aapt2) link -o $(genDir)/resapp.apk --java $(genDir)/resource-flagging-java --manifest $(in) " +
+ "-I $(location :current_android_jar) " +
+ "--feature-flags test.package.falseFlag:ro=false,test.package.trueFlag:ro=true",
+ tool_files: [":current_android_jar"],
}
java_genrule {
diff --git a/tools/aapt2/integration-tests/FlaggedResourcesTest/res/layout/layout1.xml b/tools/aapt2/integration-tests/FlaggedResourcesTest/res/layout/layout1.xml
new file mode 100644
index 0000000..8b9ce13
--- /dev/null
+++ b/tools/aapt2/integration-tests/FlaggedResourcesTest/res/layout/layout1.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical" >
+
+ <TextView android:id="@+id/text1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"/>
+ <TextView android:id="@+id/disabled_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:featureFlag="test.package.falseFlag" />
+ <TextView android:id="@+id/text2"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:featureFlag="test.package.trueFlag" />
+</LinearLayout>
\ No newline at end of file
diff --git a/tools/aapt2/integration-tests/FlaggedResourcesTest/res/values/bools.xml b/tools/aapt2/integration-tests/FlaggedResourcesTest/res/values/bools.xml
index 3e094fb..1ed0c8a 100644
--- a/tools/aapt2/integration-tests/FlaggedResourcesTest/res/values/bools.xml
+++ b/tools/aapt2/integration-tests/FlaggedResourcesTest/res/values/bools.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <bool name="res1">true</bool>
- <bool name="res1" android:featureFlag="test.package.falseFlag">false</bool>
+ <bool name="bool1">true</bool>
+ <bool name="bool1" android:featureFlag="test.package.falseFlag">false</bool>
- <bool name="res2">false</bool>
- <bool name="res2" android:featureFlag="test.package.trueFlag">true</bool>
+ <bool name="bool2">false</bool>
+ <bool name="bool2" android:featureFlag="test.package.trueFlag">true</bool>
- <bool name="res3">false</bool>
+ <bool name="bool3">false</bool>
- <bool name="res4" android:featureFlag="test.package.falseFlag">true</bool>
+ <bool name="bool4" android:featureFlag="test.package.falseFlag">true</bool>
</resources>
\ No newline at end of file
diff --git a/tools/aapt2/integration-tests/FlaggedResourcesTest/res/values/bools2.xml b/tools/aapt2/integration-tests/FlaggedResourcesTest/res/values/bools2.xml
index e7563aa..248c45f 100644
--- a/tools/aapt2/integration-tests/FlaggedResourcesTest/res/values/bools2.xml
+++ b/tools/aapt2/integration-tests/FlaggedResourcesTest/res/values/bools2.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
- <bool name="res3" android:featureFlag="test.package.trueFlag">true</bool>
+ <bool name="bool3" android:featureFlag="test.package.trueFlag">true</bool>
</resources>
\ No newline at end of file