diff --git a/CHANGELOG.md b/CHANGELOG.md index 240e7196..2dcf12f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## Unreleased +### Features + +- Add isCrashedLastRun ([#186](https://github.com/getsentry/sentry-kotlin-multiplatform/pull/186)) + - You can use it with `Sentry.isCrashedLastRun()` + ### Dependencies - Bump Cocoa SDK from v8.17.2 to v8.20.0 ([#180](https://github.com/getsentry/sentry-kotlin-multiplatform/pull/180), [#182](https://github.com/getsentry/sentry-kotlin-multiplatform/pull/182)) diff --git a/sentry-kotlin-multiplatform/api/android/sentry-kotlin-multiplatform.api b/sentry-kotlin-multiplatform/api/android/sentry-kotlin-multiplatform.api index 89233344..7a6f63bd 100644 --- a/sentry-kotlin-multiplatform/api/android/sentry-kotlin-multiplatform.api +++ b/sentry-kotlin-multiplatform/api/android/sentry-kotlin-multiplatform.api @@ -84,6 +84,7 @@ public final class io/sentry/kotlin/multiplatform/Sentry { public final fun crash ()V public final fun init (Landroid/content/Context;Lkotlin/jvm/functions/Function1;)V public final fun init (Lkotlin/jvm/functions/Function1;)V + public final fun isCrashedLastRun ()Z public final fun setUser (Lio/sentry/kotlin/multiplatform/protocol/User;)V } diff --git a/sentry-kotlin-multiplatform/api/jvm/sentry-kotlin-multiplatform.api b/sentry-kotlin-multiplatform/api/jvm/sentry-kotlin-multiplatform.api index e1f8a5cc..f8c0d5bc 100644 --- a/sentry-kotlin-multiplatform/api/jvm/sentry-kotlin-multiplatform.api +++ b/sentry-kotlin-multiplatform/api/jvm/sentry-kotlin-multiplatform.api @@ -81,6 +81,7 @@ public final class io/sentry/kotlin/multiplatform/Sentry { public final fun crash ()V public final fun init (Lio/sentry/kotlin/multiplatform/Context;Lkotlin/jvm/functions/Function1;)V public final fun init (Lkotlin/jvm/functions/Function1;)V + public final fun isCrashedLastRun ()Z public final fun setUser (Lio/sentry/kotlin/multiplatform/protocol/User;)V } diff --git a/sentry-kotlin-multiplatform/src/appleMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.apple.kt b/sentry-kotlin-multiplatform/src/appleMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.apple.kt index 3a7cd87d..409fb4b8 100644 --- a/sentry-kotlin-multiplatform/src/appleMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.apple.kt +++ b/sentry-kotlin-multiplatform/src/appleMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.apple.kt @@ -65,6 +65,10 @@ internal actual object SentryBridge { SentrySDK.setUser(user?.toCocoaUser()) } + actual fun isCrashedLastRun(): Boolean { + return SentrySDK.crashedLastRun() + } + actual fun close() { SentrySDK.close() } diff --git a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.jvm.kt b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.jvm.kt index 51b1e662..68eab581 100644 --- a/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.jvm.kt +++ b/sentry-kotlin-multiplatform/src/commonJvmMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.jvm.kt @@ -57,6 +57,10 @@ internal actual object SentryBridge { Sentry.setUser(user?.toJvmUser()) } + actual fun isCrashedLastRun(): Boolean { + return Sentry.isCrashedLastRun() ?: false + } + actual fun close() { Sentry.close() } diff --git a/sentry-kotlin-multiplatform/src/commonMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.kt b/sentry-kotlin-multiplatform/src/commonMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.kt index 32c6a074..72111626 100644 --- a/sentry-kotlin-multiplatform/src/commonMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.kt +++ b/sentry-kotlin-multiplatform/src/commonMain/kotlin/io/sentry/kotlin/multiplatform/SentryBridge.kt @@ -27,5 +27,7 @@ internal expect object SentryBridge { fun setUser(user: User?) + fun isCrashedLastRun(): Boolean + fun close() } diff --git a/sentry-kotlin-multiplatform/src/commonMain/kotlin/io/sentry/kotlin/multiplatform/SentryKMP.kt b/sentry-kotlin-multiplatform/src/commonMain/kotlin/io/sentry/kotlin/multiplatform/SentryKMP.kt index 56f6f39e..3b52dd56 100644 --- a/sentry-kotlin-multiplatform/src/commonMain/kotlin/io/sentry/kotlin/multiplatform/SentryKMP.kt +++ b/sentry-kotlin-multiplatform/src/commonMain/kotlin/io/sentry/kotlin/multiplatform/SentryKMP.kt @@ -117,6 +117,13 @@ public object Sentry { SentryBridge.setUser(user) } + /** + * Returns true if the app crashed during last run. + */ + public fun isCrashedLastRun(): Boolean { + return SentryBridge.isCrashedLastRun() + } + /** * Throws a RuntimeException, useful for testing. */