diff --git a/crashlytics/src/androidMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt b/crashlytics/src/androidMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt index b8a8c4b..d744d08 100644 --- a/crashlytics/src/androidMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt +++ b/crashlytics/src/androidMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt @@ -32,4 +32,8 @@ actual class CrashlyticsCallsActual : CrashlyticsCalls { override fun setUserId(identifier: String) { FirebaseCrashlytics.getInstance().setUserId(identifier) } + + override fun setCollectionEnabled(enabled: Boolean) { + FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(enabled) + } } diff --git a/crashlytics/src/appleMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt b/crashlytics/src/appleMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt index 7e3809b..cc3246f 100644 --- a/crashlytics/src/appleMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt +++ b/crashlytics/src/appleMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt @@ -42,4 +42,8 @@ actual class CrashlyticsCallsActual : CrashlyticsCalls { override fun setUserId(identifier: String) { FIRCrashlyticsSetUserID(identifier) } + + override fun setCollectionEnabled(enabled: Boolean) { + FIRCrashlyticsSetCollectionEnabled(enabled) + } } diff --git a/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCalls.kt b/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCalls.kt index 454b99f..c954a55 100644 --- a/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCalls.kt +++ b/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCalls.kt @@ -6,6 +6,7 @@ interface CrashlyticsCalls { fun sendFatalException(throwable: Throwable) fun setCustomValue(key: String, value: Any) fun setUserId(identifier: String) + fun setCollectionEnabled(enabled: Boolean) } expect class CrashlyticsCallsActual() : CrashlyticsCalls diff --git a/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsKotlin.kt b/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsKotlin.kt index f2f3e79..d69d71e 100644 --- a/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsKotlin.kt +++ b/crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsKotlin.kt @@ -24,6 +24,10 @@ object CrashlyticsKotlin { fun setUserId(identifier: String) { implementation.setUserId(identifier) } + + fun setCollectionEnabled(enabled: Boolean) { + implementation.setCollectionEnabled(enabled) + } } /** @@ -49,4 +53,7 @@ internal object EmptyCalls : CrashlyticsCalls { override fun setUserId(identifier: String) { } + + override fun setCollectionEnabled(enabled: Boolean) { + } } diff --git a/crashlytics/src/nativeInterop/cinterop/crashlytics.def b/crashlytics/src/nativeInterop/cinterop/crashlytics.def index 9cb9892..309b9ee 100644 --- a/crashlytics/src/nativeInterop/cinterop/crashlytics.def +++ b/crashlytics/src/nativeInterop/cinterop/crashlytics.def @@ -136,6 +136,13 @@ void FIRCrashlyticsSetUserID(NSString* _Nonnull identifier) { setUserID(crashlytics, selector, identifier); } +void FIRCrashlyticsSetCollectionEnabled(BOOL enabled) { + id crashlytics = FIRCrashlyticsInstance(); + SEL selector = NSSelectorFromString(@"setCrashlyticsCollectionEnabled:"); + void (*setCrashlyticsCollectionEnabled)(id, SEL, BOOL) = FIRMethodForSelector(crashlytics, selector); + setCrashlyticsCollectionEnabled(crashlytics, selector, enabled); +} + void FIRCrashlyticsSetCustomValue(NSString* _Nonnull key, id __nullable value) { id crashlytics = FIRCrashlyticsInstance(); SEL selector = NSSelectorFromString(@"setCustomValue:forKey:");