Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ae48859e authored by Evan Laird's avatar Evan Laird
Browse files

[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
parent c9c4f9d4
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -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)) {
+1 −1
Original line number Diff line number Diff line
@@ -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