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

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

Merge "Adding GetInfo method for tasks" am: 95303da1

parents 410ec834 95303da1
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -46,6 +46,14 @@ void FlashTask::Run() {
    do_for_partitions(pname_, slot_, flash, true);
}

std::string FlashTask::ToString() {
    std::string apply_vbmeta_string = "";
    if (apply_vbmeta_) {
        apply_vbmeta_string = " --apply_vbmeta";
    }
    return "flash" + apply_vbmeta_string + " " + pname_ + " " + fname_;
}

std::string FlashTask::GetPartitionAndSlot() {
    auto slot = slot_;
    if (slot.empty()) {
@@ -84,6 +92,10 @@ void RebootTask::Run() {
    }
}

std::string RebootTask::ToString() {
    return "reboot " + reboot_target_;
}

FlashSuperLayoutTask::FlashSuperLayoutTask(const std::string& super_name,
                                           std::unique_ptr<SuperFlashHelper> helper,
                                           SparsePtr sparse_layout, uint64_t super_size)
@@ -106,6 +118,9 @@ void FlashSuperLayoutTask::Run() {
    // Send the data to the device.
    flash_partition_files(super_name_, files);
}
std::string FlashSuperLayoutTask::ToString() {
    return "optimized-flash-super";
}

std::unique_ptr<FlashSuperLayoutTask> FlashSuperLayoutTask::Initialize(
        const FlashingPlan* fp, std::vector<ImageEntry>& os_images) {
@@ -263,6 +278,9 @@ void UpdateSuperTask::Run() {
    }
    fp_->fb->RawCommand(command, "Updating super partition");
}
std::string UpdateSuperTask::ToString() {
    return "update-super";
}

ResizeTask::ResizeTask(const FlashingPlan* fp, const std::string& pname, const std::string& size,
                       const std::string& slot)
@@ -277,12 +295,20 @@ void ResizeTask::Run() {
    do_for_partitions(pname_, slot_, resize_partition, false);
}

std::string ResizeTask::ToString() {
    return "resize " + pname_;
}

DeleteTask::DeleteTask(const FlashingPlan* fp, const std::string& pname) : fp_(fp), pname_(pname){};

void DeleteTask::Run() {
    fp_->fb->DeletePartition(pname_);
}

std::string DeleteTask::ToString() {
    return "delete " + pname_;
}

WipeTask::WipeTask(const FlashingPlan* fp, const std::string& pname) : fp_(fp), pname_(pname){};

void WipeTask::Run() {
@@ -298,3 +324,7 @@ void WipeTask::Run() {
    }
    fb_perform_format(pname_, 1, partition_type, "", fp_->fs_options);
}

std::string WipeTask::ToString() {
    return "erase " + pname_;
}
+11 −3
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@ class Task {
  public:
    Task() = default;
    virtual void Run() = 0;
    virtual std::string ToString() = 0;

    virtual FlashTask* AsFlashTask() { return nullptr; }
    virtual RebootTask* AsRebootTask() { return nullptr; }
    virtual UpdateSuperTask* AsUpdateSuperTask() { return nullptr; }
@@ -49,11 +51,12 @@ class FlashTask : public Task {
              const bool apply_vbmeta, const FlashingPlan* fp);
    virtual FlashTask* AsFlashTask() override { return this; }

    void Run() override;
    std::string ToString() override;
    std::string GetPartition() { return pname_; }
    std::string GetImageName() { return fname_; }
    std::string GetPartitionAndSlot();
    std::string GetSlot() { return slot_; }
    void Run() override;
    std::string GetPartitionAndSlot();

  private:
    const std::string pname_;
@@ -69,6 +72,7 @@ class RebootTask : public Task {
    RebootTask(const FlashingPlan* fp, const std::string& reboot_target);
    virtual RebootTask* AsRebootTask() override { return this; }
    void Run() override;
    std::string ToString() override;

  private:
    const std::string reboot_target_ = "";
@@ -85,6 +89,7 @@ class FlashSuperLayoutTask : public Task {
            const FlashingPlan* fp, std::vector<std::unique_ptr<Task>>& tasks);
    using ImageEntry = std::pair<const Image*, std::string>;
    void Run() override;
    std::string ToString() override;

  private:
    const std::string super_name_;
@@ -99,6 +104,7 @@ class UpdateSuperTask : public Task {
    virtual UpdateSuperTask* AsUpdateSuperTask() override { return this; }

    void Run() override;
    std::string ToString() override;

  private:
    const FlashingPlan* fp_;
@@ -109,6 +115,7 @@ class ResizeTask : public Task {
    ResizeTask(const FlashingPlan* fp, const std::string& pname, const std::string& size,
               const std::string& slot);
    void Run() override;
    std::string ToString() override;

  private:
    const FlashingPlan* fp_;
@@ -121,6 +128,7 @@ class DeleteTask : public Task {
  public:
    DeleteTask(const FlashingPlan* fp, const std::string& pname);
    void Run() override;
    std::string ToString() override;

  private:
    const FlashingPlan* fp_;
@@ -131,8 +139,8 @@ class WipeTask : public Task {
  public:
    WipeTask(const FlashingPlan* fp, const std::string& pname);
    virtual WipeTask* AsWipeTask() override { return this; }

    void Run() override;
    std::string ToString() override;

  private:
    const FlashingPlan* fp_;