Skip to content

Commit 088ec8b

Browse files
author
Michael Troger
committed
Add Crashlytics opt in option
1 parent 8141216 commit 088ec8b

File tree

5 files changed

+24
-0
lines changed

5 files changed

+24
-0
lines changed

crashlytics/src/androidMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,8 @@ actual class CrashlyticsCallsActual : CrashlyticsCalls {
3232
override fun setUserId(identifier: String) {
3333
FirebaseCrashlytics.getInstance().setUserId(identifier)
3434
}
35+
36+
override fun setCollectionEnabled(enabled: Boolean) {
37+
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(enabled)
38+
}
3539
}

crashlytics/src/appleMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCallsActual.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,8 @@ actual class CrashlyticsCallsActual : CrashlyticsCalls {
3838
override fun setUserId(identifier: String) {
3939
FIRCrashlyticsSetUserID(identifier)
4040
}
41+
42+
override fun setCollectionEnabled(enabled: Boolean) {
43+
FIRCrashlyticsSetCollectionEnabled(enabled)
44+
}
4145
}

crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsCalls.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ interface CrashlyticsCalls {
66
fun sendFatalException(throwable: Throwable)
77
fun setCustomValue(key: String, value: Any)
88
fun setUserId(identifier: String)
9+
fun setCollectionEnabled(enabled: Boolean)
910
}
1011

1112
expect class CrashlyticsCallsActual() : CrashlyticsCalls

crashlytics/src/commonMain/kotlin/co/touchlab/crashkios/crashlytics/CrashlyticsKotlin.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ object CrashlyticsKotlin {
2424
fun setUserId(identifier: String) {
2525
implementation.setUserId(identifier)
2626
}
27+
28+
fun setCollectionEnabled(enabled: Boolean) {
29+
implementation.setCollectionEnabled(enabled)
30+
}
2731
}
2832

2933
/**
@@ -54,4 +58,8 @@ internal object EmptyCalls : CrashlyticsCalls {
5458
override fun setUserId(identifier: String) {
5559

5660
}
61+
62+
override fun setCollectionEnabled(enabled: Boolean) {
63+
64+
}
5765
}

crashlytics/src/nativeInterop/cinterop/crashlytics.def

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,13 @@ void FIRCrashlyticsSetUserID(NSString* _Nonnull identifier) {
136136
setUserID(crashlytics, selector, identifier);
137137
}
138138

139+
void FIRCrashlyticsSetCollectionEnabled(BOOL enabled) {
140+
id crashlytics = FIRCrashlyticsInstance();
141+
SEL selector = NSSelectorFromString(@"setCrashlyticsCollectionEnabled:");
142+
void (*setCrashlyticsCollectionEnabled)(id, SEL, BOOL) = FIRMethodForSelector(crashlytics, selector);
143+
setCrashlyticsCollectionEnabled(crashlytics, selector, enabled);
144+
}
145+
139146
void FIRCrashlyticsSetCustomValue(NSString* _Nonnull key, id __nullable value) {
140147
id crashlytics = FIRCrashlyticsInstance();
141148
SEL selector = NSSelectorFromString(@"setCustomValue:forKey:");

0 commit comments

Comments
 (0)