Add new bugreport mode for debugging onboarding.
Bug: 294990844
Test: atest
android.bugreport.cts.BugreportManagerTest#testOnboardingBugreport
Change-Id: I89e6445a83972075aeef7136cf45c1b8b4d49299
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 0185080..93d09ca 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -10386,6 +10386,7 @@
field public static final int BUGREPORT_FLAG_USE_PREDUMPED_UI_DATA = 1; // 0x1
field public static final int BUGREPORT_MODE_FULL = 0; // 0x0
field public static final int BUGREPORT_MODE_INTERACTIVE = 1; // 0x1
+ field public static final int BUGREPORT_MODE_ONBOARDING = 7; // 0x7
field public static final int BUGREPORT_MODE_REMOTE = 2; // 0x2
field public static final int BUGREPORT_MODE_TELEPHONY = 4; // 0x4
field public static final int BUGREPORT_MODE_WEAR = 3; // 0x3
diff --git a/core/java/android/os/BugreportParams.java b/core/java/android/os/BugreportParams.java
index d9d14b0..0456a33 100644
--- a/core/java/android/os/BugreportParams.java
+++ b/core/java/android/os/BugreportParams.java
@@ -81,7 +81,8 @@
BUGREPORT_MODE_REMOTE,
BUGREPORT_MODE_WEAR,
BUGREPORT_MODE_TELEPHONY,
- BUGREPORT_MODE_WIFI
+ BUGREPORT_MODE_WIFI,
+ BUGREPORT_MODE_ONBOARDING
})
public @interface BugreportMode {}
@@ -121,6 +122,11 @@
public static final int BUGREPORT_MODE_WIFI = IDumpstate.BUGREPORT_MODE_WIFI;
/**
+ * Options for a lightweight bugreport intended to be taken for onboarding-related flows.
+ */
+ public static final int BUGREPORT_MODE_ONBOARDING = IDumpstate.BUGREPORT_MODE_ONBOARDING;
+
+ /**
* Defines acceptable flags for customizing bugreport requests.
* @hide
*/
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index c1f2f67..27935c8 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -7393,6 +7393,9 @@
case BugreportParams.BUGREPORT_MODE_WIFI:
type = "bugreportwifi";
break;
+ case BugreportParams.BUGREPORT_MODE_ONBOARDING:
+ type = "bugreportonboarding";
+ break;
default:
throw new IllegalArgumentException(
"Provided bugreport type is not correct, value: "
diff --git a/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java b/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java
index 3ba307b..1134714 100644
--- a/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java
+++ b/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java
@@ -307,7 +307,8 @@
&& mode != BugreportParams.BUGREPORT_MODE_REMOTE
&& mode != BugreportParams.BUGREPORT_MODE_WEAR
&& mode != BugreportParams.BUGREPORT_MODE_TELEPHONY
- && mode != BugreportParams.BUGREPORT_MODE_WIFI) {
+ && mode != BugreportParams.BUGREPORT_MODE_WIFI
+ && mode != BugreportParams.BUGREPORT_MODE_ONBOARDING) {
Slog.w(TAG, "Unknown bugreport mode: " + mode);
throw new IllegalArgumentException("Unknown bugreport mode: " + mode);
}