package com.suno.android.utils import com.google.firebase.Firebase import com.google.firebase.crashlytics.crashlytics import com.suno.android.common_core_utils.SunoLogger import com.suno.android.common_data.user.UserService import com.suno.android.common_networking.remote.session.User import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import javax.inject.Inject class FirebaseCrashlyticsManager @Inject constructor( loggerFactory: SunoLogger.Factory, ) : UserService { private val logger = loggerFactory.create(this@FirebaseCrashlyticsManager) override suspend fun setUserInfo( user: User?, ) = withContext(Dispatchers.IO) { logger.d { "setting Firebase Crashlytics userId to `${user?.id}`" } // set to empty to clear user id // https://firebase.google.com/docs/crashlytics/customize-crash-reports?platform=android#set-user-ids Firebase.crashlytics.setUserId(user?.id.orEmpty()) } }