Skip to content

Commit

Permalink
[Compose] Set the correct view composition strategy. (#405)
Browse files Browse the repository at this point in the history
  • Loading branch information
Laimiux authored Dec 5, 2024
1 parent f84d74c commit ba85b34
Showing 1 changed file with 4 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import android.view.ViewGroup
import androidx.compose.runtime.Composable
import androidx.compose.runtime.rxjava3.subscribeAsState
import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.platform.ViewCompositionStrategy
import com.instacart.formula.android.FeatureView
import com.instacart.formula.android.ViewFactory
import com.jakewharton.rxrelay3.BehaviorRelay
Expand All @@ -14,6 +15,9 @@ abstract class ComposeViewFactory<RenderModel : Any> : ViewFactory<RenderModel>

override fun create(inflater: LayoutInflater, container: ViewGroup?): FeatureView<RenderModel> {
val view = ComposeView(inflater.context)
// Based-on: https://developer.android.com/develop/ui/compose/migrate/interoperability-apis/compose-in-views#compose-in-fragments
view.setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)

val outputRelay = BehaviorRelay.create<RenderModel>()
view.setContent {
val model = outputRelay.subscribeAsState(null).value
Expand Down

0 comments on commit ba85b34

Please sign in to comment.