summaryrefslogtreecommitdiff
path: root/tools/aapt/ResourceTable.cpp
diff options
context:
space:
mode:
authorAdam Lesinski <adamlesinski@google.com>2017-02-08 14:07:19 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-02-08 14:07:22 +0000
commitaf463961bc44c53fe35fe184a93b55d07273a676 (patch)
tree2532e5693888c4e59f2d501650b2af7277ed27e1 /tools/aapt/ResourceTable.cpp
parent0ebe2d1b0dca82cadbce2fad5eff32c7d498d1f6 (diff)
parentfa1e9d7ad0e3f5b7fce37dbdc3f5ad889274ee43 (diff)
Merge "AAPT: Fix --feature-of to allow non-public symbol visibility"
Diffstat (limited to 'tools/aapt/ResourceTable.cpp')
-rw-r--r--tools/aapt/ResourceTable.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index 63498f7cef08..ff306ce5be6b 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -2204,8 +2204,10 @@ uint32_t ResourceTable::getResId(const String16& package,
package.string(), package.size(),
&specFlags);
if (rid != 0) {
- if (onlyPublic) {
- if ((specFlags & ResTable_typeSpec::SPEC_PUBLIC) == 0) {
+ if (onlyPublic && (specFlags & ResTable_typeSpec::SPEC_PUBLIC) == 0) {
+ // If this is a feature split and the resource has the same
+ // package name as us, then everything is public.
+ if (mPackageType != AppFeature || mAssetsPackage != package) {
return 0;
}
}