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

Commit 60d3089a authored by Sam Mortimer's avatar Sam Mortimer
Browse files

Bring back aapt -x <pkgid>

This was removed upstream.  Bring it back so that
lineage-sdk can use pkg id 0x3f.

Change-Id: Icff77c6a062206b9d5ce27477639bf04a968f109
parent ac140d44
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ public:
    Bundle(void)
        : mCmd(kCommandUnknown), mVerbose(false), mAndroidList(false),
          mForce(false), mGrayscaleTolerance(0), mMakePackageDirs(false),
          mUpdate(false), mExtending(false),
          mUpdate(false), mExtending(false), mExtendedPackageId(0),
          mRequireLocalization(false), mPseudolocalize(NO_PSEUDOLOCALIZATION),
          mWantUTF16(false), mValues(false), mIncludeMetaData(false),
          mCompressionMethod(0), mJunkPath(false), mOutputAPKFile(NULL),
@@ -96,6 +96,8 @@ public:
    void setUpdate(bool val) { mUpdate = val; }
    bool getExtending(void) const { return mExtending; }
    void setExtending(bool val) { mExtending = val; }
    int getExtendedPackageId(void) const { return mExtendedPackageId; }
    void setExtendedPackageId(int val) { mExtendedPackageId = val; }
    bool getRequireLocalization(void) const { return mRequireLocalization; }
    void setRequireLocalization(bool val) { mRequireLocalization = val; }
    short getPseudolocalize(void) const { return mPseudolocalize; }
@@ -289,6 +291,7 @@ private:
    bool        mMakePackageDirs;
    bool        mUpdate;
    bool        mExtending;
    int         mExtendedPackageId;
    bool        mRequireLocalization;
    short       mPseudolocalize;
    bool        mWantUTF16;
+11 −2
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
#include <cstdlib>
#include <getopt.h>
#include <cassert>
#include <ctype.h>

using namespace android;

@@ -57,7 +58,7 @@ void usage(void)
        "   xmltree          Print the compiled xmls in the given assets.\n"
        "   xmlstrings       Print the strings of the given compiled xml assets.\n\n", gProgName);
    fprintf(stderr,
        " %s p[ackage] [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml] \\\n"
        " %s p[ackage] [-d][-f][-m][-u][-v][-x[ extending-resource-id]][-z][-M AndroidManifest.xml] \\\n"
        "        [-0 extension [-0 extension ...]] [-g tolerance] [-j jarfile] \\\n"
        "        [--debug-mode] [--min-sdk-version VAL] [--target-sdk-version VAL] \\\n"
        "        [--app-version VAL] [--app-version-name TEXT] [--custom-package VAL] \\\n"
@@ -116,7 +117,7 @@ void usage(void)
        "   -m  make package directories under location specified by -J\n"
        "   -u  update existing packages (add new, replace older, remove deleted files)\n"
        "   -v  verbose output\n"
        "   -x  create extending (non-application) resource IDs\n"
        "   -x  either create or assign (if specified) extending (non-application) resource IDs\n"
        "   -z  require localization of resource attributes marked with\n"
        "       localization=\"suggested\"\n"
        "   -A  additional directory in which to find raw asset files\n"
@@ -357,6 +358,14 @@ int main(int argc, char* const argv[])
                break;
            case 'x':
                bundle.setExtending(true);
                argc--;
                argv++;
                if (!argc || !isdigit(argv[0][0])) {
                    argc++;
                    argv--;
                } else {
                    bundle.setExtendedPackageId(atoi(argv[0]));
                }
                break;
            case 'z':
                bundle.setRequireLocalization(true);
+2 −1
Original line number Diff line number Diff line
@@ -1258,7 +1258,8 @@ status_t buildResources(Bundle* bundle, const sp<AaptAssets>& assets, sp<ApkBuil
        packageType = ResourceTable::AppFeature;
    }

    ResourceTable table(bundle, String16(assets->getPackage()), packageType);
    ResourceTable table(bundle, String16(assets->getPackage()), packageType,
            bundle->getExtendedPackageId());
    err = table.addIncludedResources(bundle, assets);
    if (err != NO_ERROR) {
        return err;
+6 −1
Original line number Diff line number Diff line
@@ -1775,7 +1775,7 @@ status_t compileResourceFile(Bundle* bundle,
    return hasErrors ? STATUST(UNKNOWN_ERROR) : NO_ERROR;
}

ResourceTable::ResourceTable(Bundle* bundle, const String16& assetsPackage, ResourceTable::PackageType type)
ResourceTable::ResourceTable(Bundle* bundle, const String16& assetsPackage, ResourceTable::PackageType type, ssize_t pkgIdOverride)
    : mAssetsPackage(assetsPackage)
    , mPackageType(type)
    , mTypeIdOffset(0)
@@ -1801,6 +1801,11 @@ ResourceTable::ResourceTable(Bundle* bundle, const String16& assetsPackage, Reso
            assert(0);
            break;
    }

    if (pkgIdOverride != 0) {
        packageId = pkgIdOverride;
    }

    sp<Package> package = new Package(mAssetsPackage, packageId);
    mPackages.add(assetsPackage, package);
    mOrderedPackages.add(package);
+2 −1
Original line number Diff line number Diff line
@@ -112,7 +112,8 @@ public:
                                                const ConfigDescription& sourceConfig,
                                                const int sdkVersionToGenerate);

    ResourceTable(Bundle* bundle, const String16& assetsPackage, PackageType type);
    ResourceTable(Bundle* bundle, const String16& assetsPackage, PackageType type,
                  ssize_t pkgIdOverride);

    const String16& getAssetsPackage() const {
        return mAssetsPackage;