@@ -5,6 +5,7 @@ import android.os.Bundle
55import androidx.activity.ComponentActivity
66import androidx.activity.compose.setContent
77import androidx.activity.enableEdgeToEdge
8+ import androidx.compose.foundation.ExperimentalFoundationApi
89import androidx.compose.foundation.combinedClickable
910import androidx.compose.foundation.layout.Arrangement
1011import androidx.compose.foundation.layout.Column
@@ -46,6 +47,7 @@ import androidx.lifecycle.lifecycleScope
4647import kotlinx.coroutines.launch
4748import org.wordpress.gutenberg.BuildConfig
4849import org.wordpress.gutenberg.model.EditorConfiguration
50+ import uniffi.wp_api.PostType
4951
5052class MainActivity : ComponentActivity (), AuthenticationManager.AuthenticationCallback {
5153 private val configurations = mutableStateListOf<ConfigurationItem >()
@@ -78,7 +80,7 @@ class MainActivity : ComponentActivity(), AuthenticationManager.AuthenticationCa
7880 configurations = configurations,
7981 onConfigurationClick = { config ->
8082 when (config) {
81- is ConfigurationItem .BundledEditor -> launchEditor(createBundledConfiguration() )
83+ is ConfigurationItem .BundledEditor -> launchSitePreparation(config )
8284 is ConfigurationItem .ConfiguredEditor -> loadConfiguredEditor(config)
8385 }
8486 },
@@ -105,58 +107,36 @@ class MainActivity : ComponentActivity(), AuthenticationManager.AuthenticationCa
105107 }
106108
107109 private fun createBundledConfiguration (): EditorConfiguration =
108- createCommonConfigurationBuilder()
110+ createCommonConfigurationBuilder(
111+ siteUrl = " https://example.com" ,
112+ siteApiRoot = " https://example.com" ,
113+ postType = " post"
114+ )
109115 .setPlugins(false )
110- .setSiteURL(" " )
111- .setSiteApiRoot(" " )
112116 .setSiteApiNamespace(arrayOf())
113117 .setNamespaceExcludedPaths(arrayOf())
114118 .setAuthHeader(" " )
115119 .setCookies(emptyMap())
120+ .setEnableOfflineMode(true )
116121 .build()
117122
118123 private fun loadConfiguredEditor (config : ConfigurationItem .ConfiguredEditor ) {
119- isLoadingCapabilities.value = true
120-
121- lifecycleScope.launch {
122- try {
123- val capabilities = siteCapabilitiesDiscovery.discoverCapabilities(
124- siteApiRoot = config.siteApiRoot
125- )
126-
127- val editorConfiguration = createCommonConfigurationBuilder()
128- .setPlugins(capabilities.supportsPlugins)
129- .setThemeStyles(capabilities.supportsThemeStyles)
130- .setSiteURL(config.siteUrl)
131- .setSiteApiRoot(config.siteApiRoot)
132- .setNamespaceExcludedPaths(arrayOf())
133- .setAuthHeader(config.authHeader)
134- .build()
135-
136- isLoadingCapabilities.value = false
137- launchEditor(editorConfiguration)
138- } catch (e: Exception ) {
139- isLoadingCapabilities.value = false
140- // If capability discovery fails, use default configuration
141- val defaultConfiguration = createCommonConfigurationBuilder()
142- .setPlugins(false )
143- .setThemeStyles(false )
144- .setSiteURL(config.siteUrl)
145- .setSiteApiRoot(config.siteApiRoot)
146- .setNamespaceExcludedPaths(arrayOf())
147- .setAuthHeader(config.authHeader)
148- .build()
124+ launchSitePreparation(config)
125+ }
149126
150- launchEditor(defaultConfiguration)
151- }
152- }
127+ private fun launchSitePreparation ( config : ConfigurationItem ) {
128+ val intent = SitePreparationActivity .createIntent( this , config)
129+ startActivity(intent)
153130 }
154131
155- private fun createCommonConfigurationBuilder (): EditorConfiguration .Builder =
156- EditorConfiguration .builder()
132+ private fun createCommonConfigurationBuilder (siteUrl : String , siteApiRoot : String , postType : String = "post"): EditorConfiguration .Builder =
133+ EditorConfiguration .builder(
134+ siteURL = siteUrl,
135+ siteApiRoot = siteApiRoot,
136+ postType = postType
137+ )
157138 .setTitle(" " )
158139 .setContent(" " )
159- .setPostType(" post" )
160140 .setThemeStyles(false )
161141 .setHideTitle(false )
162142 .setCookies(emptyMap())
@@ -343,7 +323,7 @@ fun MainScreen(
343323 }
344324}
345325
346- @OptIn(androidx.compose.foundation. ExperimentalFoundationApi ::class )
326+ @OptIn(ExperimentalFoundationApi ::class )
347327@Composable
348328fun ConfigurationCard (
349329 configuration : ConfigurationItem ,
0 commit comments