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
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user