Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions firebase-sessions/firebase-sessions.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ android {
}
}

kotlin {
explicitApi()
}

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KaptGenerateStubs::class.java).configureEach {
kotlinOptions.jvmTarget = "1.8"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

/**
Expand All @@ -38,7 +38,7 @@ object CrashEventReceiver {
* @see SharedSessionRepository.appBackground
*/
@JvmStatic
fun notifyCrashOccurred() {
public fun notifyCrashOccurred() {
try {
if (!::sharedSessionRepository.isInitialized) {
sharedSessionRepository = SharedSessionRepository.instance
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ 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<SessionSubscriber.Name, Dependency>())

/**
* Add a subscriber as a dependency to the Sessions SDK. Every dependency must register itself, or
* 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
Expand All @@ -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)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Loading