From af287c2e6fd14030117d9283fb085a003371ae04 Mon Sep 17 00:00:00 2001 From: andrekir Date: Thu, 2 Mar 2023 21:59:22 -0300 Subject: [PATCH] feat: update Compose in Fragments to use ComposeView --- .../mesh/ui/DeviceSettingsFragment.kt | 28 ++++++++----------- .../mesh/ui/ModuleSettingsFragment.kt | 28 ++++++++----------- app/src/main/res/layout/compose_view.xml | 15 ---------- 3 files changed, 24 insertions(+), 47 deletions(-) delete mode 100644 app/src/main/res/layout/compose_view.xml diff --git a/app/src/main/java/com/geeksville/mesh/ui/DeviceSettingsFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/DeviceSettingsFragment.kt index 44a53e289..027780683 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/DeviceSettingsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/DeviceSettingsFragment.kt @@ -4,10 +4,12 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ViewCompositionStrategy +import androidx.core.content.ContextCompat import androidx.fragment.app.activityViewModels +import com.geeksville.mesh.R import com.geeksville.mesh.android.Logging -import com.geeksville.mesh.databinding.ComposeViewBinding import com.geeksville.mesh.model.UIViewModel import com.google.accompanist.themeadapter.material.MdcTheme import dagger.hilt.android.AndroidEntryPoint @@ -15,27 +17,21 @@ import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint class DeviceSettingsFragment : ScreenFragment("Device Settings"), Logging { - private var _binding: ComposeViewBinding? = null - private val binding get() = _binding!! private val model: UIViewModel by activityViewModels() override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, + inflater: LayoutInflater, + container: ViewGroup?, savedInstanceState: Bundle? ): View { - _binding = ComposeViewBinding.inflate(inflater, container, false) - .apply { - composeView.apply { - setViewCompositionStrategy( - ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed - ) - setContent { - MdcTheme { - DeviceSettingsItemList(model) - } - } + return ComposeView(requireContext()).apply { + setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) + setBackgroundColor(ContextCompat.getColor(context, R.color.colorAdvancedBackground)) + setContent { + MdcTheme { + DeviceSettingsItemList(model) } } - return binding.root + } } } diff --git a/app/src/main/java/com/geeksville/mesh/ui/ModuleSettingsFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/ModuleSettingsFragment.kt index 2fde0e63f..73547b908 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/ModuleSettingsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/ModuleSettingsFragment.kt @@ -4,10 +4,12 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ViewCompositionStrategy +import androidx.core.content.ContextCompat import androidx.fragment.app.activityViewModels +import com.geeksville.mesh.R import com.geeksville.mesh.android.Logging -import com.geeksville.mesh.databinding.ComposeViewBinding import com.geeksville.mesh.model.UIViewModel import com.google.accompanist.themeadapter.material.MdcTheme import dagger.hilt.android.AndroidEntryPoint @@ -15,27 +17,21 @@ import dagger.hilt.android.AndroidEntryPoint @AndroidEntryPoint class ModuleSettingsFragment : ScreenFragment("Module Settings"), Logging { - private var _binding: ComposeViewBinding? = null - private val binding get() = _binding!! private val model: UIViewModel by activityViewModels() override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, + inflater: LayoutInflater, + container: ViewGroup?, savedInstanceState: Bundle? ): View { - _binding = ComposeViewBinding.inflate(inflater, container, false) - .apply { - composeView.apply { - setViewCompositionStrategy( - ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed - ) - setContent { - MdcTheme { - ModuleSettingsItemList(model) - } - } + return ComposeView(requireContext()).apply { + setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed) + setBackgroundColor(ContextCompat.getColor(context, R.color.colorAdvancedBackground)) + setContent { + MdcTheme { + ModuleSettingsItemList(model) } } - return binding.root + } } } diff --git a/app/src/main/res/layout/compose_view.xml b/app/src/main/res/layout/compose_view.xml deleted file mode 100644 index 645489b89..000000000 --- a/app/src/main/res/layout/compose_view.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - \ No newline at end of file