- Login screen (server URL, username, password) that verifies against the server with an OpenSubsonic ping before saving. - Credentials stored encrypted with an Android Keystore AES-GCM key in DataStore, excluded from backups. Subsonic token auth (salted md5), so the password is never sent. - Album grid with cover art (Coil), A-Z, paged 100 at a time, pull to refresh, sign out. - Layered packages (model, data/auth, data/subsonic, data/library, ui) with a manual AppContainer, ready for Media3, Android Auto and the brain service. - Kotlin 2.4.10 and current AndroidX/OkHttp/Retrofit; fix stray "cla" typo in the template MainActivity. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 lines
619 B
Text
26 lines
619 B
Text
pluginManagement {
|
|
repositories {
|
|
google {
|
|
content {
|
|
includeGroupByRegex("com\\.android.*")
|
|
includeGroupByRegex("com\\.google.*")
|
|
includeGroupByRegex("androidx.*")
|
|
}
|
|
}
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
}
|
|
plugins {
|
|
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
|
|
}
|
|
dependencyResolutionManagement {
|
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
}
|
|
|
|
rootProject.name = "SyncWave"
|
|
include(":app")
|