AAPT2: Process <java-symbols> and private symbol package

Need to introduce the idea of multiple levels of visibility to support <java-symbol>.

Public, Private, Undefined.

Public means it is accessible from outside and requires an ID assigned.
Private means that we explicitly want this to be a symbol (show up in R.java), but not visible
to other packages. No ID required.

Undefined is any normal resource. When --private-symbols is specified in the link phase,
these resources will not show up in R.java.

Change-Id: Icba89221e08e685dee7683786aa7112baf28c856
diff --git a/tools/aapt2/test/Builders.h b/tools/aapt2/test/Builders.h
index 0d8d8b5..0383c44 100644
--- a/tools/aapt2/test/Builders.h
+++ b/tools/aapt2/test/Builders.h
@@ -87,8 +87,9 @@
 
     ResourceTableBuilder& addValue(const StringPiece16& name, ResourceId id,
                                    const ConfigDescription& config, std::unique_ptr<Value> value) {
-        bool result = mTable->addResource(parseNameOrDie(name), id, config, {}, std::move(value),
-                                          &mDiagnostics);
+        ResourceName resName = parseNameOrDie(name);
+        bool result = mTable->addResourceAllowMangled(resName, id, config, {}, std::move(value),
+                                                      &mDiagnostics);
         assert(result);
         return *this;
     }