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

Commit 0460375f authored by Ned Burns's avatar Ned Burns
Browse files

Add logging to NotifCollection for lifetime extension

Test: atest, manual
Bug: 112656837
Change-Id: I8990bf4888b30b7512d969d0e3cf8631c67715db
parent e0bb2054
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -504,6 +504,11 @@ public class NotifCollection implements Dumpable {
                            extender));
        }

        mLogger.logLifetimeExtensionEnded(
                entry.getKey(),
                extender,
                entry.mLifetimeExtenders.size());

        if (!isLifetimeExtended(entry)) {
            if (tryRemoveNotification(entry)) {
                dispatchEventsAndRebuildList();
@@ -529,6 +534,7 @@ public class NotifCollection implements Dumpable {
        mAmDispatchingToOtherCode = true;
        for (NotifLifetimeExtender extender : mLifetimeExtenders) {
            if (extender.shouldExtendLifetime(entry, entry.mCancellationReason)) {
                mLogger.logLifetimeExtended(entry.getKey(), extender);
                entry.mLifetimeExtenders.add(extender);
            }
        }
+23 −0
Original line number Diff line number Diff line
@@ -111,6 +111,29 @@ class NotifCollectionLogger @Inject constructor(
            "RemoteException while attempting to clear all notifications:\n$str1"
        })
    }

    fun logLifetimeExtended(key: String, extender: NotifLifetimeExtender) {
        buffer.log(TAG, INFO, {
            str1 = key
            str2 = extender.name
        }, {
            "LIFETIME EXTENDED: $str1 by $str2"
        })
    }

    fun logLifetimeExtensionEnded(
        key: String,
        extender: NotifLifetimeExtender,
        totalExtenders: Int
    ) {
        buffer.log(TAG, INFO, {
            str1 = key
            str2 = extender.name
            int1 = totalExtenders
        }, {
            "LIFETIME EXTENSION ENDED for $str1 by '$str2'; $int1 remaining extensions"
        })
    }
}

private const val TAG = "NotifCollection"