Clean up code of starting bug report
- Let screenshot fd be null if Shell doesn't want to take default screenshot when bug report is triggered. BUG:149525300 Test: Flash and test interactive/full bugreports generated using Shell, and Shell flow does not break during tests Change-Id: I50908af63d74ed66156354ec0b5a237f7131061a Merged-In: I50908af63d74ed66156354ec0b5a237f7131061a
This commit is contained in:
@@ -615,13 +615,16 @@ public class BugreportProgressService extends Service {
|
||||
+ " bugreport parcel file descriptor is null.");
|
||||
return;
|
||||
}
|
||||
ParcelFileDescriptor screenshotFd = info.getDefaultScreenshotFd();
|
||||
if (screenshotFd == null) {
|
||||
Log.e(TAG, "Failed to start bugreport generation as"
|
||||
+ " screenshot parcel file descriptor is null. Deleting bugreport file");
|
||||
FileUtils.closeQuietly(bugreportFd);
|
||||
info.bugreportFile.delete();
|
||||
return;
|
||||
ParcelFileDescriptor screenshotFd = null;
|
||||
if (isDefaultScreenshotRequired(bugreportType)) {
|
||||
screenshotFd = info.getDefaultScreenshotFd();
|
||||
if (screenshotFd == null) {
|
||||
Log.e(TAG, "Failed to start bugreport generation as"
|
||||
+ " screenshot parcel file descriptor is null. Deleting bugreport file");
|
||||
FileUtils.closeQuietly(bugreportFd);
|
||||
info.bugreportFile.delete();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
mBugreportManager = (BugreportManager) mContext.getSystemService(
|
||||
@@ -641,10 +644,20 @@ public class BugreportProgressService extends Service {
|
||||
// The binder call didn't go through successfully, so need to close the fds.
|
||||
// If the calls went through API takes ownership.
|
||||
FileUtils.closeQuietly(bugreportFd);
|
||||
FileUtils.closeQuietly(screenshotFd);
|
||||
if (screenshotFd != null) {
|
||||
FileUtils.closeQuietly(screenshotFd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isDefaultScreenshotRequired(
|
||||
@BugreportParams.BugreportMode int bugreportType) {
|
||||
// Modify dumpstate#SetOptionsFromMode as well for default system screenshots.
|
||||
// We override dumpstate for interactive bugreports.
|
||||
return bugreportType == BugreportParams.BUGREPORT_MODE_FULL
|
||||
|| bugreportType == BugreportParams.BUGREPORT_MODE_WEAR;
|
||||
}
|
||||
|
||||
private static ParcelFileDescriptor getFd(File file) {
|
||||
try {
|
||||
return ParcelFileDescriptor.open(file,
|
||||
|
||||
Reference in New Issue
Block a user