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

Commit 63377406 authored by Adam Lesinski's avatar Adam Lesinski Committed by Android Git Automerger
Browse files

am 8e5362f2: am 503071ae: am a2b5067a: Merge "RRO: prevent duplicate system overlays"

* commit '8e5362f2':
  RRO: prevent duplicate system overlays
parents 8e8a24d7 8e5362f2
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -236,9 +236,11 @@ public:
private:
private:
    struct asset_path
    struct asset_path
    {
    {
        asset_path() : path(""), type(kFileTypeRegular), idmap(""), isSystemOverlay(false) {}
        String8 path;
        String8 path;
        FileType type;
        FileType type;
        String8 idmap;
        String8 idmap;
        bool isSystemOverlay;
    };
    };


    Asset* openInPathLocked(const char* fileName, AccessMode mode,
    Asset* openInPathLocked(const char* fileName, AccessMode mode,
+6 −0
Original line number Original line Diff line number Diff line
@@ -611,6 +611,11 @@ FileType AssetManager::getFileType(const char* fileName)
}
}


bool AssetManager::appendPathToResTable(const asset_path& ap) const {
bool AssetManager::appendPathToResTable(const asset_path& ap) const {
    // skip those ap's that correspond to system overlays
    if (ap.isSystemOverlay) {
        return true;
    }

    Asset* ass = NULL;
    Asset* ass = NULL;
    ResTable* sharedRes = NULL;
    ResTable* sharedRes = NULL;
    bool shared = true;
    bool shared = true;
@@ -796,6 +801,7 @@ void AssetManager::addSystemOverlays(const char* pathOverlaysList,
        oap.path = String8(buf, space - buf);
        oap.path = String8(buf, space - buf);
        oap.type = kFileTypeRegular;
        oap.type = kFileTypeRegular;
        oap.idmap = String8(space + 1, newline - space - 1);
        oap.idmap = String8(space + 1, newline - space - 1);
        oap.isSystemOverlay = true;


        Asset* oass = const_cast<AssetManager*>(this)->
        Asset* oass = const_cast<AssetManager*>(this)->
            openNonAssetInPathLocked("resources.arsc",
            openNonAssetInPathLocked("resources.arsc",