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

Commit 2bf92530 authored by Adam Lesinski's avatar Adam Lesinski Committed by Android (Google) Code Review
Browse files

Merge "First commit of split-select tool" into lmp-mr1-dev

parents 68335df6 40e8eefb
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -1141,9 +1141,10 @@ bail:
ssize_t AaptAssets::slurpFullTree(Bundle* bundle, const String8& srcDir,
ssize_t AaptAssets::slurpFullTree(Bundle* bundle, const String8& srcDir,
                                    const AaptGroupEntry& kind,
                                    const AaptGroupEntry& kind,
                                    const String8& resType,
                                    const String8& resType,
                                    sp<FilePathStore>& fullResPaths)
                                    sp<FilePathStore>& fullResPaths,
                                    const bool overwrite)
{
{
    ssize_t res = AaptDir::slurpFullTree(bundle, srcDir, kind, resType, fullResPaths);
    ssize_t res = AaptDir::slurpFullTree(bundle, srcDir, kind, resType, fullResPaths, overwrite);
    if (res > 0) {
    if (res > 0) {
        mGroupEntries.add(kind);
        mGroupEntries.add(kind);
    }
    }
+2 −1
Original line number Original line Diff line number Diff line
@@ -591,7 +591,8 @@ private:
                                  const String8& srcDir,
                                  const String8& srcDir,
                                  const AaptGroupEntry& kind,
                                  const AaptGroupEntry& kind,
                                  const String8& resType,
                                  const String8& resType,
                                  sp<FilePathStore>& fullResPaths);
                                  sp<FilePathStore>& fullResPaths,
                                  const bool overwrite=false);


    ssize_t slurpResourceTree(Bundle* bundle, const String8& srcDir);
    ssize_t slurpResourceTree(Bundle* bundle, const String8& srcDir);
    ssize_t slurpResourceZip(Bundle* bundle, const char* filename);
    ssize_t slurpResourceZip(Bundle* bundle, const char* filename);
+3 −0
Original line number Original line Diff line number Diff line
@@ -28,10 +28,12 @@ struct ConfigDescription : public android::ResTable_config {
        memset(this, 0, sizeof(*this));
        memset(this, 0, sizeof(*this));
        size = sizeof(android::ResTable_config);
        size = sizeof(android::ResTable_config);
    }
    }

    ConfigDescription(const android::ResTable_config&o) {
    ConfigDescription(const android::ResTable_config&o) {
        *static_cast<android::ResTable_config*>(this) = o;
        *static_cast<android::ResTable_config*>(this) = o;
        size = sizeof(android::ResTable_config);
        size = sizeof(android::ResTable_config);
    }
    }

    ConfigDescription(const ConfigDescription&o) {
    ConfigDescription(const ConfigDescription&o) {
        *static_cast<android::ResTable_config*>(this) = o;
        *static_cast<android::ResTable_config*>(this) = o;
    }
    }
@@ -41,6 +43,7 @@ struct ConfigDescription : public android::ResTable_config {
        size = sizeof(android::ResTable_config);
        size = sizeof(android::ResTable_config);
        return *this;
        return *this;
    }
    }

    ConfigDescription& operator=(const ConfigDescription& o) {
    ConfigDescription& operator=(const ConfigDescription& o) {
        *static_cast<android::ResTable_config*>(this) = o;
        *static_cast<android::ResTable_config*>(this) = o;
        return *this;
        return *this;
+2 −4
Original line number Original line Diff line number Diff line
@@ -9,8 +9,6 @@
#include <utils/Log.h>
#include <utils/Log.h>
#include "ResourceIdCache.h"
#include "ResourceIdCache.h"
#include <map>
#include <map>
using namespace std;



static size_t mHits = 0;
static size_t mHits = 0;
static size_t mMisses = 0;
static size_t mMisses = 0;
@@ -29,7 +27,7 @@ struct CacheEntry {
    CacheEntry(const android::String16& name, uint32_t resId) : hashedName(name), id(resId) { }
    CacheEntry(const android::String16& name, uint32_t resId) : hashedName(name), id(resId) { }
};
};


static map< uint32_t, CacheEntry > mIdMap;
static std::map< uint32_t, CacheEntry > mIdMap;




// djb2; reasonable choice for strings when collisions aren't particularly important
// djb2; reasonable choice for strings when collisions aren't particularly important
@@ -63,7 +61,7 @@ uint32_t ResourceIdCache::lookup(const android::String16& package,
        bool onlyPublic) {
        bool onlyPublic) {
    const String16 hashedName = makeHashableName(package, type, name, onlyPublic);
    const String16 hashedName = makeHashableName(package, type, name, onlyPublic);
    const uint32_t hashcode = hash(hashedName);
    const uint32_t hashcode = hash(hashedName);
    map<uint32_t, CacheEntry>::iterator item = mIdMap.find(hashcode);
    std::map<uint32_t, CacheEntry>::iterator item = mIdMap.find(hashcode);
    if (item == mIdMap.end()) {
    if (item == mIdMap.end()) {
        // cache miss
        // cache miss
        mMisses++;
        mMisses++;
+83 −0
Original line number Original line Diff line number Diff line
/*
 * Copyright (C) 2014 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "Abi.h"

namespace split {
namespace abi {

static const std::vector<Variant> sNoneVariants = {};
static const std::vector<Variant> sArmVariants =
        {Variant::armeabi, Variant::armeabi_v7a, Variant::arm64_v8a};
static const std::vector<Variant> sIntelVariants = {Variant::x86, Variant::x86_64};
static const std::vector<Variant> sMipsVariants = {Variant::mips, Variant::mips64};

Family getFamily(Variant variant) {
    switch (variant) {
        case Variant::none:
            return Family::none;
        case Variant::armeabi:
        case Variant::armeabi_v7a:
        case Variant::arm64_v8a:
            return Family::arm;
        case Variant::x86:
        case Variant::x86_64:
            return Family::intel;
        case Variant::mips:
        case Variant::mips64:
            return Family::mips;
    }
    return Family::none;
}

const std::vector<Variant>& getVariants(Family family) {
    switch (family) {
        case Family::none:
            return sNoneVariants;
        case Family::arm:
            return sArmVariants;
        case Family::intel:
            return sIntelVariants;
        case Family::mips:
            return sMipsVariants;
    }
    return sNoneVariants;
}

const char* toString(Variant variant) {
    switch (variant) {
        case Variant::none:
            return "";
        case Variant::armeabi:
            return "armeabi";
        case Variant::armeabi_v7a:
            return "armeabi-v7a";
        case Variant::arm64_v8a:
            return "arm64-v8a";
        case Variant::x86:
            return "x86";
        case Variant::x86_64:
            return "x86_64";
        case Variant::mips:
            return "mips";
        case Variant::mips64:
            return "mips64";
    }
    return "";
}

} // namespace abi
} // namespace split
Loading