From 0c748ebe7361776ef6de0bb980042cd72d5d866a Mon Sep 17 00:00:00 2001 From: Ricki Hirner Date: Wed, 24 Apr 2024 10:30:56 +0200 Subject: [PATCH] Provide snackbar to LoginTypesProvider (backport of bitfireAT/davx5#576) --- .../main/kotlin/at/bitfire/davdroid/ui/setup/LoginScreen.kt | 2 +- .../main/kotlin/at/bitfire/davdroid/ui/setup/LoginTypePage.kt | 3 +++ .../kotlin/at/bitfire/davdroid/ui/setup/LoginTypesProvider.kt | 2 ++ .../at/bitfire/davdroid/ui/setup/StandardLoginTypesProvider.kt | 2 ++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/LoginScreen.kt b/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/LoginScreen.kt index b2f773f1..da6ec0e5 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/LoginScreen.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/LoginScreen.kt @@ -101,7 +101,7 @@ fun LoginScreenContent( when (page) { LoginScreenModel.Page.LoginType -> - LoginTypePage() + LoginTypePage(snackbarHostState = snackbarHostState) LoginScreenModel.Page.LoginDetails -> LoginDetailsPage(snackbarHostState = snackbarHostState) diff --git a/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/LoginTypePage.kt b/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/LoginTypePage.kt index 6893ab7f..18dc9e35 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/LoginTypePage.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/LoginTypePage.kt @@ -4,17 +4,20 @@ package at.bitfire.davdroid.ui.setup +import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable import androidx.lifecycle.viewmodel.compose.viewModel @Composable fun LoginTypePage( + snackbarHostState: SnackbarHostState, model: LoginScreenModel = viewModel() ) { val uiState = model.loginTypeUiState // show login type selection page model.loginTypesProvider.LoginTypePage( + snackbarHostState = snackbarHostState, selectedLoginType = uiState.loginType, onSelectLoginType = { loginType -> model.selectLoginType(loginType) diff --git a/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/LoginTypesProvider.kt b/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/LoginTypesProvider.kt index 2cb72d1c..1cf9e3a8 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/LoginTypesProvider.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/LoginTypesProvider.kt @@ -5,6 +5,7 @@ package at.bitfire.davdroid.ui.setup import android.content.Intent +import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable interface LoginTypesProvider { @@ -19,6 +20,7 @@ interface LoginTypesProvider { @Composable fun LoginTypePage( + snackbarHostState: SnackbarHostState, selectedLoginType: LoginType, onSelectLoginType: (LoginType) -> Unit, setInitialLoginInfo: (LoginInfo) -> Unit, diff --git a/app/src/ose/kotlin/at/bitfire/davdroid/ui/setup/StandardLoginTypesProvider.kt b/app/src/ose/kotlin/at/bitfire/davdroid/ui/setup/StandardLoginTypesProvider.kt index df2045b8..ee86ce5f 100644 --- a/app/src/ose/kotlin/at/bitfire/davdroid/ui/setup/StandardLoginTypesProvider.kt +++ b/app/src/ose/kotlin/at/bitfire/davdroid/ui/setup/StandardLoginTypesProvider.kt @@ -5,6 +5,7 @@ package at.bitfire.davdroid.ui.setup import android.content.Intent +import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable import javax.inject.Inject @@ -33,6 +34,7 @@ class StandardLoginTypesProvider @Inject constructor() : LoginTypesProvider { @Composable override fun LoginTypePage( + snackbarHostState: SnackbarHostState, selectedLoginType: LoginType, onSelectLoginType: (LoginType) -> Unit, setInitialLoginInfo: (LoginInfo) -> Unit,