diff --git a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/FirebaseSessions.kt b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/FirebaseSessions.kt index b0bb9bca4c2..3830f34a1eb 100644 --- a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/FirebaseSessions.kt +++ b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/FirebaseSessions.kt @@ -57,11 +57,11 @@ constructor( Log.d(TAG, "Sessions SDK disabled. Not listening to lifecycle events.") } else { firebaseApp.addLifecycleEventListener { _, _ -> - // Log.w( - // TAG, - // "FirebaseApp instance deleted. Sessions library will stop collecting data.", - // ) - // TODO(mrober): Clean up on firebase app delete + Log.w( + TAG, + "FirebaseApp instance deleted. Sessions library will stop collecting data.", + ) + sessionsActivityLifecycleCallbacks.onAppDelete() } } } diff --git a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SessionsActivityLifecycleCallbacks.kt b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SessionsActivityLifecycleCallbacks.kt index 8b817316066..0cdfbd1a498 100644 --- a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SessionsActivityLifecycleCallbacks.kt +++ b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SessionsActivityLifecycleCallbacks.kt @@ -31,10 +31,23 @@ internal class SessionsActivityLifecycleCallbacks @Inject constructor(private val sharedSessionRepository: SharedSessionRepository) : ActivityLifecycleCallbacks { - - override fun onActivityResumed(activity: Activity) = sharedSessionRepository.appForeground() - - override fun onActivityPaused(activity: Activity) = sharedSessionRepository.appBackground() + private var enabled = true + + fun onAppDelete() { + enabled = false + } + + override fun onActivityResumed(activity: Activity) { + if (enabled) { + sharedSessionRepository.appForeground() + } + } + + override fun onActivityPaused(activity: Activity) { + if (enabled) { + sharedSessionRepository.appBackground() + } + } override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) = Unit