diff --git a/packages/share_plus/share_plus/android/src/main/kotlin/dev/fluttercommunity/plus/share/MethodCallHandler.kt b/packages/share_plus/share_plus/android/src/main/kotlin/dev/fluttercommunity/plus/share/MethodCallHandler.kt index 8329b826e9..23baef6a6d 100644 --- a/packages/share_plus/share_plus/android/src/main/kotlin/dev/fluttercommunity/plus/share/MethodCallHandler.kt +++ b/packages/share_plus/share_plus/android/src/main/kotlin/dev/fluttercommunity/plus/share/MethodCallHandler.kt @@ -40,6 +40,7 @@ internal class MethodCallHandler( isWithResult, ) + manager.signalShareSheetCalledBack() if (!isWithResult) { if (isResultRequested) { result.success("dev.fluttercommunity.plus/share/unavailable") @@ -62,6 +63,7 @@ internal class MethodCallHandler( isWithResult, ) + manager.signalShareSheetCalledBack() if (!isWithResult) { if (isResultRequested) { result.success("dev.fluttercommunity.plus/share/unavailable") diff --git a/packages/share_plus/share_plus/android/src/main/kotlin/dev/fluttercommunity/plus/share/ShareSuccessManager.kt b/packages/share_plus/share_plus/android/src/main/kotlin/dev/fluttercommunity/plus/share/ShareSuccessManager.kt index d73758b486..6f026abe89 100644 --- a/packages/share_plus/share_plus/android/src/main/kotlin/dev/fluttercommunity/plus/share/ShareSuccessManager.kt +++ b/packages/share_plus/share_plus/android/src/main/kotlin/dev/fluttercommunity/plus/share/ShareSuccessManager.kt @@ -34,6 +34,14 @@ internal class ShareSuccessManager(private val context: Context) : ActivityResul } } + /** + * Set the `isCalledBack` to `true`. Must be called in every share-sheet calling method + * before returning. + */ + fun signalShareSheetCalledBack(){ + isCalledBack.set(true) + } + /** * Must be called if `.startActivityForResult` is not available to avoid deadlocking. */