From a415b3439142caada160030e4ebbd9b7992c5884 Mon Sep 17 00:00:00 2001 From: Laimonas Turauskas Date: Mon, 17 May 2021 13:29:07 -0700 Subject: [PATCH] [Cleanup] Moving a bunch of classes into android package (pt2). (#202) * Move FragmentKey into android package. * Moving a couple classes to android package. * Move BaseFormulaFragment into android package. * Move DisposableScope into android package. * Hiding Binding classes from public API. * Move AppManager into android.internal package. * [Cleanup] Moving a bunch of classes into android package (pt3). (#204) * Move BackCallback into android package. * Move FragmentLifecycleEvent into android.events package. * Move Integration into android package. * Move remaining fragments classes into android package. (#205) --- CHANGELOG.md | 12 ++++++++++++ .../com/instacart/formula/test/TestContract.kt | 4 ++-- .../instacart/formula/test/TestContractWithId.kt | 4 ++-- .../instacart/formula/test/TestFragmentActivity.kt | 6 +++--- .../formula/test/TestFragmentComponent.kt | 6 +++--- .../formula/test/TestLifecycleContract.kt | 6 +++--- .../formula/FragmentFlowRenderViewTest.kt | 8 ++++---- .../formula/FragmentLifecycleStateTest.kt | 4 ++-- .../java/com/instacart/formula/FormulaAndroid.kt | 6 +++--- .../com/instacart/formula/android/ActivityStore.kt | 4 +--- .../formula/android/ActivityStoreContext.kt | 5 +---- .../{integration => android}/BackCallback.kt | 2 +- .../{fragment => android}/BaseFormulaFragment.kt | 2 +- .../java/com/instacart/formula/android/Bindings.kt | 6 ------ .../{integration => android}/DisposableScope.kt | 2 +- .../java/com/instacart/formula/android/Feature.kt | 2 -- .../instacart/formula/android/FeatureFactory.kt | 4 ---- .../com/instacart/formula/android/FeatureView.kt | 2 -- .../java/com/instacart/formula/android/Flow.kt | 6 ++++-- .../com/instacart/formula/android/FlowFactory.kt | 2 -- .../{fragment => android}/FormulaFragment.kt | 4 +--- .../formula/android/FragmentBindingBuilder.kt | 8 ++++---- .../{fragment => android}/FragmentComponent.kt | 2 +- .../{fragment => android}/FragmentContract.kt | 2 +- .../{fragment => android}/FragmentEnvironment.kt | 2 +- .../{fragment => android}/FragmentFlowState.kt | 6 +----- .../{fragment => android}/FragmentFlowStore.kt | 12 ++++-------- .../com/instacart/formula/android/FragmentId.kt | 2 -- .../formula/{fragment => android}/FragmentKey.kt | 2 +- .../FragmentLifecycleCallback.kt | 2 +- .../com/instacart/formula/android/FragmentState.kt | 2 -- .../{integration => android}/Integration.kt | 2 +- .../com/instacart/formula/android/ViewFactory.kt | 1 - .../com/instacart/formula/android/ViewInstance.kt | 2 -- .../events}/FragmentLifecycleEvent.kt | 2 +- .../formula/android/internal/ActivityManager.kt | 2 +- .../android/internal/ActivityStoreContextImpl.kt | 4 ++-- .../android/internal/ActivityStoreFactory.kt | 2 +- .../formula/android/{ => internal}/AppManager.kt | 4 +--- .../formula/android/{ => internal}/Binding.kt | 14 ++++++++------ .../instacart/formula/android/internal/Bindings.kt | 6 ++++++ .../formula/android/internal/ComponentFactory.kt | 2 +- .../formula/android/internal/CompositeBinding.kt | 3 +-- .../formula/android/internal/EmptyFragmentKey.kt | 2 +- .../formula/android/internal/FeatureBinding.kt | 3 +-- .../android/internal/FragmentFlowRenderView.kt | 14 ++++++-------- .../internal}/FragmentLifecycle.kt | 7 +++++-- .../android/views/FragmentContractViewFactory.kt | 2 +- .../formula/android/ActivityStoreContextTest.kt | 1 - .../formula/android/ActivityStoreFactoryTest.kt | 1 - .../instacart/formula/android/FlowFactoryTest.kt | 3 +-- .../formula/android/FragmentFlowStoreTest.kt | 6 +----- .../instacart/formula/android/fakes/DetailKey.kt | 4 ++-- .../formula/android/fakes/FakeAuthFlowFactory.kt | 4 ++-- .../formula/android/fakes/FakeComponent.kt | 6 +++--- .../com/instacart/formula/android/fakes/MainKey.kt | 4 ++-- .../android/fakes/TestAccountFragmentContract.kt | 4 ++-- .../android/fakes/TestLoginFragmentContract.kt | 4 ++-- .../android/fakes/TestSignUpFragmentContract.kt | 4 ++-- .../formula/android/fakes/TestTaskListContract.kt | 4 ++-- .../main/java/com/examples/todoapp/TodoActivity.kt | 2 +- .../java/com/examples/todoapp/tasks/TaskListKey.kt | 2 +- 62 files changed, 116 insertions(+), 142 deletions(-) rename formula-android/src/main/java/com/instacart/formula/{integration => android}/BackCallback.kt (91%) rename formula-android/src/main/java/com/instacart/formula/{fragment => android}/BaseFormulaFragment.kt (78%) delete mode 100644 formula-android/src/main/java/com/instacart/formula/android/Bindings.kt rename formula-android/src/main/java/com/instacart/formula/{integration => android}/DisposableScope.kt (94%) rename formula-android/src/main/java/com/instacart/formula/{fragment => android}/FormulaFragment.kt (96%) rename formula-android/src/main/java/com/instacart/formula/{fragment => android}/FragmentComponent.kt (98%) rename formula-android/src/main/java/com/instacart/formula/{fragment => android}/FragmentContract.kt (95%) rename formula-android/src/main/java/com/instacart/formula/{fragment => android}/FragmentEnvironment.kt (74%) rename formula-android/src/main/java/com/instacart/formula/{fragment => android}/FragmentFlowState.kt (82%) rename formula-android/src/main/java/com/instacart/formula/{fragment => android}/FragmentFlowStore.kt (94%) rename formula-android/src/main/java/com/instacart/formula/{fragment => android}/FragmentKey.kt (92%) rename formula-android/src/main/java/com/instacart/formula/{fragment => android}/FragmentLifecycleCallback.kt (97%) rename formula-android/src/main/java/com/instacart/formula/{integration => android}/Integration.kt (94%) rename formula-android/src/main/java/com/instacart/formula/{fragment => android/events}/FragmentLifecycleEvent.kt (92%) rename formula-android/src/main/java/com/instacart/formula/android/{ => internal}/AppManager.kt (96%) rename formula-android/src/main/java/com/instacart/formula/android/{ => internal}/Binding.kt (82%) create mode 100644 formula-android/src/main/java/com/instacart/formula/android/internal/Bindings.kt rename formula-android/src/main/java/com/instacart/formula/{fragment => android/internal}/FragmentLifecycle.kt (84%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28bf29547..d2e0c601f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,18 @@ - Move `FragmentId` into `android` package. - Move `FormulaAppCompatActivity` into `android` package. - Move `ActivityResult` into `android.events` package. +- Move `FragmentKey` into `android` package. +- Move BaseFormulaFragment into `android` package. +- Move `DisposableScope` into `android` package. +- Move `FormulaFragment` into `android` package. +- Move `BackCallback` into `android` package. +- Move `FragmentLifecycleEvent` into `android.events` package. +- Move `Integration` into `android` package. +- Move `FragmentLifecycleCallback` into `android` package. +- Move `FragmentComponent` into `android` package. +- Move `FragmentContract` into `android` package. +- Move `FragmentFlowState` into `android` package. +- Move `FragmentFlowStore` into `android` package. ## [0.6.1] - November 18, 2020 - Bugfix: Fix runtime ignoring `Formula.key` for the root formula. diff --git a/formula-android-tests/src/main/java/com/instacart/formula/test/TestContract.kt b/formula-android-tests/src/main/java/com/instacart/formula/test/TestContract.kt index f6c900945..6e7b93daa 100644 --- a/formula-android-tests/src/main/java/com/instacart/formula/test/TestContract.kt +++ b/formula-android-tests/src/main/java/com/instacart/formula/test/TestContract.kt @@ -2,8 +2,8 @@ package com.instacart.formula.test import android.view.View import com.instacart.formula.R -import com.instacart.formula.fragment.FragmentComponent -import com.instacart.formula.fragment.FragmentContract +import com.instacart.formula.android.FragmentComponent +import com.instacart.formula.android.FragmentContract import kotlinx.android.parcel.Parcelize @Parcelize diff --git a/formula-android-tests/src/main/java/com/instacart/formula/test/TestContractWithId.kt b/formula-android-tests/src/main/java/com/instacart/formula/test/TestContractWithId.kt index c33c6c842..481fcafa9 100644 --- a/formula-android-tests/src/main/java/com/instacart/formula/test/TestContractWithId.kt +++ b/formula-android-tests/src/main/java/com/instacart/formula/test/TestContractWithId.kt @@ -2,8 +2,8 @@ package com.instacart.formula.test import android.view.View import com.instacart.formula.R -import com.instacart.formula.fragment.FragmentComponent -import com.instacart.formula.fragment.FragmentContract +import com.instacart.formula.android.FragmentComponent +import com.instacart.formula.android.FragmentContract import kotlinx.android.parcel.Parcelize @Parcelize diff --git a/formula-android-tests/src/main/java/com/instacart/formula/test/TestFragmentActivity.kt b/formula-android-tests/src/main/java/com/instacart/formula/test/TestFragmentActivity.kt index 529b815d8..e45b55e22 100644 --- a/formula-android-tests/src/main/java/com/instacart/formula/test/TestFragmentActivity.kt +++ b/formula-android-tests/src/main/java/com/instacart/formula/test/TestFragmentActivity.kt @@ -4,9 +4,9 @@ import android.os.Bundle import androidx.annotation.VisibleForTesting import com.instacart.formula.FormulaAndroid import com.instacart.formula.R -import com.instacart.formula.fragment.FormulaFragment -import com.instacart.formula.fragment.FragmentContract -import com.instacart.formula.fragment.FragmentKey +import com.instacart.formula.android.FormulaFragment +import com.instacart.formula.android.FragmentContract +import com.instacart.formula.android.FragmentKey import com.instacart.formula.android.FormulaAppCompatActivity class TestFragmentActivity : FormulaAppCompatActivity() { diff --git a/formula-android-tests/src/main/java/com/instacart/formula/test/TestFragmentComponent.kt b/formula-android-tests/src/main/java/com/instacart/formula/test/TestFragmentComponent.kt index 963f33442..b66ea151b 100644 --- a/formula-android-tests/src/main/java/com/instacart/formula/test/TestFragmentComponent.kt +++ b/formula-android-tests/src/main/java/com/instacart/formula/test/TestFragmentComponent.kt @@ -3,9 +3,9 @@ package com.instacart.formula.test import android.view.View import com.instacart.formula.RenderView import com.instacart.formula.Renderer -import com.instacart.formula.fragment.FragmentComponent -import com.instacart.formula.fragment.FragmentContract -import com.instacart.formula.fragment.FragmentLifecycleCallback +import com.instacart.formula.android.FragmentComponent +import com.instacart.formula.android.FragmentContract +import com.instacart.formula.android.FragmentLifecycleCallback object TestFragmentComponent { diff --git a/formula-android-tests/src/main/java/com/instacart/formula/test/TestLifecycleContract.kt b/formula-android-tests/src/main/java/com/instacart/formula/test/TestLifecycleContract.kt index 564c4b04d..378f921ef 100644 --- a/formula-android-tests/src/main/java/com/instacart/formula/test/TestLifecycleContract.kt +++ b/formula-android-tests/src/main/java/com/instacart/formula/test/TestLifecycleContract.kt @@ -3,9 +3,9 @@ package com.instacart.formula.test import android.os.Bundle import android.view.View import com.instacart.formula.R -import com.instacart.formula.fragment.FragmentComponent -import com.instacart.formula.fragment.FragmentContract -import com.instacart.formula.fragment.FragmentLifecycleCallback +import com.instacart.formula.android.FragmentComponent +import com.instacart.formula.android.FragmentContract +import com.instacart.formula.android.FragmentLifecycleCallback import kotlinx.android.parcel.IgnoredOnParcel import kotlinx.android.parcel.Parcelize diff --git a/formula-android-tests/src/test/java/com/instacart/formula/FragmentFlowRenderViewTest.kt b/formula-android-tests/src/test/java/com/instacart/formula/FragmentFlowRenderViewTest.kt index a17e893ec..57b2f187e 100644 --- a/formula-android-tests/src/test/java/com/instacart/formula/FragmentFlowRenderViewTest.kt +++ b/formula-android-tests/src/test/java/com/instacart/formula/FragmentFlowRenderViewTest.kt @@ -6,10 +6,10 @@ import androidx.test.core.app.ActivityScenario import androidx.test.ext.junit.rules.ActivityScenarioRule import androidx.test.ext.junit.runners.AndroidJUnit4 import com.google.common.truth.Truth.assertThat -import com.instacart.formula.fragment.FragmentContract -import com.instacart.formula.fragment.FragmentFlowState -import com.instacart.formula.fragment.FragmentKey -import com.instacart.formula.integration.BackCallback +import com.instacart.formula.android.FragmentContract +import com.instacart.formula.android.FragmentFlowState +import com.instacart.formula.android.FragmentKey +import com.instacart.formula.android.BackCallback import com.instacart.formula.test.TestContract import com.instacart.formula.test.TestContractWithId import com.instacart.formula.test.TestFragmentActivity diff --git a/formula-android-tests/src/test/java/com/instacart/formula/FragmentLifecycleStateTest.kt b/formula-android-tests/src/test/java/com/instacart/formula/FragmentLifecycleStateTest.kt index 8a410190d..8d07905bd 100644 --- a/formula-android-tests/src/test/java/com/instacart/formula/FragmentLifecycleStateTest.kt +++ b/formula-android-tests/src/test/java/com/instacart/formula/FragmentLifecycleStateTest.kt @@ -4,8 +4,8 @@ import androidx.test.core.app.ActivityScenario import androidx.test.ext.junit.rules.ActivityScenarioRule import androidx.test.ext.junit.runners.AndroidJUnit4 import com.google.common.truth.Truth.assertThat -import com.instacart.formula.fragment.FormulaFragment -import com.instacart.formula.fragment.FragmentContract +import com.instacart.formula.android.FormulaFragment +import com.instacart.formula.android.FragmentContract import com.instacart.formula.android.ActivityStoreContext import com.instacart.formula.test.TestContract import com.instacart.formula.test.TestContractWithId diff --git a/formula-android/src/main/java/com/instacart/formula/FormulaAndroid.kt b/formula-android/src/main/java/com/instacart/formula/FormulaAndroid.kt index 64a88af24..2ea36854e 100644 --- a/formula-android/src/main/java/com/instacart/formula/FormulaAndroid.kt +++ b/formula-android/src/main/java/com/instacart/formula/FormulaAndroid.kt @@ -7,10 +7,10 @@ import androidx.annotation.VisibleForTesting import androidx.fragment.app.FragmentActivity import com.instacart.formula.android.ActivityConfigurator import com.instacart.formula.android.events.ActivityResult -import com.instacart.formula.fragment.FragmentEnvironment +import com.instacart.formula.android.FragmentEnvironment import com.instacart.formula.android.internal.ActivityStoreFactory -import com.instacart.formula.android.AppManager -import com.instacart.formula.fragment.FragmentKey +import com.instacart.formula.android.internal.AppManager +import com.instacart.formula.android.FragmentKey import java.lang.IllegalStateException object FormulaAndroid { diff --git a/formula-android/src/main/java/com/instacart/formula/android/ActivityStore.kt b/formula-android/src/main/java/com/instacart/formula/android/ActivityStore.kt index 6d8f3657f..0e21c0347 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/ActivityStore.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/ActivityStore.kt @@ -1,9 +1,7 @@ package com.instacart.formula.android import androidx.fragment.app.FragmentActivity -import com.instacart.formula.fragment.FragmentFlowState -import com.instacart.formula.fragment.FragmentFlowStore -import com.instacart.formula.fragment.FragmentLifecycleEvent +import com.instacart.formula.android.events.FragmentLifecycleEvent import io.reactivex.rxjava3.disposables.Disposable /** diff --git a/formula-android/src/main/java/com/instacart/formula/android/ActivityStoreContext.kt b/formula-android/src/main/java/com/instacart/formula/android/ActivityStoreContext.kt index 95f08dfc2..d945f8a8f 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/ActivityStoreContext.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/ActivityStoreContext.kt @@ -3,10 +3,7 @@ package com.instacart.formula.android import androidx.fragment.app.FragmentActivity import androidx.lifecycle.Lifecycle import com.instacart.formula.android.events.ActivityResult -import com.instacart.formula.fragment.FragmentFlowState -import com.instacart.formula.fragment.FragmentFlowStore -import com.instacart.formula.fragment.FragmentKey -import com.instacart.formula.fragment.FragmentLifecycleEvent +import com.instacart.formula.android.events.FragmentLifecycleEvent import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.disposables.Disposable diff --git a/formula-android/src/main/java/com/instacart/formula/integration/BackCallback.kt b/formula-android/src/main/java/com/instacart/formula/android/BackCallback.kt similarity index 91% rename from formula-android/src/main/java/com/instacart/formula/integration/BackCallback.kt rename to formula-android/src/main/java/com/instacart/formula/android/BackCallback.kt index 8bfc48462..affd54ab4 100644 --- a/formula-android/src/main/java/com/instacart/formula/integration/BackCallback.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/BackCallback.kt @@ -1,4 +1,4 @@ -package com.instacart.formula.integration +package com.instacart.formula.android /** * Used to indicate that a screen render model diff --git a/formula-android/src/main/java/com/instacart/formula/fragment/BaseFormulaFragment.kt b/formula-android/src/main/java/com/instacart/formula/android/BaseFormulaFragment.kt similarity index 78% rename from formula-android/src/main/java/com/instacart/formula/fragment/BaseFormulaFragment.kt rename to formula-android/src/main/java/com/instacart/formula/android/BaseFormulaFragment.kt index 409f1a724..c01ad8fa8 100644 --- a/formula-android/src/main/java/com/instacart/formula/fragment/BaseFormulaFragment.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/BaseFormulaFragment.kt @@ -1,4 +1,4 @@ -package com.instacart.formula.fragment +package com.instacart.formula.android interface BaseFormulaFragment { diff --git a/formula-android/src/main/java/com/instacart/formula/android/Bindings.kt b/formula-android/src/main/java/com/instacart/formula/android/Bindings.kt deleted file mode 100644 index 7ac7c8cef..000000000 --- a/formula-android/src/main/java/com/instacart/formula/android/Bindings.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.instacart.formula.android - -class Bindings( - val types: Set>, - val bindings: List> -) diff --git a/formula-android/src/main/java/com/instacart/formula/integration/DisposableScope.kt b/formula-android/src/main/java/com/instacart/formula/android/DisposableScope.kt similarity index 94% rename from formula-android/src/main/java/com/instacart/formula/integration/DisposableScope.kt rename to formula-android/src/main/java/com/instacart/formula/android/DisposableScope.kt index 9a2a88184..9232b71b9 100644 --- a/formula-android/src/main/java/com/instacart/formula/integration/DisposableScope.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/DisposableScope.kt @@ -1,4 +1,4 @@ -package com.instacart.formula.integration +package com.instacart.formula.android /** * Defines a component that can be disposed. This enables us to clean up diff --git a/formula-android/src/main/java/com/instacart/formula/android/Feature.kt b/formula-android/src/main/java/com/instacart/formula/android/Feature.kt index 7a0b5005e..abc8e3c18 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/Feature.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/Feature.kt @@ -1,8 +1,6 @@ package com.instacart.formula.android import io.reactivex.rxjava3.core.Observable -import com.instacart.formula.fragment.FormulaFragment -import com.instacart.formula.fragment.FragmentFlowStore /** * Feature is based on uni-directional state management where a single state model drives diff --git a/formula-android/src/main/java/com/instacart/formula/android/FeatureFactory.kt b/formula-android/src/main/java/com/instacart/formula/android/FeatureFactory.kt index c2d3ab616..3e7d90b63 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/FeatureFactory.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FeatureFactory.kt @@ -1,9 +1,5 @@ package com.instacart.formula.android -import com.instacart.formula.fragment.FormulaFragment -import com.instacart.formula.fragment.FragmentKey -import com.instacart.formula.fragment.FragmentFlowStore - /** * Feature factory is responsible for creating a [Feature] for a specific [fragment key][Key]. * diff --git a/formula-android/src/main/java/com/instacart/formula/android/FeatureView.kt b/formula-android/src/main/java/com/instacart/formula/android/FeatureView.kt index 7c4c0864d..e491b2a13 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/FeatureView.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FeatureView.kt @@ -2,8 +2,6 @@ package com.instacart.formula.android import android.view.View import com.instacart.formula.Cancelable -import com.instacart.formula.fragment.FragmentLifecycleCallback -import com.instacart.formula.fragment.FormulaFragment import io.reactivex.rxjava3.core.Observable /** diff --git a/formula-android/src/main/java/com/instacart/formula/android/Flow.kt b/formula-android/src/main/java/com/instacart/formula/android/Flow.kt index 2c805a0fc..0c85c1a11 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/Flow.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/Flow.kt @@ -1,10 +1,12 @@ package com.instacart.formula.android +import com.instacart.formula.android.internal.Bindings + /** * A flow defines a group of features that share a same [FlowComponent]. */ -data class Flow( - val bindings: Bindings +data class Flow @PublishedApi internal constructor( + internal val bindings: Bindings ) { companion object { /** diff --git a/formula-android/src/main/java/com/instacart/formula/android/FlowFactory.kt b/formula-android/src/main/java/com/instacart/formula/android/FlowFactory.kt index c25b1bb3b..0ddda1be4 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/FlowFactory.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FlowFactory.kt @@ -1,7 +1,5 @@ package com.instacart.formula.android -import com.instacart.formula.integration.DisposableScope - /** * A flow factory enables to group multiple fragments and share state, routers, action handlers * and other dependencies between them. A shared [FlowComponent] will be instantiated when user diff --git a/formula-android/src/main/java/com/instacart/formula/fragment/FormulaFragment.kt b/formula-android/src/main/java/com/instacart/formula/android/FormulaFragment.kt similarity index 96% rename from formula-android/src/main/java/com/instacart/formula/fragment/FormulaFragment.kt rename to formula-android/src/main/java/com/instacart/formula/android/FormulaFragment.kt index cfd7ee4b5..cd97d27d7 100644 --- a/formula-android/src/main/java/com/instacart/formula/fragment/FormulaFragment.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FormulaFragment.kt @@ -1,4 +1,4 @@ -package com.instacart.formula.fragment +package com.instacart.formula.android import android.os.Bundle import android.view.LayoutInflater @@ -6,8 +6,6 @@ import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import com.instacart.formula.Cancelable -import com.instacart.formula.android.FeatureView -import com.instacart.formula.android.ViewFactory import com.jakewharton.rxrelay3.BehaviorRelay class FormulaFragment : Fragment(), BaseFormulaFragment { diff --git a/formula-android/src/main/java/com/instacart/formula/android/FragmentBindingBuilder.kt b/formula-android/src/main/java/com/instacart/formula/android/FragmentBindingBuilder.kt index 877bfbf71..1c2bd3f1a 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/FragmentBindingBuilder.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FragmentBindingBuilder.kt @@ -1,11 +1,10 @@ package com.instacart.formula.android +import com.instacart.formula.android.internal.Binding +import com.instacart.formula.android.internal.Bindings import com.instacart.formula.android.internal.FunctionUtils import com.instacart.formula.android.views.FragmentContractViewFactory -import com.instacart.formula.fragment.FragmentContract -import com.instacart.formula.fragment.FragmentKey import com.instacart.formula.android.internal.FeatureBinding -import com.instacart.formula.integration.Integration import io.reactivex.rxjava3.core.Observable import java.lang.IllegalStateException import kotlin.reflect.KClass @@ -191,7 +190,8 @@ class FragmentBindingBuilder { bind(binding) } - fun build(): Bindings { + @PublishedApi + internal fun build(): Bindings { return Bindings( types = types, bindings = bindings diff --git a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentComponent.kt b/formula-android/src/main/java/com/instacart/formula/android/FragmentComponent.kt similarity index 98% rename from formula-android/src/main/java/com/instacart/formula/fragment/FragmentComponent.kt rename to formula-android/src/main/java/com/instacart/formula/android/FragmentComponent.kt index e9cf7d996..0ef13692a 100644 --- a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentComponent.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FragmentComponent.kt @@ -1,4 +1,4 @@ -package com.instacart.formula.fragment +package com.instacart.formula.android import com.instacart.formula.Renderer import com.instacart.formula.RenderView diff --git a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentContract.kt b/formula-android/src/main/java/com/instacart/formula/android/FragmentContract.kt similarity index 95% rename from formula-android/src/main/java/com/instacart/formula/fragment/FragmentContract.kt rename to formula-android/src/main/java/com/instacart/formula/android/FragmentContract.kt index bac64ba98..b033a39ba 100644 --- a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentContract.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FragmentContract.kt @@ -1,4 +1,4 @@ -package com.instacart.formula.fragment +package com.instacart.formula.android import android.view.View diff --git a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentEnvironment.kt b/formula-android/src/main/java/com/instacart/formula/android/FragmentEnvironment.kt similarity index 74% rename from formula-android/src/main/java/com/instacart/formula/fragment/FragmentEnvironment.kt rename to formula-android/src/main/java/com/instacart/formula/android/FragmentEnvironment.kt index a2c4b0038..c9b575f9c 100644 --- a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentEnvironment.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FragmentEnvironment.kt @@ -1,4 +1,4 @@ -package com.instacart.formula.fragment +package com.instacart.formula.android data class FragmentEnvironment( val onScreenError: (FragmentKey, Throwable) -> Unit = { _, it -> throw it } diff --git a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentFlowState.kt b/formula-android/src/main/java/com/instacart/formula/android/FragmentFlowState.kt similarity index 82% rename from formula-android/src/main/java/com/instacart/formula/fragment/FragmentFlowState.kt rename to formula-android/src/main/java/com/instacart/formula/android/FragmentFlowState.kt index 8c758488c..f85809dad 100644 --- a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentFlowState.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FragmentFlowState.kt @@ -1,8 +1,4 @@ -package com.instacart.formula.fragment - -import com.instacart.formula.android.FragmentId -import com.instacart.formula.android.FeatureEvent -import com.instacart.formula.android.FragmentState +package com.instacart.formula.android /** * Represents currently [activeKeys] and their [states]. diff --git a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentFlowStore.kt b/formula-android/src/main/java/com/instacart/formula/android/FragmentFlowStore.kt similarity index 94% rename from formula-android/src/main/java/com/instacart/formula/fragment/FragmentFlowStore.kt rename to formula-android/src/main/java/com/instacart/formula/android/FragmentFlowStore.kt index f61282d8c..7eeada0df 100644 --- a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentFlowStore.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FragmentFlowStore.kt @@ -1,15 +1,11 @@ -package com.instacart.formula.fragment +package com.instacart.formula.android import com.instacart.formula.Evaluation import com.instacart.formula.Formula import com.instacart.formula.FormulaContext -import com.instacart.formula.android.FragmentId import com.instacart.formula.rxjava3.RxStream -import com.instacart.formula.android.Binding -import com.instacart.formula.android.FeatureEvent -import com.instacart.formula.integration.DisposableScope -import com.instacart.formula.android.FragmentBindingBuilder -import com.instacart.formula.android.FragmentState +import com.instacart.formula.android.internal.Binding +import com.instacart.formula.android.events.FragmentLifecycleEvent import com.instacart.formula.rxjava3.toObservable import com.jakewharton.rxrelay3.PublishRelay import io.reactivex.rxjava3.core.Observable @@ -17,7 +13,7 @@ import io.reactivex.rxjava3.core.Observable /** * A FragmentFlowStore is responsible for managing the state of multiple [FragmentContract] instances. */ -class FragmentFlowStore( +class FragmentFlowStore @PublishedApi internal constructor( private val root: Binding ) : Formula { companion object { diff --git a/formula-android/src/main/java/com/instacart/formula/android/FragmentId.kt b/formula-android/src/main/java/com/instacart/formula/android/FragmentId.kt index f3055eb4b..31016d10c 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/FragmentId.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FragmentId.kt @@ -1,7 +1,5 @@ package com.instacart.formula.android -import com.instacart.formula.fragment.FragmentKey - /** * An object used to identify a fragment. It combines both a user generated [key] and * a generated [String] id. diff --git a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentKey.kt b/formula-android/src/main/java/com/instacart/formula/android/FragmentKey.kt similarity index 92% rename from formula-android/src/main/java/com/instacart/formula/fragment/FragmentKey.kt rename to formula-android/src/main/java/com/instacart/formula/android/FragmentKey.kt index 131e56bc5..7cc76eacd 100644 --- a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentKey.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FragmentKey.kt @@ -1,4 +1,4 @@ -package com.instacart.formula.fragment +package com.instacart.formula.android import android.os.Parcelable import androidx.fragment.app.FragmentManager diff --git a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentLifecycleCallback.kt b/formula-android/src/main/java/com/instacart/formula/android/FragmentLifecycleCallback.kt similarity index 97% rename from formula-android/src/main/java/com/instacart/formula/fragment/FragmentLifecycleCallback.kt rename to formula-android/src/main/java/com/instacart/formula/android/FragmentLifecycleCallback.kt index 270b4bc57..76afbfdd5 100644 --- a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentLifecycleCallback.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FragmentLifecycleCallback.kt @@ -1,4 +1,4 @@ -package com.instacart.formula.fragment +package com.instacart.formula.android import android.os.Bundle import android.view.View diff --git a/formula-android/src/main/java/com/instacart/formula/android/FragmentState.kt b/formula-android/src/main/java/com/instacart/formula/android/FragmentState.kt index c96a15c54..e3a45b80b 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/FragmentState.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/FragmentState.kt @@ -1,7 +1,5 @@ package com.instacart.formula.android -import com.instacart.formula.fragment.FragmentKey - /** * Defines the current render model for a specific [key]. */ diff --git a/formula-android/src/main/java/com/instacart/formula/integration/Integration.kt b/formula-android/src/main/java/com/instacart/formula/android/Integration.kt similarity index 94% rename from formula-android/src/main/java/com/instacart/formula/integration/Integration.kt rename to formula-android/src/main/java/com/instacart/formula/android/Integration.kt index c333733c0..4f96ebb58 100644 --- a/formula-android/src/main/java/com/instacart/formula/integration/Integration.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/Integration.kt @@ -1,4 +1,4 @@ -package com.instacart.formula.integration +package com.instacart.formula.android import io.reactivex.rxjava3.core.Observable diff --git a/formula-android/src/main/java/com/instacart/formula/android/ViewFactory.kt b/formula-android/src/main/java/com/instacart/formula/android/ViewFactory.kt index 2c2328d0a..d334dbc3a 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/ViewFactory.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/ViewFactory.kt @@ -3,7 +3,6 @@ package com.instacart.formula.android import android.view.LayoutInflater import android.view.ViewGroup import androidx.annotation.LayoutRes -import com.instacart.formula.fragment.FormulaFragment import com.instacart.formula.android.views.DelegateLayoutViewFactory /** diff --git a/formula-android/src/main/java/com/instacart/formula/android/ViewInstance.kt b/formula-android/src/main/java/com/instacart/formula/android/ViewInstance.kt index 3703e2a21..2123b9393 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/ViewInstance.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/ViewInstance.kt @@ -4,8 +4,6 @@ import android.view.View import com.instacart.formula.RenderView import com.instacart.formula.Renderer import com.instacart.formula.android.views.FeatureViewBindFunction -import com.instacart.formula.fragment.FormulaFragment -import com.instacart.formula.fragment.FragmentLifecycleCallback /** * View instance contains an initialized Android [view] and provides factory diff --git a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentLifecycleEvent.kt b/formula-android/src/main/java/com/instacart/formula/android/events/FragmentLifecycleEvent.kt similarity index 92% rename from formula-android/src/main/java/com/instacart/formula/fragment/FragmentLifecycleEvent.kt rename to formula-android/src/main/java/com/instacart/formula/android/events/FragmentLifecycleEvent.kt index 158352d5a..d30a2639d 100644 --- a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentLifecycleEvent.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/events/FragmentLifecycleEvent.kt @@ -1,4 +1,4 @@ -package com.instacart.formula.fragment +package com.instacart.formula.android.events import com.instacart.formula.android.FragmentId diff --git a/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityManager.kt b/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityManager.kt index 13a7a0f2b..ab8faa9b0 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityManager.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityManager.kt @@ -3,7 +3,7 @@ package com.instacart.formula.android.internal import androidx.fragment.app.FragmentActivity import androidx.lifecycle.Lifecycle import com.instacart.formula.android.events.ActivityResult -import com.instacart.formula.fragment.FragmentEnvironment +import com.instacart.formula.android.FragmentEnvironment import com.instacart.formula.android.ActivityStore import io.reactivex.rxjava3.disposables.CompositeDisposable import io.reactivex.rxjava3.disposables.Disposable diff --git a/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityStoreContextImpl.kt b/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityStoreContextImpl.kt index a711e27b7..796c6b6d2 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityStoreContextImpl.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityStoreContextImpl.kt @@ -3,8 +3,8 @@ package com.instacart.formula.android.internal import androidx.fragment.app.FragmentActivity import androidx.lifecycle.Lifecycle import com.instacart.formula.android.events.ActivityResult -import com.instacart.formula.fragment.FragmentFlowState -import com.instacart.formula.fragment.FragmentKey +import com.instacart.formula.android.FragmentFlowState +import com.instacart.formula.android.FragmentKey import com.instacart.formula.android.FragmentId import com.instacart.formula.android.ActivityStoreContext import com.jakewharton.rxrelay3.BehaviorRelay diff --git a/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityStoreFactory.kt b/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityStoreFactory.kt index 1284e87a4..27129ce4e 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityStoreFactory.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityStoreFactory.kt @@ -2,7 +2,7 @@ package com.instacart.formula.android.internal import androidx.fragment.app.FragmentActivity import com.instacart.formula.android.ActivityConfigurator -import com.instacart.formula.fragment.FragmentEnvironment +import com.instacart.formula.android.FragmentEnvironment import kotlin.reflect.KClass internal class ActivityStoreFactory internal constructor( diff --git a/formula-android/src/main/java/com/instacart/formula/android/AppManager.kt b/formula-android/src/main/java/com/instacart/formula/android/internal/AppManager.kt similarity index 96% rename from formula-android/src/main/java/com/instacart/formula/android/AppManager.kt rename to formula-android/src/main/java/com/instacart/formula/android/internal/AppManager.kt index 79f3af4cb..3d1f9a9b9 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/AppManager.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/internal/AppManager.kt @@ -1,12 +1,10 @@ -package com.instacart.formula.android +package com.instacart.formula.android.internal import android.app.Activity import android.app.Application import android.os.Bundle import androidx.fragment.app.FragmentActivity -import com.instacart.formula.android.internal.ActivityManager import com.instacart.formula.android.events.ActivityResult -import com.instacart.formula.android.internal.ActivityStoreFactory import java.util.UUID /** diff --git a/formula-android/src/main/java/com/instacart/formula/android/Binding.kt b/formula-android/src/main/java/com/instacart/formula/android/internal/Binding.kt similarity index 82% rename from formula-android/src/main/java/com/instacart/formula/android/Binding.kt rename to formula-android/src/main/java/com/instacart/formula/android/internal/Binding.kt index 3efe40d5d..19cf587ac 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/Binding.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/internal/Binding.kt @@ -1,14 +1,16 @@ -package com.instacart.formula.android +package com.instacart.formula.android.internal import com.instacart.formula.FormulaContext -import com.instacart.formula.android.internal.ComponentFactory -import com.instacart.formula.fragment.FragmentEnvironment -import com.instacart.formula.android.internal.CompositeBinding +import com.instacart.formula.android.FeatureEvent +import com.instacart.formula.android.FlowFactory +import com.instacart.formula.android.FragmentEnvironment +import com.instacart.formula.android.FragmentId /** * Defines how specific keys bind to the state management associated */ -abstract class Binding { +@PublishedApi +internal abstract class Binding { companion object { fun composite( flowFactory: FlowFactory, @@ -32,7 +34,7 @@ abstract class Binding { ) } - fun composite( + @PublishedApi internal fun composite( scopeFactory: ComponentFactory, bindings: Bindings ): Binding { diff --git a/formula-android/src/main/java/com/instacart/formula/android/internal/Bindings.kt b/formula-android/src/main/java/com/instacart/formula/android/internal/Bindings.kt new file mode 100644 index 000000000..f43d42819 --- /dev/null +++ b/formula-android/src/main/java/com/instacart/formula/android/internal/Bindings.kt @@ -0,0 +1,6 @@ +package com.instacart.formula.android.internal + +internal class Bindings( + val types: Set>, + val bindings: List> +) diff --git a/formula-android/src/main/java/com/instacart/formula/android/internal/ComponentFactory.kt b/formula-android/src/main/java/com/instacart/formula/android/internal/ComponentFactory.kt index fb4e1fbd5..21fca5287 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/internal/ComponentFactory.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/internal/ComponentFactory.kt @@ -1,6 +1,6 @@ package com.instacart.formula.android.internal -import com.instacart.formula.integration.DisposableScope +import com.instacart.formula.android.DisposableScope /** * Component factory creates a child component from a parent component. diff --git a/formula-android/src/main/java/com/instacart/formula/android/internal/CompositeBinding.kt b/formula-android/src/main/java/com/instacart/formula/android/internal/CompositeBinding.kt index 8fb3e080e..48055c6d1 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/internal/CompositeBinding.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/internal/CompositeBinding.kt @@ -4,8 +4,7 @@ import com.instacart.formula.Evaluation import com.instacart.formula.Formula import com.instacart.formula.FormulaContext import com.instacart.formula.Stream -import com.instacart.formula.android.Binding -import com.instacart.formula.integration.DisposableScope +import com.instacart.formula.android.DisposableScope /** * Defines how a group of keys should be bound to their integrations. diff --git a/formula-android/src/main/java/com/instacart/formula/android/internal/EmptyFragmentKey.kt b/formula-android/src/main/java/com/instacart/formula/android/internal/EmptyFragmentKey.kt index 77efcb028..ec060a586 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/internal/EmptyFragmentKey.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/internal/EmptyFragmentKey.kt @@ -1,6 +1,6 @@ package com.instacart.formula.android.internal -import com.instacart.formula.fragment.FragmentKey +import com.instacart.formula.android.FragmentKey import kotlinx.android.parcel.Parcelize @Parcelize diff --git a/formula-android/src/main/java/com/instacart/formula/android/internal/FeatureBinding.kt b/formula-android/src/main/java/com/instacart/formula/android/internal/FeatureBinding.kt index 77dd25174..2366488b0 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/internal/FeatureBinding.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/internal/FeatureBinding.kt @@ -5,8 +5,7 @@ import com.instacart.formula.Formula import com.instacart.formula.FormulaContext import com.instacart.formula.Stream import com.instacart.formula.android.FeatureFactory -import com.instacart.formula.fragment.FragmentKey -import com.instacart.formula.android.Binding +import com.instacart.formula.android.FragmentKey import com.instacart.formula.android.FeatureEvent /** diff --git a/formula-android/src/main/java/com/instacart/formula/android/internal/FragmentFlowRenderView.kt b/formula-android/src/main/java/com/instacart/formula/android/internal/FragmentFlowRenderView.kt index f0a7dccf5..b1d41b4d7 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/internal/FragmentFlowRenderView.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/internal/FragmentFlowRenderView.kt @@ -9,14 +9,12 @@ import androidx.fragment.app.FragmentManager import androidx.lifecycle.Lifecycle import com.instacart.formula.Renderer import com.instacart.formula.RenderView -import com.instacart.formula.fragment.BaseFormulaFragment -import com.instacart.formula.fragment.FormulaFragment -import com.instacart.formula.fragment.FragmentEnvironment -import com.instacart.formula.fragment.FragmentFlowState -import com.instacart.formula.fragment.FragmentLifecycle -import com.instacart.formula.fragment.FragmentLifecycleEvent -import com.instacart.formula.fragment.getFormulaFragmentId -import com.instacart.formula.integration.BackCallback +import com.instacart.formula.android.BaseFormulaFragment +import com.instacart.formula.android.FormulaFragment +import com.instacart.formula.android.FragmentEnvironment +import com.instacart.formula.android.FragmentFlowState +import com.instacart.formula.android.events.FragmentLifecycleEvent +import com.instacart.formula.android.BackCallback import com.instacart.formula.android.FeatureEvent import com.instacart.formula.android.FragmentId import java.util.LinkedList diff --git a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentLifecycle.kt b/formula-android/src/main/java/com/instacart/formula/android/internal/FragmentLifecycle.kt similarity index 84% rename from formula-android/src/main/java/com/instacart/formula/fragment/FragmentLifecycle.kt rename to formula-android/src/main/java/com/instacart/formula/android/internal/FragmentLifecycle.kt index 00ea50ed6..2a26f6d28 100644 --- a/formula-android/src/main/java/com/instacart/formula/fragment/FragmentLifecycle.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/internal/FragmentLifecycle.kt @@ -1,10 +1,13 @@ -package com.instacart.formula.fragment +package com.instacart.formula.android.internal import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentInspector import androidx.fragment.app.FragmentManager -import com.instacart.formula.android.internal.EmptyFragmentKey import com.instacart.formula.android.FragmentId +import com.instacart.formula.android.FragmentKey +import com.instacart.formula.android.BaseFormulaFragment +import com.instacart.formula.android.FormulaFragment +import com.instacart.formula.android.events.FragmentLifecycleEvent /** * Provides utility method [lifecycleEvents] to track what fragments are added and removed from the backstack. diff --git a/formula-android/src/main/java/com/instacart/formula/android/views/FragmentContractViewFactory.kt b/formula-android/src/main/java/com/instacart/formula/android/views/FragmentContractViewFactory.kt index 42dd6b455..2f3cbcf24 100644 --- a/formula-android/src/main/java/com/instacart/formula/android/views/FragmentContractViewFactory.kt +++ b/formula-android/src/main/java/com/instacart/formula/android/views/FragmentContractViewFactory.kt @@ -4,7 +4,7 @@ import com.instacart.formula.android.FeatureView import com.instacart.formula.android.LayoutViewFactory import com.instacart.formula.android.ViewFactory import com.instacart.formula.android.ViewInstance -import com.instacart.formula.fragment.FragmentContract +import com.instacart.formula.android.FragmentContract /** * An implementation of [ViewFactory] which delegates implementation to [FragmentContract]. diff --git a/formula-android/src/test/java/com/instacart/formula/android/ActivityStoreContextTest.kt b/formula-android/src/test/java/com/instacart/formula/android/ActivityStoreContextTest.kt index 0da5bfdfb..8db99d6b3 100644 --- a/formula-android/src/test/java/com/instacart/formula/android/ActivityStoreContextTest.kt +++ b/formula-android/src/test/java/com/instacart/formula/android/ActivityStoreContextTest.kt @@ -3,7 +3,6 @@ package com.instacart.formula.android import androidx.fragment.app.FragmentActivity import androidx.lifecycle.Lifecycle import com.instacart.formula.android.internal.ActivityStoreContextImpl -import com.instacart.formula.fragment.FragmentContract import com.jakewharton.rxrelay3.PublishRelay import com.nhaarman.mockito_kotlin.mock import com.nhaarman.mockito_kotlin.verify diff --git a/formula-android/src/test/java/com/instacart/formula/android/ActivityStoreFactoryTest.kt b/formula-android/src/test/java/com/instacart/formula/android/ActivityStoreFactoryTest.kt index 4c26f2588..63b520310 100644 --- a/formula-android/src/test/java/com/instacart/formula/android/ActivityStoreFactoryTest.kt +++ b/formula-android/src/test/java/com/instacart/formula/android/ActivityStoreFactoryTest.kt @@ -3,7 +3,6 @@ package com.instacart.formula.android import androidx.fragment.app.FragmentActivity import com.google.common.truth.Truth.assertThat import com.instacart.formula.android.internal.ActivityStoreFactory -import com.instacart.formula.fragment.FragmentEnvironment import com.nhaarman.mockito_kotlin.mock import org.junit.Test diff --git a/formula-android/src/test/java/com/instacart/formula/android/FlowFactoryTest.kt b/formula-android/src/test/java/com/instacart/formula/android/FlowFactoryTest.kt index 5e420c254..1699f0a79 100644 --- a/formula-android/src/test/java/com/instacart/formula/android/FlowFactoryTest.kt +++ b/formula-android/src/test/java/com/instacart/formula/android/FlowFactoryTest.kt @@ -1,11 +1,10 @@ package com.instacart.formula.android import com.google.common.truth.Truth -import com.instacart.formula.fragment.FragmentFlowStore -import com.instacart.formula.integration.DisposableScope import com.instacart.formula.android.fakes.TestAccountFragmentContract import com.instacart.formula.android.fakes.TestLoginFragmentContract import com.instacart.formula.android.fakes.TestSignUpFragmentContract +import com.instacart.formula.android.internal.Binding import io.reactivex.rxjava3.core.Observable import org.junit.Test diff --git a/formula-android/src/test/java/com/instacart/formula/android/FragmentFlowStoreTest.kt b/formula-android/src/test/java/com/instacart/formula/android/FragmentFlowStoreTest.kt index 6c49f1a95..920dafd92 100644 --- a/formula-android/src/test/java/com/instacart/formula/android/FragmentFlowStoreTest.kt +++ b/formula-android/src/test/java/com/instacart/formula/android/FragmentFlowStoreTest.kt @@ -5,11 +5,7 @@ import com.instacart.formula.android.fakes.DetailKey import com.instacart.formula.android.fakes.FakeAuthFlowFactory import com.instacart.formula.android.fakes.FakeComponent import com.instacart.formula.android.fakes.MainKey -import com.instacart.formula.fragment.FragmentContract -import com.instacart.formula.fragment.FragmentEnvironment -import com.instacart.formula.fragment.FragmentFlowStore -import com.instacart.formula.fragment.FragmentKey -import com.instacart.formula.fragment.FragmentLifecycleEvent +import com.instacart.formula.android.events.FragmentLifecycleEvent import com.instacart.formula.android.fakes.TestAccountFragmentContract import com.instacart.formula.android.fakes.TestLoginFragmentContract import com.instacart.formula.android.fakes.TestSignUpFragmentContract diff --git a/formula-android/src/test/java/com/instacart/formula/android/fakes/DetailKey.kt b/formula-android/src/test/java/com/instacart/formula/android/fakes/DetailKey.kt index c6f3c2045..d82b3218e 100644 --- a/formula-android/src/test/java/com/instacart/formula/android/fakes/DetailKey.kt +++ b/formula-android/src/test/java/com/instacart/formula/android/fakes/DetailKey.kt @@ -1,8 +1,8 @@ package com.instacart.formula.android.fakes import android.view.View -import com.instacart.formula.fragment.FragmentComponent -import com.instacart.formula.fragment.FragmentContract +import com.instacart.formula.android.FragmentComponent +import com.instacart.formula.android.FragmentContract import kotlinx.android.parcel.Parcelize @Parcelize diff --git a/formula-android/src/test/java/com/instacart/formula/android/fakes/FakeAuthFlowFactory.kt b/formula-android/src/test/java/com/instacart/formula/android/fakes/FakeAuthFlowFactory.kt index 9ad94b76e..8b84b3c04 100644 --- a/formula-android/src/test/java/com/instacart/formula/android/fakes/FakeAuthFlowFactory.kt +++ b/formula-android/src/test/java/com/instacart/formula/android/fakes/FakeAuthFlowFactory.kt @@ -2,8 +2,8 @@ package com.instacart.formula.android.fakes import com.instacart.formula.android.Flow import com.instacart.formula.android.FlowFactory -import com.instacart.formula.fragment.FragmentContract -import com.instacart.formula.integration.DisposableScope +import com.instacart.formula.android.FragmentContract +import com.instacart.formula.android.DisposableScope import io.reactivex.rxjava3.core.Observable class FakeAuthFlowFactory : FlowFactory { diff --git a/formula-android/src/test/java/com/instacart/formula/android/fakes/FakeComponent.kt b/formula-android/src/test/java/com/instacart/formula/android/fakes/FakeComponent.kt index 9fede5765..e140504bf 100644 --- a/formula-android/src/test/java/com/instacart/formula/android/fakes/FakeComponent.kt +++ b/formula-android/src/test/java/com/instacart/formula/android/fakes/FakeComponent.kt @@ -1,8 +1,8 @@ package com.instacart.formula.android.fakes -import com.instacart.formula.fragment.FragmentContract -import com.instacart.formula.fragment.FragmentKey -import com.instacart.formula.integration.DisposableScope +import com.instacart.formula.android.FragmentContract +import com.instacart.formula.android.FragmentKey +import com.instacart.formula.android.DisposableScope import com.jakewharton.rxrelay3.PublishRelay import io.reactivex.rxjava3.core.Observable diff --git a/formula-android/src/test/java/com/instacart/formula/android/fakes/MainKey.kt b/formula-android/src/test/java/com/instacart/formula/android/fakes/MainKey.kt index ef9aeea15..7529ffb0b 100644 --- a/formula-android/src/test/java/com/instacart/formula/android/fakes/MainKey.kt +++ b/formula-android/src/test/java/com/instacart/formula/android/fakes/MainKey.kt @@ -1,8 +1,8 @@ package com.instacart.formula.android.fakes import android.view.View -import com.instacart.formula.fragment.FragmentComponent -import com.instacart.formula.fragment.FragmentContract +import com.instacart.formula.android.FragmentComponent +import com.instacart.formula.android.FragmentContract import kotlinx.android.parcel.Parcelize @Parcelize diff --git a/formula-android/src/test/java/com/instacart/formula/android/fakes/TestAccountFragmentContract.kt b/formula-android/src/test/java/com/instacart/formula/android/fakes/TestAccountFragmentContract.kt index bc3b4e47e..36c1277b1 100644 --- a/formula-android/src/test/java/com/instacart/formula/android/fakes/TestAccountFragmentContract.kt +++ b/formula-android/src/test/java/com/instacart/formula/android/fakes/TestAccountFragmentContract.kt @@ -1,8 +1,8 @@ package com.instacart.formula.android.fakes import android.view.View -import com.instacart.formula.fragment.FragmentComponent -import com.instacart.formula.fragment.FragmentContract +import com.instacart.formula.android.FragmentComponent +import com.instacart.formula.android.FragmentContract import kotlinx.android.parcel.Parcelize @Parcelize diff --git a/formula-android/src/test/java/com/instacart/formula/android/fakes/TestLoginFragmentContract.kt b/formula-android/src/test/java/com/instacart/formula/android/fakes/TestLoginFragmentContract.kt index 845160742..1c051bf95 100644 --- a/formula-android/src/test/java/com/instacart/formula/android/fakes/TestLoginFragmentContract.kt +++ b/formula-android/src/test/java/com/instacart/formula/android/fakes/TestLoginFragmentContract.kt @@ -1,8 +1,8 @@ package com.instacart.formula.android.fakes import android.view.View -import com.instacart.formula.fragment.FragmentComponent -import com.instacart.formula.fragment.FragmentContract +import com.instacart.formula.android.FragmentComponent +import com.instacart.formula.android.FragmentContract import kotlinx.android.parcel.Parcelize @Parcelize diff --git a/formula-android/src/test/java/com/instacart/formula/android/fakes/TestSignUpFragmentContract.kt b/formula-android/src/test/java/com/instacart/formula/android/fakes/TestSignUpFragmentContract.kt index c70cc3f80..7b1722253 100644 --- a/formula-android/src/test/java/com/instacart/formula/android/fakes/TestSignUpFragmentContract.kt +++ b/formula-android/src/test/java/com/instacart/formula/android/fakes/TestSignUpFragmentContract.kt @@ -1,8 +1,8 @@ package com.instacart.formula.android.fakes import android.view.View -import com.instacart.formula.fragment.FragmentComponent -import com.instacart.formula.fragment.FragmentContract +import com.instacart.formula.android.FragmentComponent +import com.instacart.formula.android.FragmentContract import kotlinx.android.parcel.Parcelize @Parcelize diff --git a/formula-android/src/test/java/com/instacart/formula/android/fakes/TestTaskListContract.kt b/formula-android/src/test/java/com/instacart/formula/android/fakes/TestTaskListContract.kt index 88f5b62c8..3e041f757 100644 --- a/formula-android/src/test/java/com/instacart/formula/android/fakes/TestTaskListContract.kt +++ b/formula-android/src/test/java/com/instacart/formula/android/fakes/TestTaskListContract.kt @@ -1,8 +1,8 @@ package com.instacart.formula.android.fakes import android.view.View -import com.instacart.formula.fragment.FragmentComponent -import com.instacart.formula.fragment.FragmentContract +import com.instacart.formula.android.FragmentComponent +import com.instacart.formula.android.FragmentContract import kotlinx.android.parcel.Parcelize @Parcelize diff --git a/samples/todoapp/src/main/java/com/examples/todoapp/TodoActivity.kt b/samples/todoapp/src/main/java/com/examples/todoapp/TodoActivity.kt index e562c0f24..70d009bf7 100644 --- a/samples/todoapp/src/main/java/com/examples/todoapp/TodoActivity.kt +++ b/samples/todoapp/src/main/java/com/examples/todoapp/TodoActivity.kt @@ -3,7 +3,7 @@ package com.examples.todoapp import android.os.Bundle import android.widget.Toast import com.examples.todoapp.tasks.TaskListKey -import com.instacart.formula.fragment.FormulaFragment +import com.instacart.formula.android.FormulaFragment import com.instacart.formula.android.FormulaAppCompatActivity class TodoActivity : FormulaAppCompatActivity() { diff --git a/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListKey.kt b/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListKey.kt index 0fe5c986a..68d771a2e 100644 --- a/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListKey.kt +++ b/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListKey.kt @@ -1,6 +1,6 @@ package com.examples.todoapp.tasks -import com.instacart.formula.fragment.FragmentKey +import com.instacart.formula.android.FragmentKey import kotlinx.android.parcel.Parcelize @Parcelize