libandroidfw: Make tests less flaky

Changing any of the test APKs could change resource IDs.
The resource IDs are all made public and assigned an ID
to avoid this issue.
Test: make libandroidfw_tests

Change-Id: Idd17c25f4ac86a0ad5b2b8da6f968e5d9b2346c1
diff --git a/libs/androidfw/tests/Split_test.cpp b/libs/androidfw/tests/Split_test.cpp
index 1f207e2..2c242db 100644
--- a/libs/androidfw/tests/Split_test.cpp
+++ b/libs/androidfw/tests/Split_test.cpp
@@ -165,7 +165,7 @@
                                     &specFlags, NULL);
   EXPECT_GE(block, 0);
 
-  EXPECT_EQ(static_cast<uint32_t>(0), specFlags);
+  EXPECT_EQ(static_cast<uint32_t>(ResTable_typeSpec::SPEC_PUBLIC), specFlags);
 
   ASSERT_EQ(NO_ERROR, table.add(basic_de_fr_contents_.data(),
                                 basic_de_fr_contents_.size()));
@@ -173,9 +173,10 @@
   uint32_t frSpecFlags = 0;
   block = table.getResource(R::string::test1, &val, MAY_NOT_BE_BAG, 0,
                             &frSpecFlags, NULL);
-  EXPECT_GE(block, 0);
+  ASSERT_GE(block, 0);
 
-  EXPECT_EQ(ResTable_config::CONFIG_LOCALE, frSpecFlags);
+  EXPECT_EQ(static_cast<uint32_t>(ResTable_config::CONFIG_LOCALE | ResTable_typeSpec::SPEC_PUBLIC),
+            frSpecFlags);
 }
 
 TEST_F(SplitTest, SelectBestDensity) {
@@ -222,7 +223,7 @@
             table.add(feature_contents_.data(), feature_contents_.size()));
 
   block = table.getResource(R::string::test3, &val, MAY_NOT_BE_BAG);
-  EXPECT_GE(block, 0);
+  ASSERT_GE(block, 0);
 
   EXPECT_EQ(Res_value::TYPE_STRING, val.dataType);
 }
diff --git a/libs/androidfw/tests/data/basic/basic.apk b/libs/androidfw/tests/data/basic/basic.apk
index 2d71f5b..2c9771b 100644
--- a/libs/androidfw/tests/data/basic/basic.apk
+++ b/libs/androidfw/tests/data/basic/basic.apk
Binary files differ
diff --git a/libs/androidfw/tests/data/basic/basic_de_fr.apk b/libs/androidfw/tests/data/basic/basic_de_fr.apk
index 69a2f30..0481444 100644
--- a/libs/androidfw/tests/data/basic/basic_de_fr.apk
+++ b/libs/androidfw/tests/data/basic/basic_de_fr.apk
Binary files differ
diff --git a/libs/androidfw/tests/data/basic/basic_hdpi-v4.apk b/libs/androidfw/tests/data/basic/basic_hdpi-v4.apk
index 011808b..a8d06e7 100644
--- a/libs/androidfw/tests/data/basic/basic_hdpi-v4.apk
+++ b/libs/androidfw/tests/data/basic/basic_hdpi-v4.apk
Binary files differ
diff --git a/libs/androidfw/tests/data/basic/basic_xhdpi-v4.apk b/libs/androidfw/tests/data/basic/basic_xhdpi-v4.apk
index 6d4353c..d1dfb14 100644
--- a/libs/androidfw/tests/data/basic/basic_xhdpi-v4.apk
+++ b/libs/androidfw/tests/data/basic/basic_xhdpi-v4.apk
Binary files differ
diff --git a/libs/androidfw/tests/data/basic/basic_xxhdpi-v4.apk b/libs/androidfw/tests/data/basic/basic_xxhdpi-v4.apk
index e3bda88..dca6f2f 100644
--- a/libs/androidfw/tests/data/basic/basic_xxhdpi-v4.apk
+++ b/libs/androidfw/tests/data/basic/basic_xxhdpi-v4.apk
Binary files differ
diff --git a/libs/androidfw/tests/data/basic/build b/libs/androidfw/tests/data/basic/build
index 68b911a..af0fd87 100755
--- a/libs/androidfw/tests/data/basic/build
+++ b/libs/androidfw/tests/data/basic/build
@@ -17,6 +17,6 @@
 
 set -e
 
-PATH_TO_FRAMEWORK_RES=$(gettop)/prebuilts/sdk/current/android.jar
+PATH_TO_FRAMEWORK_RES=${ANDROID_BUILD_TOP}/prebuilts/sdk/current/android.jar
 
 aapt package -M AndroidManifest.xml -S res -I $PATH_TO_FRAMEWORK_RES --split hdpi --split xhdpi --split xxhdpi --split fr,de -F basic.apk -f
diff --git a/libs/androidfw/tests/data/basic/res/values/values.xml b/libs/androidfw/tests/data/basic/res/values/values.xml
index 75e0435..11f6b8a 100644
--- a/libs/androidfw/tests/data/basic/res/values/values.xml
+++ b/libs/androidfw/tests/data/basic/res/values/values.xml
@@ -15,24 +15,40 @@
 -->
 
 <resources>
+    <public type="attr" name="attr1" id="0x7f010000" />
     <attr name="attr1" format="reference|integer" />
+
+    <public type="attr" name="attr2" id="0x7f010001" />
     <attr name="attr2" format="reference|integer" />
 
+    <public type="layout" name="main" id="0x7f020000" />
+
+    <public type="string" name="test1" id="0x7f030000" />
     <string name="test1">test1</string>
+
+    <public type="string" name="test2" id="0x7f030001" />
     <string name="test2">test2</string>
 
+    <public type="string" name="density" id="0x7f030002" />
+
+    <public type="integer" name="number1" id="0x7f040000" />
     <integer name="number1">200</integer>
+
+    <public type="integer" name="number2" id="0x7f040001" />
     <integer name="number2">@array/integerArray1</integer>
 
+    <public type="style" name="Theme1" id="0x7f050000" />
     <style name="Theme1">
         <item name="com.android.basic:attr1">100</item>
         <item name="com.android.basic:attr2">@integer/number1</item>
     </style>
 
+    <public type="style" name="Theme2" id="0x7f050001" />
     <style name="Theme2" parent="@com.android.basic:style/Theme1">
         <item name="com.android.basic:attr1">300</item>
     </style>
 
+    <public type="array" name="integerArray1" id="0x7f060000" />
     <integer-array name="integerArray1">
         <item>1</item>
         <item>2</item>
diff --git a/libs/androidfw/tests/data/feature/build b/libs/androidfw/tests/data/feature/build
index 3316e41..6ed3e41 100755
--- a/libs/androidfw/tests/data/feature/build
+++ b/libs/androidfw/tests/data/feature/build
@@ -17,4 +17,6 @@
 
 set -e
 
-aapt package -M AndroidManifest.xml -S res --feature-of ../basic/basic.apk -F feature.apk -f
+PATH_TO_FRAMEWORK_RES=${ANDROID_BUILD_TOP}/prebuilts/sdk/current/android.jar
+
+aapt package -M AndroidManifest.xml -S res -I $PATH_TO_FRAMEWORK_RES --feature-of ../basic/basic.apk -F feature.apk -f
diff --git a/libs/androidfw/tests/data/feature/feature.apk b/libs/androidfw/tests/data/feature/feature.apk
index 1e65c27..04940fb 100644
--- a/libs/androidfw/tests/data/feature/feature.apk
+++ b/libs/androidfw/tests/data/feature/feature.apk
Binary files differ
diff --git a/libs/androidfw/tests/data/feature/res/values/values.xml b/libs/androidfw/tests/data/feature/res/values/values.xml
index 343fd6c..59f7d93 100644
--- a/libs/androidfw/tests/data/feature/res/values/values.xml
+++ b/libs/androidfw/tests/data/feature/res/values/values.xml
@@ -15,8 +15,13 @@
 -->
 
 <resources>
+    <!-- Features are offset, so 7f020000 will become 7f080000 at runtime. -->
+    <public type="string" name="test3" id="0x7f020000" />
     <string name="test3">test3</string>
+
+    <public type="string" name="test4" id="0x7f020001" />
     <string name="test4">test4</string>
 
+    <public type="integer" name="number3" id="0x7f030000" />
     <integer name="number3">200</integer>
 </resources>