diff --git a/app/src/main/java/com/tangem/tap/di/ThemeModule.kt b/app/src/main/java/com/tangem/tap/di/ThemeModule.kt index af2732b2d9..e4b2deeb8d 100644 --- a/app/src/main/java/com/tangem/tap/di/ThemeModule.kt +++ b/app/src/main/java/com/tangem/tap/di/ThemeModule.kt @@ -5,13 +5,15 @@ import com.tangem.tap.common.apptheme.MutableAppThemeModeHolder import dagger.Module import dagger.Provides import dagger.hilt.InstallIn -import dagger.hilt.android.components.ActivityComponent +import dagger.hilt.components.SingletonComponent +import javax.inject.Singleton @Module -@InstallIn(ActivityComponent::class) +@InstallIn(SingletonComponent::class) internal object ThemeModule { @Provides + @Singleton fun provideAppThemeModeHolder(): AppThemeModeHolder { return MutableAppThemeModeHolder } diff --git a/app/src/main/java/com/tangem/tap/di/UiDependenciesModule.kt b/app/src/main/java/com/tangem/tap/di/UiDependenciesModule.kt new file mode 100644 index 0000000000..97b0f48bee --- /dev/null +++ b/app/src/main/java/com/tangem/tap/di/UiDependenciesModule.kt @@ -0,0 +1,24 @@ +package com.tangem.tap.di + +import com.tangem.core.ui.UiDependencies +import com.tangem.core.ui.haptic.HapticManager +import com.tangem.core.ui.theme.AppThemeModeHolder +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +internal object UiDependenciesModule { + + @Provides + @Singleton + fun provideUiDependencies(hapticManager: HapticManager, appThemeModeHolder: AppThemeModeHolder): UiDependencies { + return object : UiDependencies { + override val hapticManager = hapticManager + override val appThemeModeHolder = appThemeModeHolder + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/customtoken/impl/presentation/AddCustomTokenFragment.kt b/app/src/main/java/com/tangem/tap/features/customtoken/impl/presentation/AddCustomTokenFragment.kt index efc9a7ca22..da295c57c5 100644 --- a/app/src/main/java/com/tangem/tap/features/customtoken/impl/presentation/AddCustomTokenFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/customtoken/impl/presentation/AddCustomTokenFragment.kt @@ -5,11 +5,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.hilt.navigation.compose.hiltViewModel +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.components.SystemBarsEffect -import com.tangem.core.ui.haptic.HapticManager import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.tap.features.customtoken.impl.presentation.ui.AddCustomTokenScreen import com.tangem.tap.features.customtoken.impl.presentation.viewmodels.AddCustomTokenViewModel import dagger.hilt.android.AndroidEntryPoint @@ -24,10 +23,7 @@ import javax.inject.Inject internal class AddCustomTokenFragment : ComposeFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies @Composable override fun ScreenContent(modifier: Modifier) { diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/appcurrency/AppCurrencySelectorFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/appcurrency/AppCurrencySelectorFragment.kt index 0d0a7622ed..d48050ec85 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/appcurrency/AppCurrencySelectorFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/appcurrency/AppCurrencySelectorFragment.kt @@ -5,11 +5,10 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.fragment.app.viewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.components.SystemBarsEffect -import com.tangem.core.ui.haptic.HapticManager import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import dagger.hilt.android.AndroidEntryPoint import javax.inject.Inject @@ -17,10 +16,7 @@ import javax.inject.Inject internal class AppCurrencySelectorFragment : ComposeFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies private val viewModel: AppCurrencySelectorViewModel by viewModels() diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/appsettings/AppSettingsFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/appsettings/AppSettingsFragment.kt index 22f7523945..2efc912cca 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/appsettings/AppSettingsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/appsettings/AppSettingsFragment.kt @@ -7,9 +7,8 @@ import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.navigation.NavigationAction -import com.tangem.core.ui.haptic.HapticManager +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.domain.appcurrency.repository.AppCurrencyRepository import com.tangem.tap.features.details.redux.DetailsAction import com.tangem.tap.store @@ -20,10 +19,7 @@ import javax.inject.Inject internal class AppSettingsFragment : ComposeFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies @Inject lateinit var appCurrencyRepository: AppCurrencyRepository diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsFragment.kt index d9e740b39b..c81e2d819e 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsFragment.kt @@ -5,9 +5,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.fragment.app.viewModels import com.tangem.core.navigation.NavigationAction -import com.tangem.core.ui.haptic.HapticManager +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.tap.features.details.redux.DetailsAction import com.tangem.tap.store import dagger.hilt.android.AndroidEntryPoint @@ -17,10 +16,7 @@ import javax.inject.Inject internal class CardSettingsFragment : ComposeFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies private val viewModel: CardSettingsViewModel by viewModels() diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/coderecovery/AccessCodeRecoveryFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/coderecovery/AccessCodeRecoveryFragment.kt index 70af8f9ca9..7a365126b6 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/coderecovery/AccessCodeRecoveryFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/coderecovery/AccessCodeRecoveryFragment.kt @@ -5,9 +5,8 @@ import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import androidx.compose.ui.Modifier import com.tangem.core.navigation.NavigationAction -import com.tangem.core.ui.haptic.HapticManager +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.tap.features.details.redux.DetailsState import com.tangem.tap.store import dagger.hilt.android.AndroidEntryPoint @@ -23,10 +22,7 @@ class AccessCodeRecoveryFragment : ComposeFragment(), StoreSubscriber { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies @Inject lateinit var walletsRepository: WalletsRepository diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardFragment.kt index 39c6afd544..1522c07ed3 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/resetcard/ResetCardFragment.kt @@ -5,9 +5,8 @@ import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import androidx.compose.ui.Modifier import com.tangem.core.navigation.NavigationAction -import com.tangem.core.ui.haptic.HapticManager +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.tap.features.details.redux.DetailsState import com.tangem.tap.store import dagger.hilt.android.AndroidEntryPoint @@ -18,10 +17,7 @@ import javax.inject.Inject internal class ResetCardFragment : ComposeFragment(), StoreSubscriber { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies private val viewModel = ResetCardViewModel(store) diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/securitymode/SecurityModeFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/securitymode/SecurityModeFragment.kt index e315a727d3..c44b9ca3fa 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/securitymode/SecurityModeFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/securitymode/SecurityModeFragment.kt @@ -5,9 +5,8 @@ import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import androidx.compose.ui.Modifier import com.tangem.core.navigation.NavigationAction -import com.tangem.core.ui.haptic.HapticManager +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.tap.features.details.redux.DetailsState import com.tangem.tap.store import dagger.hilt.android.AndroidEntryPoint @@ -18,10 +17,7 @@ import javax.inject.Inject internal class SecurityModeFragment : ComposeFragment(), StoreSubscriber { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies private val viewModel = SecurityModeViewModel(store) diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/WalletConnectFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/WalletConnectFragment.kt index 4e69260a90..19dd0771bc 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/WalletConnectFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/WalletConnectFragment.kt @@ -8,9 +8,8 @@ import androidx.compose.ui.Modifier import androidx.fragment.app.viewModels import com.tangem.core.analytics.Analytics import com.tangem.core.navigation.NavigationAction -import com.tangem.core.ui.haptic.HapticManager +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.tap.common.analytics.events.WalletConnect import com.tangem.tap.features.details.redux.walletconnect.WalletConnectState import com.tangem.tap.store @@ -22,10 +21,7 @@ import javax.inject.Inject internal class WalletConnectFragment : ComposeFragment(), StoreSubscriber { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies private val viewModel: WalletConnectViewModel by viewModels() diff --git a/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt b/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt index a108298d21..8e081474fb 100644 --- a/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/home/HomeFragment.kt @@ -12,10 +12,9 @@ import androidx.lifecycle.lifecycleScope import com.tangem.core.analytics.Analytics import com.tangem.core.navigation.AppScreen import com.tangem.core.navigation.NavigationAction +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.components.SystemBarsEffect -import com.tangem.core.ui.haptic.HapticManager import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.domain.tokens.TokensAction import com.tangem.tap.common.analytics.events.IntroductionProcess import com.tangem.tap.common.redux.AppState @@ -31,10 +30,7 @@ import javax.inject.Inject class HomeFragment : ComposeFragment(), StoreSubscriber { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies private var homeState: MutableState = mutableStateOf(store.state.homeState) diff --git a/app/src/main/java/com/tangem/tap/features/main/ui/ModalNotificationBottomSheetFragment.kt b/app/src/main/java/com/tangem/tap/features/main/ui/ModalNotificationBottomSheetFragment.kt index c6c6c31809..ef72720cad 100644 --- a/app/src/main/java/com/tangem/tap/features/main/ui/ModalNotificationBottomSheetFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/main/ui/ModalNotificationBottomSheetFragment.kt @@ -9,10 +9,9 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.fragment.app.activityViewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle -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.screen.ComposeBottomSheetFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.tap.features.main.MainViewModel import com.tangem.tap.features.main.model.ModalNotification import com.tangem.tap.features.main.ui.components.ModalNotificationContent @@ -23,10 +22,7 @@ import javax.inject.Inject internal class ModalNotificationBottomSheetFragment : ComposeBottomSheetFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies private val viewModel: MainViewModel by activityViewModels() diff --git a/app/src/main/java/com/tangem/tap/features/saveWallet/ui/SaveWalletBottomSheetFragment.kt b/app/src/main/java/com/tangem/tap/features/saveWallet/ui/SaveWalletBottomSheetFragment.kt index 630f9ca789..d0d7c64fb5 100644 --- a/app/src/main/java/com/tangem/tap/features/saveWallet/ui/SaveWalletBottomSheetFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/saveWallet/ui/SaveWalletBottomSheetFragment.kt @@ -11,10 +11,9 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.fragment.app.viewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle -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.screen.ComposeBottomSheetFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.tap.features.details.ui.cardsettings.resolveReference import com.tangem.tap.features.saveWallet.ui.components.EnrollBiometricsDialogContent import com.tangem.tap.features.saveWallet.ui.components.SaveWalletScreenContent @@ -26,10 +25,7 @@ import javax.inject.Inject internal class SaveWalletBottomSheetFragment : ComposeBottomSheetFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies override val expandedHeightFraction: Float = .98f diff --git a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/TokensListFragment.kt b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/TokensListFragment.kt index 27a2ae288c..272c773c95 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/TokensListFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/TokensListFragment.kt @@ -5,11 +5,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.hilt.navigation.compose.hiltViewModel +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.components.SystemBarsEffect -import com.tangem.core.ui.haptic.HapticManager import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.tap.features.tokens.impl.presentation.ui.TokensListScreen import com.tangem.tap.features.tokens.impl.presentation.viewmodels.TokensListViewModel import dagger.hilt.android.AndroidEntryPoint @@ -24,10 +23,7 @@ import javax.inject.Inject internal class TokensListFragment : ComposeFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies @Composable override fun ScreenContent(modifier: Modifier) { diff --git a/app/src/main/java/com/tangem/tap/features/welcome/ui/WelcomeFragment.kt b/app/src/main/java/com/tangem/tap/features/welcome/ui/WelcomeFragment.kt index 7e1497ce01..60ab61900f 100644 --- a/app/src/main/java/com/tangem/tap/features/welcome/ui/WelcomeFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/welcome/ui/WelcomeFragment.kt @@ -15,11 +15,10 @@ import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.analytics.Analytics +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.components.SystemBarsEffect -import com.tangem.core.ui.haptic.HapticManager import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.tap.common.analytics.events.SignIn import com.tangem.tap.common.extensions.eraseContext import com.tangem.tap.features.details.ui.cardsettings.resolveReference @@ -32,10 +31,7 @@ import javax.inject.Inject internal class WelcomeFragment : ComposeFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies override fun onStart() { super.onStart() diff --git a/core/ui/src/main/java/com/tangem/core/ui/UiDependencies.kt b/core/ui/src/main/java/com/tangem/core/ui/UiDependencies.kt new file mode 100644 index 0000000000..62e19d4af6 --- /dev/null +++ b/core/ui/src/main/java/com/tangem/core/ui/UiDependencies.kt @@ -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 +} \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/screen/ComposeScreen.kt b/core/ui/src/main/java/com/tangem/core/ui/screen/ComposeScreen.kt index 8de596d9d4..4c2faae280 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/screen/ComposeScreen.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/screen/ComposeScreen.kt @@ -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) } diff --git a/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/QrScanningFragment.kt b/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/QrScanningFragment.kt index 9c8667962c..72d725c460 100644 --- a/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/QrScanningFragment.kt +++ b/features/qr-scanning/impl/src/main/java/com/tangem/feature/qrscanning/QrScanningFragment.kt @@ -20,10 +20,9 @@ import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle import com.google.accompanist.systemuicontroller.rememberSystemUiController import com.google.mlkit.vision.common.InputImage -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.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.feature.qrscanning.inner.MLKitBarcodeAnalyzer import com.tangem.feature.qrscanning.navigation.QrScanningInnerRouter import com.tangem.feature.qrscanning.presentation.QrScanningContent @@ -40,10 +39,7 @@ import kotlin.properties.Delegates internal class QrScanningFragment : ComposeFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies @Inject lateinit var router: QrScanningRouter diff --git a/features/referral/presentation/src/main/java/com/tangem/feature/referral/ReferralFragment.kt b/features/referral/presentation/src/main/java/com/tangem/feature/referral/ReferralFragment.kt index b009b1ee67..2ccd4b74fc 100644 --- a/features/referral/presentation/src/main/java/com/tangem/feature/referral/ReferralFragment.kt +++ b/features/referral/presentation/src/main/java/com/tangem/feature/referral/ReferralFragment.kt @@ -5,11 +5,10 @@ import androidx.compose.foundation.layout.systemBarsPadding import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.fragment.app.viewModels +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.components.SystemBarsEffect -import com.tangem.core.ui.haptic.HapticManager import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.feature.referral.router.ReferralRouter import com.tangem.feature.referral.ui.ReferralScreen import com.tangem.feature.referral.viewmodels.ReferralViewModel @@ -21,10 +20,7 @@ import javax.inject.Inject class ReferralFragment : ComposeFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies private val viewModel by viewModels() diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/SendFragment.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/SendFragment.kt index 0de48644db..1c7d7f9cee 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/SendFragment.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/SendFragment.kt @@ -6,11 +6,10 @@ import androidx.compose.ui.Modifier import androidx.fragment.app.viewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.analytics.api.AnalyticsEventHandler +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.components.SystemBarsEffect -import com.tangem.core.ui.haptic.HapticManager import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.features.send.api.navigation.SendRouter import com.tangem.features.send.impl.navigation.InnerSendRouter import com.tangem.features.send.impl.presentation.state.StateRouter @@ -27,10 +26,7 @@ import javax.inject.Inject internal class SendFragment : ComposeFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies @Inject lateinit var router: SendRouter diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/presentation/SwapFragment.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/presentation/SwapFragment.kt index 591d7df1a7..6409755135 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/presentation/SwapFragment.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/presentation/SwapFragment.kt @@ -6,11 +6,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.fragment.app.viewModels import com.tangem.core.navigation.ReduxNavController +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.components.SystemBarsEffect -import com.tangem.core.ui.haptic.HapticManager import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.feature.swap.router.CustomTabsManager import com.tangem.feature.swap.router.SwapNavScreen import com.tangem.feature.swap.router.SwapRouter @@ -26,10 +25,7 @@ import javax.inject.Inject class SwapFragment : ComposeFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies @Inject lateinit var reduxNavController: ReduxNavController diff --git a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/TesterActivity.kt b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/TesterActivity.kt index b5b00b25f0..2ddfba7af0 100644 --- a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/TesterActivity.kt +++ b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/TesterActivity.kt @@ -6,11 +6,10 @@ import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.components.SystemBarsEffect -import com.tangem.core.ui.haptic.HapticManager import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.screen.ComposeActivity -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.feature.tester.presentation.actions.TesterActionsScreen import com.tangem.feature.tester.presentation.actions.TesterActionsViewModel import com.tangem.feature.tester.presentation.featuretoggles.ui.FeatureTogglesScreen @@ -28,10 +27,7 @@ import javax.inject.Inject internal class TesterActivity : ComposeActivity() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies /** Router for inner feature navigation */ @Inject diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/TokenDetailsFragment.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/TokenDetailsFragment.kt index d1600bfa93..94200fbd59 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/TokenDetailsFragment.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/TokenDetailsFragment.kt @@ -4,11 +4,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.hilt.navigation.compose.hiltViewModel +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.components.SystemBarsEffect -import com.tangem.core.ui.haptic.HapticManager import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.feature.tokendetails.presentation.router.InnerTokenDetailsRouter import com.tangem.feature.tokendetails.presentation.tokendetails.ui.TokenDetailsScreen import com.tangem.feature.tokendetails.presentation.tokendetails.viewmodels.TokenDetailsViewModel @@ -20,10 +19,7 @@ import javax.inject.Inject internal class TokenDetailsFragment : ComposeFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies @Inject lateinit var tokenDetailsRouter: TokenDetailsRouter diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/WalletFragment.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/WalletFragment.kt index 3434ccab80..5a2c923015 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/WalletFragment.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/WalletFragment.kt @@ -2,11 +2,10 @@ package com.tangem.feature.wallet.presentation import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import com.tangem.core.ui.UiDependencies import com.tangem.core.ui.components.SystemBarsEffect -import com.tangem.core.ui.haptic.HapticManager import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.screen.ComposeFragment -import com.tangem.core.ui.theme.AppThemeModeHolder import com.tangem.feature.wallet.presentation.router.InnerWalletRouter import com.tangem.features.managetokens.navigation.ManageTokensUi import com.tangem.features.wallet.navigation.WalletRouter @@ -22,10 +21,7 @@ import javax.inject.Inject internal class WalletFragment : ComposeFragment() { @Inject - override lateinit var appThemeModeHolder: AppThemeModeHolder - - @Inject - override lateinit var hapticManager: HapticManager + override lateinit var uiDependencies: UiDependencies @Inject internal lateinit var manageTokensUi: ManageTokensUi