Loading core/java/android/service/notification/NotificationListenerService.java +4 −0 Original line number Diff line number Diff line Loading @@ -1606,6 +1606,10 @@ public abstract class NotificationListenerService extends Service { applyUpdateLocked(update); mCompletionListener = completionListener; } if (isConnected) { Log.e(TAG, "onListenerConnected called on an already connected service!" + " This can result in duplicate events."); } isConnected = true; final SomeArgs args = SomeArgs.obtain(); args.argl1 = dispatchToken; Loading services/core/java/com/android/server/am/BoundServiceSession.java +9 −2 Original line number Diff line number Diff line Loading @@ -78,6 +78,8 @@ public class BoundServiceSession implements IBinderSession { @GuardedBy("this") int mTotal = 0; private boolean mKnownBad = false; BoundServiceSession(BiConsumer<ConnectionRecord, Boolean> processStateUpdater, WeakReference<ConnectionRecord> weakCr, String debugName) { mProcessStateUpdater = processStateUpdater; Loading Loading @@ -122,8 +124,13 @@ public class BoundServiceSession implements IBinderSession { // the underlying ConnectionRecord. This also ensures that there are no shenanigans that // the remote app can perform with the given token to remain unfrozen. logTraceInstant(() -> errorMessage); if (!mKnownBad) { Slog.wtfStack(TAG, errorMessage + ". Current keys: " + mKeyByTag + "; Counts: " + mCountByKey); mKnownBad = true; } else { Slog.e(TAG, errorMessage + ". Current keys: " + mKeyByTag + "; Counts: " + mCountByKey); } mKeyByTag.clear(); mCountByKey.clear(); if (mTotal != 0) { Loading Loading
core/java/android/service/notification/NotificationListenerService.java +4 −0 Original line number Diff line number Diff line Loading @@ -1606,6 +1606,10 @@ public abstract class NotificationListenerService extends Service { applyUpdateLocked(update); mCompletionListener = completionListener; } if (isConnected) { Log.e(TAG, "onListenerConnected called on an already connected service!" + " This can result in duplicate events."); } isConnected = true; final SomeArgs args = SomeArgs.obtain(); args.argl1 = dispatchToken; Loading
services/core/java/com/android/server/am/BoundServiceSession.java +9 −2 Original line number Diff line number Diff line Loading @@ -78,6 +78,8 @@ public class BoundServiceSession implements IBinderSession { @GuardedBy("this") int mTotal = 0; private boolean mKnownBad = false; BoundServiceSession(BiConsumer<ConnectionRecord, Boolean> processStateUpdater, WeakReference<ConnectionRecord> weakCr, String debugName) { mProcessStateUpdater = processStateUpdater; Loading Loading @@ -122,8 +124,13 @@ public class BoundServiceSession implements IBinderSession { // the underlying ConnectionRecord. This also ensures that there are no shenanigans that // the remote app can perform with the given token to remain unfrozen. logTraceInstant(() -> errorMessage); if (!mKnownBad) { Slog.wtfStack(TAG, errorMessage + ". Current keys: " + mKeyByTag + "; Counts: " + mCountByKey); mKnownBad = true; } else { Slog.e(TAG, errorMessage + ". Current keys: " + mKeyByTag + "; Counts: " + mCountByKey); } mKeyByTag.clear(); mCountByKey.clear(); if (mTotal != 0) { Loading