Updated on 2026-08-14

This commit is contained in:
Tangem 2024-05-14 11:55:45 +02:00
parent 5b97cad943
commit a8142a7ddf
25 changed files with 86 additions and 139 deletions

View file

@ -0,0 +1,11 @@
package com.tangem.core.ui
import com.tangem.core.ui.haptic.HapticManager
import com.tangem.core.ui.theme.AppThemeModeHolder
interface UiDependencies {
val hapticManager: HapticManager
val appThemeModeHolder: AppThemeModeHolder
}

View file

@ -8,9 +8,8 @@ import androidx.compose.runtime.ReadOnlyComposable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.ComposeView
import com.tangem.core.ui.haptic.HapticManager
import com.tangem.core.ui.UiDependencies
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.theme.AppThemeModeHolder
import com.tangem.domain.apptheme.model.AppThemeMode
/**
@ -23,14 +22,9 @@ import com.tangem.domain.apptheme.model.AppThemeMode
internal interface ComposeScreen {
/**
* The holder for managing the current application theme mode.
* The holder for ui dependencies.
*/
val appThemeModeHolder: AppThemeModeHolder
/**
* Haptic manager.
*/
val hapticManager: HapticManager
val uiDependencies: UiDependencies
/**
* The screen modifier.
@ -59,11 +53,11 @@ internal interface ComposeScreen {
internal fun ComposeScreen.createComposeView(context: Context): ComposeView {
return ComposeView(context).apply {
setContent {
val appThemeMode by appThemeModeHolder.appThemeMode
val appThemeMode by uiDependencies.appThemeModeHolder.appThemeMode
TangemTheme(
isDark = shouldUseDarkTheme(appThemeMode),
hapticManager = hapticManager,
hapticManager = uiDependencies.hapticManager,
) {
ScreenContent(modifier = screenModifier)
}