Fixes:
128949427
Test: Tested by supplying a valid fd that dumpstate does not have access
to, but system server has access to. So the startBugreport call fails.
Verified that subsequent calls with proper arguments go through and not
encounter BUGREPORT_ERROR_ANOTHER_REPORT_IN_PROGRESS.
Change-Id: I393e09a4e35ae5191406112d76f27fe89418c069
ds.startBugreport(callingUid, callingPackage,
bugreportFd, screenshotFd, bugreportMode, myListener);
} catch (RemoteException e) {
- reportError(listener, IDumpstateListener.BUGREPORT_ERROR_RUNTIME_ERROR);
+ // bugreportd service is already started now. We need to kill it to manage the
+ // lifecycle correctly. If we don't subsequent callers will get
+ // BUGREPORT_ERROR_ANOTHER_REPORT_IN_PROGRESS error.
+ // Note that listener will be notified by the death recipient below.
+ cancelBugreport();
}
}