From 52f009a59d32623f428280d9d7c2bb4555fa1568 Mon Sep 17 00:00:00 2001 From: Lachlan McKee Date: Fri, 11 Mar 2022 09:52:33 +0000 Subject: [PATCH 1/2] Renamed BaseFeature#Schedulers to avoid namespace collisions --- .../java/com/badoo/mvicore/feature/BaseFeature.kt | 8 +------- .../com/badoo/mvicore/feature/FeatureSchedulers.kt | 12 ++++++++++++ .../badoo/mvicore/feature/AsyncBaseFeatureTest.kt | 2 +- 3 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 mvicore/src/main/java/com/badoo/mvicore/feature/FeatureSchedulers.kt diff --git a/mvicore/src/main/java/com/badoo/mvicore/feature/BaseFeature.kt b/mvicore/src/main/java/com/badoo/mvicore/feature/BaseFeature.kt index 6676f2e4..e4ec3be4 100644 --- a/mvicore/src/main/java/com/badoo/mvicore/feature/BaseFeature.kt +++ b/mvicore/src/main/java/com/badoo/mvicore/feature/BaseFeature.kt @@ -33,7 +33,7 @@ open class BaseFeature, postProcessor: PostProcessor? = null, newsPublisher: NewsPublisher? = null, - private val schedulers: Schedulers? = null + private val schedulers: FeatureSchedulers? = null ) : AsyncFeature { private val threadVerifier by lazy { SameThreadVerifier() } @@ -289,10 +289,4 @@ open class BaseFeature Date: Fri, 11 Mar 2022 14:02:07 +0000 Subject: [PATCH 2/2] Passed feature schedulers through feature subtypes --- .../java/com/badoo/mvicore/feature/ActorReducerFeature.kt | 6 ++++-- .../src/main/java/com/badoo/mvicore/feature/MemoFeature.kt | 6 ++++-- .../main/java/com/badoo/mvicore/feature/ReducerFeature.kt | 6 ++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/mvicore/src/main/java/com/badoo/mvicore/feature/ActorReducerFeature.kt b/mvicore/src/main/java/com/badoo/mvicore/feature/ActorReducerFeature.kt index 9a798b0c..9193d3aa 100644 --- a/mvicore/src/main/java/com/badoo/mvicore/feature/ActorReducerFeature.kt +++ b/mvicore/src/main/java/com/badoo/mvicore/feature/ActorReducerFeature.kt @@ -10,12 +10,14 @@ open class ActorReducerFeature? = null, actor: Actor, reducer: Reducer, - newsPublisher: NewsPublisher? = null + newsPublisher: NewsPublisher? = null, + schedulers: FeatureSchedulers? = null ) : BaseFeature( initialState = initialState, bootstrapper = bootstrapper, wishToAction = { wish -> wish }, actor = actor, reducer = reducer, - newsPublisher = newsPublisher + newsPublisher = newsPublisher, + schedulers = schedulers ) diff --git a/mvicore/src/main/java/com/badoo/mvicore/feature/MemoFeature.kt b/mvicore/src/main/java/com/badoo/mvicore/feature/MemoFeature.kt index 5edbbfbd..1516fff9 100644 --- a/mvicore/src/main/java/com/badoo/mvicore/feature/MemoFeature.kt +++ b/mvicore/src/main/java/com/badoo/mvicore/feature/MemoFeature.kt @@ -1,8 +1,10 @@ package com.badoo.mvicore.feature open class MemoFeature( - initialState: State + initialState: State, + schedulers: FeatureSchedulers? = null ) : Feature by ReducerFeature( initialState = initialState, - reducer = { _, effect -> effect } + reducer = { _, effect -> effect }, + schedulers = schedulers ) diff --git a/mvicore/src/main/java/com/badoo/mvicore/feature/ReducerFeature.kt b/mvicore/src/main/java/com/badoo/mvicore/feature/ReducerFeature.kt index 2126d9aa..db2b5571 100644 --- a/mvicore/src/main/java/com/badoo/mvicore/feature/ReducerFeature.kt +++ b/mvicore/src/main/java/com/badoo/mvicore/feature/ReducerFeature.kt @@ -12,14 +12,16 @@ open class ReducerFeature( initialState: State, reducer: Reducer, bootstrapper: Bootstrapper? = null, - newsPublisher: SimpleNewsPublisher? = null + newsPublisher: SimpleNewsPublisher? = null, + schedulers: FeatureSchedulers? = null ) : BaseFeature( initialState = initialState, bootstrapper = bootstrapper, wishToAction = { wish -> wish }, actor = BypassActor(), reducer = reducer, - newsPublisher = newsPublisher + newsPublisher = newsPublisher, + schedulers = schedulers ) { class BypassActor : Actor, NonWrappable { override fun invoke(state: State, wish: Wish): Observable =