Skip to content

Fix Android share completion and link intents - #10

Merged
AbassHammed merged 1 commit into
masterfrom
feat/fix-android-share-issues-8-9
Jul 29, 2026
Merged

Fix Android share completion and link intents#10
AbassHammed merged 1 commit into
masterfrom
feat/fix-android-share-issues-8-9

Conversation

@AbassHammed

Copy link
Copy Markdown
Contributor
  • Reset Android share state through the activity result so share() can be called repeatedly.
  • Keep URLs in EXTRA_TEXT so Android recognizes them as links.
  • Add regression tests for both fixes.

Tests: Android, JavaScript, TypeScript, and Rust test suites pass.

Fixes #8
Fixes #9

@AbassHammed AbassHammed self-assigned this Jul 29, 2026
@AbassHammed
AbassHammed marked this pull request as ready for review July 29, 2026 21:14
Copilot AI review requested due to automatic review settings July 29, 2026 21:14
@AbassHammed
AbassHammed merged commit ed2c29e into master Jul 29, 2026
5 checks passed
@AbassHammed
AbassHammed deleted the feat/fix-android-share-issues-8-9 branch July 29, 2026 21:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves the Android implementation of the share plugin by making share sessions reliably complete (so share() can be called repeatedly) and by structuring link payloads so Android’s Sharesheet recognizes URLs as links.

Changes:

  • Resolve/reset Android share session state via an activity-result callback, with lifecycle resume as a fallback.
  • Preserve URL detection by putting URLs in Intent.EXTRA_TEXT and using title/subject for the title/text.
  • Add Android unit tests covering share-session completion and intent payload mapping.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
android/test-support/tauri-api/src/main/java/app/tauri/plugin/Plugin.kt Extends the test-support Plugin stub with startActivityForResult to support new activity-result flow in tests.
android/test-support/tauri-api/src/main/java/app/tauri/annotation/ActivityCallback.kt Adds a test-support @ActivityCallback annotation used by the plugin callback.
android/src/main/java/SharePlugin.kt Updates share flow to use activity-result completion and updates intent extras for link recognition.
android/src/main/java/ShareSessionState.kt Introduces a small state machine to manage share session lifecycle and completion.
android/src/main/java/ShareIntentPayload.kt Encapsulates mapping from share options to (title/body) intent extras for correct Sharesheet behavior.
android/src/test/java/ShareSessionStateUnitTest.kt Adds regression tests for session completion/reset behavior.
android/src/test/java/ShareIntentPayloadUnitTest.kt Adds regression tests for intent payload mapping (URL vs text/title).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +150 to 155
@ActivityCallback
fun shareResult(invoke: Invoke, result: ActivityResult) {
if (shareSession.completeFromActivityResult()) {
resolvePendingShare(invoke)
}
}
@karlingen

Copy link
Copy Markdown
Contributor

@AbassHammed Wow, thank you for that quick turnaround! 🏆

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants