├── github-mvi-android ├── cache │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── res │ │ │ │ └── values │ │ │ │ │ └── strings.xml │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── rightpoint │ │ │ │ └── mvi │ │ │ │ └── example │ │ │ │ └── cache │ │ │ │ └── room │ │ │ │ ├── model │ │ │ │ ├── CommitMetadataEntity.kt │ │ │ │ ├── OrganizationEntity.kt │ │ │ │ ├── OwnerEntity.kt │ │ │ │ ├── CommitEntity.kt │ │ │ │ └── RepoEntity.kt │ │ │ │ ├── DatabaseModule.java │ │ │ │ ├── dao │ │ │ │ ├── CommitDao.kt │ │ │ │ └── RepoDao.kt │ │ │ │ └── AppDatabase.kt │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── rightpoint │ │ │ │ └── mvi │ │ │ │ └── example │ │ │ │ └── cache │ │ │ │ └── room │ │ │ │ └── ExampleUnitTest.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── rightpoint │ │ │ └── mvi │ │ │ └── example │ │ │ └── cache │ │ │ └── room │ │ │ └── ExampleInstrumentedTest.java │ ├── proguard-rules.pro │ └── build.gradle ├── common │ ├── .gitignore │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── rightpoint │ │ │ └── common │ │ │ └── Extensions.kt │ └── build.gradle ├── data │ ├── .gitignore │ ├── src │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ └── com │ │ │ └── rightpoint │ │ │ └── mvi │ │ │ └── example │ │ │ └── data │ │ │ ├── utils │ │ │ └── SharedPreferences.kt │ │ │ ├── mapper │ │ │ ├── entities │ │ │ │ ├── CommitMetadataEntityMapper.kt │ │ │ │ ├── OrganizationEntityMapper.kt │ │ │ │ ├── OwnerEntityMapper.kt │ │ │ │ ├── CommitEntityMapper.kt │ │ │ │ └── RepoEntityMapper.kt │ │ │ └── model │ │ │ │ ├── OrganizationModelMapper.kt │ │ │ │ ├── OwnerModelMapper.kt │ │ │ │ ├── CommitModelMapper.kt │ │ │ │ └── RepoModelMapper.kt │ │ │ ├── injection │ │ │ ├── DataBindings.kt │ │ │ └── DataModule.kt │ │ │ ├── repository │ │ │ ├── commit │ │ │ │ └── DefaultCommitRepository.kt │ │ │ └── repo │ │ │ │ └── DefaultRepoRepository.kt │ │ │ └── NetworkBoundResource.kt │ ├── proguard-rules.pro │ └── build.gradle ├── device │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ └── res │ │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── rightpoint │ │ │ │ └── mvi │ │ │ │ └── example │ │ │ │ └── device │ │ │ │ └── ExampleUnitTest.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── rightpoint │ │ │ └── mvi │ │ │ └── example │ │ │ └── device │ │ │ └── ExampleInstrumentedTest.java │ ├── proguard-rules.pro │ └── build.gradle ├── domain │ ├── .gitignore │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── rightpoint │ │ │ └── mvi │ │ │ └── example │ │ │ └── domain │ │ │ ├── common │ │ │ └── Mapper.kt │ │ │ ├── interactor │ │ │ ├── MaybeUseCase.kt │ │ │ ├── SingleUseCase.kt │ │ │ ├── FlowableUseCase.kt │ │ │ ├── CompletableUseCase.kt │ │ │ ├── ObservableUseCase.kt │ │ │ ├── BaseUseCase.kt │ │ │ ├── repo │ │ │ │ └── GetListOfRepos.kt │ │ │ └── commit │ │ │ │ └── GetListOfCommits.kt │ │ │ ├── model │ │ │ ├── OrganizationModel.kt │ │ │ ├── OwnerModel.kt │ │ │ ├── CommitModel.kt │ │ │ └── RepoModel.kt │ │ │ ├── executors │ │ │ └── AppExecutors.kt │ │ │ └── repository │ │ │ ├── commit │ │ │ └── CommitRepository.kt │ │ │ └── repo │ │ │ └── RepoRepository.kt │ └── build.gradle ├── remote │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── rightpoint │ │ │ │ └── mvi │ │ │ │ └── example │ │ │ │ └── remote │ │ │ │ ├── model │ │ │ │ ├── Organization.kt │ │ │ │ ├── Owner.kt │ │ │ │ ├── Commit.kt │ │ │ │ └── Repo.kt │ │ │ │ ├── AppJsonAdapterFactory.kt │ │ │ │ ├── GithubApi.kt │ │ │ │ └── NetworkModule.kt │ │ ├── debug │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── rightpoint │ │ │ │ └── mvi │ │ │ │ └── example │ │ │ │ └── remote │ │ │ │ └── NetworkSettings.java │ │ └── release │ │ │ └── java │ │ │ └── com │ │ │ └── rightpoint │ │ │ └── mvi │ │ │ └── example │ │ │ └── remote │ │ │ └── NetworkSettings.java │ └── build.gradle ├── common-android │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ └── values │ │ │ │ │ └── strings.xml │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── rightpoint │ │ │ │ └── common │ │ │ │ └── android │ │ │ │ └── list │ │ │ │ ├── BaseViewHolder.kt │ │ │ │ ├── Item.kt │ │ │ │ ├── ItemDiffCallback.kt │ │ │ │ ├── BaseAdapter.kt │ │ │ │ └── BindableAdapter.kt │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── rightpoint │ │ │ │ └── common │ │ │ │ └── android │ │ │ │ └── ExampleUnitTest.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── rightpoint │ │ │ └── common │ │ │ └── android │ │ │ └── ExampleInstrumentedTest.java │ ├── proguard-rules.pro │ └── build.gradle ├── app │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── styles.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── themes.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── dimens.xml │ │ │ │ ├── font │ │ │ │ │ ├── firacode_bold.ttf │ │ │ │ │ ├── firacode_light.ttf │ │ │ │ │ ├── firacode_medium.ttf │ │ │ │ │ └── firacode_regular.ttf │ │ │ │ ├── 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 │ │ │ │ ├── layout │ │ │ │ │ ├── activity_main.xml │ │ │ │ │ ├── fragment_repo_list.xml │ │ │ │ │ ├── fragment_repo_list_loading.xml │ │ │ │ │ ├── list_item_repo.xml │ │ │ │ │ ├── layout_latest_commit.xml │ │ │ │ │ └── list_item_repo_grid.xml │ │ │ │ ├── xml │ │ │ │ │ └── repo_list_layout_states.xml │ │ │ │ └── drawable │ │ │ │ │ ├── ic_error_outline.xml │ │ │ │ │ └── ic_code.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── rightpoint │ │ │ │ │ └── mvi │ │ │ │ │ └── example │ │ │ │ │ ├── repo │ │ │ │ │ ├── Action.kt │ │ │ │ │ ├── State.kt │ │ │ │ │ ├── injection │ │ │ │ │ │ ├── RepoBindings.kt │ │ │ │ │ │ └── RepoModule.kt │ │ │ │ │ ├── model │ │ │ │ │ │ ├── RepoItemMapper.kt │ │ │ │ │ │ └── RepoItem.kt │ │ │ │ │ ├── RepoListViewModel.kt │ │ │ │ │ └── RepoListFragment.kt │ │ │ │ │ ├── commit │ │ │ │ │ ├── Action.kt │ │ │ │ │ ├── State.kt │ │ │ │ │ ├── injection │ │ │ │ │ │ ├── CommitBindings.kt │ │ │ │ │ │ └── CommitModule.kt │ │ │ │ │ ├── CommitItem.kt │ │ │ │ │ └── CommitViewModel.kt │ │ │ │ │ ├── ExampleGlideModule.kt │ │ │ │ │ ├── injection │ │ │ │ │ ├── AppBindings.kt │ │ │ │ │ └── AppComponent.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ └── GithubExampleApp.kt │ │ │ └── AndroidManifest.xml │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── rightpoint │ │ │ │ └── mvi │ │ │ │ └── example │ │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── debug │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── rightpoint │ │ │ │ └── mvi │ │ │ │ └── example │ │ │ │ └── injection │ │ │ │ └── BuildTypeModule.java │ │ └── release │ │ │ └── java │ │ │ └── com │ │ │ └── rightpoint │ │ │ └── mvi │ │ │ └── example │ │ │ └── injection │ │ │ └── BuildTypeModule.java │ └── proguard-rules.pro ├── .gitignore ├── gradle │ ├── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ └── quality.gradle ├── settings.gradle ├── README.md ├── docs │ └── dependency_configuration.md ├── gradle.properties └── gradlew.bat ├── {{ cookiecutter.repo_name }} ├── cache │ ├── .gitignore │ ├── src │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ │ └── java │ │ │ └── {{ cookiecutter.package_dir }} │ │ │ └── cache │ │ │ └── room │ │ │ ├── AppDatabase.kt │ │ │ ├── DatabaseModule.kt │ │ │ └── model │ │ │ └── ToBeDeleted.kt │ ├── proguard-rules.pro │ └── build.gradle ├── common │ ├── .gitignore │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── {{ cookiecutter.package_dir }} │ │ └── util │ │ └── Extensions.kt ├── data │ ├── .gitignore │ ├── src │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ └── {{ cookiecutter.package_dir }} │ │ │ └── data │ │ │ ├── injection │ │ │ └── DataModule.kt │ │ │ └── NetworkBoundResource.kt │ ├── build.gradle │ └── proguard-rules.pro ├── device │ ├── .gitignore │ ├── src │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── build.gradle │ └── proguard-rules.pro ├── domain │ ├── .gitignore │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── {{ cookiecutter.package_dir }} │ │ │ └── domain │ │ │ ├── interactor │ │ │ ├── MaybeUseCase.kt │ │ │ ├── SingleUseCase.kt │ │ │ ├── FlowableUseCase.kt │ │ │ ├── CompletableUseCase.kt │ │ │ ├── ObservableUseCase.kt │ │ │ └── BaseUseCase.kt │ │ │ └── executors │ │ │ └── AppExecutors.kt │ └── build.gradle ├── remote │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ │ └── {{ cookiecutter.package_dir }} │ │ │ │ └── remote │ │ │ │ └── NetworkModule.kt │ │ ├── debug │ │ │ └── java │ │ │ │ └── {{ cookiecutter.package_dir }} │ │ │ │ └── remote │ │ │ │ └── NetworkSettings.kt │ │ └── release │ │ │ └── java │ │ │ └── {{ cookiecutter.package_dir }} │ │ │ └── remote │ │ │ └── NetworkSettings.kt │ └── build.gradle ├── app │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── styles.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── themes.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── dimens.xml │ │ │ │ │ ├── themes_base.xml │ │ │ │ │ └── text_appearances.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 │ │ │ │ └── layout │ │ │ │ │ └── activity_main.xml │ │ │ ├── java │ │ │ │ └── {{ cookiecutter.package_dir }} │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── AppComponent.kt │ │ │ │ │ └── {{ cookiecutter.app_name | replace(' ', '') }}App.kt │ │ │ └── AndroidManifest.xml │ │ ├── release │ │ │ └── java │ │ │ │ └── {{ cookiecutter.package_dir }} │ │ │ │ └── BuildTypeModule.kt │ │ ├── debug │ │ │ └── java │ │ │ │ └── {{ cookiecutter.package_dir }} │ │ │ │ └── BuildTypeModule.kt │ │ └── androidTest │ │ │ └── java │ │ │ └── {{ cookiecutter.package_dir }} │ │ │ └── ExampleInstrumentedTest.kt │ └── proguard-rules.pro ├── gradle │ ├── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ └── coverage.gradle ├── Gemfile ├── settings.gradle ├── buildSrc │ ├── src │ │ └── main │ │ │ └── java │ │ │ ├── utils │ │ │ └── Project.kt │ │ │ ├── extensions │ │ │ ├── BaseExtension.kt │ │ │ ├── LibraryExtension.kt │ │ │ └── AppExtension.kt │ │ │ └── plugins │ │ │ ├── KotlinConfigPlugin.kt │ │ │ ├── KtlintConfigPlugin.kt │ │ │ ├── AndroidConfigPlugin.kt │ │ │ └── AppCenterConfigPlugin.kt │ └── build.gradle.kts ├── .gitignore ├── Dangerfile-dependencies ├── README.md ├── Dangerfile-ktlint ├── Dangerfile-lint ├── docs │ ├── dependency_configuration.md │ └── code_coverage.md ├── lint │ ├── src │ │ ├── main │ │ │ └── java │ │ │ │ └── {{ cookiecutter.package_dir }} │ │ │ │ └── lint │ │ │ │ ├── InternalIssueRegistry.kt │ │ │ │ ├── DefaultLayoutAttributeDetector.kt │ │ │ │ ├── InvalidImportDetector.kt │ │ │ │ ├── TodoDetector.kt │ │ │ │ └── NamingPatternDetector.kt │ │ └── test │ │ │ └── java │ │ │ └── {{ cookiecutter.package_dir }} │ │ │ └── lint │ │ │ ├── InvalidImportTest.kt │ │ │ └── DefaultLayoutAttributeTest.kt │ └── build.gradle ├── report-merger.py ├── gradle.properties ├── Gemfile.lock ├── build.gradle └── gradlew.bat ├── .gitignore ├── documentation └── studio_file_menu.png ├── local_test.sh ├── ci_script.sh ├── cookiecutter.json ├── contributing.md ├── .circleci └── config.yml └── hooks ├── pre_gen_project.py └── post_gen_project.sh /github-mvi-android/cache/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /github-mvi-android/common/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /github-mvi-android/data/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /github-mvi-android/device/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /github-mvi-android/domain/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /github-mvi-android/remote/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /github-mvi-android/common-android/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/cache/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/common/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/data/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/device/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/domain/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/remote/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /github-mvi-android/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /develop 3 | /sprint 4 | /production -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /develop 3 | /sprint 4 | /production -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | .idea 4 | .DS_Store 5 | /build 6 | /captures 7 | .externalNativeBuild 8 | -------------------------------------------------------------------------------- /github-mvi-android/data/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /github-mvi-android/remote/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /github-mvi-android/cache/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /github-mvi-android/device/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/data/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/remote/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /documentation/studio_file_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/documentation/studio_file_menu.png -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/cache/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/device/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /github-mvi-android/cache/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | cache 3 | 4 | -------------------------------------------------------------------------------- /github-mvi-android/device/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | device 3 | 4 | -------------------------------------------------------------------------------- /github-mvi-android/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | .idea 5 | .DS_Store 6 | /build 7 | /captures 8 | .externalNativeBuild -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/cache/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | cache 3 | 4 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/device/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | device 3 | 4 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /github-mvi-android/common-android/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | common_android 3 | 4 | -------------------------------------------------------------------------------- /github-mvi-android/common/src/main/java/com/rightpoint/common/Extensions.kt: -------------------------------------------------------------------------------- 1 | package com.rightpoint.common 2 | 3 | val T.exhaustive: T 4 | get() = this -------------------------------------------------------------------------------- /github-mvi-android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | {{ cookiecutter.app_name }} 3 | 4 | -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/font/firacode_bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/font/firacode_bold.ttf -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/font/firacode_light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/font/firacode_light.ttf -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/font/firacode_medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/font/firacode_medium.ttf -------------------------------------------------------------------------------- /local_test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | cp -a ../android-template/. "${TMPDIR}android-template/" 4 | 5 | cd $TMPDIR 6 | 7 | cookiecutter "${TMPDIR}android-template/" --no-input -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/font/firacode_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/font/firacode_regular.ttf -------------------------------------------------------------------------------- /github-mvi-android/common-android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /github-mvi-android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':common-android', ':common' 2 | include ':data' 3 | include ':device' 4 | include ':domain' 5 | include ':remote' 6 | include ':cache' -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/{{ cookiecutter.repo_name }}/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/Gemfile: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | source "https://rubygems.org" 3 | 4 | gem "danger" 5 | gem "danger-android_lint" 6 | gem "danger-checkstyle_format" 7 | -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /github-mvi-android/domain/src/main/java/com/rightpoint/mvi/example/domain/common/Mapper.kt: -------------------------------------------------------------------------------- 1 | package com.rightpoint.mvi.example.domain.common 2 | 3 | interface Mapper { 4 | fun map(t: T): R 5 | } -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/github-mvi-android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Github MVI 3 | Latest Commit 4 | 5 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | include ':data' 3 | include ':device' 4 | include ':domain' 5 | include ':remote' 6 | include ':cache' 7 | include ':lint' 8 | include ':common' 9 | -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/java/com/rightpoint/mvi/example/repo/Action.kt: -------------------------------------------------------------------------------- 1 | package com.rightpoint.mvi.example.repo 2 | 3 | sealed class Action { 4 | data class LoadListOfRepos(val organization: String) : Action() 5 | } -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rightpoint/android-template/HEAD/{{ cookiecutter.repo_name }}/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/java/com/rightpoint/mvi/example/commit/Action.kt: -------------------------------------------------------------------------------- 1 | package com.rightpoint.mvi.example.commit 2 | 3 | sealed class Action { 4 | data class LoadListOfCommits(val owner: String, val repo: String) : Action() 5 | } -------------------------------------------------------------------------------- /github-mvi-android/domain/src/main/java/com/rightpoint/mvi/example/domain/interactor/MaybeUseCase.kt: -------------------------------------------------------------------------------- 1 | package com.rightpoint.mvi.example.domain.interactor 2 | 3 | import io.reactivex.Maybe 4 | 5 | abstract class MaybeUseCase : BaseUseCase>() -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/buildSrc/src/main/java/utils/Project.kt: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import org.gradle.api.Project 4 | 5 | fun Project.propOrEmpty(name: String): String { 6 | return if (hasProperty(name)) findProperty(name)!!.toString() else "" 7 | } -------------------------------------------------------------------------------- /github-mvi-android/domain/src/main/java/com/rightpoint/mvi/example/domain/interactor/SingleUseCase.kt: -------------------------------------------------------------------------------- 1 | package com.rightpoint.mvi.example.domain.interactor 2 | 3 | import io.reactivex.Single 4 | 5 | abstract class SingleUseCase : BaseUseCase>() -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches/build_file_checksums.ser 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | .DS_Store 9 | /build 10 | /captures 11 | .externalNativeBuild -------------------------------------------------------------------------------- /github-mvi-android/domain/src/main/java/com/rightpoint/mvi/example/domain/interactor/FlowableUseCase.kt: -------------------------------------------------------------------------------- 1 | package com.rightpoint.mvi.example.domain.interactor 2 | 3 | import io.reactivex.Flowable 4 | 5 | abstract class FlowableUseCase : BaseUseCase>() -------------------------------------------------------------------------------- /github-mvi-android/domain/src/main/java/com/rightpoint/mvi/example/domain/interactor/CompletableUseCase.kt: -------------------------------------------------------------------------------- 1 | package com.rightpoint.mvi.example.domain.interactor 2 | 3 | import io.reactivex.Completable 4 | 5 | abstract class CompletableUseCase : BaseUseCase() -------------------------------------------------------------------------------- /github-mvi-android/domain/src/main/java/com/rightpoint/mvi/example/domain/interactor/ObservableUseCase.kt: -------------------------------------------------------------------------------- 1 | package com.rightpoint.mvi.example.domain.interactor 2 | 3 | import io.reactivex.Observable 4 | 5 | abstract class ObservableUseCase : BaseUseCase>() -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/domain/src/main/java/{{ cookiecutter.package_dir }}/domain/interactor/MaybeUseCase.kt: -------------------------------------------------------------------------------- 1 | package {{ cookiecutter.package_name }}.domain.interactor 2 | 3 | import io.reactivex.Maybe 4 | 5 | abstract class MaybeUseCase : BaseUseCase>() -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/domain/src/main/java/{{ cookiecutter.package_dir }}/domain/interactor/SingleUseCase.kt: -------------------------------------------------------------------------------- 1 | package {{ cookiecutter.package_name }}.domain.interactor 2 | 3 | import io.reactivex.Single 4 | 5 | abstract class SingleUseCase : BaseUseCase>() -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/domain/src/main/java/{{ cookiecutter.package_dir }}/domain/interactor/FlowableUseCase.kt: -------------------------------------------------------------------------------- 1 | package {{ cookiecutter.package_name }}.domain.interactor 2 | 3 | import io.reactivex.Flowable 4 | 5 | abstract class FlowableUseCase : BaseUseCase>() -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/java/com/rightpoint/mvi/example/ExampleGlideModule.kt: -------------------------------------------------------------------------------- 1 | package com.rightpoint.mvi.example 2 | 3 | import com.bumptech.glide.annotation.GlideModule 4 | import com.bumptech.glide.module.AppGlideModule 5 | 6 | @GlideModule 7 | class ExampleGlideModule : AppGlideModule() -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/Dangerfile-dependencies: -------------------------------------------------------------------------------- 1 | fileContent = File.open("./build/dependencyUpdates/report.txt", "rb").read 2 | toRemove = "The following dependencies have later milestone versions:” 3 | contentToPrint = fileContent.slice(fileContent.index(toRemove)..-1) 4 | 5 | warn(contentToPrint) -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/common/build.gradle: -------------------------------------------------------------------------------- 1 | import dependencies.Libraries 2 | 3 | apply plugin: 'kotlin-config' 4 | apply plugin: 'ktlint-config' 5 | 6 | dependencies { 7 | // Kotlin 8 | implementation Libraries.kotlinStdlib 9 | 10 | testImplementation Libraries.junit 11 | } -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/domain/src/main/java/{{ cookiecutter.package_dir }}/domain/interactor/CompletableUseCase.kt: -------------------------------------------------------------------------------- 1 | package {{ cookiecutter.package_name }}.domain.interactor 2 | 3 | import io.reactivex.Completable 4 | 5 | abstract class CompletableUseCase : BaseUseCase() -------------------------------------------------------------------------------- /{{ cookiecutter.repo_name }}/domain/src/main/java/{{ cookiecutter.package_dir }}/domain/interactor/ObservableUseCase.kt: -------------------------------------------------------------------------------- 1 | package {{ cookiecutter.package_name }}.domain.interactor 2 | 3 | import io.reactivex.Observable 4 | 5 | abstract class ObservableUseCase : BaseUseCase>() -------------------------------------------------------------------------------- /github-mvi-android/app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 18 | 19 |