[Feature] Android: also register for ACTION_REVIEW so a camera app's "last shot" button opens Immich #31684
pkoevesdi
started this conversation in
Feature Request
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I have searched the existing feature requests, both open and closed, to make sure this is not a duplicate request.
The feature
Follow-up to #8116, which asked for Immich to become the system photo viewer. That was
implemented in #26109 (merged 2026-06-03, shipped in v3.0.0) — but only for
android.intent.action.VIEW. The part of the original request that covers camera apps is stillmissing: in #8116 (comment by Atemu, 2024-03-21) the suggestion was explicitly
com.android.camera.action.REVIEW, with Fossify Gallery's manifest as the reference.Camera apps do not send
VIEWfor their thumbnail / "last shot" button. They sendcom.android.camera.action.REVIEW(the legacy AOSP action most OEM cameras still use) orandroid.provider.action.REVIEW(MediaStore.ACTION_REVIEW). Immich 3.2.1 registers neither,so it never appears for that button. Google Photos registers both plus
REVIEW_SECURE, FossifyGallery registers both.
There is a second reason to register for REVIEW. On Android the default app for an intent is
stored together with the list of all activities that matched when the user picked it, and the
default is discarded as soon as that list changes:
On my phone
VIEW+image/*has 27 candidate activities, whileimage/jpegandimage/pnghave 25. So opening a JPEG from a mail client or a PNG from a file manager silently trims the
stored list to 25, and the next
image/*intent — the one a camera app sends — finds 27 againsta stored 25, drops the default and brings up the chooser again.
REVIEWhas almost no otherhandlers, so a default set for it would actually stick.
Suggested change, following Fossify Gallery:
mobile/android/app/src/main/AndroidManifest.xml, next to the existing viewer filters:mobile/android/app/src/main/kotlin/app/alextran/immich/viewintent/ViewIntentPlugin.kt, theguard in
consumeViewIntent():ACTION_REVIEW_SECUREdeliberately left out, that one is for the lock screen.Observed on: Fairphone 5, Android 15, Immich 3.2.1.
Platform
All reactions