Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4d219da3 authored by Adam Lesinski's avatar Adam Lesinski
Browse files

AAPT: Fix feature split generation of ID resources

ID resources that get generated on demand with the
notation @+id/name were previously not given the
appropriate type ID offset when being built as feature
splits.

This change declares an ID type ahead of time so that
the type ID offset is applied before IDs can be generated.

Bug:30607637
Change-Id: I122a9133cb01b35e9892103ec52fc228dc65bf1a
parent 76af6055
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2623,6 +2623,14 @@ status_t ResourceTable::assignResourceIds()
        const SourcePos unknown(String8("????"), 0);
        sp<Type> attr = p->getType(String16("attr"), unknown);

        // Force creation of ID if we are building feature splits.
        // Auto-generated ID resources won't apply the type ID offset correctly unless
        // the offset is applied here first.
        // b/30607637
        if (mPackageType == AppFeature && p->getName() == mAssetsPackage) {
            sp<Type> id = p->getType(String16("id"), unknown);
        }

        // Assign indices...
        const size_t typeCount = p->getOrderedTypes().size();
        for (size_t ti = 0; ti < typeCount; ti++) {