You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jay Moore a272f236bc Might work. Probably does. Thicc. 6 days ago
..
app Might work. Probably does. Thicc. 6 days ago
gradle Might work. Probably does. Thicc. 6 days ago
include Might work. Probably does. Thicc. 6 days ago
.gitignore Might work. Probably does. Thicc. 6 days ago
PrivacyPolicy.rst Might work. Probably does. Thicc. 6 days ago
README.md Might work. Probably does. Thicc. 6 days ago
build.gradle.kts Might work. Probably does. Thicc. 6 days ago
build.py Might work. Probably does. Thicc. 6 days ago
custom_rules.xml Might work. Probably does. Thicc. 6 days ago
gdb.sh Might work. Probably does. Thicc. 6 days ago
gradle.properties Might work. Probably does. Thicc. 6 days ago
gradlew Might work. Probably does. Thicc. 6 days ago
gradlew.bat Might work. Probably does. Thicc. 6 days ago
meson.build Might work. Probably does. Thicc. 6 days ago
settings.gradle.kts Might work. Probably does. Thicc. 6 days ago

README.md

Android

Notes and resources for MPD android maintainers.

Build

See Compiling for Android

Android studio

Version control

git ignoring .idea directory completely until a good reason emerges not to

Native libraries

Permissions

Files access

The required permission depends on android SDK version:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU)
    Manifest.permission.READ_MEDIA_AUDIO
else
    Manifest.permission.READ_EXTERNAL_STORAGE

Permission request

Request runtime permissions

Since Android 6.0 (API level 23):

Android will ignore permission request and will not show the request dialog if the user's action implies "don't ask again." This leaves the app in a crippled state and the user confused. Google says "don't try to convince the user", so it returns false for shouldShowRequestPermissionRationale.

To help the user proceed, we show the Request permission button only if shouldShowRequestPermissionRationale == true because there's a good chance the permission request dialog will not be ignored.

If shouldShowRequestPermissionRationale == false we instead show the "rationale" message and a button to open the app info dialog where the user can explicitly grand the permission.