[Dumpsys CLI] Remove Exception bounds on LogBufferEulogizer

LogBufferEulogizer previously used `<T : Exception>` as a generic bound
for its `record` method, but that doesn't seem necessary, since any
`Throwable` would work. The method is used in situ when an exception
is being handled, so that the handler can record the exception and
still throw it.

This change relaxes the bounds to `Throwable` and removes the one place
that was filterig out non-exception throwables in SystemUIService.

Test: all sysui tests
Bug: 278094048
Change-Id: I6f7d1309890724c1e2d335602dd9706bac4f5aa4
This commit is contained in:
Evan Laird
2023-06-02 10:10:21 -04:00
parent c9c4f9d445
commit ae48859e88
2 changed files with 3 additions and 6 deletions

View File

@@ -82,11 +82,8 @@ public class SystemUIService extends Service {
mLogBufferFreezer.attach(mBroadcastDispatcher);
// Attempt to dump all LogBuffers for any uncaught exception
mUncaughtExceptionPreHandlerManager.registerHandler((thread, throwable) -> {
if (throwable instanceof Exception) {
mLogBufferEulogizer.record(((Exception) throwable));
}
});
mUncaughtExceptionPreHandlerManager.registerHandler(
(thread, throwable) -> mLogBufferEulogizer.record(throwable));
// If configured, set up a battery notification
if (getResources().getBoolean(R.bool.config_showNotificationForUnknownBatteryState)) {

View File

@@ -72,7 +72,7 @@ class LogBufferEulogizer(
* The file will be prefaced by the [reason], which will then be returned (presumably so it can
* be thrown).
*/
fun <T : Exception> record(reason: T): T {
fun <T : Throwable> record(reason: T): T {
val start = systemClock.uptimeMillis()
var duration = 0L