├── .gitignore ├── README.md ├── elmdroid ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── cz │ │ │ └── inventi │ │ │ └── elmdroid │ │ │ ├── ElmArchitecture.kt │ │ │ ├── ElmViewModel.kt │ │ │ ├── Elmdroid.kt │ │ │ ├── FactoryExtensions.kt │ │ │ ├── LogLevel.kt │ │ │ ├── RxRuntime.kt │ │ │ └── Utils.kt │ └── res │ │ └── values │ │ └── strings.xml │ └── test │ ├── java │ └── cz │ │ └── inventi │ │ └── elmdroid │ │ ├── ComponentRuntimeTest.kt │ │ └── utils │ │ ├── CommonTestObjects.kt │ │ ├── ElmdroidTestUtils.kt │ │ └── RxImmediateSchedulerRule.kt │ └── resources │ └── mockito-extensions │ └── org.mockito.plugins.MockMaker ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── readme-assets ├── inside-component.png ├── readme.afdesign └── runtime-vs-ui.png ├── sample ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── elmdroid │ │ │ ├── ElmApp.kt │ │ │ ├── MainActivity.kt │ │ │ ├── common │ │ │ └── Utils.kt │ │ │ ├── counter │ │ │ ├── CounterActivity.kt │ │ │ ├── CounterComponent.kt │ │ │ └── CounterView.kt │ │ │ └── login │ │ │ ├── data │ │ │ ├── User.kt │ │ │ └── UserRepository.kt │ │ │ └── presentation │ │ │ ├── LoginActivity.kt │ │ │ ├── LoginComponent.kt │ │ │ ├── LoginRenderer.kt │ │ │ ├── LoginVMActivity.kt │ │ │ └── LoginView.kt │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ ├── activity_counter.xml │ │ ├── activity_login.xml │ │ └── activity_main.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 │ │ └── example │ │ └── elmdroid │ │ ├── counter │ │ └── CounterComponentTest.kt │ │ ├── login │ │ └── LoginComponentTest.kt │ │ └── utils │ │ ├── ElmdroidTestUtils.kt │ │ └── RxImmediateSchedulerRule.kt │ └── resources │ └── mockito-extensions │ └── org.mockito.plugins.MockMaker ├── settings.gradle └── versions.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/README.md -------------------------------------------------------------------------------- /elmdroid/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /elmdroid/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/build.gradle -------------------------------------------------------------------------------- /elmdroid/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/proguard-rules.pro -------------------------------------------------------------------------------- /elmdroid/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /elmdroid/src/main/java/cz/inventi/elmdroid/ElmArchitecture.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/main/java/cz/inventi/elmdroid/ElmArchitecture.kt -------------------------------------------------------------------------------- /elmdroid/src/main/java/cz/inventi/elmdroid/ElmViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/main/java/cz/inventi/elmdroid/ElmViewModel.kt -------------------------------------------------------------------------------- /elmdroid/src/main/java/cz/inventi/elmdroid/Elmdroid.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/main/java/cz/inventi/elmdroid/Elmdroid.kt -------------------------------------------------------------------------------- /elmdroid/src/main/java/cz/inventi/elmdroid/FactoryExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/main/java/cz/inventi/elmdroid/FactoryExtensions.kt -------------------------------------------------------------------------------- /elmdroid/src/main/java/cz/inventi/elmdroid/LogLevel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/main/java/cz/inventi/elmdroid/LogLevel.kt -------------------------------------------------------------------------------- /elmdroid/src/main/java/cz/inventi/elmdroid/RxRuntime.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/main/java/cz/inventi/elmdroid/RxRuntime.kt -------------------------------------------------------------------------------- /elmdroid/src/main/java/cz/inventi/elmdroid/Utils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/main/java/cz/inventi/elmdroid/Utils.kt -------------------------------------------------------------------------------- /elmdroid/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /elmdroid/src/test/java/cz/inventi/elmdroid/ComponentRuntimeTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/test/java/cz/inventi/elmdroid/ComponentRuntimeTest.kt -------------------------------------------------------------------------------- /elmdroid/src/test/java/cz/inventi/elmdroid/utils/CommonTestObjects.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/test/java/cz/inventi/elmdroid/utils/CommonTestObjects.kt -------------------------------------------------------------------------------- /elmdroid/src/test/java/cz/inventi/elmdroid/utils/ElmdroidTestUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/test/java/cz/inventi/elmdroid/utils/ElmdroidTestUtils.kt -------------------------------------------------------------------------------- /elmdroid/src/test/java/cz/inventi/elmdroid/utils/RxImmediateSchedulerRule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/elmdroid/src/test/java/cz/inventi/elmdroid/utils/RxImmediateSchedulerRule.kt -------------------------------------------------------------------------------- /elmdroid/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker: -------------------------------------------------------------------------------- 1 | mock-maker-inline -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/gradlew.bat -------------------------------------------------------------------------------- /readme-assets/inside-component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/readme-assets/inside-component.png -------------------------------------------------------------------------------- /readme-assets/readme.afdesign: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/readme-assets/readme.afdesign -------------------------------------------------------------------------------- /readme-assets/runtime-vs-ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/readme-assets/runtime-vs-ui.png -------------------------------------------------------------------------------- /sample/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /sample/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/build.gradle -------------------------------------------------------------------------------- /sample/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/proguard-rules.pro -------------------------------------------------------------------------------- /sample/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/ElmApp.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/ElmApp.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/MainActivity.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/common/Utils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/common/Utils.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/counter/CounterActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/counter/CounterActivity.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/counter/CounterComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/counter/CounterComponent.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/counter/CounterView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/counter/CounterView.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/login/data/User.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/login/data/User.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/login/data/UserRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/login/data/UserRepository.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/login/presentation/LoginActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/login/presentation/LoginActivity.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/login/presentation/LoginComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/login/presentation/LoginComponent.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/login/presentation/LoginRenderer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/login/presentation/LoginRenderer.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/login/presentation/LoginVMActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/login/presentation/LoginVMActivity.kt -------------------------------------------------------------------------------- /sample/src/main/java/com/example/elmdroid/login/presentation/LoginView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/java/com/example/elmdroid/login/presentation/LoginView.kt -------------------------------------------------------------------------------- /sample/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /sample/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /sample/src/main/res/layout/activity_counter.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/layout/activity_counter.xml -------------------------------------------------------------------------------- /sample/src/main/res/layout/activity_login.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/layout/activity_login.xml -------------------------------------------------------------------------------- /sample/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /sample/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /sample/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /sample/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /sample/src/test/java/com/example/elmdroid/counter/CounterComponentTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/test/java/com/example/elmdroid/counter/CounterComponentTest.kt -------------------------------------------------------------------------------- /sample/src/test/java/com/example/elmdroid/login/LoginComponentTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/test/java/com/example/elmdroid/login/LoginComponentTest.kt -------------------------------------------------------------------------------- /sample/src/test/java/com/example/elmdroid/utils/ElmdroidTestUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/test/java/com/example/elmdroid/utils/ElmdroidTestUtils.kt -------------------------------------------------------------------------------- /sample/src/test/java/com/example/elmdroid/utils/RxImmediateSchedulerRule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/sample/src/test/java/com/example/elmdroid/utils/RxImmediateSchedulerRule.kt -------------------------------------------------------------------------------- /sample/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker: -------------------------------------------------------------------------------- 1 | mock-maker-inline -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':sample', ':elmdroid' 2 | -------------------------------------------------------------------------------- /versions.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InventiDevelopment/Elmdroid/HEAD/versions.gradle --------------------------------------------------------------------------------