Drop READ_MEDIA_IMAGES, bump to 1.2.35+151
Play's photo and video permissions policy refused version 150 over this, and
was right to. The policy allows the permission only where a system picker is
"technically insufficient to provide core app functionality", and the app's
real need is the opposite of that:
* every operational photograph opens the camera directly — parcel shots at
pickup, proof of delivery at the door, stop verification. None read the
library, deliberately: a picture chosen from the gallery could have been
taken anywhere at any time and would not be evidence that a parcel was
collected or delivered;
* the one gallery read in the whole app is a rider setting their profile
photograph, once, at sign-up.
That is the textbook "one-time or infrequent" case the policy points at the
Android photo picker for. image_picker 1.1.2 already routes
ImageSource.gallery through that system picker on Android 13+ when the
permission is absent, so the profile picker keeps working and needs no
permission at all.
READ_EXTERNAL_STORAGE stays, still capped at maxSdkVersion 32, for devices
older than the photo picker.
Verified absent from the built bundle's merged manifest rather than only from
the source.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EqVJPB9B4QuieZnBAAKgYQ
This commit is contained in:
@@ -3,10 +3,29 @@
|
||||
|
||||
<!-- ===== Permissions ===== -->
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
||||
<!-- For older Android versions. Capped at 32: from 33 READ_MEDIA_IMAGES
|
||||
above is the permission that governs this, and requesting broad storage
|
||||
on a modern device is both ineffective and a Play review flag. -->
|
||||
<!-- READ_MEDIA_IMAGES was declared here and REMOVED 2026-09-19, because
|
||||
Play's photo and video permissions policy refused it and was right to.
|
||||
The policy allows it only where a system picker is "technically
|
||||
insufficient to provide core app functionality", and here it is not
|
||||
even close:
|
||||
|
||||
* every operational photograph opens the CAMERA directly — parcel
|
||||
shots at pickup, proof of delivery at the door, stop verification.
|
||||
None of them read the library, deliberately: a picture chosen from
|
||||
the gallery could have been taken anywhere at any time and would
|
||||
not be evidence that a parcel was collected or delivered;
|
||||
* the ONE gallery read in the app is a rider setting their profile
|
||||
photograph, once, at sign-up.
|
||||
|
||||
So the app's real need is the textbook "one-time or infrequent" case
|
||||
the policy points at the Android photo picker for. image_picker 1.1.2
|
||||
already routes `ImageSource.gallery` through that system picker on
|
||||
Android 13+ when this permission is absent, so removing it keeps the
|
||||
profile picker working and needs no permission at all. -->
|
||||
<!-- For older Android versions, where the photo picker does not exist.
|
||||
Capped at 32: from 33 the system picker above governs this, and
|
||||
requesting broad storage on a modern device is both ineffective and a
|
||||
Play review flag. -->
|
||||
<uses-permission
|
||||
android:name="android.permission.READ_EXTERNAL_STORAGE"
|
||||
android:maxSdkVersion="32" />
|
||||
|
||||
@@ -2,7 +2,7 @@ name: miler
|
||||
description: Miler Rider - Smarter Pickups, Powered by AI
|
||||
publish_to: "none"
|
||||
|
||||
version: 1.2.30+146
|
||||
version: 1.2.35+151
|
||||
|
||||
|
||||
environment:
|
||||
|
||||
Reference in New Issue
Block a user