summaryrefslogtreecommitdiff
path: root/tools/aapt/ResourceTable.cpp
diff options
context:
space:
mode:
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 661409e3d4bc..b9bf7991edb3 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;
}
}