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

Commit e6e1e8a8 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Include SDK extensions data in bugreports" am: b45aaf2a am:...

Merge "Include SDK extensions data in bugreports" am: b45aaf2a am: 94deb105 am: 5133a535 am: 967ef239 am: 1c48f364

Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2221128



Change-Id: Ia54cb1c2191a3992813f449687a01ff45792d0ee
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 7b3b6095 1c48f364
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -183,6 +183,7 @@ void add_mountinfo();
#define PACKAGE_DEX_USE_LIST "/data/system/package-dex-usage.list"
#define SYSTEM_TRACE_SNAPSHOT "/data/misc/perfetto-traces/bugreport/systrace.pftrace"
#define CGROUPFS_DIR "/sys/fs/cgroup"
#define SDK_EXT_INFO "/apex/com.android.sdkext/bin/derive_sdk"

// TODO(narayan): Since this information has to be kept in sync
// with tombstoned, we should just put it in a common header.
@@ -766,7 +767,7 @@ uint64_t Dumpstate::ConsentCallback::getElapsedTimeMs() const {
}

void Dumpstate::PrintHeader() const {
    std::string build, fingerprint, radio, bootloader, network;
    std::string build, fingerprint, radio, bootloader, network, sdkversion;
    char date[80];

    build = android::base::GetProperty("ro.build.display.id", "(unknown)");
@@ -774,6 +775,7 @@ void Dumpstate::PrintHeader() const {
    radio = android::base::GetProperty("gsm.version.baseband", "(unknown)");
    bootloader = android::base::GetProperty("ro.bootloader", "(unknown)");
    network = android::base::GetProperty("gsm.operator.alpha", "(unknown)");
    sdkversion = android::base::GetProperty("ro.build.version.sdk", "(unknown)");
    strftime(date, sizeof(date), "%Y-%m-%d %H:%M:%S", localtime(&now_));

    printf("========================================================\n");
@@ -791,9 +793,10 @@ void Dumpstate::PrintHeader() const {
    if (module_metadata_version != 0) {
        printf("Module Metadata version: %" PRId64 "\n", module_metadata_version);
    }
    printf("SDK extension versions [r=%s s=%s]\n",
           android::base::GetProperty("build.version.extensions.r", "-").c_str(),
           android::base::GetProperty("build.version.extensions.s", "-").c_str());
    printf("Android SDK version: %s\n", sdkversion.c_str());
    printf("SDK extensions: ");
    RunCommandToFd(STDOUT_FILENO, "", {SDK_EXT_INFO, "--header"},
                   CommandOptions::WithTimeout(1).Always().DropRoot().Build());

    printf("Kernel: ");
    DumpFileToFd(STDOUT_FILENO, "", "/proc/version");
@@ -1890,6 +1893,9 @@ Dumpstate::RunStatus Dumpstate::DumpstateDefaultAfterCritical() {
    DumpFile("PSI memory", "/proc/pressure/memory");
    DumpFile("PSI io", "/proc/pressure/io");

    RunCommand("SDK EXTENSIONS", {SDK_EXT_INFO, "--dump"},
               CommandOptions::WithTimeout(10).Always().DropRoot().Build());

    if (dump_pool_) {
        RETURN_IF_USER_DENIED_CONSENT();
        WaitForTask(std::move(dump_traces));