-
-
Notifications
You must be signed in to change notification settings - Fork 202
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Android R migration #336
Comments
androidR branch created for Video/MediaLib/FileCoreLibrary |
getPath is greylisted reflection denied on API30: |
Pending google play to be ready to manage properly android.permission.MANAGE_EXTERNAL_STORAGE and request exemption. |
Check https://support.google.com/googleplay/android-developer/answer/9956427 to request exemption. |
Exemption requested and denied.
Why can't your app follow good confidentiality practices (i.e. Storage Access Framework or Media Store API or Scoped Storage) (limit 500 chars):
Less than 30s video explaining the claim: https://home.courville.org/nova_video_player-faq/nova-MANAGE_EXTERNAL_STORAGE-permission.mp4 Generic reject email received from Google without any specific information. Overall this is a very frustrating experience. |
Note that Google failed to implement on Android TV (at least API30 emulator) the required dialog to manage properly
This is a mess. |
Found old issue on issuetracker somehow related https://issuetracker.google.com/issues/136774034
|
API30debacle plan of record:
|
In terms of deadline 2021/11/1 for nova cf. https://support.google.com/googleplay/android-developer/answer/9859152#zippy=%2Ctarget-api-level-requirements-for-play-console
|
As mentioned here, it is still possible to use the classic File API, though it is limited to media files only (just like the MediaStore API). The greylisted methods could be possibly replaced by MediaStore.getExternalVolumeNames() (?). |
Reading https://stackoverflow.com/questions/56468539/getexternalstoragepublicdirectory-deprecated-in-android-q Code sample to implement create/delete/etc... classes compatible with Android Q/R ( This requires however to have proper |
Experimenting a bit:
Some useful query methods via adb:
To get the content uri, this asynchronous way works:
Note that the hack in |
Note that this is a PoC. it works with video files. SRT files created by nova can be deleted. Every other format is ko. Should add jpg file handling the same way. Launcher pending intent should be wired back to UI logic and not global. See nova-video-player/aos-AVP#336
TODO:
|
NFO files ( |
Some TODO (for me):
|
API31 targeted for v6.0.30 onward. |
VLC 3.4.3 beta 6 available from the public testing channel on Google Play uses the MANAGE_EXTERNAL_STORAGE permission. |
@moneytoo thanks for sharing this news. |
/me having fun looking at https://www.reddit.com/r/androiddev/comments/rmgdis/how_come_vlc_is_allowed_to_use_manage_external/ |
@moneytoo, I just made the connection with just video player (I am slow sorry). |
From the VLC folks and for track record https://issuetracker.google.com/issues/143549606 |
OK just noticed on Google Play console that I have been awarded the @moneytoo you should check too (finger crossed). EDIT: I also checked that I can deploy an internal release with the perm. |
Knowing Google, something like that usually sounds too good to be true. But if it sticks, it's great. Could it be because you left a version of an app with such permission in some release channel untouched and they eventually approved it? At least for me, I only see my declaration for this permission in App content section and nothing more. |
And disable it by default since it afterall foogle does not allow it despite the google play console cryptic status message. See nova-video-player/aos-AVP#336
BTW, it's not only VLC possessing such permission, but a "few more" other players at least:
|
@moneytoo indeed list is expanding... Not quite sure what is the magic for requesting permission since it has been denied twice. |
My opinion is that the magic is either support of some not normally indexed file format (.iso, .wmv, .rm, possibly some other subtitle or audio formats) or some advanced file functionality (local p2p file sharing, folder encryption or lockings etc.). |
@moneytoo thanks for sharing, have you requested on play console the right? |
FTR after downloading a couple (not being exhaustive there) of video players on apkpure (I know...), a simple
|
OK after discussing with Google Developper Support, I was not able to get someone that could help on MANAGE_EXTERNAL_STORAGE permission.
What is "fun" is this special case for Android TV. No wonder that boxes supporting USB storage does not want to migrate to Android 12. Staying on Android 11 waiting for Android 14 is the only way to get apps such as file managers working without fiddling with Android framework introducing some "customizations" forking from a vanilla base. |
note: android tv 12&14 cannot grant this permission... See nova-video-player/aos-AVP#336
Couple of references for the record on Android not detecting correctly media files:
|
In order to target SDK 30 you need:
When launching the app you get this obvious introspection not allowed anymore to solve:
The text was updated successfully, but these errors were encountered: