[PM-41044] Passkeys import from other app doesn't work on Android 17
- Dominant language
- Kotlin
- Stars
- 9.4k
- Forks
- 1.1k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 67
Description
### Steps To Reproduce
On a Google Pixel 10a with android 17
Go to settings/vault/import/import from other app
### Expected Result
A dialog appear to select the source for importing passwords and passkeys
### Actual Result
an error dialog box appear:
Stacktrace:
androidx.credentials.providerevents.exception.ImportCredentialsNoExportOptionException: No export provider option found.
androidx.credentials.providerevents.internal.ConversionUtilKt.toJetpackGetException(r8-map-id-1f8bafc4fe8bd4de511a6c3a52df51ef1ab635466d0492b4af968acec738e007:82)
androidx.credentials.providerevents.exception.ImportCredentialsException$Companion.fromBundle$providerevents(r8-map-id-1f8bafc4fe8bd4de511a6c3a52df51ef1ab635466d0492b4af968acec738e007:18)
androidx.credentials.providerevents.IntentHandler$Companion.retrieveImportCredentialsException(r8-map-id-1f8bafc4fe8bd4de511a6c3a52df51ef1ab635466d0492b4af968acec738e007:16)
androidx.credentials.providerevents.playservices.controller.ImportCredentialsController$Companion.maybeReportErrorResultCode(r8-map-id-1f8bafc4fe8bd4de511a6c3a52df51ef1ab635466d0492b4af968acec738e007:41)
androidx.credentials.providerevents.playservices.controller.ImportCredentialsController.handleImportCredentialsResponse(r8-map-id-1f8bafc4fe8bd4de511a6c3a52df51ef1ab635466d0492b4af968acec738e007:19)
androidx.credentials.providerevents.playservices.controller.ImportCredentialsController.access$handleImportCredentialsResponse(r8-map-id-1f8bafc4fe8bd4de511a6c3a52df51ef1ab635466d0492b4af968acec738e007:1)
androidx.credentials.providerevents.playservices.controller.ImportCredentialsController$resultReceiver$1.onReceiveResult(r8-map-id-1f8bafc4fe8bd4de511a6c3a52df51ef1ab635466d0492b4af968acec738e007:25)
android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:51)
android.os.Handler.handleCallback(Handler.java:1095)
android.os.Handler.dispatchMessageImpl(Handler.java:135)
android.os.Handler.dispatchMessage(Handler.java:125)
android.os.Looper.loopOnce(Looper.java:296)
android.os.Looper.loop(Looper.java:397)
android.app.ActivityThread.main(ActivityThread.java:9523)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:575)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:939)
Version: 2026.7.0 (21756)
Device: 📱 google Pixel 10a 🤖 17@37 📦 prod
CI: 🧱 commit: bitwarden/android/release/2026.7-rc58@36c892e1887b5051270ead6021afb16420663566
💻 build source: bitwarden/android/actions/runs/29108828120/attempts/1
### Screenshots or Videos
_No response_
### Additional Context
_No response_
### Build Version
2026.7.0 (21756)
### What server are you connecting to?
EU
### Self-host Server Version
_No response_
### Environment Details
Google Pixel 10a
Android 17
### Issue Tracking Info
- [ ] I understand that work is tracked outside of Github. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.
Contributor guide
Research direction
Start at Settings > Vault > Import > Import from other app and reproduce the failure on Android 17, then trace the import flow around ImportCredentialsNoExportOptionException and ImportCredentialsController in the stack trace. Done means the source-selection dialog appears and passkey import can proceed on the reported device and version.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- authentication, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100