feat(android): Navidrome-Adresse als Vorgabe, Login vorbelegt (1.3)
Ergaenzt Backend und Scrobble um die Navidrome-Adresse: alle drei kommen als buildConfigField aus dem Build und greifen, wenn im Geraetespeicher nichts steht. Der Anmeldebildschirm ist damit vorbelegt — beim ersten Start bleiben nur noch Benutzer und Passwort. Die Felder in den Einstellungen bleiben sichtbar und ueberschreibbar, ein Umzug ist also ohne neues APK zu korrigieren. Zugangsdaten bleiben aussen vor. Das Publish-Skript reicht die Werte aus scripts/.env.release durch, damit kuenftige Builds sie nicht verlieren. Am erzeugten BuildConfig geprueft, alle vier Werte stehen darin. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
334aa51a09
commit
dfae34c706
5 files changed
+27
-7
No files matched your search
@@ -59,7 +59,9 @@ class PrefsStore(private val context: Context) {
|
||||
|
||||
val credentials: Flow<Credentials> = context.dataStore.data.map { prefs ->
|
||||
Credentials(
|
||||
serverUrl = prefs[KEY_SERVER] ?: "",
|
||||
// Adresse vorbelegt, Zugangsdaten bewusst nicht — die gehoeren pro Person.
|
||||
serverUrl = prefs[KEY_SERVER]?.ifBlank { null }
|
||||
?: com.novasonic.app.BuildConfig.DEFAULT_ND_URL,
|
||||
username = prefs[KEY_USERNAME] ?: "",
|
||||
password = prefs[KEY_PASSWORD] ?: "",
|
||||
)
|
||||
@@ -67,7 +69,8 @@ class PrefsStore(private val context: Context) {
|
||||
|
||||
val appSettings: Flow<AppSettings> = context.dataStore.data.map { prefs ->
|
||||
AppSettings(
|
||||
serverUrl = prefs[KEY_SERVER] ?: "",
|
||||
serverUrl = prefs[KEY_SERVER]?.ifBlank { null }
|
||||
?: com.novasonic.app.BuildConfig.DEFAULT_ND_URL,
|
||||
username = prefs[KEY_USERNAME] ?: "",
|
||||
password = prefs[KEY_PASSWORD] ?: "",
|
||||
lastFmKey = prefs[KEY_LASTFM_KEY] ?: "",
|
||||
|
||||
@@ -24,7 +24,8 @@ fun LoginScreen(onLoggedIn: () -> Unit) {
|
||||
val vm: LoginViewModel = viewModel()
|
||||
val state by vm.state.collectAsStateWithLifecycle()
|
||||
|
||||
var serverUrl by remember { mutableStateOf("") }
|
||||
// Serveradresse vorbelegen, falls im Build hinterlegt — dann bleiben nur Benutzer und Passwort.
|
||||
var serverUrl by remember { mutableStateOf(com.novasonic.app.BuildConfig.DEFAULT_ND_URL) }
|
||||
var username by remember { mutableStateOf("") }
|
||||
var password by remember { mutableStateOf("") }
|
||||
var showPw by remember { mutableStateOf(false) }
|
||||
|
||||
Reference in new issue
Block a user