diff --git a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SessionLifecycleService.kt b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SessionLifecycleService.kt index e0f3720b8d7..bde6d138fbe 100644 --- a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SessionLifecycleService.kt +++ b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/SessionLifecycleService.kt @@ -128,6 +128,7 @@ internal class SessionLifecycleService : Service() { /** Generates a new session id and sends it everywhere it's needed */ private fun newSession() { try { + // TODO(mrober): Consider migrating to Dagger, or update [FirebaseSessionsRegistrar]. SessionGenerator.instance.generateNewSession() Log.d(TAG, "Generated new session.") broadcastSession() @@ -152,17 +153,17 @@ internal class SessionLifecycleService : Service() { } private fun maybeSendSessionToClient(client: Messenger) { - if (hasForegrounded) { - sendSessionToClient(client, SessionGenerator.instance.currentSession.sessionId) - } else { - try { + try { + if (hasForegrounded) { + sendSessionToClient(client, SessionGenerator.instance.currentSession.sessionId) + } else { // Send the value from the datastore before the first foregrounding it exists val storedSession = SessionDatastore.instance.getCurrentSessionId() Log.d(TAG, "App has not yet foregrounded. Using previously stored session.") storedSession?.let { sendSessionToClient(client, it) } - } catch (ex: IllegalStateException) { - Log.w(TAG, "Failed to send session to client.", ex) } + } catch (ex: IllegalStateException) { + Log.w(TAG, "Failed to send session to client.", ex) } }