├── .buildscript ├── configure-signing.gradle ├── jacoco-workaround.gradle └── upload_archives.sh ├── .github └── workflows │ ├── build-workflow.yml │ └── r8-tests.yml ├── .gitignore ├── AGENTS.md ├── BenchmarkDangerfile ├── CHANGELOG.md ├── CLAUDE.md ├── CONTRIBUTING.md ├── ContributionGuide.md ├── CoverageDangerfile ├── Gemfile ├── LICENSE ├── README.md ├── RELEASING.md ├── ci_postclone.sh ├── docs ├── CONTRIBUTING.md ├── Declarative-API.md ├── Formula-Android.md ├── State-Render-Model-Separation.md ├── assets │ └── formula-mvu-graph.png ├── async_events.md ├── composition.md ├── css │ └── app.css ├── diffing.md ├── events.md ├── faq.md ├── index.md ├── input.md ├── testing.md └── using_android_view_model.md ├── formula-android-compose ├── .gitignore ├── build.gradle.kts ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── instacart │ └── formula │ └── android │ └── compose │ └── ComposeViewFactory.kt ├── formula-android-tests ├── .gitignore ├── build.gradle.kts └── src │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── instacart │ │ │ └── formula │ │ │ └── test │ │ │ ├── TestBackCallbackRenderModel.kt │ │ │ └── TestKeyWithId.kt │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── instacart │ └── formula │ ├── FormulaFragmentTest.kt │ ├── FragmentLifecycleStateTest.kt │ ├── TestFeatureFactory.kt │ └── TestFormulaRule.kt ├── formula-android ├── .gitignore ├── build.gradle.kts ├── gradle.properties └── src │ ├── main │ ├── AndroidManifest.xml │ └── java │ │ ├── androidx │ │ └── fragment │ │ │ └── app │ │ │ └── FragmentInspector.kt │ │ └── com │ │ └── instacart │ │ └── formula │ │ ├── FormulaAndroid.kt │ │ ├── RenderView.kt │ │ ├── Renderer.kt │ │ └── android │ │ ├── ActivityConfigurator.kt │ │ ├── ActivityStore.kt │ │ ├── ActivityStoreContext.kt │ │ ├── BackCallback.kt │ │ ├── Feature.kt │ │ ├── FeatureEvent.kt │ │ ├── FeatureFactory.kt │ │ ├── FeatureView.kt │ │ ├── FeaturesBuilder.kt │ │ ├── FormulaAppCompatActivity.kt │ │ ├── FormulaFragment.kt │ │ ├── FragmentLifecycleCallback.kt │ │ ├── LayoutViewFactory.kt │ │ ├── NavigationState.kt │ │ ├── NavigationStore.kt │ │ ├── RouteEnvironment.kt │ │ ├── RouteId.kt │ │ ├── RouteKey.kt │ │ ├── RouteOutput.kt │ │ ├── ViewFactory.kt │ │ ├── ViewInstance.kt │ │ ├── events │ │ ├── ActivityResult.kt │ │ └── RouteLifecycleEvent.kt │ │ ├── internal │ │ ├── ActivityManager.kt │ │ ├── ActivityStoreContextImpl.kt │ │ ├── ActivityStoreFactory.kt │ │ ├── AndroidUpdateScheduler.kt │ │ ├── AppManager.kt │ │ ├── EmptyRouteKey.kt │ │ ├── FeatureBinding.kt │ │ ├── FeatureComponent.kt │ │ ├── FeatureObservableAction.kt │ │ ├── Features.kt │ │ ├── FragmentLifecycle.kt │ │ ├── InternalExtensions.kt │ │ ├── MappedFeatureFactory.kt │ │ ├── NavigationFlowRenderView.kt │ │ ├── NavigationStoreFormula.kt │ │ ├── StateFlowFeatureAction.kt │ │ └── Utils.kt │ │ ├── utils │ │ └── MainThreadDispatcher.kt │ │ └── views │ │ ├── DelegateLayoutViewFactory.kt │ │ └── InflatedViewInstance.kt │ └── test │ └── java │ └── com │ └── instacart │ └── formula │ ├── MockitoFormulaTest.kt │ ├── RendererTest.kt │ └── android │ ├── ActivityStoreContextTest.kt │ ├── ActivityStoreFactoryTest.kt │ ├── FeatureEventTest.kt │ ├── FormulaAndroidTest.kt │ ├── FragmentDataClassTest.kt │ ├── FragmentEnvironmentTest.kt │ ├── FragmentStateTest.kt │ ├── FragmentStoreTest.kt │ ├── StateFlowFeatureTest.kt │ ├── TestUtils.kt │ ├── ViewFactoryTest.kt │ ├── fakes │ ├── DetailKey.kt │ ├── FakeComponent.kt │ ├── MainKey.kt │ ├── StateFlowFeatureFactory.kt │ ├── StateFlowFormula.kt │ └── TestExtensions.kt │ ├── internal │ ├── ActivityStoreContextTest.kt │ ├── AndroidUpdateSchedulerTest.kt │ ├── GetViewFactoryTest.kt │ └── UtilsTest.kt │ ├── test │ └── FeatureFactoryLifecycleInteractor.kt │ ├── utils │ └── MainThreadDispatcherTest.kt │ └── views │ └── ViewInstanceTest.kt ├── formula-lint ├── .gitignore ├── build.gradle.kts ├── gradle.properties └── src │ ├── main │ └── java │ │ └── com │ │ └── instacart │ │ └── formula │ │ └── lint │ │ ├── FormulaIssueRegistry.kt │ │ └── WrongFormulaUsageDetector.kt │ └── test │ └── java │ └── com │ └── instacart │ └── formula │ └── lint │ ├── FormulaIssueRegistryTest.kt │ └── WrongFormulaUsageDetectorTest.kt ├── formula-performance ├── .gitignore ├── README.md ├── build.gradle.kts ├── scripts │ └── compare_benchmarks.rb └── src │ └── jmh │ └── kotlin │ └── com │ └── instacart │ └── formula │ └── benchmarks │ ├── ActionCountBenchmark.kt │ ├── ActionInitializationBenchmark.kt │ ├── CallbackInitializationBenchmark.kt │ ├── CallbackOverheadBenchmark.kt │ ├── ChildrenCountBenchmark.kt │ ├── ChildrenInitializationBenchmark.kt │ ├── GlobalEffectQueueBenchmark.kt │ ├── TransitionBenchmark.kt │ └── TransitionQueueBenchmark.kt ├── formula-r8-tests ├── .gitignore ├── README.md ├── build.gradle.kts ├── project-proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── instacart │ │ └── formula │ │ └── r8 │ │ └── FormulaR8Test.kt │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── instacart │ └── formula │ └── r8 │ ├── fixtures │ └── AbstractClassInheritanceFormulas.kt │ ├── interactors │ └── AbstractFormulaTypeInheritanceInteractor.kt │ └── runner │ └── FormulaTestRunner.kt ├── formula-rxjava3 ├── .gitignore ├── build.gradle.kts ├── gradle.properties └── src │ ├── main │ └── java │ │ └── com │ │ └── instacart │ │ └── formula │ │ └── rxjava3 │ │ ├── ObservableFormula.kt │ │ ├── RxAction.kt │ │ └── RxJavaRuntimeExtensions.kt │ └── test │ └── java │ └── com │ └── instacart │ └── formula │ └── rxjava3 │ ├── ObservableFormulaTest.kt │ ├── RxActionTest.kt │ └── RxJavaRuntimeTest.kt ├── formula-test ├── .gitignore ├── build.gradle.kts ├── gradle.properties └── src │ ├── main │ └── java │ │ └── com │ │ └── instacart │ │ └── formula │ │ └── test │ │ ├── CountingInspector.kt │ │ ├── TestActionObserver.kt │ │ ├── TestCallback.kt │ │ ├── TestEventCallback.kt │ │ ├── TestExtensions.kt │ │ ├── TestFormula.kt │ │ ├── TestFormulaObserver.kt │ │ ├── TestListener.kt │ │ ├── TestRuntimeExtensions.kt │ │ └── utils │ │ └── RunningInstanceManager.kt │ └── test │ └── java │ └── com │ └── instacart │ └── formula │ └── test │ ├── CountingInspectorTest.kt │ ├── DelayFormula.kt │ ├── SimpleFormula.kt │ ├── TestActionObserverTest.kt │ ├── TestCallbackTest.kt │ ├── TestCoroutineSchedulerIntegrationTest.kt │ ├── TestFormulaObserverTest.kt │ ├── TestFormulaTest.kt │ ├── TestListenerTest.kt │ └── TestWithSnapshot.kt ├── formula ├── .gitignore ├── build.gradle.kts ├── gradle.properties └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── instacart │ │ │ └── formula │ │ │ ├── Action.kt │ │ │ ├── ActionBuilder.kt │ │ │ ├── ActionExtensions.kt │ │ │ ├── ActionFormula.kt │ │ │ ├── Cancelable.kt │ │ │ ├── DeferredAction.kt │ │ │ ├── DelegateAction.kt │ │ │ ├── Effect.kt │ │ │ ├── Evaluation.kt │ │ │ ├── Formula.kt │ │ │ ├── FormulaContext.kt │ │ │ ├── FormulaPlugins.kt │ │ │ ├── FormulaRuntime.kt │ │ │ ├── IFormula.kt │ │ │ ├── Listener.kt │ │ │ ├── RuntimeConfig.kt │ │ │ ├── RuntimeExtensions.kt │ │ │ ├── Snapshot.kt │ │ │ ├── StatelessFormula.kt │ │ │ ├── Transition.kt │ │ │ ├── TransitionContext.kt │ │ │ ├── action │ │ │ ├── FlowAction.kt │ │ │ ├── LaunchCoroutineAction.kt │ │ │ ├── StartEventAction.kt │ │ │ └── TerminateEventAction.kt │ │ │ ├── batch │ │ │ ├── BatchImpl.kt │ │ │ ├── BatchManager.kt │ │ │ ├── BatchScheduler.kt │ │ │ └── StateBatchScheduler.kt │ │ │ ├── internal │ │ │ ├── ActionBuilderImpl.kt │ │ │ ├── ActionDelegate.kt │ │ │ ├── ActionKey.kt │ │ │ ├── ActionManager.kt │ │ │ ├── CascadingFormulaException.kt │ │ │ ├── ChildrenManager.kt │ │ │ ├── CoroutineExtensions.kt │ │ │ ├── DeferredTransition.kt │ │ │ ├── DelegateTransitionContext.kt │ │ │ ├── EffectDelegate.kt │ │ │ ├── FormulaKey.kt │ │ │ ├── FormulaManager.kt │ │ │ ├── FormulaManagerImpl.kt │ │ │ ├── Frame.kt │ │ │ ├── IndexedKey.kt │ │ │ ├── JoinedKey.kt │ │ │ ├── ListenerImpl.kt │ │ │ ├── Listeners.kt │ │ │ ├── ManagerDelegate.kt │ │ │ ├── OverrideKeyAction.kt │ │ │ ├── SingleRequestHolder.kt │ │ │ ├── SnapshotImpl.kt │ │ │ ├── SynchronizedUpdateQueue.kt │ │ │ ├── TransitionUtils.kt │ │ │ └── ValidationException.kt │ │ │ ├── plugin │ │ │ ├── ChildAlreadyUsedException.kt │ │ │ ├── Dispatcher.kt │ │ │ ├── FormulaError.kt │ │ │ ├── Inspector.kt │ │ │ ├── ListInspector.kt │ │ │ └── Plugin.kt │ │ │ └── validation │ │ │ └── ActionValidationFrame.kt │ └── resources │ │ └── META-INF │ │ └── proguard │ │ └── com.instacart.formula.pro │ └── test │ └── java │ └── com │ └── instacart │ └── formula │ ├── ActionTest.kt │ ├── DeferredActionTest.kt │ ├── DirectRuntimeTest.kt │ ├── FlowRuntimeTest.kt │ ├── FormulaPluginTest.kt │ ├── FormulaRuntimeTest.kt │ ├── FormulaValidationTest.kt │ ├── RuntimeConfigTest.kt │ ├── SnapshotTest.kt │ ├── StateFlowRuntimeTest.kt │ ├── TransitionApiTest.kt │ ├── actions │ ├── EmptyAction.kt │ └── ErrorAction.kt │ ├── batch │ └── BatchTest.kt │ ├── internal │ ├── ClearPluginsRule.kt │ ├── FakeEffectDelegate.kt │ ├── TestDispatcher.kt │ ├── TestInspector.kt │ ├── TestPlugin.kt │ ├── TransitionUtilsTest.kt │ └── Try.kt │ ├── plugin │ ├── DispatcherTest.kt │ └── PluginTestExtensions.kt │ ├── rxjava3 │ └── RxJavaRuntimeTest.kt │ ├── subjects │ ├── ChildActionFiresParentEventOnStart.kt │ ├── ChildErrorAfterToggleFormula.kt │ ├── ChildMessageNoParentStateChange.kt │ ├── ChildMessageTriggersEventTransitionInParent.kt │ ├── ChildMessageWithParentStateChange.kt │ ├── ChildRemovedOnMessage.kt │ ├── ChildStateResetAfterToggle.kt │ ├── ChildStreamEvents.kt │ ├── ChildTransitionAfterNoEvaluationPass.kt │ ├── CombinedParentAndChildStateChange.kt │ ├── CombinedParentAndChildStateChangeOnEvent.kt │ ├── DelegateFormula.kt │ ├── DuplicateListenerKeysHandledByIndexing.kt │ ├── DynamicParentFormula.kt │ ├── DynamicStreamSubject.kt │ ├── EffectOrderFormula.kt │ ├── EmptyFormula.kt │ ├── EventCallbackFormula.kt │ ├── EventFormula.kt │ ├── ExtremelyNestedFormula.kt │ ├── FromObservableWithInputFormula.kt │ ├── HasChildFormula.kt │ ├── HasChildrenFormula.kt │ ├── IncrementingDispatcher.kt │ ├── InputChangeWhileFormulaRunningRobot.kt │ ├── KeyFormula.kt │ ├── KeyUsingListFormula.kt │ ├── MessageFormula.kt │ ├── MixingCallbackUseWithKeyUse.kt │ ├── MultiChildIndirectStateChangeRobot.kt │ ├── MultiThreadRobot.kt │ ├── MultipleChildEvents.kt │ ├── NestedCallbackCallRobot.kt │ ├── NestedChildTransitionAfterNoEvaluationPass.kt │ ├── NestedKeyFormula.kt │ ├── NestedTerminationWithInputChanged.kt │ ├── NullableStateFormula.kt │ ├── OnlyUpdateFormula.kt │ ├── OptionalCallbackFormula.kt │ ├── OptionalChildFormula.kt │ ├── OptionalEventCallbackFormula.kt │ ├── ParallelChildFormulaFiresEventOnStart.kt │ ├── ParentTransitionOnChildActionStart.kt │ ├── ParentUpdateChildAndSelfOnEventRobot.kt │ ├── PendingActionFormulaTerminatedOnActionInit.kt │ ├── RemovingTerminateStreamSendsNoMessagesFormula.kt │ ├── ReusableFunctionCreatesUniqueListeners.kt │ ├── RootFormulaKeyTestSubject.kt │ ├── RunAgainActionFormula.kt │ ├── SideEffectFormula.kt │ ├── SleepFormula.kt │ ├── StartStopFormula.kt │ ├── StateTransitionTimingFormula.kt │ ├── StreamInitMessageDeliveredOnce.kt │ ├── StreamInputFormula.kt │ ├── SubscribesToAllUpdatesBeforeDeliveringMessages.kt │ ├── TerminateFormula.kt │ ├── TestDispatcherPlugin.kt │ ├── TestKey.kt │ ├── TestOutput.kt │ ├── TransitionAfterNoEvaluationPass.kt │ ├── UniqueListenersWithinLoop.kt │ ├── UseInputFormula.kt │ ├── UsingKeyToScopeCallbacksWithinAnotherFunction.kt │ └── UsingKeyToScopeChildFormula.kt │ ├── test │ └── FlowRelay.kt │ └── types │ ├── ActionDelegateFormula.kt │ ├── IncrementActionFormula.kt │ ├── IncrementFormula.kt │ ├── InputIdentityFormula.kt │ ├── OnDataActionFormula.kt │ ├── OnEventFormula.kt │ ├── OnInitActionFormula.kt │ ├── OnStartActionFormula.kt │ └── TestStateBatchScheduler.kt ├── gradle.properties ├── gradle ├── jacoco.gradle ├── libs.versions.toml ├── merge-reports.gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── jacoco.sh ├── jitpack.yml ├── mkdocs.yml ├── samples ├── composition │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── instacart │ │ │ └── formula │ │ │ └── samples │ │ │ └── composition │ │ │ ├── ItemPageFormula.kt │ │ │ ├── ItemPageRenderModel.kt │ │ │ ├── ItemPageRenderView.kt │ │ │ ├── MainActivity.kt │ │ │ └── item │ │ │ ├── ItemFormula.kt │ │ │ └── ItemRenderModel.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ ├── item_view.xml │ │ └── main_activity.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml ├── counter │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── instacart │ │ │ │ └── formula │ │ │ │ └── counter │ │ │ │ ├── CounterActivity.kt │ │ │ │ ├── CounterFormula.kt │ │ │ │ ├── CounterRenderModel.kt │ │ │ │ └── CounterRenderView.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── counter_activity.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── instacart │ │ └── formula │ │ └── counter │ │ └── CounterFormulaTest.kt ├── custom-network-state-stream │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── instacart │ │ │ │ └── formula │ │ │ │ └── samples │ │ │ │ └── networkstate │ │ │ │ ├── NetworkStateActivity.kt │ │ │ │ ├── NetworkStateFormula.kt │ │ │ │ ├── NetworkStateRenderModel.kt │ │ │ │ ├── NetworkStateStream.kt │ │ │ │ └── NetworkStateStreamImpl.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── main_activity.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── instacart │ │ └── formula │ │ └── stopwatch │ │ └── NetworkStateFormulaTest.kt ├── navigation-fragments │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── instacart │ │ │ │ └── formula │ │ │ │ └── navigation │ │ │ │ ├── CounterFragmentFeatureFactory.kt │ │ │ │ ├── CounterFragmentFormula.kt │ │ │ │ ├── CounterFragmentRenderModel.kt │ │ │ │ ├── CounterFragmentViewFactory.kt │ │ │ │ ├── CounterRouteKey.kt │ │ │ │ ├── CounterRouter.kt │ │ │ │ ├── CounterScreen.kt │ │ │ │ ├── CounterStore.kt │ │ │ │ ├── NavigationAction.kt │ │ │ │ ├── NavigationActivity.kt │ │ │ │ ├── NavigationActivityComponent.kt │ │ │ │ └── NavigationApp.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── navigation_activity.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── instacart │ │ └── formula │ │ └── navigation │ │ └── CounterFragmentFormulaTest.kt ├── stopwatch-compose │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── instacart │ │ │ └── formula │ │ │ └── compose │ │ │ └── stopwatch │ │ │ ├── StopwatchActivity.kt │ │ │ ├── StopwatchApp.kt │ │ │ ├── StopwatchFeatureFactory.kt │ │ │ ├── StopwatchFormula.kt │ │ │ ├── StopwatchKey.kt │ │ │ └── StopwatchRenderModels.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ └── stopwatch_activity.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml ├── stopwatch-coroutines │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── instacart │ │ │ └── formula │ │ │ └── stopwatch │ │ │ ├── StopWatchViewModel.kt │ │ │ ├── StopwatchActivity.kt │ │ │ ├── StopwatchFormula.kt │ │ │ ├── StopwatchRenderModel.kt │ │ │ └── StopwatchRenderView.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ └── stopwatch_activity.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml ├── stopwatch │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── instacart │ │ │ │ └── formula │ │ │ │ └── stopwatch │ │ │ │ ├── StopwatchActivity.kt │ │ │ │ ├── StopwatchAnalytics.kt │ │ │ │ ├── StopwatchFormula.kt │ │ │ │ ├── StopwatchRenderModels.kt │ │ │ │ └── StopwatchRenderView.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── stopwatch_activity.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── instacart │ │ └── formula │ │ └── stopwatch │ │ └── StopwatchFormulaTest.kt └── todoapp │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── examples │ │ │ └── todoapp │ │ │ ├── TodoActivity.kt │ │ │ ├── TodoActivityEffect.kt │ │ │ ├── TodoApp.kt │ │ │ ├── TodoAppComponent.kt │ │ │ ├── data │ │ │ ├── Task.kt │ │ │ ├── TaskRepo.kt │ │ │ └── TaskRepoImpl.kt │ │ │ └── tasks │ │ │ ├── TaskCompletedEvent.kt │ │ │ ├── TaskFilterRenderModel.kt │ │ │ ├── TaskItemRenderModel.kt │ │ │ ├── TaskListFeatureFactory.kt │ │ │ ├── TaskListFormula.kt │ │ │ ├── TaskListKey.kt │ │ │ ├── TaskListRenderModel.kt │ │ │ ├── TaskListRenderView.kt │ │ │ ├── TaskListState.kt │ │ │ └── TasksFilterType.kt │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── ic_filter_list.xml │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ ├── task_item.xml │ │ ├── task_list.xml │ │ └── todo_activity.xml │ │ ├── menu │ │ └── tasks_list_menu.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── examples │ └── todoapp │ └── tasks │ └── TaskListFormulaTest.kt ├── settings.gradle.kts ├── test-utils └── android │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── instacart │ │ └── testutils │ │ └── android │ │ ├── FormulaAndroidInteractor.kt │ │ ├── HeadlessFragment.kt │ │ ├── NoOpFeatureFactory.kt │ │ ├── StateFlowKey.kt │ │ ├── TestActivity.kt │ │ ├── TestActivityConfigurator.kt │ │ ├── TestExtensions.kt │ │ ├── TestFormulaActivity.kt │ │ ├── TestFragmentActivity.kt │ │ ├── TestFragmentExtensions.kt │ │ ├── TestFragmentLifecycleCallback.kt │ │ ├── TestKey.kt │ │ └── TestViewFactory.kt │ └── res │ └── layout │ ├── test_activity.xml │ └── test_fragment_layout.xml └── test.sh /.buildscript/configure-signing.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/.buildscript/configure-signing.gradle -------------------------------------------------------------------------------- /.buildscript/jacoco-workaround.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/.buildscript/jacoco-workaround.gradle -------------------------------------------------------------------------------- /.buildscript/upload_archives.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/.buildscript/upload_archives.sh -------------------------------------------------------------------------------- /.github/workflows/build-workflow.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/.github/workflows/build-workflow.yml -------------------------------------------------------------------------------- /.github/workflows/r8-tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/.github/workflows/r8-tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/.gitignore -------------------------------------------------------------------------------- /AGENTS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/AGENTS.md -------------------------------------------------------------------------------- /BenchmarkDangerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/BenchmarkDangerfile -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- 1 | @AGENTS.md 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /ContributionGuide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/ContributionGuide.md -------------------------------------------------------------------------------- /CoverageDangerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/CoverageDangerfile -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/Gemfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/README.md -------------------------------------------------------------------------------- /RELEASING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/RELEASING.md -------------------------------------------------------------------------------- /ci_postclone.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/ci_postclone.sh -------------------------------------------------------------------------------- /docs/CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/CONTRIBUTING.md -------------------------------------------------------------------------------- /docs/Declarative-API.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/Declarative-API.md -------------------------------------------------------------------------------- /docs/Formula-Android.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/Formula-Android.md -------------------------------------------------------------------------------- /docs/State-Render-Model-Separation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/State-Render-Model-Separation.md -------------------------------------------------------------------------------- /docs/assets/formula-mvu-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/assets/formula-mvu-graph.png -------------------------------------------------------------------------------- /docs/async_events.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/async_events.md -------------------------------------------------------------------------------- /docs/composition.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/composition.md -------------------------------------------------------------------------------- /docs/css/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/css/app.css -------------------------------------------------------------------------------- /docs/diffing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/diffing.md -------------------------------------------------------------------------------- /docs/events.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/events.md -------------------------------------------------------------------------------- /docs/faq.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/faq.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/input.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/input.md -------------------------------------------------------------------------------- /docs/testing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/testing.md -------------------------------------------------------------------------------- /docs/using_android_view_model.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/docs/using_android_view_model.md -------------------------------------------------------------------------------- /formula-android-compose/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /formula-android-compose/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-compose/build.gradle.kts -------------------------------------------------------------------------------- /formula-android-compose/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-compose/gradle.properties -------------------------------------------------------------------------------- /formula-android-compose/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-compose/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /formula-android-compose/src/main/java/com/instacart/formula/android/compose/ComposeViewFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-compose/src/main/java/com/instacart/formula/android/compose/ComposeViewFactory.kt -------------------------------------------------------------------------------- /formula-android-tests/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /formula-android-tests/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/build.gradle.kts -------------------------------------------------------------------------------- /formula-android-tests/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /formula-android-tests/src/main/java/com/instacart/formula/test/TestBackCallbackRenderModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/java/com/instacart/formula/test/TestBackCallbackRenderModel.kt -------------------------------------------------------------------------------- /formula-android-tests/src/main/java/com/instacart/formula/test/TestKeyWithId.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/java/com/instacart/formula/test/TestKeyWithId.kt -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /formula-android-tests/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /formula-android-tests/src/test/java/com/instacart/formula/FormulaFragmentTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/test/java/com/instacart/formula/FormulaFragmentTest.kt -------------------------------------------------------------------------------- /formula-android-tests/src/test/java/com/instacart/formula/FragmentLifecycleStateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/test/java/com/instacart/formula/FragmentLifecycleStateTest.kt -------------------------------------------------------------------------------- /formula-android-tests/src/test/java/com/instacart/formula/TestFeatureFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/test/java/com/instacart/formula/TestFeatureFactory.kt -------------------------------------------------------------------------------- /formula-android-tests/src/test/java/com/instacart/formula/TestFormulaRule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android-tests/src/test/java/com/instacart/formula/TestFormulaRule.kt -------------------------------------------------------------------------------- /formula-android/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /formula-android/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/build.gradle.kts -------------------------------------------------------------------------------- /formula-android/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/gradle.properties -------------------------------------------------------------------------------- /formula-android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /formula-android/src/main/java/androidx/fragment/app/FragmentInspector.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/androidx/fragment/app/FragmentInspector.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/FormulaAndroid.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/FormulaAndroid.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/RenderView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/RenderView.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/Renderer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/Renderer.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/ActivityConfigurator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/ActivityConfigurator.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/ActivityStore.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/ActivityStore.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/ActivityStoreContext.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/ActivityStoreContext.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/BackCallback.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/BackCallback.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/Feature.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/Feature.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/FeatureEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/FeatureEvent.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/FeatureFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/FeatureFactory.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/FeatureView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/FeatureView.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/FeaturesBuilder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/FeaturesBuilder.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/FormulaAppCompatActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/FormulaAppCompatActivity.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/FormulaFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/FormulaFragment.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/FragmentLifecycleCallback.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/FragmentLifecycleCallback.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/LayoutViewFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/LayoutViewFactory.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/NavigationState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/NavigationState.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/NavigationStore.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/NavigationStore.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/RouteEnvironment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/RouteEnvironment.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/RouteId.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/RouteId.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/RouteKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/RouteKey.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/RouteOutput.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/RouteOutput.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/ViewFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/ViewFactory.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/ViewInstance.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/ViewInstance.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/events/ActivityResult.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/events/ActivityResult.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/events/RouteLifecycleEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/events/RouteLifecycleEvent.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/ActivityManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityManager.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/ActivityStoreContextImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityStoreContextImpl.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/ActivityStoreFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/ActivityStoreFactory.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/AndroidUpdateScheduler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/AndroidUpdateScheduler.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/AppManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/AppManager.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/EmptyRouteKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/EmptyRouteKey.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/FeatureBinding.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/FeatureBinding.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/FeatureComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/FeatureComponent.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/FeatureObservableAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/FeatureObservableAction.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/Features.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/Features.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/FragmentLifecycle.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/FragmentLifecycle.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/InternalExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/InternalExtensions.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/MappedFeatureFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/MappedFeatureFactory.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/NavigationFlowRenderView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/NavigationFlowRenderView.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/NavigationStoreFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/NavigationStoreFormula.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/StateFlowFeatureAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/StateFlowFeatureAction.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/internal/Utils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/internal/Utils.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/utils/MainThreadDispatcher.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/utils/MainThreadDispatcher.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/views/DelegateLayoutViewFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/views/DelegateLayoutViewFactory.kt -------------------------------------------------------------------------------- /formula-android/src/main/java/com/instacart/formula/android/views/InflatedViewInstance.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/main/java/com/instacart/formula/android/views/InflatedViewInstance.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/MockitoFormulaTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/MockitoFormulaTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/RendererTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/RendererTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/ActivityStoreContextTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/ActivityStoreContextTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/ActivityStoreFactoryTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/ActivityStoreFactoryTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/FeatureEventTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/FeatureEventTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/FormulaAndroidTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/FormulaAndroidTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/FragmentDataClassTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/FragmentDataClassTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/FragmentEnvironmentTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/FragmentEnvironmentTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/FragmentStateTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/FragmentStateTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/FragmentStoreTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/FragmentStoreTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/StateFlowFeatureTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/StateFlowFeatureTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/TestUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/TestUtils.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/ViewFactoryTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/ViewFactoryTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/fakes/DetailKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/fakes/DetailKey.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/fakes/FakeComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/fakes/FakeComponent.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/fakes/MainKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/fakes/MainKey.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/fakes/StateFlowFeatureFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/fakes/StateFlowFeatureFactory.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/fakes/StateFlowFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/fakes/StateFlowFormula.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/fakes/TestExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/fakes/TestExtensions.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/internal/ActivityStoreContextTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/internal/ActivityStoreContextTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/internal/AndroidUpdateSchedulerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/internal/AndroidUpdateSchedulerTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/internal/GetViewFactoryTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/internal/GetViewFactoryTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/internal/UtilsTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/internal/UtilsTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/test/FeatureFactoryLifecycleInteractor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/test/FeatureFactoryLifecycleInteractor.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/utils/MainThreadDispatcherTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/utils/MainThreadDispatcherTest.kt -------------------------------------------------------------------------------- /formula-android/src/test/java/com/instacart/formula/android/views/ViewInstanceTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-android/src/test/java/com/instacart/formula/android/views/ViewInstanceTest.kt -------------------------------------------------------------------------------- /formula-lint/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /formula-lint/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-lint/build.gradle.kts -------------------------------------------------------------------------------- /formula-lint/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-lint/gradle.properties -------------------------------------------------------------------------------- /formula-lint/src/main/java/com/instacart/formula/lint/FormulaIssueRegistry.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-lint/src/main/java/com/instacart/formula/lint/FormulaIssueRegistry.kt -------------------------------------------------------------------------------- /formula-lint/src/main/java/com/instacart/formula/lint/WrongFormulaUsageDetector.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-lint/src/main/java/com/instacart/formula/lint/WrongFormulaUsageDetector.kt -------------------------------------------------------------------------------- /formula-lint/src/test/java/com/instacart/formula/lint/FormulaIssueRegistryTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-lint/src/test/java/com/instacart/formula/lint/FormulaIssueRegistryTest.kt -------------------------------------------------------------------------------- /formula-lint/src/test/java/com/instacart/formula/lint/WrongFormulaUsageDetectorTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-lint/src/test/java/com/instacart/formula/lint/WrongFormulaUsageDetectorTest.kt -------------------------------------------------------------------------------- /formula-performance/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /formula-performance/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-performance/README.md -------------------------------------------------------------------------------- /formula-performance/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-performance/build.gradle.kts -------------------------------------------------------------------------------- /formula-performance/scripts/compare_benchmarks.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-performance/scripts/compare_benchmarks.rb -------------------------------------------------------------------------------- /formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/ActionCountBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/ActionCountBenchmark.kt -------------------------------------------------------------------------------- /formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/ActionInitializationBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/ActionInitializationBenchmark.kt -------------------------------------------------------------------------------- /formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/CallbackInitializationBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/CallbackInitializationBenchmark.kt -------------------------------------------------------------------------------- /formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/CallbackOverheadBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/CallbackOverheadBenchmark.kt -------------------------------------------------------------------------------- /formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/ChildrenCountBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/ChildrenCountBenchmark.kt -------------------------------------------------------------------------------- /formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/ChildrenInitializationBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/ChildrenInitializationBenchmark.kt -------------------------------------------------------------------------------- /formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/GlobalEffectQueueBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/GlobalEffectQueueBenchmark.kt -------------------------------------------------------------------------------- /formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/TransitionBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/TransitionBenchmark.kt -------------------------------------------------------------------------------- /formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/TransitionQueueBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-performance/src/jmh/kotlin/com/instacart/formula/benchmarks/TransitionQueueBenchmark.kt -------------------------------------------------------------------------------- /formula-r8-tests/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /formula-r8-tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-r8-tests/README.md -------------------------------------------------------------------------------- /formula-r8-tests/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-r8-tests/build.gradle.kts -------------------------------------------------------------------------------- /formula-r8-tests/project-proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-r8-tests/project-proguard-rules.pro -------------------------------------------------------------------------------- /formula-r8-tests/src/androidTest/java/com/instacart/formula/r8/FormulaR8Test.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-r8-tests/src/androidTest/java/com/instacart/formula/r8/FormulaR8Test.kt -------------------------------------------------------------------------------- /formula-r8-tests/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-r8-tests/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /formula-r8-tests/src/main/java/com/instacart/formula/r8/fixtures/AbstractClassInheritanceFormulas.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-r8-tests/src/main/java/com/instacart/formula/r8/fixtures/AbstractClassInheritanceFormulas.kt -------------------------------------------------------------------------------- /formula-r8-tests/src/main/java/com/instacart/formula/r8/interactors/AbstractFormulaTypeInheritanceInteractor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-r8-tests/src/main/java/com/instacart/formula/r8/interactors/AbstractFormulaTypeInheritanceInteractor.kt -------------------------------------------------------------------------------- /formula-r8-tests/src/main/java/com/instacart/formula/r8/runner/FormulaTestRunner.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-r8-tests/src/main/java/com/instacart/formula/r8/runner/FormulaTestRunner.kt -------------------------------------------------------------------------------- /formula-rxjava3/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /formula-rxjava3/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-rxjava3/build.gradle.kts -------------------------------------------------------------------------------- /formula-rxjava3/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-rxjava3/gradle.properties -------------------------------------------------------------------------------- /formula-rxjava3/src/main/java/com/instacart/formula/rxjava3/ObservableFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-rxjava3/src/main/java/com/instacart/formula/rxjava3/ObservableFormula.kt -------------------------------------------------------------------------------- /formula-rxjava3/src/main/java/com/instacart/formula/rxjava3/RxAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-rxjava3/src/main/java/com/instacart/formula/rxjava3/RxAction.kt -------------------------------------------------------------------------------- /formula-rxjava3/src/main/java/com/instacart/formula/rxjava3/RxJavaRuntimeExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-rxjava3/src/main/java/com/instacart/formula/rxjava3/RxJavaRuntimeExtensions.kt -------------------------------------------------------------------------------- /formula-rxjava3/src/test/java/com/instacart/formula/rxjava3/ObservableFormulaTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-rxjava3/src/test/java/com/instacart/formula/rxjava3/ObservableFormulaTest.kt -------------------------------------------------------------------------------- /formula-rxjava3/src/test/java/com/instacart/formula/rxjava3/RxActionTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-rxjava3/src/test/java/com/instacart/formula/rxjava3/RxActionTest.kt -------------------------------------------------------------------------------- /formula-rxjava3/src/test/java/com/instacart/formula/rxjava3/RxJavaRuntimeTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-rxjava3/src/test/java/com/instacart/formula/rxjava3/RxJavaRuntimeTest.kt -------------------------------------------------------------------------------- /formula-test/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /formula-test/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/build.gradle.kts -------------------------------------------------------------------------------- /formula-test/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/gradle.properties -------------------------------------------------------------------------------- /formula-test/src/main/java/com/instacart/formula/test/CountingInspector.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/main/java/com/instacart/formula/test/CountingInspector.kt -------------------------------------------------------------------------------- /formula-test/src/main/java/com/instacart/formula/test/TestActionObserver.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/main/java/com/instacart/formula/test/TestActionObserver.kt -------------------------------------------------------------------------------- /formula-test/src/main/java/com/instacart/formula/test/TestCallback.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/main/java/com/instacart/formula/test/TestCallback.kt -------------------------------------------------------------------------------- /formula-test/src/main/java/com/instacart/formula/test/TestEventCallback.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/main/java/com/instacart/formula/test/TestEventCallback.kt -------------------------------------------------------------------------------- /formula-test/src/main/java/com/instacart/formula/test/TestExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/main/java/com/instacart/formula/test/TestExtensions.kt -------------------------------------------------------------------------------- /formula-test/src/main/java/com/instacart/formula/test/TestFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/main/java/com/instacart/formula/test/TestFormula.kt -------------------------------------------------------------------------------- /formula-test/src/main/java/com/instacart/formula/test/TestFormulaObserver.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/main/java/com/instacart/formula/test/TestFormulaObserver.kt -------------------------------------------------------------------------------- /formula-test/src/main/java/com/instacart/formula/test/TestListener.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/main/java/com/instacart/formula/test/TestListener.kt -------------------------------------------------------------------------------- /formula-test/src/main/java/com/instacart/formula/test/TestRuntimeExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/main/java/com/instacart/formula/test/TestRuntimeExtensions.kt -------------------------------------------------------------------------------- /formula-test/src/main/java/com/instacart/formula/test/utils/RunningInstanceManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/main/java/com/instacart/formula/test/utils/RunningInstanceManager.kt -------------------------------------------------------------------------------- /formula-test/src/test/java/com/instacart/formula/test/CountingInspectorTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/test/java/com/instacart/formula/test/CountingInspectorTest.kt -------------------------------------------------------------------------------- /formula-test/src/test/java/com/instacart/formula/test/DelayFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/test/java/com/instacart/formula/test/DelayFormula.kt -------------------------------------------------------------------------------- /formula-test/src/test/java/com/instacart/formula/test/SimpleFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/test/java/com/instacart/formula/test/SimpleFormula.kt -------------------------------------------------------------------------------- /formula-test/src/test/java/com/instacart/formula/test/TestActionObserverTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/test/java/com/instacart/formula/test/TestActionObserverTest.kt -------------------------------------------------------------------------------- /formula-test/src/test/java/com/instacart/formula/test/TestCallbackTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/test/java/com/instacart/formula/test/TestCallbackTest.kt -------------------------------------------------------------------------------- /formula-test/src/test/java/com/instacart/formula/test/TestCoroutineSchedulerIntegrationTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/test/java/com/instacart/formula/test/TestCoroutineSchedulerIntegrationTest.kt -------------------------------------------------------------------------------- /formula-test/src/test/java/com/instacart/formula/test/TestFormulaObserverTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/test/java/com/instacart/formula/test/TestFormulaObserverTest.kt -------------------------------------------------------------------------------- /formula-test/src/test/java/com/instacart/formula/test/TestFormulaTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/test/java/com/instacart/formula/test/TestFormulaTest.kt -------------------------------------------------------------------------------- /formula-test/src/test/java/com/instacart/formula/test/TestListenerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/test/java/com/instacart/formula/test/TestListenerTest.kt -------------------------------------------------------------------------------- /formula-test/src/test/java/com/instacart/formula/test/TestWithSnapshot.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula-test/src/test/java/com/instacart/formula/test/TestWithSnapshot.kt -------------------------------------------------------------------------------- /formula/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /formula/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/build.gradle.kts -------------------------------------------------------------------------------- /formula/gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/gradle.properties -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/Action.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/Action.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/ActionBuilder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/ActionBuilder.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/ActionExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/ActionExtensions.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/ActionFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/ActionFormula.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/Cancelable.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/Cancelable.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/DeferredAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/DeferredAction.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/DelegateAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/DelegateAction.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/Effect.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/Effect.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/Evaluation.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/Evaluation.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/Formula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/Formula.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/FormulaContext.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/FormulaContext.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/FormulaPlugins.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/FormulaPlugins.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/FormulaRuntime.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/FormulaRuntime.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/IFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/IFormula.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/Listener.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/Listener.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/RuntimeConfig.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/RuntimeConfig.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/RuntimeExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/RuntimeExtensions.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/Snapshot.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/Snapshot.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/StatelessFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/StatelessFormula.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/Transition.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/Transition.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/TransitionContext.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/TransitionContext.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/action/FlowAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/action/FlowAction.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/action/LaunchCoroutineAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/action/LaunchCoroutineAction.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/action/StartEventAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/action/StartEventAction.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/action/TerminateEventAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/action/TerminateEventAction.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/batch/BatchImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/batch/BatchImpl.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/batch/BatchManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/batch/BatchManager.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/batch/BatchScheduler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/batch/BatchScheduler.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/batch/StateBatchScheduler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/batch/StateBatchScheduler.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/ActionBuilderImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/ActionBuilderImpl.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/ActionDelegate.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/ActionDelegate.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/ActionKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/ActionKey.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/ActionManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/ActionManager.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/CascadingFormulaException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/CascadingFormulaException.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/ChildrenManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/ChildrenManager.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/CoroutineExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/CoroutineExtensions.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/DeferredTransition.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/DeferredTransition.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/DelegateTransitionContext.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/DelegateTransitionContext.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/EffectDelegate.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/EffectDelegate.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/FormulaKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/FormulaKey.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/FormulaManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/FormulaManager.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/FormulaManagerImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/FormulaManagerImpl.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/Frame.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/Frame.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/IndexedKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/IndexedKey.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/JoinedKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/JoinedKey.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/ListenerImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/ListenerImpl.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/Listeners.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/Listeners.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/ManagerDelegate.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/ManagerDelegate.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/OverrideKeyAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/OverrideKeyAction.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/SingleRequestHolder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/SingleRequestHolder.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/SnapshotImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/SnapshotImpl.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/SynchronizedUpdateQueue.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/SynchronizedUpdateQueue.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/TransitionUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/TransitionUtils.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/internal/ValidationException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/internal/ValidationException.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/plugin/ChildAlreadyUsedException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/plugin/ChildAlreadyUsedException.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/plugin/Dispatcher.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/plugin/Dispatcher.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/plugin/FormulaError.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/plugin/FormulaError.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/plugin/Inspector.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/plugin/Inspector.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/plugin/ListInspector.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/plugin/ListInspector.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/plugin/Plugin.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/plugin/Plugin.kt -------------------------------------------------------------------------------- /formula/src/main/java/com/instacart/formula/validation/ActionValidationFrame.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/java/com/instacart/formula/validation/ActionValidationFrame.kt -------------------------------------------------------------------------------- /formula/src/main/resources/META-INF/proguard/com.instacart.formula.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/main/resources/META-INF/proguard/com.instacart.formula.pro -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/ActionTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/ActionTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/DeferredActionTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/DeferredActionTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/DirectRuntimeTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/DirectRuntimeTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/FlowRuntimeTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/FlowRuntimeTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/FormulaPluginTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/FormulaPluginTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/FormulaRuntimeTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/FormulaRuntimeTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/FormulaValidationTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/FormulaValidationTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/RuntimeConfigTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/RuntimeConfigTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/SnapshotTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/SnapshotTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/StateFlowRuntimeTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/StateFlowRuntimeTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/TransitionApiTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/TransitionApiTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/actions/EmptyAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/actions/EmptyAction.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/actions/ErrorAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/actions/ErrorAction.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/batch/BatchTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/batch/BatchTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/internal/ClearPluginsRule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/internal/ClearPluginsRule.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/internal/FakeEffectDelegate.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/internal/FakeEffectDelegate.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/internal/TestDispatcher.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/internal/TestDispatcher.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/internal/TestInspector.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/internal/TestInspector.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/internal/TestPlugin.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/internal/TestPlugin.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/internal/TransitionUtilsTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/internal/TransitionUtilsTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/internal/Try.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/internal/Try.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/plugin/DispatcherTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/plugin/DispatcherTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/plugin/PluginTestExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/plugin/PluginTestExtensions.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/rxjava3/RxJavaRuntimeTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/rxjava3/RxJavaRuntimeTest.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ChildActionFiresParentEventOnStart.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ChildActionFiresParentEventOnStart.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ChildErrorAfterToggleFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ChildErrorAfterToggleFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ChildMessageNoParentStateChange.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ChildMessageNoParentStateChange.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ChildMessageTriggersEventTransitionInParent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ChildMessageTriggersEventTransitionInParent.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ChildMessageWithParentStateChange.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ChildMessageWithParentStateChange.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ChildRemovedOnMessage.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ChildRemovedOnMessage.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ChildStateResetAfterToggle.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ChildStateResetAfterToggle.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ChildStreamEvents.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ChildStreamEvents.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ChildTransitionAfterNoEvaluationPass.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ChildTransitionAfterNoEvaluationPass.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/CombinedParentAndChildStateChange.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/CombinedParentAndChildStateChange.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/CombinedParentAndChildStateChangeOnEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/CombinedParentAndChildStateChangeOnEvent.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/DelegateFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/DelegateFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/DuplicateListenerKeysHandledByIndexing.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/DuplicateListenerKeysHandledByIndexing.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/DynamicParentFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/DynamicParentFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/DynamicStreamSubject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/DynamicStreamSubject.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/EffectOrderFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/EffectOrderFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/EmptyFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/EmptyFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/EventCallbackFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/EventCallbackFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/EventFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/EventFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ExtremelyNestedFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ExtremelyNestedFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/FromObservableWithInputFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/FromObservableWithInputFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/HasChildFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/HasChildFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/HasChildrenFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/HasChildrenFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/IncrementingDispatcher.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/IncrementingDispatcher.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/InputChangeWhileFormulaRunningRobot.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/InputChangeWhileFormulaRunningRobot.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/KeyFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/KeyFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/KeyUsingListFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/KeyUsingListFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/MessageFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/MessageFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/MixingCallbackUseWithKeyUse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/MixingCallbackUseWithKeyUse.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/MultiChildIndirectStateChangeRobot.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/MultiChildIndirectStateChangeRobot.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/MultiThreadRobot.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/MultiThreadRobot.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/MultipleChildEvents.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/MultipleChildEvents.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/NestedCallbackCallRobot.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/NestedCallbackCallRobot.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/NestedChildTransitionAfterNoEvaluationPass.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/NestedChildTransitionAfterNoEvaluationPass.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/NestedKeyFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/NestedKeyFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/NestedTerminationWithInputChanged.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/NestedTerminationWithInputChanged.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/NullableStateFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/NullableStateFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/OnlyUpdateFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/OnlyUpdateFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/OptionalCallbackFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/OptionalCallbackFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/OptionalChildFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/OptionalChildFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/OptionalEventCallbackFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/OptionalEventCallbackFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ParallelChildFormulaFiresEventOnStart.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ParallelChildFormulaFiresEventOnStart.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ParentTransitionOnChildActionStart.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ParentTransitionOnChildActionStart.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ParentUpdateChildAndSelfOnEventRobot.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ParentUpdateChildAndSelfOnEventRobot.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/PendingActionFormulaTerminatedOnActionInit.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/PendingActionFormulaTerminatedOnActionInit.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/RemovingTerminateStreamSendsNoMessagesFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/RemovingTerminateStreamSendsNoMessagesFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/ReusableFunctionCreatesUniqueListeners.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/ReusableFunctionCreatesUniqueListeners.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/RootFormulaKeyTestSubject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/RootFormulaKeyTestSubject.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/RunAgainActionFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/RunAgainActionFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/SideEffectFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/SideEffectFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/SleepFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/SleepFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/StartStopFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/StartStopFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/StateTransitionTimingFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/StateTransitionTimingFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/StreamInitMessageDeliveredOnce.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/StreamInitMessageDeliveredOnce.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/StreamInputFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/StreamInputFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/SubscribesToAllUpdatesBeforeDeliveringMessages.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/SubscribesToAllUpdatesBeforeDeliveringMessages.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/TerminateFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/TerminateFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/TestDispatcherPlugin.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/TestDispatcherPlugin.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/TestKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/TestKey.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/TestOutput.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/TestOutput.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/TransitionAfterNoEvaluationPass.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/TransitionAfterNoEvaluationPass.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/UniqueListenersWithinLoop.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/UniqueListenersWithinLoop.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/UseInputFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/UseInputFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/UsingKeyToScopeCallbacksWithinAnotherFunction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/UsingKeyToScopeCallbacksWithinAnotherFunction.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/subjects/UsingKeyToScopeChildFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/subjects/UsingKeyToScopeChildFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/test/FlowRelay.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/test/FlowRelay.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/types/ActionDelegateFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/types/ActionDelegateFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/types/IncrementActionFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/types/IncrementActionFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/types/IncrementFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/types/IncrementFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/types/InputIdentityFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/types/InputIdentityFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/types/OnDataActionFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/types/OnDataActionFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/types/OnEventFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/types/OnEventFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/types/OnInitActionFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/types/OnInitActionFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/types/OnStartActionFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/types/OnStartActionFormula.kt -------------------------------------------------------------------------------- /formula/src/test/java/com/instacart/formula/types/TestStateBatchScheduler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/formula/src/test/java/com/instacart/formula/types/TestStateBatchScheduler.kt -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/jacoco.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/gradle/jacoco.gradle -------------------------------------------------------------------------------- /gradle/libs.versions.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/gradle/libs.versions.toml -------------------------------------------------------------------------------- /gradle/merge-reports.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/gradle/merge-reports.gradle -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/gradlew.bat -------------------------------------------------------------------------------- /jacoco.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/jacoco.sh -------------------------------------------------------------------------------- /jitpack.yml: -------------------------------------------------------------------------------- 1 | jdk: 2 | - openjdk17 -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /samples/composition/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/composition/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/build.gradle.kts -------------------------------------------------------------------------------- /samples/composition/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/proguard-rules.pro -------------------------------------------------------------------------------- /samples/composition/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /samples/composition/src/main/java/com/instacart/formula/samples/composition/ItemPageFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/java/com/instacart/formula/samples/composition/ItemPageFormula.kt -------------------------------------------------------------------------------- /samples/composition/src/main/java/com/instacart/formula/samples/composition/ItemPageRenderModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/java/com/instacart/formula/samples/composition/ItemPageRenderModel.kt -------------------------------------------------------------------------------- /samples/composition/src/main/java/com/instacart/formula/samples/composition/ItemPageRenderView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/java/com/instacart/formula/samples/composition/ItemPageRenderView.kt -------------------------------------------------------------------------------- /samples/composition/src/main/java/com/instacart/formula/samples/composition/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/java/com/instacart/formula/samples/composition/MainActivity.kt -------------------------------------------------------------------------------- /samples/composition/src/main/java/com/instacart/formula/samples/composition/item/ItemFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/java/com/instacart/formula/samples/composition/item/ItemFormula.kt -------------------------------------------------------------------------------- /samples/composition/src/main/java/com/instacart/formula/samples/composition/item/ItemRenderModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/java/com/instacart/formula/samples/composition/item/ItemRenderModel.kt -------------------------------------------------------------------------------- /samples/composition/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /samples/composition/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /samples/composition/src/main/res/layout/item_view.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/layout/item_view.xml -------------------------------------------------------------------------------- /samples/composition/src/main/res/layout/main_activity.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/layout/main_activity.xml -------------------------------------------------------------------------------- /samples/composition/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /samples/composition/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /samples/composition/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/composition/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/composition/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/composition/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/composition/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/composition/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/composition/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/composition/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/composition/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/composition/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/composition/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /samples/composition/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /samples/composition/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/composition/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /samples/counter/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/counter/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/build.gradle.kts -------------------------------------------------------------------------------- /samples/counter/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/proguard-rules.pro -------------------------------------------------------------------------------- /samples/counter/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /samples/counter/src/main/java/com/instacart/formula/counter/CounterActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/java/com/instacart/formula/counter/CounterActivity.kt -------------------------------------------------------------------------------- /samples/counter/src/main/java/com/instacart/formula/counter/CounterFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/java/com/instacart/formula/counter/CounterFormula.kt -------------------------------------------------------------------------------- /samples/counter/src/main/java/com/instacart/formula/counter/CounterRenderModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/java/com/instacart/formula/counter/CounterRenderModel.kt -------------------------------------------------------------------------------- /samples/counter/src/main/java/com/instacart/formula/counter/CounterRenderView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/java/com/instacart/formula/counter/CounterRenderView.kt -------------------------------------------------------------------------------- /samples/counter/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /samples/counter/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /samples/counter/src/main/res/layout/counter_activity.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/layout/counter_activity.xml -------------------------------------------------------------------------------- /samples/counter/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /samples/counter/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /samples/counter/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/counter/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/counter/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/counter/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/counter/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/counter/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/counter/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/counter/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/counter/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/counter/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/counter/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /samples/counter/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /samples/counter/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /samples/counter/src/test/java/com/instacart/formula/counter/CounterFormulaTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/counter/src/test/java/com/instacart/formula/counter/CounterFormulaTest.kt -------------------------------------------------------------------------------- /samples/custom-network-state-stream/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/custom-network-state-stream/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/build.gradle.kts -------------------------------------------------------------------------------- /samples/custom-network-state-stream/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/proguard-rules.pro -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/java/com/instacart/formula/samples/networkstate/NetworkStateActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/java/com/instacart/formula/samples/networkstate/NetworkStateActivity.kt -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/java/com/instacart/formula/samples/networkstate/NetworkStateFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/java/com/instacart/formula/samples/networkstate/NetworkStateFormula.kt -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/java/com/instacart/formula/samples/networkstate/NetworkStateRenderModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/java/com/instacart/formula/samples/networkstate/NetworkStateRenderModel.kt -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/java/com/instacart/formula/samples/networkstate/NetworkStateStream.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/java/com/instacart/formula/samples/networkstate/NetworkStateStream.kt -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/java/com/instacart/formula/samples/networkstate/NetworkStateStreamImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/java/com/instacart/formula/samples/networkstate/NetworkStateStreamImpl.kt -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/layout/main_activity.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/layout/main_activity.xml -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /samples/custom-network-state-stream/src/test/java/com/instacart/formula/stopwatch/NetworkStateFormulaTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/custom-network-state-stream/src/test/java/com/instacart/formula/stopwatch/NetworkStateFormulaTest.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/navigation-fragments/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/README.md -------------------------------------------------------------------------------- /samples/navigation-fragments/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/build.gradle.kts -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterFragmentFeatureFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterFragmentFeatureFactory.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterFragmentFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterFragmentFormula.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterFragmentRenderModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterFragmentRenderModel.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterFragmentViewFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterFragmentViewFactory.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterRouteKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterRouteKey.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterRouter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterRouter.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterScreen.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterStore.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/CounterStore.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/NavigationAction.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/NavigationAction.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/NavigationActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/NavigationActivity.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/NavigationActivityComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/NavigationActivityComponent.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/NavigationApp.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/java/com/instacart/formula/navigation/NavigationApp.kt -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/layout/navigation_activity.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/layout/navigation_activity.xml -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /samples/navigation-fragments/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /samples/navigation-fragments/src/test/java/com/instacart/formula/navigation/CounterFragmentFormulaTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/navigation-fragments/src/test/java/com/instacart/formula/navigation/CounterFragmentFormulaTest.kt -------------------------------------------------------------------------------- /samples/stopwatch-compose/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/stopwatch-compose/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/build.gradle.kts -------------------------------------------------------------------------------- /samples/stopwatch-compose/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/proguard-rules.pro -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/java/com/instacart/formula/compose/stopwatch/StopwatchActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/java/com/instacart/formula/compose/stopwatch/StopwatchActivity.kt -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/java/com/instacart/formula/compose/stopwatch/StopwatchApp.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/java/com/instacart/formula/compose/stopwatch/StopwatchApp.kt -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/java/com/instacart/formula/compose/stopwatch/StopwatchFeatureFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/java/com/instacart/formula/compose/stopwatch/StopwatchFeatureFactory.kt -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/java/com/instacart/formula/compose/stopwatch/StopwatchFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/java/com/instacart/formula/compose/stopwatch/StopwatchFormula.kt -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/java/com/instacart/formula/compose/stopwatch/StopwatchKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/java/com/instacart/formula/compose/stopwatch/StopwatchKey.kt -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/java/com/instacart/formula/compose/stopwatch/StopwatchRenderModels.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/java/com/instacart/formula/compose/stopwatch/StopwatchRenderModels.kt -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/layout/stopwatch_activity.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/layout/stopwatch_activity.xml -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /samples/stopwatch-compose/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-compose/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/build.gradle.kts -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/proguard-rules.pro -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/java/com/instacart/formula/stopwatch/StopWatchViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/java/com/instacart/formula/stopwatch/StopWatchViewModel.kt -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/java/com/instacart/formula/stopwatch/StopwatchActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/java/com/instacart/formula/stopwatch/StopwatchActivity.kt -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/java/com/instacart/formula/stopwatch/StopwatchFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/java/com/instacart/formula/stopwatch/StopwatchFormula.kt -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/java/com/instacart/formula/stopwatch/StopwatchRenderModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/java/com/instacart/formula/stopwatch/StopwatchRenderModel.kt -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/java/com/instacart/formula/stopwatch/StopwatchRenderView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/java/com/instacart/formula/stopwatch/StopwatchRenderView.kt -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/layout/stopwatch_activity.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/layout/stopwatch_activity.xml -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /samples/stopwatch-coroutines/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch-coroutines/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /samples/stopwatch/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/stopwatch/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/build.gradle.kts -------------------------------------------------------------------------------- /samples/stopwatch/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/proguard-rules.pro -------------------------------------------------------------------------------- /samples/stopwatch/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /samples/stopwatch/src/main/java/com/instacart/formula/stopwatch/StopwatchActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/java/com/instacart/formula/stopwatch/StopwatchActivity.kt -------------------------------------------------------------------------------- /samples/stopwatch/src/main/java/com/instacart/formula/stopwatch/StopwatchAnalytics.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/java/com/instacart/formula/stopwatch/StopwatchAnalytics.kt -------------------------------------------------------------------------------- /samples/stopwatch/src/main/java/com/instacart/formula/stopwatch/StopwatchFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/java/com/instacart/formula/stopwatch/StopwatchFormula.kt -------------------------------------------------------------------------------- /samples/stopwatch/src/main/java/com/instacart/formula/stopwatch/StopwatchRenderModels.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/java/com/instacart/formula/stopwatch/StopwatchRenderModels.kt -------------------------------------------------------------------------------- /samples/stopwatch/src/main/java/com/instacart/formula/stopwatch/StopwatchRenderView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/java/com/instacart/formula/stopwatch/StopwatchRenderView.kt -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/layout/stopwatch_activity.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/layout/stopwatch_activity.xml -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /samples/stopwatch/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /samples/stopwatch/src/test/java/com/instacart/formula/stopwatch/StopwatchFormulaTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/stopwatch/src/test/java/com/instacart/formula/stopwatch/StopwatchFormulaTest.kt -------------------------------------------------------------------------------- /samples/todoapp/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /samples/todoapp/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/build.gradle.kts -------------------------------------------------------------------------------- /samples/todoapp/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/proguard-rules.pro -------------------------------------------------------------------------------- /samples/todoapp/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/TodoActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/TodoActivity.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/TodoActivityEffect.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/TodoActivityEffect.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/TodoApp.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/TodoApp.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/TodoAppComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/TodoAppComponent.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/data/Task.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/data/Task.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/data/TaskRepo.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/data/TaskRepo.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/data/TaskRepoImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/data/TaskRepoImpl.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskCompletedEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskCompletedEvent.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskFilterRenderModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskFilterRenderModel.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskItemRenderModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskItemRenderModel.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListFeatureFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListFeatureFactory.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListFormula.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListFormula.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListKey.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListRenderModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListRenderModel.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListRenderView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListRenderView.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TaskListState.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/java/com/examples/todoapp/tasks/TasksFilterType.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/java/com/examples/todoapp/tasks/TasksFilterType.kt -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/drawable/ic_filter_list.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/drawable/ic_filter_list.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/layout/task_item.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/layout/task_item.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/layout/task_list.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/layout/task_list.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/layout/todo_activity.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/layout/todo_activity.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/menu/tasks_list_menu.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/menu/tasks_list_menu.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /samples/todoapp/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /samples/todoapp/src/test/java/com/examples/todoapp/tasks/TaskListFormulaTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/samples/todoapp/src/test/java/com/examples/todoapp/tasks/TaskListFormulaTest.kt -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/settings.gradle.kts -------------------------------------------------------------------------------- /test-utils/android/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /test-utils/android/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/build.gradle.kts -------------------------------------------------------------------------------- /test-utils/android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/FormulaAndroidInteractor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/FormulaAndroidInteractor.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/HeadlessFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/HeadlessFragment.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/NoOpFeatureFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/NoOpFeatureFactory.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/StateFlowKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/StateFlowKey.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/TestActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/TestActivity.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/TestActivityConfigurator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/TestActivityConfigurator.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/TestExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/TestExtensions.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/TestFormulaActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/TestFormulaActivity.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/TestFragmentActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/TestFragmentActivity.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/TestFragmentExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/TestFragmentExtensions.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/TestFragmentLifecycleCallback.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/TestFragmentLifecycleCallback.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/TestKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/TestKey.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/java/com/instacart/testutils/android/TestViewFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/java/com/instacart/testutils/android/TestViewFactory.kt -------------------------------------------------------------------------------- /test-utils/android/src/main/res/layout/test_activity.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/res/layout/test_activity.xml -------------------------------------------------------------------------------- /test-utils/android/src/main/res/layout/test_fragment_layout.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/instacart/formula/HEAD/test-utils/android/src/main/res/layout/test_fragment_layout.xml -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ./gradlew testDebugUnitTest 3 | --------------------------------------------------------------------------------