From ae8a0af3fb63c807b58821c8b453081473a2b620 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 25 Oct 2023 11:41:13 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../tangem/tap/features/home/HomeFragment.kt | 51 +++++-------------- 1 file changed, 14 insertions(+), 37 deletions(-) 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 22f5ad49d0..7cff2f540e 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 @@ -1,24 +1,20 @@ package com.tangem.tap.features.home import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup import androidx.activity.compose.BackHandler import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf +import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.platform.ComposeView import androidx.core.view.WindowCompat -import androidx.core.view.WindowInsetsControllerCompat -import androidx.fragment.app.Fragment 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.components.SystemBarsEffect -import com.tangem.core.ui.res.TangemTheme +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 @@ -28,9 +24,13 @@ import com.tangem.tap.features.home.redux.HomeState import com.tangem.tap.store import dagger.hilt.android.AndroidEntryPoint import org.rekotlin.StoreSubscriber +import javax.inject.Inject @AndroidEntryPoint -class HomeFragment : Fragment(), StoreSubscriber { +class HomeFragment : ComposeFragment(), StoreSubscriber { + + @Inject + override lateinit var appThemeModeHolder: AppThemeModeHolder private var homeState: MutableState = mutableStateOf(store.state.homeState) @@ -42,23 +42,18 @@ class HomeFragment : Fragment(), StoreSubscriber { store.dispatch(HomeAction.Init) } - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { + @Composable + override fun ScreenContent(modifier: Modifier) { // sync adding story before screen creation // if (learn2earnViewModel.uiState.storyScreenState.isVisible) { // store.dispatch(HomeAction.InsertStory(position = 0, Stories.OneInchPromo)) // homeState.value = store.state.homeState // } - return ComposeView(inflater.context).apply { - setContent { - TangemTheme { - BackHandler(onBack = requireActivity()::finish) - SystemBarsEffect { - setSystemBarsColor(color = Color.Transparent, darkIcons = false) - } - ScreenContent() - } - } + BackHandler(onBack = requireActivity()::finish) + SystemBarsEffect { + setSystemBarsColor(color = Color.Transparent, darkIcons = false) } + ScreenContent() } override fun onStart() { @@ -77,11 +72,6 @@ class HomeFragment : Fragment(), StoreSubscriber { store.unsubscribe(this) } - override fun onDestroyView() { - super.onDestroyView() - rollbackStatusBarIconsColor() - } - override fun newState(state: HomeState) { if (activity == null || view == null) return @@ -109,17 +99,4 @@ class HomeFragment : Fragment(), StoreSubscriber { }, ) } - - /* - * !!! Workaround !!! - * Used to roll back the color of icons in the system bars after the stories screen - */ - private fun rollbackStatusBarIconsColor() { - val windowInsetsController = WindowInsetsControllerCompat( - activity?.window ?: return, - view ?: return, - ) - windowInsetsController.isAppearanceLightStatusBars = true - windowInsetsController.isAppearanceLightNavigationBars = true - } } \ No newline at end of file