Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
2 changes: 2 additions & 0 deletions firebase-sessions/firebase-sessions.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ 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