fix: firebase initialization

This commit is contained in:
rebelonion 2024-02-06 03:11:31 -06:00
parent f77269e468
commit d15ffe7708
6 changed files with 20 additions and 0 deletions

View file

@ -34,6 +34,8 @@ android {
// Google Play specific configuration // Google Play specific configuration
dimension "store" dimension "store"
isDefault true isDefault true
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
} }
} }

View file

@ -1,10 +1,16 @@
package ani.dantotsu.connections.crashlytics package ani.dantotsu.connections.crashlytics
import android.content.Context
import com.google.firebase.FirebaseApp
import com.google.firebase.crashlytics.FirebaseCrashlytics import com.google.firebase.crashlytics.FirebaseCrashlytics
import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.crashlytics.ktx.crashlytics
import com.google.firebase.ktx.Firebase import com.google.firebase.ktx.Firebase
import com.google.firebase.ktx.app
class FirebaseCrashlytics : CrashlyticsInterface { class FirebaseCrashlytics : CrashlyticsInterface {
override fun initialize(context: Context) {
FirebaseApp.initializeApp(context)
}
override fun logException(e: Throwable) { override fun logException(e: Throwable) {
FirebaseCrashlytics.getInstance().recordException(e) FirebaseCrashlytics.getInstance().recordException(e)
} }

View file

@ -57,6 +57,7 @@ class App : MultiDexApplication() {
Injekt.importModule(PreferenceModule(this)) Injekt.importModule(PreferenceModule(this))
val crashlytics = Injekt.get<CrashlyticsInterface>() val crashlytics = Injekt.get<CrashlyticsInterface>()
crashlytics.initialize(this)
val useMaterialYou: Boolean = PrefManager.getVal(PrefName.UseMaterialYou) val useMaterialYou: Boolean = PrefManager.getVal(PrefName.UseMaterialYou)
if (useMaterialYou) { if (useMaterialYou) {

View file

@ -1,6 +1,9 @@
package ani.dantotsu.connections.crashlytics package ani.dantotsu.connections.crashlytics
import android.content.Context
interface CrashlyticsInterface { interface CrashlyticsInterface {
fun initialize(context: Context)
fun logException(e: Throwable) fun logException(e: Throwable)
fun log(message: String) fun log(message: String)
fun setUserId(id: String) fun setUserId(id: String)

View file

@ -1,6 +1,11 @@
package ani.dantotsu.connections.crashlytics package ani.dantotsu.connections.crashlytics
import android.content.Context
class CrashlyticsStub : CrashlyticsInterface { class CrashlyticsStub : CrashlyticsInterface {
override fun initialize(context: Context) {
//no-op
}
override fun logException(e: Throwable) { override fun logException(e: Throwable) {
//no-op //no-op
} }

View file

@ -17,6 +17,9 @@ buildscript {
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
classpath "com.google.devtools.ksp:symbol-processing-api:$ksp_version" classpath "com.google.devtools.ksp:symbol-processing-api:$ksp_version"
classpath "com.google.devtools.ksp:symbol-processing-gradle-plugin:$ksp_version" classpath "com.google.devtools.ksp:symbol-processing-gradle-plugin:$ksp_version"
classpath 'com.google.gms:google-services:4.4.0'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9'
} }
} }