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

Commit 8f23a617 authored by Ibrahim Yilmaz's avatar Ibrahim Yilmaz
Browse files

Log removeRemoteInput apply skip

We observe a stale last updated remote input active value. This logs will surface the cases when we skip system level remote input active due to entry based limitation.
Previous log CLs also helps us uncover the reason why the system has stale data.

Bug: 290068526
Test: We havent reproduce this case yet. We want to get this case from BR Logs.
Change-Id: Icdce15e47b76f69ccd70e106c86b23d333dec469
parent 7de813b2
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -118,16 +118,27 @@ public class RemoteInputController {

        // If the view is being removed, this may be called even though we're not active
        boolean remoteInputActiveForEntry = isRemoteInputActive(entry);
        boolean remoteInputActive = isRemoteInputActive();
        mLogger.logRemoveRemoteInput(
                entry.getKey() /* entryKey */,
                entry.mRemoteEditImeVisible /* remoteEditImeVisible */,
                entry.mRemoteEditImeAnimatingAway /* remoteEditImeAnimatingAway */,
                remoteInputActiveForEntry /* isRemoteInputActiveForEntry */,
                isRemoteInputActive()/* isRemoteInputActive */,
                remoteInputActive/* isRemoteInputActive */,
                reason/* reason */,
                entry.getNotificationStyle()/* notificationStyle */);

        if (!remoteInputActiveForEntry) return;
        if (!remoteInputActiveForEntry) {
            if (mLastAppliedRemoteInputActive != null
                    && mLastAppliedRemoteInputActive
                    && !remoteInputActive) {
                mLogger.logRemoteInputApplySkipped(
                        entry.getKey() /* entryKey */,
                        reason/* reason */,
                        entry.getNotificationStyle()/* notificationStyle */);
            }
            return;
        }

        pruneWeakThenRemoveAndContains(null /* contains */, entry /* remove */, token);

+15 −0
Original line number Diff line number Diff line
@@ -83,6 +83,21 @@ constructor(@NotificationRemoteInputLog private val logBuffer: LogBuffer) {
            }
        )

    fun logRemoteInputApplySkipped(entryKey: String, reason: String, notificationStyle: String) =
        logBuffer.log(
            TAG,
            DEBUG,
            {
                str1 = entryKey
                str2 = reason
                str3 = notificationStyle
            },
            {
                "removeRemoteInput[apply is skipped] reason: $str2" +
                    "for entry: $str1, style: $str3 "
            }
        )

    private companion object {
        private const val TAG = "RemoteInputControllerLog"
    }