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

Commit b5dd8726 authored by Daniel Zheng's avatar Daniel Zheng Committed by Automerger Merge Worker
Browse files

Merge "decompressor maintenence" into main am: 86f037c2 am: 76a163f2 am:...

Merge "decompressor maintenence" into main am: 86f037c2 am: 76a163f2 am: 9c2e66ee am: 312ccc02

Original change: https://android-review.googlesource.com/c/platform/system/core/+/2699453



Change-Id: I7c6376a3c81ef7aef764cf0baf8719b9262ae380
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 31bb1379 312ccc02
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@

#include <array>
#include <cstring>
#include <memory>
#include <utility>
#include <vector>

@@ -62,6 +63,8 @@ std::unique_ptr<IDecompressor> IDecompressor::FromString(std::string_view compre
        return IDecompressor::Brotli();
    } else if (compressor == "gz") {
        return IDecompressor::Gz();
    } else if (compressor == "zstd") {
        return IDecompressor::Zstd();
    } else {
        return nullptr;
    }
@@ -211,10 +214,6 @@ bool GzDecompressor::PartialDecompress(const uint8_t* data, size_t length) {
    return true;
}

std::unique_ptr<IDecompressor> IDecompressor::Gz() {
    return std::unique_ptr<IDecompressor>(new GzDecompressor());
}

class BrotliDecompressor final : public StreamDecompressor {
  public:
    ~BrotliDecompressor();
@@ -275,10 +274,6 @@ bool BrotliDecompressor::PartialDecompress(const uint8_t* data, size_t length) {
    return true;
}

std::unique_ptr<IDecompressor> IDecompressor::Brotli() {
    return std::unique_ptr<IDecompressor>(new BrotliDecompressor());
}

class Lz4Decompressor final : public IDecompressor {
  public:
    ~Lz4Decompressor() override = default;
@@ -382,6 +377,14 @@ class ZstdDecompressor final : public IDecompressor {
    }
};

std::unique_ptr<IDecompressor> IDecompressor::Brotli() {
    return std::make_unique<BrotliDecompressor>();
}

std::unique_ptr<IDecompressor> IDecompressor::Gz() {
    return std::make_unique<GzDecompressor>();
}

std::unique_ptr<IDecompressor> IDecompressor::Lz4() {
    return std::make_unique<Lz4Decompressor>();
}