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

Commit 00701344 authored by Abhijeet Kaur's avatar Abhijeet Kaur Committed by Automerger Merge Worker
Browse files

Merge "Update Last ID early in the bugreport generation" into rvc-dev am:...

Merge "Update Last ID early in the bugreport generation" into rvc-dev am: 58a17ca1 am: 642290df am: 68da96be am: 663eb02f

Change-Id: I1c9e1f84ab945f8c28a2e51f59e2173096a7918f
parents b121ec7e 663eb02f
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -137,6 +137,8 @@ binder::Status DumpstateService::startBugreport(int32_t calling_uid,
    ds_info->calling_package = calling_package;
    ds_info->calling_package = calling_package;


    pthread_t thread;
    pthread_t thread;
    // Initialize dumpstate
    ds_->Initialize();
    status_t err = pthread_create(&thread, nullptr, dumpstate_thread_main, ds_info);
    status_t err = pthread_create(&thread, nullptr, dumpstate_thread_main, ds_info);
    if (err != 0) {
    if (err != 0) {
        delete ds_info;
        delete ds_info;
+10 −7
Original line number Original line Diff line number Diff line
@@ -2395,6 +2395,13 @@ void Dumpstate::SetOptions(std::unique_ptr<DumpOptions> options) {
    options_ = std::move(options);
    options_ = std::move(options);
}
}


void Dumpstate::Initialize() {
    /* gets the sequential id */
    uint32_t last_id = android::base::GetIntProperty(PROPERTY_LAST_ID, 0);
    id_ = ++last_id;
    android::base::SetProperty(PROPERTY_LAST_ID, std::to_string(last_id));
}

Dumpstate::RunStatus Dumpstate::Run(int32_t calling_uid, const std::string& calling_package) {
Dumpstate::RunStatus Dumpstate::Run(int32_t calling_uid, const std::string& calling_package) {
    Dumpstate::RunStatus status = RunInternal(calling_uid, calling_package);
    Dumpstate::RunStatus status = RunInternal(calling_uid, calling_package);
    if (listener_ != nullptr) {
    if (listener_ != nullptr) {
@@ -2505,11 +2512,6 @@ Dumpstate::RunStatus Dumpstate::RunInternal(int32_t calling_uid,
            : "";
            : "";
    progress_.reset(new Progress(stats_path));
    progress_.reset(new Progress(stats_path));


    /* gets the sequential id */
    uint32_t last_id = android::base::GetIntProperty(PROPERTY_LAST_ID, 0);
    id_ = ++last_id;
    android::base::SetProperty(PROPERTY_LAST_ID, std::to_string(last_id));

    if (acquire_wake_lock(PARTIAL_WAKE_LOCK, WAKE_LOCK_NAME) < 0) {
    if (acquire_wake_lock(PARTIAL_WAKE_LOCK, WAKE_LOCK_NAME) < 0) {
        MYLOGE("Failed to acquire wake lock: %s\n", strerror(errno));
        MYLOGE("Failed to acquire wake lock: %s\n", strerror(errno));
    } else {
    } else {
@@ -2837,8 +2839,9 @@ Dumpstate::RunStatus Dumpstate::ParseCommandlineAndRun(int argc, char* argv[]) {
        assert(options_->bugreport_fd.get() == -1);
        assert(options_->bugreport_fd.get() == -1);


        // calling_uid and calling_package are for user consent to share the bugreport with
        // calling_uid and calling_package are for user consent to share the bugreport with
        // an app; they are irrelvant here because bugreport is only written to a local
        // an app; they are irrelevant here because bugreport is triggered via command line.
        // directory, and not shared.
        // Update Last ID before calling Run().
        Initialize();
        status = Run(-1 /* calling_uid */, "" /* calling_package */);
        status = Run(-1 /* calling_uid */, "" /* calling_package */);
    }
    }
    return status;
    return status;
+9 −1
Original line number Original line Diff line number Diff line
@@ -216,6 +216,9 @@ class Dumpstate {
    /* Checkes whether dumpstate is generating a zipped bugreport. */
    /* Checkes whether dumpstate is generating a zipped bugreport. */
    bool IsZipping() const;
    bool IsZipping() const;


    /* Initialize dumpstate fields before starting bugreport generation */
    void Initialize();

    /*
    /*
     * Forks a command, waits for it to finish, and returns its status.
     * Forks a command, waits for it to finish, and returns its status.
     *
     *
@@ -329,7 +332,12 @@ class Dumpstate {


    struct DumpOptions;
    struct DumpOptions;


    /* Main entry point for running a complete bugreport. */
    /*
     * Main entry point for running a complete bugreport.
     *
     * Initialize() dumpstate before calling this method.
     *
     */
    RunStatus Run(int32_t calling_uid, const std::string& calling_package);
    RunStatus Run(int32_t calling_uid, const std::string& calling_package);


    RunStatus ParseCommandlineAndRun(int argc, char* argv[]);
    RunStatus ParseCommandlineAndRun(int argc, char* argv[]);