Loading cmds/dumpstate/DumpstateService.cpp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -141,6 +141,7 @@ binder::Status DumpstateService::startBugreport(int32_t calling_uid, bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_WEAR && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_WEAR && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_TELEPHONY && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_TELEPHONY && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_WIFI && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_WIFI && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_ONBOARDING && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_DEFAULT) { bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_DEFAULT) { MYLOGE("Invalid input: bad bugreport mode: %d", bugreport_mode); MYLOGE("Invalid input: bad bugreport mode: %d", bugreport_mode); signalErrorAndExit(listener, IDumpstateListener::BUGREPORT_ERROR_INVALID_INPUT); signalErrorAndExit(listener, IDumpstateListener::BUGREPORT_ERROR_INVALID_INPUT); Loading cmds/dumpstate/binder/android/os/IDumpstate.aidl +3 −0 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,9 @@ interface IDumpstate { // Default mode. // Default mode. const int BUGREPORT_MODE_DEFAULT = 6; const int BUGREPORT_MODE_DEFAULT = 6; // Bugreport taken for onboarding related flows. const int BUGREPORT_MODE_ONBOARDING = 7; // Use pre-dumped data. // Use pre-dumped data. const int BUGREPORT_FLAG_USE_PREDUMPED_UI_DATA = 0x1; const int BUGREPORT_FLAG_USE_PREDUMPED_UI_DATA = 0x1; Loading cmds/dumpstate/dumpstate.cpp +15 −0 Original line number Original line Diff line number Diff line Loading @@ -2176,6 +2176,11 @@ static void DumpstateWifiOnly() { printf("========================================================\n"); printf("========================================================\n"); } } // Collects a lightweight dumpstate to be used for debugging onboarding related flows. static void DumpstateOnboardingOnly() { ds.AddDir(LOGPERSIST_DATA_DIR, false); } Dumpstate::RunStatus Dumpstate::DumpTraces(const char** path) { Dumpstate::RunStatus Dumpstate::DumpTraces(const char** path) { const std::string temp_file_pattern = ds.bugreport_internal_dir_ + "/dumptrace_XXXXXX"; const std::string temp_file_pattern = ds.bugreport_internal_dir_ + "/dumptrace_XXXXXX"; const size_t buf_size = temp_file_pattern.length() + 1; const size_t buf_size = temp_file_pattern.length() + 1; Loading Loading @@ -2308,6 +2313,7 @@ static dumpstate_hal_hidl::DumpstateMode GetDumpstateHalModeHidl( return dumpstate_hal_hidl::DumpstateMode::CONNECTIVITY; return dumpstate_hal_hidl::DumpstateMode::CONNECTIVITY; case Dumpstate::BugreportMode::BUGREPORT_WIFI: case Dumpstate::BugreportMode::BUGREPORT_WIFI: return dumpstate_hal_hidl::DumpstateMode::WIFI; return dumpstate_hal_hidl::DumpstateMode::WIFI; case Dumpstate::BugreportMode::BUGREPORT_ONBOARDING: case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: return dumpstate_hal_hidl::DumpstateMode::DEFAULT; return dumpstate_hal_hidl::DumpstateMode::DEFAULT; } } Loading @@ -2329,6 +2335,7 @@ static dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode GetDumpstateHalModeAi return dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode::CONNECTIVITY; return dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode::CONNECTIVITY; case Dumpstate::BugreportMode::BUGREPORT_WIFI: case Dumpstate::BugreportMode::BUGREPORT_WIFI: return dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode::WIFI; return dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode::WIFI; case Dumpstate::BugreportMode::BUGREPORT_ONBOARDING: case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: return dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode::DEFAULT; return dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode::DEFAULT; } } Loading Loading @@ -2812,6 +2819,8 @@ static inline const char* ModeToString(Dumpstate::BugreportMode mode) { return "BUGREPORT_TELEPHONY"; return "BUGREPORT_TELEPHONY"; case Dumpstate::BugreportMode::BUGREPORT_WIFI: case Dumpstate::BugreportMode::BUGREPORT_WIFI: return "BUGREPORT_WIFI"; return "BUGREPORT_WIFI"; case Dumpstate::BugreportMode::BUGREPORT_ONBOARDING: return "BUGREPORT_ONBOARDING"; case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: return "BUGREPORT_DEFAULT"; return "BUGREPORT_DEFAULT"; } } Loading Loading @@ -2857,6 +2866,10 @@ static void SetOptionsFromMode(Dumpstate::BugreportMode mode, Dumpstate::DumpOpt options->wifi_only = true; options->wifi_only = true; options->do_screenshot = false; options->do_screenshot = false; break; break; case Dumpstate::BugreportMode::BUGREPORT_ONBOARDING: options->onboarding_only = true; options->do_screenshot = false; break; case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: break; break; } } Loading Loading @@ -3276,6 +3289,8 @@ Dumpstate::RunStatus Dumpstate::RunInternal(int32_t calling_uid, DumpstateWifiOnly(); DumpstateWifiOnly(); } else if (options_->limited_only) { } else if (options_->limited_only) { DumpstateLimitedOnly(); DumpstateLimitedOnly(); } else if (options_->onboarding_only) { DumpstateOnboardingOnly(); } else { } else { // Dump state for the default case. This also drops root. // Dump state for the default case. This also drops root. RunStatus s = DumpstateDefaultAfterCritical(); RunStatus s = DumpstateDefaultAfterCritical(); Loading cmds/dumpstate/dumpstate.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -201,6 +201,7 @@ class Dumpstate { BUGREPORT_WEAR = android::os::IDumpstate::BUGREPORT_MODE_WEAR, BUGREPORT_WEAR = android::os::IDumpstate::BUGREPORT_MODE_WEAR, BUGREPORT_TELEPHONY = android::os::IDumpstate::BUGREPORT_MODE_TELEPHONY, BUGREPORT_TELEPHONY = android::os::IDumpstate::BUGREPORT_MODE_TELEPHONY, BUGREPORT_WIFI = android::os::IDumpstate::BUGREPORT_MODE_WIFI, BUGREPORT_WIFI = android::os::IDumpstate::BUGREPORT_MODE_WIFI, BUGREPORT_ONBOARDING = android::os::IDumpstate::BUGREPORT_MODE_ONBOARDING, BUGREPORT_DEFAULT = android::os::IDumpstate::BUGREPORT_MODE_DEFAULT BUGREPORT_DEFAULT = android::os::IDumpstate::BUGREPORT_MODE_DEFAULT }; }; Loading Loading @@ -412,6 +413,7 @@ class Dumpstate { bool show_header_only = false; bool show_header_only = false; bool telephony_only = false; bool telephony_only = false; bool wifi_only = false; bool wifi_only = false; bool onboarding_only = false; // Trimmed-down version of dumpstate to only include whitelisted logs. // Trimmed-down version of dumpstate to only include whitelisted logs. bool limited_only = false; bool limited_only = false; // Whether progress updates should be published. // Whether progress updates should be published. Loading Loading
cmds/dumpstate/DumpstateService.cpp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -141,6 +141,7 @@ binder::Status DumpstateService::startBugreport(int32_t calling_uid, bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_WEAR && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_WEAR && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_TELEPHONY && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_TELEPHONY && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_WIFI && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_WIFI && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_ONBOARDING && bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_DEFAULT) { bugreport_mode != Dumpstate::BugreportMode::BUGREPORT_DEFAULT) { MYLOGE("Invalid input: bad bugreport mode: %d", bugreport_mode); MYLOGE("Invalid input: bad bugreport mode: %d", bugreport_mode); signalErrorAndExit(listener, IDumpstateListener::BUGREPORT_ERROR_INVALID_INPUT); signalErrorAndExit(listener, IDumpstateListener::BUGREPORT_ERROR_INVALID_INPUT); Loading
cmds/dumpstate/binder/android/os/IDumpstate.aidl +3 −0 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,9 @@ interface IDumpstate { // Default mode. // Default mode. const int BUGREPORT_MODE_DEFAULT = 6; const int BUGREPORT_MODE_DEFAULT = 6; // Bugreport taken for onboarding related flows. const int BUGREPORT_MODE_ONBOARDING = 7; // Use pre-dumped data. // Use pre-dumped data. const int BUGREPORT_FLAG_USE_PREDUMPED_UI_DATA = 0x1; const int BUGREPORT_FLAG_USE_PREDUMPED_UI_DATA = 0x1; Loading
cmds/dumpstate/dumpstate.cpp +15 −0 Original line number Original line Diff line number Diff line Loading @@ -2176,6 +2176,11 @@ static void DumpstateWifiOnly() { printf("========================================================\n"); printf("========================================================\n"); } } // Collects a lightweight dumpstate to be used for debugging onboarding related flows. static void DumpstateOnboardingOnly() { ds.AddDir(LOGPERSIST_DATA_DIR, false); } Dumpstate::RunStatus Dumpstate::DumpTraces(const char** path) { Dumpstate::RunStatus Dumpstate::DumpTraces(const char** path) { const std::string temp_file_pattern = ds.bugreport_internal_dir_ + "/dumptrace_XXXXXX"; const std::string temp_file_pattern = ds.bugreport_internal_dir_ + "/dumptrace_XXXXXX"; const size_t buf_size = temp_file_pattern.length() + 1; const size_t buf_size = temp_file_pattern.length() + 1; Loading Loading @@ -2308,6 +2313,7 @@ static dumpstate_hal_hidl::DumpstateMode GetDumpstateHalModeHidl( return dumpstate_hal_hidl::DumpstateMode::CONNECTIVITY; return dumpstate_hal_hidl::DumpstateMode::CONNECTIVITY; case Dumpstate::BugreportMode::BUGREPORT_WIFI: case Dumpstate::BugreportMode::BUGREPORT_WIFI: return dumpstate_hal_hidl::DumpstateMode::WIFI; return dumpstate_hal_hidl::DumpstateMode::WIFI; case Dumpstate::BugreportMode::BUGREPORT_ONBOARDING: case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: return dumpstate_hal_hidl::DumpstateMode::DEFAULT; return dumpstate_hal_hidl::DumpstateMode::DEFAULT; } } Loading @@ -2329,6 +2335,7 @@ static dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode GetDumpstateHalModeAi return dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode::CONNECTIVITY; return dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode::CONNECTIVITY; case Dumpstate::BugreportMode::BUGREPORT_WIFI: case Dumpstate::BugreportMode::BUGREPORT_WIFI: return dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode::WIFI; return dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode::WIFI; case Dumpstate::BugreportMode::BUGREPORT_ONBOARDING: case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: return dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode::DEFAULT; return dumpstate_hal_aidl::IDumpstateDevice::DumpstateMode::DEFAULT; } } Loading Loading @@ -2812,6 +2819,8 @@ static inline const char* ModeToString(Dumpstate::BugreportMode mode) { return "BUGREPORT_TELEPHONY"; return "BUGREPORT_TELEPHONY"; case Dumpstate::BugreportMode::BUGREPORT_WIFI: case Dumpstate::BugreportMode::BUGREPORT_WIFI: return "BUGREPORT_WIFI"; return "BUGREPORT_WIFI"; case Dumpstate::BugreportMode::BUGREPORT_ONBOARDING: return "BUGREPORT_ONBOARDING"; case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: return "BUGREPORT_DEFAULT"; return "BUGREPORT_DEFAULT"; } } Loading Loading @@ -2857,6 +2866,10 @@ static void SetOptionsFromMode(Dumpstate::BugreportMode mode, Dumpstate::DumpOpt options->wifi_only = true; options->wifi_only = true; options->do_screenshot = false; options->do_screenshot = false; break; break; case Dumpstate::BugreportMode::BUGREPORT_ONBOARDING: options->onboarding_only = true; options->do_screenshot = false; break; case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: break; break; } } Loading Loading @@ -3276,6 +3289,8 @@ Dumpstate::RunStatus Dumpstate::RunInternal(int32_t calling_uid, DumpstateWifiOnly(); DumpstateWifiOnly(); } else if (options_->limited_only) { } else if (options_->limited_only) { DumpstateLimitedOnly(); DumpstateLimitedOnly(); } else if (options_->onboarding_only) { DumpstateOnboardingOnly(); } else { } else { // Dump state for the default case. This also drops root. // Dump state for the default case. This also drops root. RunStatus s = DumpstateDefaultAfterCritical(); RunStatus s = DumpstateDefaultAfterCritical(); Loading
cmds/dumpstate/dumpstate.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -201,6 +201,7 @@ class Dumpstate { BUGREPORT_WEAR = android::os::IDumpstate::BUGREPORT_MODE_WEAR, BUGREPORT_WEAR = android::os::IDumpstate::BUGREPORT_MODE_WEAR, BUGREPORT_TELEPHONY = android::os::IDumpstate::BUGREPORT_MODE_TELEPHONY, BUGREPORT_TELEPHONY = android::os::IDumpstate::BUGREPORT_MODE_TELEPHONY, BUGREPORT_WIFI = android::os::IDumpstate::BUGREPORT_MODE_WIFI, BUGREPORT_WIFI = android::os::IDumpstate::BUGREPORT_MODE_WIFI, BUGREPORT_ONBOARDING = android::os::IDumpstate::BUGREPORT_MODE_ONBOARDING, BUGREPORT_DEFAULT = android::os::IDumpstate::BUGREPORT_MODE_DEFAULT BUGREPORT_DEFAULT = android::os::IDumpstate::BUGREPORT_MODE_DEFAULT }; }; Loading Loading @@ -412,6 +413,7 @@ class Dumpstate { bool show_header_only = false; bool show_header_only = false; bool telephony_only = false; bool telephony_only = false; bool wifi_only = false; bool wifi_only = false; bool onboarding_only = false; // Trimmed-down version of dumpstate to only include whitelisted logs. // Trimmed-down version of dumpstate to only include whitelisted logs. bool limited_only = false; bool limited_only = false; // Whether progress updates should be published. // Whether progress updates should be published. Loading