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

Commit 3f6775c8 authored by Jeremy Meyer's avatar Jeremy Meyer Committed by Android (Google) Code Review
Browse files

Merge "Handle 9patches being used for frros" into main

parents 770a81ff deb46f31
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@ cc_library {
            static_libs: [
                "libidmap2_policies",
                "libidmap2_protos",
                "libpng",
            ],
            shared_libs: [
                "libandroidfw",
@@ -107,6 +108,7 @@ cc_library {
                "libcutils",
                "libidmap2_policies",
                "libidmap2_protos",
                "libpng",
                "libprotobuf-cpp-lite",
                "libutils",
                "libz",
@@ -185,6 +187,7 @@ cc_test {
    static_libs: [
        "libgmock",
        "libidmap2_protos",
        "libpng",
    ],
    target: {
        android: {
@@ -258,6 +261,7 @@ cc_binary {
                "libbase",
                "libcutils",
                "libidmap2",
                "libpng",
                "libprotobuf-cpp-lite",
                "libutils",
                "libz",
@@ -275,6 +279,7 @@ cc_binary {
                "libidmap2",
                "libidmap2_policies",
                "liblog",
                "libpng",
                "libprotobuf-cpp-lite",
                "libutils",
                "libziparchive",
+2 −1
Original line number Diff line number Diff line
@@ -266,7 +266,8 @@ Status Idmap2Service::createFabricatedOverlay(
    } else if (res.binaryData.has_value()) {
      builder.SetResourceValue(res.resourceName, res.binaryData->get(),
                               res.binaryDataOffset, res.binaryDataSize,
                               res.configuration.value_or(std::string()));
                               res.configuration.value_or(std::string()),
                               res.isNinePatch);
    } else {
      builder.SetResourceValue(res.resourceName, res.dataType, res.data,
            res.configuration.value_or(std::string()));
+1 −0
Original line number Diff line number Diff line
@@ -28,4 +28,5 @@ parcelable FabricatedOverlayInternalEntry {
    @nullable @utf8InCpp String configuration;
    long binaryDataOffset;
    long binaryDataSize;
    boolean isNinePatch;
}
 No newline at end of file
+6 −2
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@

#include <libidmap2/proto/fabricated_v1.pb.h>

#include "androidfw/Streams.h"

#include <istream>
#include <map>
#include <memory>
@@ -51,7 +53,8 @@ struct FabricatedOverlay {
                              std::optional<android::base::borrowed_fd>&& binary_value,
                              off64_t data_binary_offset,
                              size_t data_binary_size,
                              const std::string& configuration);
                              const std::string& configuration,
                              bool nine_patch);

    inline Builder& setFrroPath(std::string frro_path) {
      frro_path_ = std::move(frro_path);
@@ -70,6 +73,7 @@ struct FabricatedOverlay {
      off64_t data_binary_offset;
      size_t data_binary_size;
      std::string configuration;
      bool nine_patch;
    };

    std::string package_name_;
@@ -81,7 +85,7 @@ struct FabricatedOverlay {
  };

  struct BinaryData {
    android::base::borrowed_fd file_descriptor;
    std::unique_ptr<android::InputStream> input_stream;
    off64_t offset;
    size_t size;
  };
+1 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ struct TargetValue {
  std::optional<android::base::borrowed_fd> data_binary_value;
  off64_t data_binary_offset;
  size_t data_binary_size;
  bool nine_patch;
};

struct TargetValueWithConfig {
Loading