From 38c75767d9162fe1cdca7485945efba8e505a176 Mon Sep 17 00:00:00 2001 From: Matthew Robertson Date: Fri, 23 May 2025 15:20:54 -0400 Subject: [PATCH] Do not notify subscribers when session didn't change --- .../com/google/firebase/sessions/SharedSessionRepository.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SharedSessionRepository.kt b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SharedSessionRepository.kt index 6cbaea417d3..c1ad7b26fc4 100644 --- a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SharedSessionRepository.kt +++ b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SharedSessionRepository.kt @@ -61,6 +61,7 @@ constructor( } internal var previousNotificationType: NotificationType = NotificationType.GENERAL + private var previousSessionId: String = "" init { CoroutineScope(backgroundDispatcher).launch { @@ -171,6 +172,10 @@ constructor( private suspend fun notifySubscribers(sessionId: String, type: NotificationType) { previousNotificationType = type + if (previousSessionId == sessionId) { + return + } + previousSessionId = sessionId FirebaseSessionsDependencies.getRegisteredSubscribers().values.forEach { subscriber -> // Notify subscribers, regardless of sampling and data collection state subscriber.onSessionChanged(SessionSubscriber.SessionDetails(sessionId))