Skip to content

Commit

Permalink
[Android] Add onPreRenderFragmentState callback.
Browse files Browse the repository at this point in the history
  • Loading branch information
Laimiux committed Dec 3, 2024
1 parent 26d544e commit e08c6a2
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ import io.reactivex.rxjava3.disposables.Disposable
* configuration changes. Check [com.instacart.formula.android.StreamConfigurator] for utility methods.
* @param configureActivity This is invoked as part of [com.instacart.formula.FormulaAndroid.onPreCreate]. You can
* use this callback to inject the activity.
* @param onRenderFragmentState This is invoked after [FragmentState] has been updated.
* @param onPreRenderFragmentState This is invoked before [FragmentState] is applied.
* @param onRenderFragmentState This is invoked after [FragmentState] has been applied.
* @param onFragmentLifecycleEvent This is callback for when a fragment is added or removed.
*/
class ActivityStore<Activity : FragmentActivity>(
val fragmentStore: FragmentStore = FragmentStore.EMPTY,
val streams: (StreamConfigurator<Activity>.() -> Disposable)? = null,
val configureActivity: ((Activity) -> Unit)? = null,
val onPreRenderFragmentState: ((Activity, FragmentState) -> Unit)? = null,
val onRenderFragmentState: ((Activity, FragmentState) -> Unit)? = null,
val onFragmentLifecycleEvent: ((FragmentLifecycleEvent) -> Unit)? = null
)
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ internal class ActivityManager<Activity : FragmentActivity>(
val renderView = fragmentRenderView ?: throw callOnPreCreateException(activity)

uiSubscription = delegate.fragmentState().subscribe {
store.onPreRenderFragmentState?.invoke(activity, it)
renderView.render(it)
store.onRenderFragmentState?.invoke(activity, it)
}
Expand Down

0 comments on commit e08c6a2

Please sign in to comment.