From 20652b9325f9e2cc37969783f432384ebb79f794 Mon Sep 17 00:00:00 2001 From: Sunik Kupfer Date: Wed, 3 Jan 2024 11:23:42 +0100 Subject: [PATCH] NextcloudLoginFlowFragment: minor changes (sync bitfireAT/davx5#501) --------- Co-authored-by: Ricki Hirner --- .../ui/setup/NextcloudLoginFlowFragment.kt | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/NextcloudLoginFlowFragment.kt b/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/NextcloudLoginFlowFragment.kt index 7c461cd1..39e92a2e 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/NextcloudLoginFlowFragment.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/ui/setup/NextcloudLoginFlowFragment.kt @@ -60,6 +60,7 @@ import com.google.android.material.snackbar.Snackbar import dagger.Binds import dagger.Module import dagger.hilt.InstallIn +import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.components.SingletonComponent import dagger.multibindings.IntKey import dagger.multibindings.IntoMap @@ -78,6 +79,7 @@ import java.net.URI import java.util.logging.Level import javax.inject.Inject +@AndroidEntryPoint class NextcloudLoginFlowFragment: Fragment() { companion object { @@ -92,6 +94,16 @@ class NextcloudLoginFlowFragment: Fragment() { * server URL returned by Login Flow without further processing. */ const val EXTRA_DAV_PATH = "davPath" const val DAV_PATH_DEFAULT = "/remote.php/dav" + + const val ARG_BASE_URL = "baseUrl" + + fun newInstance(baseUrl: String? = null): NextcloudLoginFlowFragment = + NextcloudLoginFlowFragment().apply { + arguments = Bundle(1).apply { + putString(ARG_BASE_URL, baseUrl) + } + } + } val loginModel by activityViewModels() @@ -105,7 +117,8 @@ class NextcloudLoginFlowFragment: Fragment() { @SuppressLint("SetJavaScriptEnabled") override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { - val entryUrl = requireActivity().intent.data?.toString()?.toHttpUrlOrNull() + val baseUrl = arguments?.getString(ARG_BASE_URL) + val entryUrl = (requireActivity().intent.data?.toString() ?: baseUrl)?.toHttpUrlOrNull() val view = ComposeView(requireActivity()).apply { setContent { @@ -374,7 +387,8 @@ fun NextcloudLoginFlowComposable( val entryUrlStr = remember { mutableStateOf(providedEntryUrl?.toString() ?: "") } val entryUrl = remember { mutableStateOf(providedEntryUrl) } - OutlinedTextField(entryUrlStr.value, + OutlinedTextField( + value = entryUrlStr.value, onValueChange = { newUrlStr -> entryUrlStr.value = newUrlStr