gitextract_k8nenrgu/ ├── .gitignore ├── .travis.yml ├── LICENSE.md ├── README.md ├── build.gradle ├── droidux/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── info/ │ │ └── izumin/ │ │ └── android/ │ │ └── droidux/ │ │ ├── Action.java │ │ ├── BaseStore.java │ │ ├── Dispatcher.java │ │ ├── History.java │ │ ├── Middleware.java │ │ ├── OnStateChangedListener.java │ │ ├── StoreImpl.java │ │ ├── UndoableState.java │ │ ├── UndoableStoreImpl.java │ │ ├── action/ │ │ │ ├── HistoryAction.java │ │ │ ├── RedoAction.java │ │ │ └── UndoAction.java │ │ ├── annotation/ │ │ │ ├── Dispatchable.java │ │ │ ├── Reducer.java │ │ │ ├── Store.java │ │ │ └── Undoable.java │ │ └── exception/ │ │ └── NotInitializedException.java │ └── test/ │ └── groovy/ │ └── info/ │ └── izumin/ │ └── android/ │ └── droidux/ │ ├── DispatcherTest.groovy │ ├── HistoryTest.groovy │ └── action/ │ └── HistoryActionTest.groovy ├── droidux-processor/ │ ├── .gitignore │ ├── build.gradle │ ├── libs/ │ │ └── databinding-library.jar │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── info/ │ │ └── izumin/ │ │ └── android/ │ │ └── droidux/ │ │ └── processor/ │ │ ├── AbstractProcessingStep.java │ │ ├── DroiduxProcessor.java │ │ ├── ReducerProcessingStep.java │ │ ├── StoreProcessingStep.java │ │ ├── exception/ │ │ │ ├── InvalidDispatchableDeclarationException.java │ │ │ ├── InvalidReducerDeclarationException.java │ │ │ └── InvalidStoreDelcarationException.java │ │ ├── generator/ │ │ │ ├── StoreBuilderClassGenerator.java │ │ │ ├── StoreClassGenerator.java │ │ │ └── StoreImplClassGenerator.java │ │ ├── model/ │ │ │ ├── BuilderModel.java │ │ │ ├── DispatchableModel.java │ │ │ ├── DispatcherModel.java │ │ │ ├── ReducerModel.java │ │ │ ├── StoreImplModel.java │ │ │ ├── StoreMethodModel.java │ │ │ └── StoreModel.java │ │ ├── util/ │ │ │ ├── AnnotationUtils.java │ │ │ ├── PoetUtils.java │ │ │ └── StringUtils.java │ │ └── validator/ │ │ ├── DispatchableValidator.java │ │ ├── ReducerValidator.java │ │ └── StoreValidator.java │ └── test/ │ └── java/ │ └── info/ │ └── izumin/ │ └── android/ │ └── droidux/ │ └── processor/ │ ├── DroiduxProcessorTest.java │ └── fixture/ │ ├── Counter.java │ ├── CounterReducer.java │ ├── Source.java │ ├── TodoList.java │ ├── TodoListReducer.java │ └── action/ │ ├── AddTodoItemAction.java │ ├── ClearCountAction.java │ ├── CompleteTodoItemAction.java │ ├── IncrementCountAction.java │ ├── InitializeCountAction.java │ └── SquareCountAction.java ├── examples/ │ ├── counter/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── info/ │ │ │ └── izumin/ │ │ │ └── android/ │ │ │ └── droidux/ │ │ │ └── example/ │ │ │ └── counter/ │ │ │ ├── Counter.java │ │ │ ├── CounterReducer.java │ │ │ ├── MainActivity.java │ │ │ ├── MainEventHandlers.java │ │ │ ├── RootStore.java │ │ │ └── action/ │ │ │ ├── DecrementCountAction.java │ │ │ └── IncrementCountAction.java │ │ └── res/ │ │ ├── layout/ │ │ │ └── activity_main.xml │ │ ├── values/ │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── values-w820dp/ │ │ └── dimens.xml │ ├── todomvc/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src/ │ │ ├── androidTest/ │ │ │ └── java/ │ │ │ └── info/ │ │ │ └── izumin/ │ │ │ └── android/ │ │ │ └── droidux/ │ │ │ └── ApplicationTest.java │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── info/ │ │ │ └── izumin/ │ │ │ └── android/ │ │ │ └── droidux/ │ │ │ └── example/ │ │ │ └── todomvc/ │ │ │ ├── App.java │ │ │ ├── MainActivity.java │ │ │ ├── MainActivityHelper.java │ │ │ ├── RootStore.java │ │ │ ├── TodoListAdapter.java │ │ │ ├── action/ │ │ │ │ ├── AddTodoAction.java │ │ │ │ ├── ClearCompletedTodoAction.java │ │ │ │ ├── DeleteTodoAction.java │ │ │ │ └── ToggleCompletedTodoAction.java │ │ │ ├── entity/ │ │ │ │ └── TodoList.java │ │ │ ├── middleware/ │ │ │ │ └── Logger.java │ │ │ └── reducer/ │ │ │ └── TodoListReducer.java │ │ └── res/ │ │ ├── layout/ │ │ │ ├── activity_main.xml │ │ │ └── list_item_todo.xml │ │ ├── menu/ │ │ │ └── main_manu.xml │ │ ├── values/ │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── values-v21/ │ │ │ └── styles.xml │ │ └── values-w820dp/ │ │ └── dimens.xml │ ├── todos-with-dagger/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src/ │ │ ├── androidTest/ │ │ │ └── java/ │ │ │ └── info/ │ │ │ └── izumin/ │ │ │ └── android/ │ │ │ └── droidux/ │ │ │ └── example/ │ │ │ └── todoswithdagger/ │ │ │ └── ApplicationTest.java │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── info/ │ │ │ │ └── izumin/ │ │ │ │ └── android/ │ │ │ │ └── droidux/ │ │ │ │ └── example/ │ │ │ │ └── todoswithdagger/ │ │ │ │ ├── App.java │ │ │ │ ├── AppComponent.java │ │ │ │ ├── AppModule.java │ │ │ │ ├── RootStore.java │ │ │ │ ├── action/ │ │ │ │ │ ├── AddTodoAction.java │ │ │ │ │ ├── ClearCompletedTodoAction.java │ │ │ │ │ ├── ClearNewTodoTextAction.java │ │ │ │ │ ├── DeleteTodoAction.java │ │ │ │ │ ├── ToggleCompletedTodoAction.java │ │ │ │ │ └── UpdateNewTodoTextAction.java │ │ │ │ ├── adapter/ │ │ │ │ │ └── TodoListAdapter.java │ │ │ │ ├── entity/ │ │ │ │ │ └── TodoList.java │ │ │ │ ├── module/ │ │ │ │ │ └── main/ │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ ├── MainComponent.java │ │ │ │ │ ├── MainEventHandlers.java │ │ │ │ │ ├── MainModule.java │ │ │ │ │ ├── MainPresenter.java │ │ │ │ │ └── MainView.java │ │ │ │ ├── reducer/ │ │ │ │ │ └── TodoListReducer.java │ │ │ │ └── util/ │ │ │ │ └── ViewBindingUtils.java │ │ │ └── res/ │ │ │ ├── layout/ │ │ │ │ ├── activity_main.xml │ │ │ │ └── list_item_todo.xml │ │ │ ├── menu/ │ │ │ │ └── main_manu.xml │ │ │ ├── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── values-w820dp/ │ │ │ └── dimens.xml │ │ └── test/ │ │ └── java/ │ │ └── info/ │ │ └── izumin/ │ │ └── android/ │ │ └── droidux/ │ │ └── example/ │ │ └── todoswithdagger/ │ │ └── ExampleUnitTest.java │ └── todos-with-undo/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── info/ │ │ └── izumin/ │ │ └── android/ │ │ └── droidux/ │ │ └── example/ │ │ └── todoswithundo/ │ │ └── ApplicationTest.java │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── info/ │ │ │ └── izumin/ │ │ │ └── android/ │ │ │ └── droidux/ │ │ │ └── example/ │ │ │ └── todoswithundo/ │ │ │ ├── App.java │ │ │ ├── MainActivity.java │ │ │ ├── MainActivityHelper.java │ │ │ ├── RootStore.java │ │ │ ├── TodoListAdapter.java │ │ │ ├── action/ │ │ │ │ ├── AddTodoAction.java │ │ │ │ ├── ClearCompletedTodoAction.java │ │ │ │ ├── DeleteTodoAction.java │ │ │ │ └── ToggleCompletedTodoAction.java │ │ │ ├── entity/ │ │ │ │ └── TodoList.java │ │ │ ├── middleware/ │ │ │ │ └── Logger.java │ │ │ └── reducer/ │ │ │ └── TodoListReducer.java │ │ └── res/ │ │ ├── layout/ │ │ │ ├── activity_main.xml │ │ │ └── list_item_todo.xml │ │ ├── menu/ │ │ │ └── main_manu.xml │ │ ├── values/ │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── values-w820dp/ │ │ └── dimens.xml │ └── test/ │ └── java/ │ └── info/ │ └── izumin/ │ └── android/ │ └── droidux/ │ └── example/ │ └── todoswithundo/ │ └── ExampleUnitTest.java ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── middlewares/ │ └── droidux-thunk/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── info/ │ │ │ └── izumin/ │ │ │ └── android/ │ │ │ └── droidux/ │ │ │ └── thunk/ │ │ │ ├── AsyncAction.java │ │ │ └── ThunkMiddleware.java │ │ └── res/ │ │ └── values/ │ │ └── strings.xml │ └── test/ │ └── groovy/ │ └── info/ │ └── izumin/ │ └── android/ │ └── droidux/ │ └── thunk/ │ └── ThunkMiddlewareTest.groovy └── settings.gradle