diff --git a/firebase-sessions/firebase-sessions.gradle.kts b/firebase-sessions/firebase-sessions.gradle.kts index 745bb0775f6..fba6304abed 100644 --- a/firebase-sessions/firebase-sessions.gradle.kts +++ b/firebase-sessions/firebase-sessions.gradle.kts @@ -60,6 +60,8 @@ android { } } +kotlin { explicitApi() } + tasks.withType(org.jetbrains.kotlin.gradle.tasks.KaptGenerateStubs::class.java).configureEach { kotlinOptions.jvmTarget = "1.8" } diff --git a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/api/CrashEventReceiver.kt b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/api/CrashEventReceiver.kt index 9318ed944e0..74a0d106d35 100644 --- a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/api/CrashEventReceiver.kt +++ b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/api/CrashEventReceiver.kt @@ -25,7 +25,7 @@ import com.google.firebase.sessions.SharedSessionRepository * This object provides a static-like entry point that Crashlytics calls to inform Sessions a fatal * crash has occurred. */ -object CrashEventReceiver { +public object CrashEventReceiver { @VisibleForTesting internal lateinit var sharedSessionRepository: SharedSessionRepository /** @@ -38,7 +38,7 @@ object CrashEventReceiver { * @see SharedSessionRepository.appBackground */ @JvmStatic - fun notifyCrashOccurred() { + public fun notifyCrashOccurred() { try { if (!::sharedSessionRepository.isInitialized) { sharedSessionRepository = SharedSessionRepository.instance diff --git a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.kt b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.kt index adf3ce8c950..bb202529c04 100644 --- a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.kt +++ b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/api/FirebaseSessionsDependencies.kt @@ -30,7 +30,7 @@ import kotlinx.coroutines.sync.withLock * * This is important because the Sessions SDK starts up before dependent SDKs. */ -object FirebaseSessionsDependencies { +public object FirebaseSessionsDependencies { private val dependencies = synchronizedMap(mutableMapOf()) /** @@ -38,7 +38,7 @@ object FirebaseSessionsDependencies { * the Sessions SDK will never generate a session. */ @JvmStatic - fun addDependency(subscriberName: SessionSubscriber.Name) { + public fun addDependency(subscriberName: SessionSubscriber.Name) { if (dependencies.containsKey(subscriberName)) { Log.d(TAG, "Dependency $subscriberName already added.") return @@ -54,7 +54,7 @@ object FirebaseSessionsDependencies { * return. */ @JvmStatic - fun register(subscriber: SessionSubscriber) { + public fun register(subscriber: SessionSubscriber) { val subscriberName = subscriber.sessionSubscriberName val dependency = getDependency(subscriberName) diff --git a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/api/SessionSubscriber.kt b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/api/SessionSubscriber.kt index fdef981091f..d9a0bb762ce 100644 --- a/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/api/SessionSubscriber.kt +++ b/firebase-sessions/src/main/kotlin/com/google/firebase/sessions/api/SessionSubscriber.kt @@ -19,20 +19,20 @@ package com.google.firebase.sessions.api import androidx.annotation.Discouraged /** [SessionSubscriber] is an interface that dependent SDKs must implement. */ -interface SessionSubscriber { +public interface SessionSubscriber { /** [SessionSubscriber.Name]s are used for identifying subscribers. */ - enum class Name { + public enum class Name { CRASHLYTICS, PERFORMANCE, @Discouraged(message = "This is for testing purposes only.") MATT_SAYS_HI, } /** [SessionDetails] contains session data passed to subscribers whenever the session changes */ - data class SessionDetails(val sessionId: String) + public data class SessionDetails(val sessionId: String) - fun onSessionChanged(sessionDetails: SessionDetails) + public fun onSessionChanged(sessionDetails: SessionDetails) - val isDataCollectionEnabled: Boolean + public val isDataCollectionEnabled: Boolean - val sessionSubscriberName: Name + public val sessionSubscriberName: Name }