package sh.sar.basedbank import android.app.Application import androidx.appcompat.app.AppCompatDelegate import com.google.android.material.color.DynamicColors import sh.sar.basedbank.api.mib.MibAccount import sh.sar.basedbank.api.mib.MibLoginFlow import sh.sar.basedbank.api.mib.MibProfile import sh.sar.basedbank.api.mib.MibSession class BasedBankApp : Application() { // Held in memory after successful login; cleared on logout var accounts: List = emptyList() var fullName: String = "" var mibSession: MibSession? = null var mibProfiles: List = emptyList() val mibLoginFlow by lazy { MibLoginFlow(getSharedPreferences("mib_prefs", MODE_PRIVATE)) } override fun onCreate() { super.onCreate() DynamicColors.applyToActivitiesIfAvailable(this) val theme = getSharedPreferences("prefs", MODE_PRIVATE).getString("theme", "system") AppCompatDelegate.setDefaultNightMode(when (theme) { "dark" -> AppCompatDelegate.MODE_NIGHT_YES "light" -> AppCompatDelegate.MODE_NIGHT_NO else -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM }) } }