This commit is contained in:
2026-01-12 14:07:48 +01:00
commit a910959353
27 changed files with 2024 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
package com.watcher.mobile
import android.app.Application
import com.watcher.mobile.network.RetrofitClient
import com.watcher.mobile.utils.PreferencesManager
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.launch
/**
* Application Class für globale Initialisierung
*/
class WatcherApplication : Application() {
lateinit var preferencesManager: PreferencesManager
private set
override fun onCreate() {
super.onCreate()
// Preferences Manager initialisieren
preferencesManager = PreferencesManager(this)
// Retrofit mit gespeicherten Einstellungen initialisieren
initializeRetrofitClient()
}
private fun initializeRetrofitClient() {
CoroutineScope(Dispatchers.IO).launch {
val apiUrl = preferencesManager.apiBaseUrl.first()
val apiKey = preferencesManager.apiKey.first()
if (!apiUrl.isNullOrEmpty()) {
RetrofitClient.initialize(apiUrl, apiKey)
} else {
// Default URL aus BuildConfig verwenden
RetrofitClient.initialize(BuildConfig.API_BASE_URL, null)
}
}
}
companion object {
const val TAG = "WatcherApp"
}
}