diff options
author | Robin Lee <rgl@google.com> | 2020-03-25 23:48:39 +0100 |
---|---|---|
committer | Robin Lee <rgl@google.com> | 2020-05-21 20:19:03 +0000 |
commit | 93059d2f0b1d742606650d2e8d610180082b25f3 (patch) | |
tree | 3074f836d71c4dbf674b756963f15b341c748bbb /packages/Shell/src | |
parent | 9a5681d890cf0cb4bd2bc07b0ef9916800e1da2a (diff) |
Take interactive bugreports on Android TV
We want to take a screenshot immediately, not after dumpsys finished.
This also gives the user some feedback that we took a screenshot when
they were paying attention, whereas the notification might go under
the radar if posted the 30-90 seconds later it will be shown
otherwise.
Also gives us the progress notification in the Android TV notification
tray, which helps the user keep track of what is going on and how long
it is expected to take.
Previously either no feedback was shown at all on key press, or a simple
Toast was shown on selecting the bugreport option from the TV Settings
app.
Test: Press DPAD_CENTER + BACK, observe screenshot and progress.
Fix: 151865303
Change-Id: I78753697a7867042d28364a6b6d61fdb96f8bc96
Diffstat (limited to 'packages/Shell/src')
-rw-r--r-- | packages/Shell/src/com/android/shell/BugreportProgressService.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/packages/Shell/src/com/android/shell/BugreportProgressService.java b/packages/Shell/src/com/android/shell/BugreportProgressService.java index 0ae00e1ac8b5..0278294b6ea5 100644 --- a/packages/Shell/src/com/android/shell/BugreportProgressService.java +++ b/packages/Shell/src/com/android/shell/BugreportProgressService.java @@ -617,7 +617,7 @@ public class BugreportProgressService extends Service { return; } ParcelFileDescriptor screenshotFd = null; - if (isDefaultScreenshotRequired(bugreportType)) { + if (isDefaultScreenshotRequired(bugreportType, /* hasScreenshotButton= */ !mIsTv)) { screenshotFd = info.getDefaultScreenshotFd(); if (screenshotFd == null) { Log.e(TAG, "Failed to start bugreport generation as" @@ -652,10 +652,12 @@ public class BugreportProgressService extends Service { } private static boolean isDefaultScreenshotRequired( - @BugreportParams.BugreportMode int bugreportType) { + @BugreportParams.BugreportMode int bugreportType, + boolean hasScreenshotButton) { // Modify dumpstate#SetOptionsFromMode as well for default system screenshots. - // We override dumpstate for interactive bugreports. - return bugreportType == BugreportParams.BUGREPORT_MODE_FULL + // We override dumpstate for interactive bugreports with a screenshot button. + return (bugreportType == BugreportParams.BUGREPORT_MODE_INTERACTIVE && !hasScreenshotButton) + || bugreportType == BugreportParams.BUGREPORT_MODE_FULL || bugreportType == BugreportParams.BUGREPORT_MODE_WEAR; } |