Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -132,21 +132,13 @@ fun ShortcutComposeRoute(
initialText: String = "",
initialMedias: ImmutableList<Uri> = persistentListOf(),
) {
val activeAccountState by producePresenter(key = "shortcut_compose_active_account") {
activeAccountPresenter()
}
val accountType =
activeAccountState.user
.takeSuccess()
?.let { AccountType.Specific(it.key) }
?: AccountType.Guest
FlareTheme {
CompositionLocalProvider(
LocalContentColor provides MaterialTheme.colorScheme.onBackground,
) {
ComposeScreen(
onBack = onBack,
accountType = accountType,
accountType = null,
initialText = initialText,
initialMedias = initialMedias,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,26 @@ import coil3.SingletonImageLoader
import coil3.annotation.ExperimentalCoilApi
import coil3.network.ktor3.KtorNetworkFetcherFactory
import coil3.request.crossfade
import dev.dimension.flare.common.GlobalConfig
import dev.dimension.flare.common.InAppNotification
import dev.dimension.flare.common.Message
import dev.dimension.flare.common.SwiftOnDeviceAI
import dev.dimension.flare.data.database.migrateDatabase
import dev.dimension.flare.data.network.ktorClient
import dev.dimension.flare.di.KoinHelper
import dev.dimension.flare.ui.humanizer.SwiftFormatter
import dev.dimension.flare.ui.render.PlatformText
import dev.dimension.flare.ui.render.RenderContent
import dev.dimension.flare.ui.render.SwiftPlatformTextRenderer
import kotlinx.collections.immutable.ImmutableList
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.koin.core.context.startKoin
import org.koin.dsl.bind
import org.koin.dsl.module
import platform.Foundation.NSArray

public object ComposeUIHelper {
@OptIn(ExperimentalCoilApi::class)
Expand All @@ -27,7 +33,13 @@ public object ComposeUIHelper {
swiftFormatter: SwiftFormatter,
swiftPlatformTextRenderer: SwiftPlatformTextRenderer,
swiftOnDeviceAI: SwiftOnDeviceAI,
isMainApp: Boolean,
) {
if (isMainApp) {
migrateDatabase()
} else {
GlobalConfig.disableLogging = true
}
startKoin {
modules(KoinHelper.modules())
modules(
Expand All @@ -47,20 +59,79 @@ public object ComposeUIHelper {
},
)
}
SingletonImageLoader.setSafe { context ->
ImageLoader
.Builder(context)
.components {
add(
KtorNetworkFetcherFactory(
httpClient =
ktorClient {
useDefaultTransformers = false
},
),
)
}.crossfade(true)
.build()
if (isMainApp) {
SingletonImageLoader.setSafe { context ->
ImageLoader
.Builder(context)
.components {
add(
KtorNetworkFetcherFactory(
httpClient =
ktorClient {
useDefaultTransformers = false
},
),
)
}.crossfade(true)
.build()
}
}
}

public fun initializeLite() {
GlobalConfig.disableLogging = true
startKoin {
modules(KoinHelper.modules())
modules(
module {
single {
object : InAppNotification {
override fun onProgress(
message: Message,
progress: Int,
total: Int,
) {
}

override fun onSuccess(message: Message) {
}

override fun onError(
message: Message,
throwable: Throwable,
) {
}
}
} bind InAppNotification::class
single {
object : SwiftFormatter {
override fun formatNumber(number: Long): String = number.toString()
}
} bind SwiftFormatter::class
single {
object : SwiftOnDeviceAI {
override suspend fun isAvailable(): Boolean = false

override suspend fun translate(
source: String,
targetLanguage: String,
prompt: String,
): String? = null

override suspend fun tldr(
source: String,
targetLanguage: String,
prompt: String,
): String? = null
}
} bind SwiftOnDeviceAI::class
single {
object : SwiftPlatformTextRenderer {
override fun render(renderRuns: ImmutableList<RenderContent>): PlatformText = NSArray()
}
} bind SwiftPlatformTextRenderer::class
},
)
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
org.gradle.jvmargs=-Xmx8g -Dfile.encoding=UTF-8
org.gradle.jvmargs=-Xmx64g -Dfile.encoding=UTF-8
android.useAndroidX=true
kotlin.code.style=official
android.nonTransitiveRClass=true
Expand Down
Loading