├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── art │ ├── diagram_readme.png │ └── diagram_readme.xml └── workflows │ ├── pull_request.yml │ └── test.sh ├── .gitignore ├── .idea ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── dictionaries │ └── nhaarman.xml ├── encodings.xml ├── icon.png ├── icon_dark.png ├── inspectionProfiles │ ├── Project_Default.xml │ ├── ktlint.xml │ └── profiles_settings.xml ├── misc.xml ├── runConfigurations │ ├── acorn_tests.xml │ └── ext_acorn_tests.xml └── vcs.xml ├── .ops ├── git.gradle ├── pitest.gradle ├── publishing-android.gradle ├── publishing-base.gradle ├── publishing-kotlin.gradle └── testing.gradle ├── LICENSE ├── README.md ├── build.gradle ├── core ├── acorn-android-core │ ├── build.gradle │ ├── gradle.properties │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ └── android │ │ ├── presentation │ │ └── ViewController.kt │ │ └── transition │ │ └── SceneTransition.kt └── acorn-core │ ├── build.gradle │ ├── gradle.properties │ └── src │ ├── main │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ ├── navigation │ │ ├── CompositeDisposableHandle.kt │ │ ├── DisposableHandle.kt │ │ ├── Navigator.kt │ │ ├── SavableNavigator.kt │ │ └── TransitionData.kt │ │ ├── presentation │ │ ├── Container.kt │ │ ├── SavableContainer.kt │ │ ├── SavableScene.kt │ │ ├── Scene.kt │ │ └── SceneKey.kt │ │ └── state │ │ ├── ContainerState.kt │ │ ├── NavigatorState.kt │ │ ├── SavedState.kt │ │ └── SceneState.kt │ └── test │ └── java │ └── com │ └── nhaarman │ └── acorn │ └── presentation │ ├── SceneKeyTest.kt │ └── SceneTest.kt ├── dependencies.gradle ├── docs ├── .old │ ├── Sending Data.md │ ├── Testability.md │ ├── _Sidebar.md │ ├── background │ │ ├── User Interfaces.md │ │ ├── application_architecture.md │ │ ├── application_flow.md │ │ ├── art │ │ │ ├── application_architecture │ │ │ │ ├── diagram.png │ │ │ │ ├── diagram.xml │ │ │ │ ├── diagram_large.png │ │ │ │ └── diagram_large.xml │ │ │ ├── application_flow │ │ │ │ ├── navigators.png │ │ │ │ ├── navigators.xml │ │ │ │ └── state_machine.png │ │ │ ├── displaying_screens │ │ │ │ ├── activity_destroyed │ │ │ │ │ ├── AA.xml │ │ │ │ │ ├── AB.xml │ │ │ │ │ ├── AC.xml │ │ │ │ │ ├── BA.xml │ │ │ │ │ ├── CA.xml │ │ │ │ │ ├── DA.xml │ │ │ │ │ ├── EA.xml │ │ │ │ │ ├── EB.xml │ │ │ │ │ ├── EC.xml │ │ │ │ │ ├── FA.xml │ │ │ │ │ ├── GA.xml │ │ │ │ │ ├── HA.xml │ │ │ │ │ ├── IA.xml │ │ │ │ │ ├── JA.xml │ │ │ │ │ ├── KA.xml │ │ │ │ │ ├── activity_destroyed.gif │ │ │ │ │ └── convert.sh │ │ │ │ ├── activity_stopped │ │ │ │ │ ├── AA.xml │ │ │ │ │ ├── AB.xml │ │ │ │ │ ├── AC.xml │ │ │ │ │ ├── BA.xml │ │ │ │ │ ├── CA.xml │ │ │ │ │ ├── DA.xml │ │ │ │ │ ├── DB.xml │ │ │ │ │ ├── DC.xml │ │ │ │ │ ├── EA.xml │ │ │ │ │ ├── FA.xml │ │ │ │ │ ├── GA.xml │ │ │ │ │ ├── HA.xml │ │ │ │ │ ├── activity_stopped.gif │ │ │ │ │ └── convert.sh │ │ │ │ ├── configuration_changed │ │ │ │ │ ├── AA.xml │ │ │ │ │ ├── AB.xml │ │ │ │ │ ├── AC.xml │ │ │ │ │ ├── BA.xml │ │ │ │ │ ├── CA.xml │ │ │ │ │ ├── DA.xml │ │ │ │ │ ├── EA.xml │ │ │ │ │ ├── FA.xml │ │ │ │ │ ├── GA.xml │ │ │ │ │ ├── HA.xml │ │ │ │ │ ├── IA.xml │ │ │ │ │ ├── JA.xml │ │ │ │ │ ├── KA.xml │ │ │ │ │ ├── KB.xml │ │ │ │ │ ├── KC.xml │ │ │ │ │ ├── LA.xml │ │ │ │ │ ├── MA.xml │ │ │ │ │ ├── NA.xml │ │ │ │ │ ├── OA.xml │ │ │ │ │ ├── PA.xml │ │ │ │ │ ├── QA.xml │ │ │ │ │ ├── RA.xml │ │ │ │ │ ├── SA.xml │ │ │ │ │ ├── configuration_changed.gif │ │ │ │ │ └── convert.sh │ │ │ │ ├── new_activity │ │ │ │ │ ├── AA.xml │ │ │ │ │ ├── AB.xml │ │ │ │ │ ├── AC.xml │ │ │ │ │ ├── BA.xml │ │ │ │ │ ├── CA.xml │ │ │ │ │ ├── DA.xml │ │ │ │ │ ├── EA.xml │ │ │ │ │ ├── FA.xml │ │ │ │ │ ├── FB.xml │ │ │ │ │ ├── FC.xml │ │ │ │ │ ├── convert.sh │ │ │ │ │ └── new_activity.gif │ │ │ │ └── new_screen │ │ │ │ │ ├── AA.xml │ │ │ │ │ ├── AB.xml │ │ │ │ │ ├── AC.xml │ │ │ │ │ ├── BA.xml │ │ │ │ │ ├── CA.xml │ │ │ │ │ ├── DA.xml │ │ │ │ │ ├── EA.xml │ │ │ │ │ ├── EB.xml │ │ │ │ │ ├── FA.xml │ │ │ │ │ ├── GA.xml │ │ │ │ │ ├── GB.xml │ │ │ │ │ ├── GC.xml │ │ │ │ │ ├── HA.xml │ │ │ │ │ ├── IA.xml │ │ │ │ │ ├── JA.xml │ │ │ │ │ ├── KA.xml │ │ │ │ │ ├── LA.xml │ │ │ │ │ ├── MA.xml │ │ │ │ │ ├── NA.xml │ │ │ │ │ ├── NB.xml │ │ │ │ │ ├── NC.xml │ │ │ │ │ ├── convert.sh │ │ │ │ │ └── new_screen.gif │ │ │ ├── gifs │ │ │ │ ├── AA.xml │ │ │ │ ├── AA2.xml │ │ │ │ ├── AA3.xml │ │ │ │ ├── BB.xml │ │ │ │ ├── BC.xml │ │ │ │ ├── CC.xml │ │ │ │ ├── CD.xml │ │ │ │ ├── DD.xml │ │ │ │ ├── DE.xml │ │ │ │ ├── DF.xml │ │ │ │ ├── EE.xml │ │ │ │ ├── FF.xml │ │ │ │ ├── FG.xml │ │ │ │ ├── FH.xml │ │ │ │ ├── GG.xml │ │ │ │ ├── GH.xml │ │ │ │ ├── GI.xml │ │ │ │ ├── HA.xml │ │ │ │ ├── HB.xml │ │ │ │ ├── HC.xml │ │ │ │ ├── IA.xml │ │ │ │ ├── JA.xml │ │ │ │ ├── JA2.xml │ │ │ │ ├── JA3.xml │ │ │ │ ├── KA.xml │ │ │ │ ├── LA.xml │ │ │ │ ├── MA.xml │ │ │ │ ├── NA.xml │ │ │ │ ├── OA.xml │ │ │ │ ├── OA2.xml │ │ │ │ ├── OA3.xml │ │ │ │ ├── PA.xml │ │ │ │ ├── QA.xml │ │ │ │ ├── QB.xml │ │ │ │ ├── QC.xml │ │ │ │ ├── QD.xml │ │ │ │ ├── RA.xml │ │ │ │ ├── RB.xml │ │ │ │ ├── RC.xml │ │ │ │ ├── RC2.xml │ │ │ │ ├── RC3.xml │ │ │ │ ├── SA.xml │ │ │ │ ├── convert.sh │ │ │ │ └── scene_ui.gif │ │ │ └── mobile_applications │ │ │ │ ├── activity_lifecycle.png │ │ │ │ ├── messaging.png │ │ │ │ └── state_losing.gif │ │ ├── deep_linking.md │ │ ├── index.md │ │ ├── mobile_applications.md │ │ ├── saving_and_restoring_state.md │ │ └── transition_animations.md │ ├── concepts │ │ ├── index.md │ │ ├── navigators │ │ │ ├── art │ │ │ │ └── navigation_tree │ │ │ │ │ ├── AA.xml │ │ │ │ │ ├── BA.xml │ │ │ │ │ ├── CA.xml │ │ │ │ │ ├── DA.xml │ │ │ │ │ ├── EA.xml │ │ │ │ │ ├── FA.xml │ │ │ │ │ ├── GA.xml │ │ │ │ │ ├── HA.xml │ │ │ │ │ ├── HB.xml │ │ │ │ │ ├── convert.sh │ │ │ │ │ └── navigation_tree.gif │ │ │ ├── index.md │ │ │ └── scene_management.md │ │ ├── scenes │ │ │ ├── art │ │ │ │ ├── scene_lifecycle.png │ │ │ │ └── scene_lifecycle.xml │ │ │ └── index.md │ │ └── view_layer │ │ │ ├── index.md │ │ │ └── the_activity_lifecycle_and_scene_transitions.md │ ├── index.md │ └── usage │ │ ├── activity_controller_factories.md │ │ ├── getting_started.md │ │ ├── index.md │ │ ├── navigators.md │ │ ├── scenes.md │ │ ├── setup.md │ │ ├── transition_animations.md │ │ ├── viewcontrollerfactories.md │ │ └── viewcontrollers.md ├── build.gradle ├── readme.md └── src │ └── orchid │ └── resources │ ├── assets │ ├── css │ │ ├── orchidKotlindoc.scss │ │ ├── pygments.scss │ │ └── site.scss │ └── media │ │ ├── scene_lifecycle.png │ │ └── scene_lifecycle.xml │ ├── config.yml │ ├── favicon.ico │ ├── homepage.md │ ├── media │ ├── acorn_diagram.svg │ ├── acorn_diagram.xml │ ├── acorn_diagram_extended.svg │ ├── acorn_diagram_extended.xml │ ├── class_diagram.png │ └── class_diagram.xml │ └── wiki │ ├── about.md │ ├── activity │ ├── about.md │ ├── concepts.md │ ├── media │ │ ├── acorn_diagram_userinterface.drawio │ │ ├── acorn_diagram_userinterface.svg │ │ └── new_activity │ │ │ ├── AA.xml │ │ │ ├── AB.xml │ │ │ ├── AC.xml │ │ │ ├── BA.xml │ │ │ ├── CA.xml │ │ │ ├── DA.xml │ │ │ ├── EA.xml │ │ │ ├── FA.xml │ │ │ ├── FB.xml │ │ │ ├── FC.xml │ │ │ ├── convert.sh │ │ │ └── new_activity.gif │ └── navigator_providing.md │ ├── displaying_scenes │ ├── about.md │ ├── mapping_scenes_layouts.md │ ├── media │ │ ├── acorn_diagram_viewcontroller.drawio │ │ └── acorn_diagram_viewcontroller.svg │ ├── transition_animations.md │ └── viewcontroller.md │ ├── experimental.md │ ├── experimental │ ├── concurrentpairnavigator.md │ └── media │ │ ├── overlay_example.gif │ │ └── scene_lifecycle.png │ ├── getting_started.md │ ├── navigators.md │ ├── navigators │ ├── about.md │ ├── advanced │ │ └── scene_management.md │ ├── base_implementations.md │ ├── composing_implementations.md │ ├── interface.md │ ├── media │ │ ├── acorn_diagram_navigator.drawio │ │ ├── acorn_diagram_navigator.svg │ │ ├── acorn_diagram_navigator_interface.drawio │ │ └── acorn_diagram_navigator_interface.svg │ └── state_saving.md │ ├── scenes.md │ ├── scenes │ ├── about.md │ ├── base_implementations.md │ ├── events.md │ ├── interface.md │ ├── lifecycle.md │ ├── media │ │ ├── acorn_diagram_scene.drawio │ │ ├── acorn_diagram_scene.svg │ │ ├── acorn_diagram_scene_interface.drawio │ │ ├── acorn_diagram_scene_interface.svg │ │ ├── scene_events.drawio │ │ └── scene_events.svg │ └── state_saving.md │ ├── setup.md │ └── summary.md ├── ext ├── acorn-android │ ├── acorn-android-appcompat │ │ ├── build.gradle │ │ ├── gradle.properties │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── android │ │ │ └── AcornAppCompatActivity.kt │ ├── acorn-android-lifecycle │ │ ├── build.gradle │ │ ├── gradle.properties │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── nhaarman │ │ │ │ └── acorn │ │ │ │ └── presentation │ │ │ │ └── LifecycleSceneTest.kt │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── presentation │ │ │ └── LifecycleScene.kt │ ├── acorn-android-lint │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── nhaarman │ │ │ │ └── acorn │ │ │ │ └── lint │ │ │ │ ├── AcornIssueRegistry.kt │ │ │ │ └── RxSceneDisposablesUsageDetector.kt │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── lint │ │ │ └── RxSceneDisposablesUsageDetectorTest.kt │ ├── acorn-android-statechecks │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── readme.md │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── android │ │ │ └── experimental │ │ │ └── statechecks │ │ │ ├── ExperimentalStateChecker.kt │ │ │ ├── NavigatorEventsAdapter.kt │ │ │ ├── StateChecker.kt │ │ │ ├── StateCheckerHook.kt │ │ │ ├── StateChecksInitProvider.kt │ │ │ ├── StateRestorationFailedException.kt │ │ │ └── StateSavingFailedException.kt │ ├── acorn-android-testing │ │ ├── build.gradle │ │ ├── gradle.properties │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── android │ │ │ └── tests │ │ │ ├── AcornTestActivity.kt │ │ │ └── AcornViewTestRule.kt │ ├── acorn-android-timber │ │ ├── build.gradle │ │ ├── gradle.properties │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── android │ │ │ └── TimberLogger.kt │ ├── build.gradle │ ├── gradle.properties │ └── src │ │ ├── androidTest │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── nhaarman │ │ │ │ └── acorn │ │ │ │ └── android │ │ │ │ ├── LinearLayoutContainer.kt │ │ │ │ ├── TestActivity.kt │ │ │ │ ├── internal │ │ │ │ └── ViewApplyWindowBackgroundTest.kt │ │ │ │ ├── presentation │ │ │ │ └── InflatingViewControllerFactoryTest.kt │ │ │ │ └── util │ │ │ │ └── BundleTest.kt │ │ └── res │ │ │ ├── drawable │ │ │ └── ic_android_black_24dp.xml │ │ │ ├── layout │ │ │ ├── linearlayout.xml │ │ │ └── linearlayoutcontainer.xml │ │ │ └── values │ │ │ └── styles_transitiontest.xml │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── nhaarman │ │ │ │ └── acorn │ │ │ │ └── android │ │ │ │ ├── AcornActivity.kt │ │ │ │ ├── AcornActivityDelegate.kt │ │ │ │ ├── AndroidLogger.kt │ │ │ │ ├── dispatching │ │ │ │ ├── AcornSceneDispatcher.kt │ │ │ │ ├── SceneDispatcher.kt │ │ │ │ ├── SceneDispatcherFactory.kt │ │ │ │ └── internal │ │ │ │ │ ├── ActivityHandler.kt │ │ │ │ │ └── DefaultActivityHandler.kt │ │ │ │ ├── experimental │ │ │ │ ├── AcornEvents.kt │ │ │ │ ├── ExperimentalAcornEvents.kt │ │ │ │ └── HookingSceneDispatcher.kt │ │ │ │ ├── internal │ │ │ │ ├── Logging.kt │ │ │ │ └── ViewUtils.kt │ │ │ │ ├── navigation │ │ │ │ ├── AbstractNavigatorProvider.kt │ │ │ │ └── NavigatorProvider.kt │ │ │ │ ├── presentation │ │ │ │ ├── ActivityController.kt │ │ │ │ ├── ActivityControllerFactory.kt │ │ │ │ ├── ComposingViewControllerFactory.kt │ │ │ │ ├── RestorableViewController.kt │ │ │ │ ├── ViewControllerFactory.kt │ │ │ │ ├── ViewControllerFactoryDSL.kt │ │ │ │ ├── ViewProvidingScene.kt │ │ │ │ └── internal │ │ │ │ │ ├── BindingViewControllerFactory.kt │ │ │ │ │ └── InflatingViewControllerFactory.kt │ │ │ │ ├── transition │ │ │ │ ├── ComposingSceneTransitionFactory.kt │ │ │ │ ├── DefaultSceneTransitionFactory.kt │ │ │ │ ├── DoBeforeTransition.kt │ │ │ │ ├── FadeInFromBottomTransition.kt │ │ │ │ ├── FadeOutToBottomTransition.kt │ │ │ │ ├── HideKeyboard.kt │ │ │ │ ├── NoopSceneTransitionFactory.kt │ │ │ │ ├── SceneTransitionFactory.kt │ │ │ │ ├── TransitionFactoryDSL.kt │ │ │ │ └── internal │ │ │ │ │ ├── BindingSceneTransitionFactory.kt │ │ │ │ │ ├── TransitionBinding.kt │ │ │ │ │ ├── TransitionCreationFailure.kt │ │ │ │ │ └── View.kt │ │ │ │ ├── uistate │ │ │ │ ├── UIHandler.kt │ │ │ │ ├── UIState.kt │ │ │ │ ├── UIStateUIHandler.kt │ │ │ │ └── internal │ │ │ │ │ └── Destination.kt │ │ │ │ └── util │ │ │ │ ├── Bundle.kt │ │ │ │ ├── LayoutInflater.kt │ │ │ │ └── View.kt │ │ └── res │ │ │ └── values │ │ │ └── dimens.xml │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ ├── android │ │ │ ├── dispatching │ │ │ │ ├── AcornSceneDispatcherTest.kt │ │ │ │ └── internal │ │ │ │ │ └── DefaultActivityHandlerTest.kt │ │ │ ├── navigation │ │ │ │ └── AbstractNavigatorProviderTest.kt │ │ │ ├── presentation │ │ │ │ └── BindingViewControllerFactoryTest.kt │ │ │ ├── transition │ │ │ │ ├── ComposingSceneTransitionFactoryTest.kt │ │ │ │ └── internal │ │ │ │ │ └── BindingSceneTransitionFactoryTest.kt │ │ │ ├── uistate │ │ │ │ ├── NotVisibleTest.kt │ │ │ │ ├── NotVisibleWithDestinationTest.kt │ │ │ │ ├── VisibleTest.kt │ │ │ │ └── VisibleWithDestinationTest.kt │ │ │ └── util │ │ │ │ ├── RootViewGroup.kt │ │ │ │ ├── TestScene.kt │ │ │ │ ├── TestSceneTransitionFactory.kt │ │ │ │ ├── TestTransition.kt │ │ │ │ ├── TestView.kt │ │ │ │ ├── TestViewController.kt │ │ │ │ └── TestViewControllerFactory.kt │ │ │ └── navigation │ │ │ └── TestNavigator.kt │ │ └── resources │ │ └── mockito-extensions │ │ └── org.mockito.plugins.MockMaker └── acorn │ ├── acorn-experimental │ ├── build.gradle │ ├── gradle.properties │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── navigation │ │ │ └── experimental │ │ │ ├── CombinedContainer.kt │ │ │ ├── CombinedScene.kt │ │ │ ├── CompositeParallelNavigator.kt │ │ │ ├── ConcurrentPairNavigator.kt │ │ │ ├── ExperimentalCompositeParallelNavigator.kt │ │ │ ├── ExperimentalConcurrentPairNavigator.kt │ │ │ └── internal │ │ │ └── Logging.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ └── navigation │ │ └── experimental │ │ ├── CompositeParallelNavigatorTest.kt │ │ ├── ConcurrentPairNavigatorTest.kt │ │ └── SavableTestScene.kt │ ├── acorn-rx │ ├── build.gradle │ ├── gradle.properties │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ ├── Option.kt │ │ │ ├── navigation │ │ │ └── DisposableHandle.kt │ │ │ └── presentation │ │ │ └── RxScene.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ ├── navigation │ │ └── DisposableHandleTest.kt │ │ └── presentation │ │ └── RxSceneTest.kt │ ├── acorn-testing │ ├── build.gradle │ ├── gradle.properties │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ └── testing │ │ ├── ContainerProvider.kt │ │ ├── RestorableTestContainer.kt │ │ ├── TestContext.kt │ │ └── TestLogger.kt │ ├── build.gradle │ ├── gradle.properties │ ├── integrationtests │ ├── build.gradle │ └── src │ │ └── test │ │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ └── integrationtests │ │ ├── ReplacingNavigator tests for scenes that cause a transition in their onStart().kt │ │ └── StackNavigator tests for scenes that cause a transition in their onStart().kt │ └── src │ ├── main │ └── java │ │ ├── acorn │ │ └── Log.kt │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ ├── Logger.kt │ │ ├── OnBackPressListener.kt │ │ ├── internal │ │ └── Logging.kt │ │ ├── navigation │ │ ├── CompositeReplacingNavigator.kt │ │ ├── CompositeStackNavigator.kt │ │ ├── ReplacingNavigator.kt │ │ ├── SingleSceneNavigator.kt │ │ ├── StackNavigator.kt │ │ └── WizardNavigator.kt │ │ ├── presentation │ │ └── BasicScene.kt │ │ ├── state │ │ ├── ContainerState.kt │ │ ├── NavigatorState.kt │ │ ├── SavedState.kt │ │ ├── SceneState.kt │ │ └── internal │ │ │ └── BaseSavedState.kt │ │ └── util │ │ └── LazyVar.kt │ └── test │ ├── java │ ├── acorn │ │ └── LogKtTest.kt │ └── com │ │ └── nhaarman │ │ └── acorn │ │ ├── TestLoggerExtension.kt │ │ ├── navigation │ │ ├── CompositeReplacingNavigatorTest.kt │ │ ├── CompositeStackNavigatorTest.kt │ │ ├── ReplacingNavigatorTest.kt │ │ ├── SavableTestScene.kt │ │ ├── SingleSceneNavigatorTest.kt │ │ ├── StackNavigatorTest.kt │ │ ├── TestScene.kt │ │ └── WizardNavigatorTest.kt │ │ ├── presentation │ │ └── BasicSceneTest.kt │ │ └── state │ │ ├── SavedStateGetTest.kt │ │ └── internal │ │ └── BaseSavedStateTest.kt │ └── resources │ └── META-INF │ └── services │ └── org.junit.jupiter.api.extension.Extension ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── ktlint ├── releasing.md ├── samples ├── hello-bottombar │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── samples │ │ │ └── hellobottombar │ │ │ ├── DestinationSelectedListener.kt │ │ │ ├── HelloBottomBarNavigator.kt │ │ │ ├── HelloBottomBarNavigatorProvider.kt │ │ │ ├── MainActivity.kt │ │ │ ├── MainLayout.kt │ │ │ ├── MyApplication.kt │ │ │ ├── MyDestination.kt │ │ │ ├── MySceneTransitionFactory.kt │ │ │ ├── MyViewControllerFactory.kt │ │ │ ├── favorites │ │ │ ├── FavoritesContainer.kt │ │ │ ├── FavoritesNavigator.kt │ │ │ ├── FavoritesScene.kt │ │ │ └── FavoritesViewControllerFactory.kt │ │ │ ├── music │ │ │ ├── MusicContainer.kt │ │ │ ├── MusicNavigator.kt │ │ │ ├── MusicScene.kt │ │ │ └── MusicViewControllerFactory.kt │ │ │ ├── news │ │ │ ├── NewsContainer.kt │ │ │ ├── NewsNavigator.kt │ │ │ ├── NewsScene.kt │ │ │ └── NewsViewControllerFactory.kt │ │ │ ├── places │ │ │ ├── PlacesContainer.kt │ │ │ ├── PlacesNavigator.kt │ │ │ ├── PlacesScene.kt │ │ │ └── PlacesViewControllerFactory.kt │ │ │ └── util │ │ │ └── BottomNavigationView.kt │ │ └── res │ │ ├── color │ │ └── menu_foreground.xml │ │ ├── drawable │ │ ├── ic_favorite_white_196dp.xml │ │ ├── ic_music_white_196dp.xml │ │ ├── ic_news_white_196dp.xml │ │ └── ic_place_white_196p.xml │ │ ├── layout │ │ ├── favorites_scene.xml │ │ ├── main_layout.xml │ │ ├── music_scene.xml │ │ ├── news_scene.xml │ │ └── places_scene.xml │ │ ├── menu │ │ └── menu.xml │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml ├── hello-concurrentpairnavigator │ ├── build.gradle │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── samples │ │ │ └── helloconcurrentpairnavigator │ │ │ └── HelloConcurrentPairNavigatorTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── nhaarman │ │ │ │ └── acorn │ │ │ │ └── samples │ │ │ │ └── helloconcurrentpairnavigator │ │ │ │ ├── FirstScene.kt │ │ │ │ ├── FirstSecondTransition.kt │ │ │ │ ├── FirstSecondViewController.kt │ │ │ │ ├── HelloConcurrentPairNavigator.kt │ │ │ │ ├── HelloConcurrentPairNavigatorProvider.kt │ │ │ │ ├── HelloConcurrentPairNavigatorViewControllerFactory.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MyApplication.kt │ │ │ │ ├── SecondFirstTransition.kt │ │ │ │ └── SecondScene.kt │ │ └── res │ │ │ ├── layout │ │ │ ├── first_and_second_scene.xml │ │ │ ├── first_scene.xml │ │ │ └── second_scene.xml │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ └── samples │ │ └── helloconcurrentpairnavigator │ │ └── FirstSceneTest.kt ├── hello-navigation │ ├── build.gradle │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── samples │ │ │ └── hellonavigation │ │ │ └── HelloNavigationTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── nhaarman │ │ │ │ └── acorn │ │ │ │ └── samples │ │ │ │ └── hellonavigation │ │ │ │ ├── FirstScene.kt │ │ │ │ ├── HelloNavigationNavigator.kt │ │ │ │ ├── HelloNavigationNavigatorProvider.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MyApplication.kt │ │ │ │ └── SecondScene.kt │ │ └── res │ │ │ ├── layout │ │ │ ├── first_scene.xml │ │ │ └── second_scene.xml │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ └── samples │ │ └── helloworld │ │ └── FirstSceneTest.kt ├── hello-overridingback │ ├── build.gradle │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── samples │ │ │ └── hellooverridingback │ │ │ └── HelloOverridingBackTest.kt │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── samples │ │ │ └── hellooverridingback │ │ │ ├── FirstScene.kt │ │ │ ├── HelloOverridingBackNavigator.kt │ │ │ ├── HelloOverridingBackNavigatorProvider.kt │ │ │ ├── MainActivity.kt │ │ │ └── MyApplication.kt │ │ └── res │ │ ├── layout │ │ └── first_scene.xml │ │ └── values │ │ ├── strings.xml │ │ └── styles.xml ├── hello-sharedata │ ├── build.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── samples │ │ │ └── hellosharedata │ │ │ ├── MainActivity.kt │ │ │ ├── MyApplication.kt │ │ │ ├── PickPictureActivity.kt │ │ │ ├── pictures │ │ │ ├── Picture.kt │ │ │ ├── PictureContentProvider.kt │ │ │ └── PicturesProvider.kt │ │ │ └── presentation │ │ │ ├── MainNavigator.kt │ │ │ ├── MainNavigatorProvider.kt │ │ │ ├── PickPictureNavigator.kt │ │ │ ├── PickPictureNavigatorProvider.kt │ │ │ ├── ViewFactory.kt │ │ │ ├── picturedetail │ │ │ ├── PictureDetailContainer.kt │ │ │ └── PictureDetailScene.kt │ │ │ └── picturegallery │ │ │ ├── PictureGalleryContainer.kt │ │ │ ├── PictureGalleryRecyclerView.kt │ │ │ └── PictureGalleryScene.kt │ │ └── res │ │ ├── drawable │ │ └── ic_arrow_back_black_24dp.xml │ │ ├── layout │ │ ├── picturedetail_scene.xml │ │ ├── picturegallery_picture.xml │ │ └── picturegallery_scene.xml │ │ ├── menu │ │ └── pickpicture.xml │ │ └── values │ │ ├── strings.xml │ │ └── styles.xml ├── hello-startactivity │ ├── build.gradle │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── samples │ │ │ └── hellostartactivity │ │ │ └── AppTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── nhaarman │ │ │ │ └── acorn │ │ │ │ └── samples │ │ │ │ └── hellostartactivity │ │ │ │ ├── AppSettingsActivityController.kt │ │ │ │ ├── AppSettingsScene.kt │ │ │ │ ├── FirstScene.kt │ │ │ │ ├── HelloStartActivityNavigator.kt │ │ │ │ ├── HelloStartActivityNavigatorProvider.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ └── MyApplication.kt │ │ └── res │ │ │ ├── layout │ │ │ └── first_scene.xml │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ └── samples │ │ └── hellostartactivity │ │ └── FirstSceneTest.kt ├── hello-staterestoration │ ├── art │ │ └── hello_staterestoration.png │ ├── build.gradle │ ├── readme.md │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── samples │ │ │ └── hellostaterestoration │ │ │ └── HelloStateRestorationTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── nhaarman │ │ │ │ └── acorn │ │ │ │ └── samples │ │ │ │ └── hellostaterestoration │ │ │ │ ├── HelloStateRestorationContainer.kt │ │ │ │ ├── HelloStateRestorationNavigator.kt │ │ │ │ ├── HelloStateRestorationNavigatorProvider.kt │ │ │ │ ├── HelloStateRestorationScene.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ └── MyApplication.kt │ │ └── res │ │ │ ├── layout │ │ │ └── myscene.xml │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ └── samples │ │ └── hellostaterestoration │ │ └── HelloStateRestorationSceneTest.kt ├── hello-transitionanimation │ ├── build.gradle │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── samples │ │ │ └── hellotransitionanimation │ │ │ └── HelloTransitionAnimationTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── nhaarman │ │ │ │ └── acorn │ │ │ │ └── samples │ │ │ │ └── hellotransitionanimation │ │ │ │ ├── FirstScene.kt │ │ │ │ ├── FirstToSecondTransition.kt │ │ │ │ ├── HelloTransitionAnimationNavigator.kt │ │ │ │ ├── HelloTransitionAnimationNavigatorProvider.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MyApplication.kt │ │ │ │ └── SecondScene.kt │ │ └── res │ │ │ ├── layout │ │ │ ├── first_scene.xml │ │ │ └── second_scene.xml │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ └── samples │ │ └── hellotransitionanimation │ │ └── FirstSceneTest.kt ├── hello-viewfactory │ ├── build.gradle │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── samples │ │ │ └── hellostaterestoration │ │ │ └── HelloViewFactoryTest.kt │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── samples │ │ │ └── helloviewfactory │ │ │ ├── HelloViewFactoryContainer.kt │ │ │ ├── HelloViewFactoryNavigator.kt │ │ │ ├── HelloViewFactoryNavigatorProvider.kt │ │ │ ├── HelloViewFactoryScene.kt │ │ │ ├── MainActivity.kt │ │ │ └── MyApplication.kt │ │ └── res │ │ ├── layout │ │ └── myscene.xml │ │ └── values │ │ ├── strings.xml │ │ └── styles.xml ├── hello-world │ ├── art │ │ └── hello_world.png │ ├── build.gradle │ ├── readme.md │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── samples │ │ │ └── helloworld │ │ │ └── HelloWorldTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── nhaarman │ │ │ │ └── acorn │ │ │ │ └── samples │ │ │ │ └── helloworld │ │ │ │ ├── HelloWorldContainer.kt │ │ │ │ ├── HelloWorldNavigator.kt │ │ │ │ ├── HelloWorldNavigatorProvider.kt │ │ │ │ ├── HelloWorldScene.kt │ │ │ │ └── MainActivity.kt │ │ └── res │ │ │ ├── layout │ │ │ └── hello_world.xml │ │ │ └── values │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ └── samples │ │ └── helloworld │ │ └── HelloWorldSceneTest.kt └── notes-app │ ├── android │ ├── build.gradle │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── notesapp │ │ │ └── android │ │ │ ├── AppTest.kt │ │ │ ├── PurgeDatabaseRule.kt │ │ │ └── ui │ │ │ ├── createitem │ │ │ └── CreateItemViewTest.kt │ │ │ └── itemlist │ │ │ └── ItemListViewTest.kt │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── nhaarman │ │ │ └── acorn │ │ │ └── notesapp │ │ │ └── android │ │ │ ├── AndroidNotesAppComponent.kt │ │ │ ├── MainActivity.kt │ │ │ ├── MemoryNoteItemsRepository.kt │ │ │ ├── NotesAppNavigatorProvider.kt │ │ │ ├── NotesApplication.kt │ │ │ ├── TransitionFactoryProvider.kt │ │ │ ├── ViewFactoryProvider.kt │ │ │ ├── internal │ │ │ └── Logging.kt │ │ │ └── ui │ │ │ ├── createitem │ │ │ ├── CreateItemToolbar.kt │ │ │ └── CreateItemViewController.kt │ │ │ ├── edititem │ │ │ ├── EditItemToolbar.kt │ │ │ └── EditItemViewController.kt │ │ │ ├── itemlist │ │ │ ├── ItemListViewController.kt │ │ │ ├── ItemView.kt │ │ │ └── ItemsRecyclerView.kt │ │ │ └── transition │ │ │ ├── ClickedItemViewData.kt │ │ │ ├── EditItemItemListTransition.kt │ │ │ ├── ItemListCreateItemTransition.kt │ │ │ └── ItemListEditItemTransition.kt │ │ └── res │ │ ├── drawable │ │ ├── ic_add_white_24dp.xml │ │ ├── ic_check_white_24dp.xml │ │ ├── ic_delete_black_24dp.xml │ │ └── ic_delete_white_24dp.xml │ │ ├── layout │ │ ├── createitem_scene.xml │ │ ├── edititem_scene.xml │ │ ├── itemlist_itemview.xml │ │ ├── itemlist_scene.xml │ │ └── itemlistcreateitem_reveal.xml │ │ ├── menu │ │ ├── createitem_menu.xml │ │ └── edititem_menu.xml │ │ └── values │ │ ├── createitem_strings.xml │ │ ├── edititem_strings.xml │ │ ├── notesapp_colors.xml │ │ ├── notesapp_strings.xml │ │ └── notesapp_styles.xml │ ├── build.gradle │ └── src │ ├── main │ └── java │ │ └── com │ │ └── nhaarman │ │ └── acorn │ │ └── notesapp │ │ ├── MainThread.kt │ │ ├── NotesAppComponent.kt │ │ ├── internal │ │ └── Logging.kt │ │ ├── navigation │ │ ├── CreateItemNavigator.kt │ │ ├── NotesAppNavigator.kt │ │ └── PrimaryNavigator.kt │ │ ├── note │ │ ├── NoteItem.kt │ │ └── NoteItemsRepository.kt │ │ └── presentation │ │ ├── createitem │ │ ├── CreateItemContainer.kt │ │ └── CreateItemScene.kt │ │ ├── edititem │ │ ├── EditItemContainer.kt │ │ └── EditItemScene.kt │ │ └── itemlist │ │ ├── ItemListContainer.kt │ │ └── ItemListScene.kt │ └── test │ ├── java │ └── com │ │ └── nhaarman │ │ └── acorn │ │ └── notesapp │ │ ├── ImmediateMainThreadExtension.kt │ │ ├── NoRxErrorsExtension.kt │ │ ├── integration │ │ ├── NotesAppTest.kt │ │ ├── NotesAppTestContainerProvider.kt │ │ ├── TestNotesAppComponent.kt │ │ ├── createitem │ │ │ ├── CreateItemRobot.kt │ │ │ └── TestCreateItemContainer.kt │ │ ├── edititem │ │ │ ├── CreateItemRobot.kt │ │ │ └── TestEditItemContainer.kt │ │ └── itemlist │ │ │ ├── ItemListRobot.kt │ │ │ └── TestItemListContainer.kt │ │ ├── note │ │ └── MemoryNoteItemsRepository.kt │ │ └── presentation │ │ └── itemlist │ │ └── ItemListSceneTest.kt │ └── resources │ └── META-INF │ └── services │ └── org.junit.jupiter.api.extension.Extension ├── settings.gradle └── test /.gitattributes: -------------------------------------------------------------------------------- 1 | *.sh linguist-vendored 2 | test linguist-vendored 3 | gradlew linguist-vendored 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | 5 | --- 6 | 7 | **Describe the bug** 8 | A clear and concise description of what the bug is. 9 | 10 | **To Reproduce** 11 | Steps to reproduce the behavior: 12 | 1. Go to '...' 13 | 2. Click on '....' 14 | 3. Scroll down to '....' 15 | 4. See error 16 | 17 | **Expected behavior** 18 | A clear and concise description of what you expected to happen. 19 | 20 | **Screenshots** 21 | If applicable, add screenshots to help explain your problem. 22 | 23 | **Environmental info (please complete the following information):** 24 | - Library version: [e.g. 1.0.0] 25 | - Device: [e.g. Oneplus 6T] 26 | - OS: [e.g. Android 9] 27 | 28 | ** Stack trace** 29 | ``` 30 | Include the stack trace, if applicable. 31 | ``` 32 | 33 | **Additional context** 34 | Add any other context about the problem here. 35 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | **Is your feature request related to a problem? Please describe.** 8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 9 | 10 | **Describe the solution you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Describe alternatives you've considered** 14 | A clear and concise description of any alternative solutions or features you've considered. 15 | 16 | **Additional context** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /.github/art/diagram_readme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhaarman/acorn/859121ce76cb5a6d2998bf978ea06adca5b00b24/.github/art/diagram_readme.png -------------------------------------------------------------------------------- /.github/workflows/pull_request.yml: -------------------------------------------------------------------------------- 1 | name: Pull request 2 | on: 3 | pull_request: 4 | 5 | concurrency: 6 | group: ${{ github.head_ref || github.ref }} 7 | cancel-in-progress: true 8 | 9 | jobs: 10 | 11 | build: 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - name: checkout 16 | uses: actions/checkout@v3 17 | with: 18 | fetch-depth: 0 19 | - uses: actions/setup-java@v3 20 | with: 21 | distribution: 'zulu' 22 | java-version: '17' 23 | 24 | - name: ktlint 25 | run: bash ./ktlint "**/src/**/*.kt" --color 26 | 27 | - name: Test 28 | run: | 29 | .github/workflows/test.sh 30 | -------------------------------------------------------------------------------- /.github/workflows/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ./ktlint 4 | 5 | ./gradlew clean \ 6 | test \ 7 | \ 8 | :ext-acorn-android-testing:lint \ 9 | :ext-acorn-android-timber:lint \ 10 | :ext-acorn-android-lifecycle:lint \ 11 | \ 12 | :samples:hello-bottombar:lintRelease \ 13 | :samples:hello-concurrentpairnavigator:lintRelease \ 14 | :samples:hello-navigation:lintRelease \ 15 | :samples:hello-overridingback:lintRelease \ 16 | :samples:hello-sharedata:lintRelease \ 17 | :samples:hello-startactivity:lintRelease \ 18 | :samples:hello-staterestoration:lintRelease \ 19 | :samples:hello-transitionanimation:lintRelease \ 20 | :samples:hello-viewfactory:lintRelease \ 21 | :samples:hello-world:lintRelease \ 22 | \ 23 | :samples:notes-app:android:lintRelease \ 24 | \ 25 | packageDebugAndroidTest \ 26 | \ 27 | publishToMavenLocal \ 28 | --max-workers=1 --rerun-tasks -Dorg.gradle.jvmargs=-Xmx1536m 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | **/bin/* 2 | **/gen/* 3 | **/build/* 4 | **/out/* 5 | **/*.iml 6 | .gradle 7 | **/local.properties 8 | .DS_Store 9 | .metadata/* 10 | **.hprof 11 | 12 | **.log 13 | 14 | *.orig 15 | **/.attach* 16 | 17 | .idea/* 18 | 19 | !/.idea/codeStyles 20 | !/.idea/runConfigurations 21 | !/.idea/inspectionProfiles 22 | !/.idea/encodings.xml 23 | !/.idea/misc.xml 24 | !/.idea/vcs.xml 25 | !/.idea/dictionaries 26 | !/.idea/icon.png 27 | !/.idea/icon_dark.png 28 | 29 | .projectFilesBackup -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/dictionaries/nhaarman.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | composable 5 | connectable 6 | haarman 7 | lifecycles 8 | nhaarman 9 | niek 10 | notesapp 11 | onboarding 12 | restorable 13 | saveable 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhaarman/acorn/859121ce76cb5a6d2998bf978ea06adca5b00b24/.idea/icon.png -------------------------------------------------------------------------------- /.idea/icon_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nhaarman/acorn/859121ce76cb5a6d2998bf978ea06adca5b00b24/.idea/icon_dark.png -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/ktlint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 13 | 14 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /.idea/runConfigurations/acorn_tests.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 14 | 15 |