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

Commit 3dec27ff authored by Ned Burns's avatar Ned Burns
Browse files

DO NOT MERGE Log remote exceptions in NotifCollection

Followup from ag/10056177

Also cleans up a few small nits.

Test: atest
Bug: 112656837
Change-Id: I116b8f70df62b7c37c02325d54660624aa7bd78b
(cherry picked from commit a5c6f2e0)
parent 4605ca9d
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -249,6 +249,7 @@ public class NotifCollection implements Dumpable {
                            stats.notificationVisibility);
                } catch (RemoteException e) {
                    // system process is dead if we're here.
                    mLogger.logRemoteExceptionOnNotificationClear(entry.getKey(), e);
                }
            }
        }
@@ -277,6 +278,7 @@ public class NotifCollection implements Dumpable {
            mStatusBarService.onClearAllNotifications(userId);
        } catch (RemoteException e) {
            // system process is dead if we're here.
            mLogger.logRemoteExceptionOnClearAllNotifications(e);
        }

        final List<NotificationEntry> entries = new ArrayList<>(getAllNotifs());
@@ -743,6 +745,6 @@ public class NotifCollection implements Dumpable {
    @Retention(RetentionPolicy.SOURCE)
    public @interface CancellationReason {}

    public static final int REASON_NOT_CANCELED = -1;
    static final int REASON_NOT_CANCELED = -1;
    public static final int REASON_UNKNOWN = 0;
}
+20 −1
Original line number Diff line number Diff line
@@ -16,11 +16,13 @@

package com.android.systemui.statusbar.notification.collection.notifcollection

import android.os.RemoteException
import android.service.notification.NotificationListenerService.RankingMap
import com.android.systemui.log.LogBuffer
import com.android.systemui.log.LogLevel.DEBUG
import com.android.systemui.log.LogLevel.INFO
import com.android.systemui.log.LogLevel.WARNING
import com.android.systemui.log.LogLevel.WTF
import com.android.systemui.log.dagger.NotificationLog
import javax.inject.Inject

@@ -92,6 +94,23 @@ class NotifCollectionLogger @Inject constructor(
            buffer.log(TAG, DEBUG, { str1 = entry }, { "  $str1" })
        }
    }

    fun logRemoteExceptionOnNotificationClear(key: String, e: RemoteException) {
        buffer.log(TAG, WTF, {
            str1 = key
            str2 = e.toString()
        }, {
            "RemoteException while attempting to clear $str1:\n$str2"
        })
    }

    fun logRemoteExceptionOnClearAllNotifications(e: RemoteException) {
        buffer.log(TAG, WTF, {
            str1 = e.toString()
        }, {
            "RemoteException while attempting to clear all notifications:\n$str1"
        })
    }
}

private const val TAG = "NotifCollection"