summaryrefslogtreecommitdiff
path: root/packages/Shell/src
diff options
context:
space:
mode:
authorRobin Lee <rgl@google.com>2020-03-25 23:48:39 +0100
committerRobin Lee <rgl@google.com>2020-05-21 20:19:03 +0000
commit93059d2f0b1d742606650d2e8d610180082b25f3 (patch)
tree3074f836d71c4dbf674b756963f15b341c748bbb /packages/Shell/src
parent9a5681d890cf0cb4bd2bc07b0ef9916800e1da2a (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.java10
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;
}