Files
android-client/gradle/libs.versions.toml
Zoltán Papp 5c89309b3e Target Android 16 (API 36)
Play requires the target API level to stay within a year of the latest
Android release from 31 Aug 2026, and 35 no longer qualifies.

AGP cannot compile against SDK 36 before 8.10, so the plugin and the
Gradle wrapper move up with it.

API 36 enforces edge-to-edge with no opt-out: android:statusBarColor
stops having any effect and the window draws under the system bars, so
the bars show windowBackground instead. In day mode that is light, which
left the white status bar icons invisible against it, so the icon
contrast is now set from the night-mode flag. The activity layouts
already keep content clear of the bars via fitsSystemWindows.

Verified on an API 36 emulator: bar icons stay readable in both themes,
and the bottom navigation clears the gesture bar and the 3-button bar.
2026-08-07 19:06:33 +02:00

45 lines
2.4 KiB
TOML

[versions]
agp = "8.13.0"
browser = "1.8.0"
junit = "4.13.2"
junitVersion = "1.2.1"
espressoCore = "3.6.1"
uiautomator = "2.3.0"
testRules = "1.7.0"
appcompat = "1.7.0"
material = "1.12.0"
constraintlayout = "2.2.1"
lifecycleLivedataKtx = "2.9.0"
lifecycleViewmodelKtx = "2.9.0"
navigationFragment = "2.9.0"
navigationUi = "2.9.0"
firebase-bom = "34.2.0"
google-services = "4.4.2"
firebase-crashlytics-plugin = "3.0.6"
zxing = "4.3.0"
[libraries]
browser = { module = "androidx.browser:browser", version.ref = "browser" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
uiautomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "uiautomator" }
test-rules = { group = "androidx.test", name = "rules", version.ref = "testRules" }
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
lifecycle-livedata-ktx = { group = "androidx.lifecycle", name = "lifecycle-livedata-ktx", version.ref = "lifecycleLivedataKtx" }
lifecycle-viewmodel-ktx = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycleViewmodelKtx" }
navigation-fragment = { group = "androidx.navigation", name = "navigation-fragment", version.ref = "navigationFragment" }
navigation-ui = { group = "androidx.navigation", name = "navigation-ui", version.ref = "navigationUi" }
firebase-bom = { group = "com.google.firebase", name = "firebase-bom", version.ref = "firebase-bom" }
firebase-crashlytics = { group = "com.google.firebase", name = "firebase-crashlytics" }
firebase-analytics = { group = "com.google.firebase", name = "firebase-analytics" }
zxing = { group = "com.journeyapps", name = "zxing-android-embedded", version.ref = "zxing" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
android-library = { id = "com.android.library", version.ref = "agp" }
google-services = { id = "com.google.gms.google-services", version.ref = "google-services" }
firebase-crashlytics = { id = "com.google.firebase.crashlytics", version.ref = "firebase-crashlytics-plugin" }