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

Commit c51ed80b authored by Ryan Prichard's avatar Ryan Prichard Committed by Automerger Merge Worker
Browse files

Merge "Fix std::unique_ptr error with incomplete CommonFeatureGroup" into...

Merge "Fix std::unique_ptr error with incomplete CommonFeatureGroup" into aosp-main-future am: 63cfd0e9

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24685129



Change-Id: Id3599d51f6103c4a3819ff818834577e441ff1cb
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 9026542e 63cfd0e9
Loading
Loading
Loading
Loading
+8 −4
Original line number Original line Diff line number Diff line
@@ -216,9 +216,7 @@ class SupportsScreen;


class ManifestExtractor {
class ManifestExtractor {
 public:
 public:

  explicit ManifestExtractor(LoadedApk* apk, DumpManifestOptions& options);
  explicit ManifestExtractor(LoadedApk* apk, DumpManifestOptions& options)
      : apk_(apk), options_(options) { }


  class Element {
  class Element {
   public:
   public:
@@ -509,7 +507,7 @@ class ManifestExtractor {


 private:
 private:
  std::unique_ptr<xml::XmlResource> doc_;
  std::unique_ptr<xml::XmlResource> doc_;
  std::unique_ptr<CommonFeatureGroup> commonFeatureGroup_ = util::make_unique<CommonFeatureGroup>();
  std::unique_ptr<CommonFeatureGroup> commonFeatureGroup_;
  std::map<std::string, ConfigDescription> locales_;
  std::map<std::string, ConfigDescription> locales_;
  std::map<uint16_t, ConfigDescription> densities_;
  std::map<uint16_t, ConfigDescription> densities_;
  std::vector<Element*> parent_stack_;
  std::vector<Element*> parent_stack_;
@@ -2471,6 +2469,12 @@ static void ToProto(ManifestExtractor::Element* el, pb::Badging* out_badging) {
  }
  }
}
}


// Define this constructor after the CommonFeatureGroup class definition to avoid errors with using
// std::unique_ptr on an incomplete type.
ManifestExtractor::ManifestExtractor(LoadedApk* apk, DumpManifestOptions& options)
    : apk_(apk), options_(options), commonFeatureGroup_(util::make_unique<CommonFeatureGroup>()) {
}

bool ManifestExtractor::Extract(android::IDiagnostics* diag) {
bool ManifestExtractor::Extract(android::IDiagnostics* diag) {
  // Load the manifest
  // Load the manifest
  doc_ = apk_->LoadXml("AndroidManifest.xml", diag);
  doc_ = apk_->LoadXml("AndroidManifest.xml", diag);