├── .github └── workflows │ └── android_build.yml ├── .gitignore ├── .scripts └── install_ktlint.sh ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── ezike │ │ └── tobenna │ │ └── starwarssearch │ │ ├── ApplicationClass.kt │ │ ├── MainActivity.kt │ │ └── di │ │ └── AppModule.kt │ └── res │ ├── drawable-v24 │ └── ic_launcher_foreground.xml │ ├── drawable │ └── ic_launcher_background.xml │ ├── layout │ └── 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 ├── character-detail ├── .gitignore ├── build.gradle.kts ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── ezike │ │ │ └── tobenna │ │ │ └── starwarssearch │ │ │ └── characterdetail │ │ │ ├── data │ │ │ ├── ApiService.kt │ │ │ ├── CharacterDetailEntity.kt │ │ │ ├── CharacterDetailRepository.kt │ │ │ └── DataModule.kt │ │ │ ├── di │ │ │ └── CharacterDetailModule.kt │ │ │ ├── mapper │ │ │ ├── FilmModelMapper.kt │ │ │ ├── PlanetModelMapper.kt │ │ │ └── SpecieModelMapper.kt │ │ │ ├── model │ │ │ ├── CharacterDetailModel.kt │ │ │ ├── FilmModel.kt │ │ │ ├── PlanetModel.kt │ │ │ └── SpecieModel.kt │ │ │ ├── presentation │ │ │ ├── Alias.kt │ │ │ ├── CharacterDetailViewIntentProcessor.kt │ │ │ ├── CharacterDetailViewResult.kt │ │ │ ├── CharacterDetailViewStateMachine.kt │ │ │ ├── CharacterDetailViewStateReducer.kt │ │ │ └── viewstate │ │ │ │ ├── CharacterDetailViewState.kt │ │ │ │ └── CharacterDetailViewStateFactory.kt │ │ │ └── ui │ │ │ ├── CharacterDetailFragment.kt │ │ │ ├── CharacterDetailViewModel.kt │ │ │ ├── LoadCharacterDetailIntent.kt │ │ │ ├── adapter │ │ │ ├── FilmAdapter.kt │ │ │ └── SpecieAdapter.kt │ │ │ └── views │ │ │ ├── error │ │ │ ├── DetailErrorView.kt │ │ │ ├── DetailErrorViewState.kt │ │ │ ├── DetailErrorViewStateFactory.kt │ │ │ └── RetryFetchCharacterDetailsIntent.kt │ │ │ ├── film │ │ │ ├── FilmView.kt │ │ │ ├── FilmViewState.kt │ │ │ ├── FilmViewStateFactory.kt │ │ │ └── RetryFetchFilmIntent.kt │ │ │ ├── planet │ │ │ ├── PlanetView.kt │ │ │ ├── PlanetViewState.kt │ │ │ ├── PlanetViewStateFactory.kt │ │ │ └── RetryFetchPlanetIntent.kt │ │ │ ├── profile │ │ │ ├── ProfileView.kt │ │ │ ├── ProfileViewState.kt │ │ │ └── ProfileViewStateFactory.kt │ │ │ └── specie │ │ │ ├── RetryFetchSpecieIntent.kt │ │ │ ├── SpecieView.kt │ │ │ ├── SpecieViewState.kt │ │ │ └── SpecieViewStateFactory.kt │ └── res │ │ ├── drawable │ │ └── arrow_back.xml │ │ ├── layout │ │ ├── detail_loading_layout.xml │ │ ├── film_view_layout.xml │ │ ├── fragment_character_detail.xml │ │ ├── item_film.xml │ │ ├── item_specie.xml │ │ ├── planet_view_layout.xml │ │ ├── profile_view_layout.xml │ │ └── specie_view_layout.xml │ │ ├── navigation │ │ └── detail_nav_graph.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ └── strings.xml │ └── test │ └── java │ └── com │ └── ezike │ └── tobenna │ └── starwarssearch │ └── characterdetail │ ├── data │ └── DummyData.kt │ ├── fakes │ ├── FakeCharacterDetailRepository.kt │ └── TestPostExecutionThread.kt │ ├── mapper │ ├── CharacterDetailModelMapperTest.kt │ ├── FilmModelMapperTest.kt │ ├── PlanetModelMapperTest.kt │ └── SpecieModelMapperTest.kt │ └── presentation │ ├── CharacterDetailViewIntentProcessorTest.kt │ └── CharacterDetailViewStateReducerTest.kt ├── character_search ├── .gitignore ├── build.gradle.kts ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── ezike │ │ └── tobenna │ │ └── starwarssearch │ │ └── charactersearch │ │ ├── CustomTestRunner.kt │ │ ├── di │ │ ├── TestModule.kt │ │ └── fakes │ │ │ ├── FakeCharacterDetailRepository.kt │ │ │ ├── FakeSearchHistoryRepository.kt │ │ │ └── FakeSearchRepository.kt │ │ └── ui │ │ ├── DummyData.kt │ │ └── SearchFragmentTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── ezike │ │ │ └── tobenna │ │ │ └── starwarssearch │ │ │ └── charactersearch │ │ │ ├── data │ │ │ ├── ApiService.kt │ │ │ ├── CharacterEntity.kt │ │ │ ├── DataModule.kt │ │ │ └── SearchRepository.kt │ │ │ ├── di │ │ │ └── SearchCharacterModule.kt │ │ │ ├── mapper │ │ │ └── CharacterModelMapper.kt │ │ │ ├── model │ │ │ └── CharacterModel.kt │ │ │ ├── navigation │ │ │ └── Navigator.kt │ │ │ ├── presentation │ │ │ ├── Alias.kt │ │ │ ├── SearchScreenIntent.kt │ │ │ ├── SearchScreenIntentProcessor.kt │ │ │ ├── SearchScreenResult.kt │ │ │ ├── SearchScreenStateMachine.kt │ │ │ ├── SearchScreenStateReducer.kt │ │ │ └── viewstate │ │ │ │ └── SearchScreenState.kt │ │ │ └── ui │ │ │ ├── CharacterSearchViewModel.kt │ │ │ ├── SearchFragment.kt │ │ │ ├── adapter │ │ │ ├── SearchHistoryAdapter.kt │ │ │ └── SearchResultAdapter.kt │ │ │ └── views │ │ │ ├── history │ │ │ ├── SearchHistoryView.kt │ │ │ └── SearchHistoryViewState.kt │ │ │ ├── result │ │ │ ├── SearchResultView.kt │ │ │ └── SearchResultViewState.kt │ │ │ └── search │ │ │ ├── SearchBarView.kt │ │ │ └── SearchExtensions.kt │ └── res │ │ ├── drawable │ │ ├── ic_baseline_access_time_24.xml │ │ ├── ic_baseline_keyboard_arrow_right_24.xml │ │ ├── ic_baseline_search_24.xml │ │ ├── ic_empty.xml │ │ └── search_bar_bg.xml │ │ ├── layout │ │ ├── fragment_search.xml │ │ ├── layout_search_history.xml │ │ ├── layout_search_result.xml │ │ ├── search_history.xml │ │ └── search_result.xml │ │ ├── navigation │ │ └── search_nav_graph.xml │ │ └── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ ├── styles.xml │ │ └── themes.xml │ ├── sharedTest │ └── java │ │ └── charactersearch │ │ └── TestPostExecutionThread.kt │ └── test │ └── java │ └── com │ └── ezike │ └── tobenna │ └── starwarssearch │ └── charactersearch │ ├── data │ └── DummyData.kt │ ├── fakes │ ├── FakeSearchHistoryRepository.kt │ └── FakeSearchRepository.kt │ ├── mapper │ └── CharacterModelMapperTest.kt │ └── presentation │ ├── SearchScreenIntentProcessorTest.kt │ └── SearchScreenStateReducerTest.kt ├── core ├── .gitignore ├── build.gradle.kts ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── ezike │ │ └── tobenna │ │ └── starwarssearch │ │ └── core │ │ ├── AppString.kt │ │ ├── EmptyStateView.kt │ │ └── ext │ │ ├── Extensions.kt │ │ ├── NavigateBack.kt │ │ └── ViewExt.kt │ └── res │ ├── drawable │ └── ic_error_page_2.xml │ ├── layout │ └── simple_empty_state_view_layout.xml │ └── values │ ├── attrs.xml │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── libraries ├── cache │ ├── .gitignore │ ├── build.gradle.kts │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── ezike │ │ └── tobenna │ │ └── starwarssearch │ │ └── cache │ │ ├── di │ │ └── CacheModule.kt │ │ ├── mapper │ │ └── CacheModelMapper.kt │ │ ├── model │ │ ├── CharacterCacheModel.kt │ │ └── CharacterDetailCacheModel.kt │ │ └── room │ │ ├── CharacterDetailDao.kt │ │ ├── SearchHistoryDao.kt │ │ ├── StarWarsDatabase.kt │ │ └── TypeConverter.kt ├── remote │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── ezike │ │ └── tobenna │ │ └── starwarssearch │ │ └── remote │ │ ├── RemoteFactory.kt │ │ ├── di │ │ └── RemoteModule.kt │ │ ├── interceptor │ │ ├── HttpsInterceptor.kt │ │ └── NoInternetInterceptor.kt │ │ └── mapper │ │ └── RemoteModelMapper.kt └── testUtils │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ └── main │ └── java │ └── com │ └── ezike │ └── tobenna │ └── starwarssearch │ └── testutils │ ├── Extensions.kt │ ├── FlowRecorder.kt │ ├── MainCoroutineRule.kt │ └── ResponseType.kt ├── navigation ├── .gitignore ├── build.gradle.kts ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── ezike │ │ └── tobenna │ │ └── starwarssearch │ │ └── navigation │ │ ├── SearchScreenNavigator.kt │ │ └── di │ │ └── NavigationModule.kt │ └── res │ └── navigation │ └── navigation_root.xml ├── presentation-android ├── .gitignore ├── build.gradle.kts ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── ezike │ └── tobenna │ └── starwarssearch │ └── presentation_android │ ├── AssistedCreator.kt │ ├── ComponentManager.kt │ ├── Disposer.kt │ └── UIComponent.kt ├── presentation ├── .gitignore ├── build.gradle.kts └── src │ └── main │ └── java │ └── com │ └── ezike │ └── tobenna │ └── starwarssearch │ └── presentation │ ├── base │ ├── BaseComponentManager.kt │ ├── IntentProcessor.kt │ ├── StateReducer.kt │ ├── Subscriber.kt │ ├── ViewIntent.kt │ ├── ViewResult.kt │ └── ViewState.kt │ ├── mapper │ └── ModelMapper.kt │ └── stateMachine │ ├── RenderStrategy.kt │ ├── StateMachine.kt │ ├── Subscription.kt │ └── SubscriptionManager.kt ├── process.md ├── settings.gradle.kts └── setup.sh /.github/workflows/android_build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/.github/workflows/android_build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/.gitignore -------------------------------------------------------------------------------- /.scripts/install_ktlint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/.scripts/install_ktlint.sh -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/build.gradle.kts -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/com/ezike/tobenna/starwarssearch/ApplicationClass.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/java/com/ezike/tobenna/starwarssearch/ApplicationClass.kt -------------------------------------------------------------------------------- /app/src/main/java/com/ezike/tobenna/starwarssearch/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/java/com/ezike/tobenna/starwarssearch/MainActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/ezike/tobenna/starwarssearch/di/AppModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/java/com/ezike/tobenna/starwarssearch/di/AppModule.kt -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /character-detail/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /character-detail/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/build.gradle.kts -------------------------------------------------------------------------------- /character-detail/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /character-detail/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/proguard-rules.pro -------------------------------------------------------------------------------- /character-detail/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/data/ApiService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/data/ApiService.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/data/CharacterDetailEntity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/data/CharacterDetailEntity.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/data/CharacterDetailRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/data/CharacterDetailRepository.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/data/DataModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/data/DataModule.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/di/CharacterDetailModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/di/CharacterDetailModule.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/FilmModelMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/FilmModelMapper.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/PlanetModelMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/PlanetModelMapper.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/SpecieModelMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/SpecieModelMapper.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/model/CharacterDetailModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/model/CharacterDetailModel.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/model/FilmModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/model/FilmModel.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/model/PlanetModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/model/PlanetModel.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/model/SpecieModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/model/SpecieModel.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/Alias.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/Alias.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/CharacterDetailViewIntentProcessor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/CharacterDetailViewIntentProcessor.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/CharacterDetailViewResult.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/CharacterDetailViewResult.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/CharacterDetailViewStateMachine.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/CharacterDetailViewStateMachine.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/CharacterDetailViewStateReducer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/CharacterDetailViewStateReducer.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/viewstate/CharacterDetailViewState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/viewstate/CharacterDetailViewState.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/viewstate/CharacterDetailViewStateFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/viewstate/CharacterDetailViewStateFactory.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/CharacterDetailFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/CharacterDetailFragment.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/CharacterDetailViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/CharacterDetailViewModel.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/LoadCharacterDetailIntent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/LoadCharacterDetailIntent.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/adapter/FilmAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/adapter/FilmAdapter.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/adapter/SpecieAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/adapter/SpecieAdapter.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/error/DetailErrorView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/error/DetailErrorView.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/error/DetailErrorViewState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/error/DetailErrorViewState.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/error/DetailErrorViewStateFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/error/DetailErrorViewStateFactory.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/error/RetryFetchCharacterDetailsIntent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/error/RetryFetchCharacterDetailsIntent.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/film/FilmView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/film/FilmView.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/film/FilmViewState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/film/FilmViewState.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/film/FilmViewStateFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/film/FilmViewStateFactory.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/film/RetryFetchFilmIntent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/film/RetryFetchFilmIntent.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/planet/PlanetView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/planet/PlanetView.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/planet/PlanetViewState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/planet/PlanetViewState.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/planet/PlanetViewStateFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/planet/PlanetViewStateFactory.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/planet/RetryFetchPlanetIntent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/planet/RetryFetchPlanetIntent.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/profile/ProfileView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/profile/ProfileView.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/profile/ProfileViewState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/profile/ProfileViewState.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/profile/ProfileViewStateFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/profile/ProfileViewStateFactory.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/specie/RetryFetchSpecieIntent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/specie/RetryFetchSpecieIntent.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/specie/SpecieView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/specie/SpecieView.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/specie/SpecieViewState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/specie/SpecieViewState.kt -------------------------------------------------------------------------------- /character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/specie/SpecieViewStateFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/java/com/ezike/tobenna/starwarssearch/characterdetail/ui/views/specie/SpecieViewStateFactory.kt -------------------------------------------------------------------------------- /character-detail/src/main/res/drawable/arrow_back.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/drawable/arrow_back.xml -------------------------------------------------------------------------------- /character-detail/src/main/res/layout/detail_loading_layout.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/layout/detail_loading_layout.xml -------------------------------------------------------------------------------- /character-detail/src/main/res/layout/film_view_layout.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/layout/film_view_layout.xml -------------------------------------------------------------------------------- /character-detail/src/main/res/layout/fragment_character_detail.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/layout/fragment_character_detail.xml -------------------------------------------------------------------------------- /character-detail/src/main/res/layout/item_film.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/layout/item_film.xml -------------------------------------------------------------------------------- /character-detail/src/main/res/layout/item_specie.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/layout/item_specie.xml -------------------------------------------------------------------------------- /character-detail/src/main/res/layout/planet_view_layout.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/layout/planet_view_layout.xml -------------------------------------------------------------------------------- /character-detail/src/main/res/layout/profile_view_layout.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/layout/profile_view_layout.xml -------------------------------------------------------------------------------- /character-detail/src/main/res/layout/specie_view_layout.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/layout/specie_view_layout.xml -------------------------------------------------------------------------------- /character-detail/src/main/res/navigation/detail_nav_graph.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/navigation/detail_nav_graph.xml -------------------------------------------------------------------------------- /character-detail/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /character-detail/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /character-detail/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/data/DummyData.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/data/DummyData.kt -------------------------------------------------------------------------------- /character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/fakes/FakeCharacterDetailRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/fakes/FakeCharacterDetailRepository.kt -------------------------------------------------------------------------------- /character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/fakes/TestPostExecutionThread.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/fakes/TestPostExecutionThread.kt -------------------------------------------------------------------------------- /character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/CharacterDetailModelMapperTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/CharacterDetailModelMapperTest.kt -------------------------------------------------------------------------------- /character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/FilmModelMapperTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/FilmModelMapperTest.kt -------------------------------------------------------------------------------- /character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/PlanetModelMapperTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/PlanetModelMapperTest.kt -------------------------------------------------------------------------------- /character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/SpecieModelMapperTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/mapper/SpecieModelMapperTest.kt -------------------------------------------------------------------------------- /character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/CharacterDetailViewIntentProcessorTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/CharacterDetailViewIntentProcessorTest.kt -------------------------------------------------------------------------------- /character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/CharacterDetailViewStateReducerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character-detail/src/test/java/com/ezike/tobenna/starwarssearch/characterdetail/presentation/CharacterDetailViewStateReducerTest.kt -------------------------------------------------------------------------------- /character_search/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /character_search/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/build.gradle.kts -------------------------------------------------------------------------------- /character_search/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /character_search/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/proguard-rules.pro -------------------------------------------------------------------------------- /character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/CustomTestRunner.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/CustomTestRunner.kt -------------------------------------------------------------------------------- /character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/di/TestModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/di/TestModule.kt -------------------------------------------------------------------------------- /character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/di/fakes/FakeCharacterDetailRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/di/fakes/FakeCharacterDetailRepository.kt -------------------------------------------------------------------------------- /character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/di/fakes/FakeSearchHistoryRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/di/fakes/FakeSearchHistoryRepository.kt -------------------------------------------------------------------------------- /character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/di/fakes/FakeSearchRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/di/fakes/FakeSearchRepository.kt -------------------------------------------------------------------------------- /character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/DummyData.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/DummyData.kt -------------------------------------------------------------------------------- /character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/SearchFragmentTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/androidTest/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/SearchFragmentTest.kt -------------------------------------------------------------------------------- /character_search/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/data/ApiService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/data/ApiService.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/data/CharacterEntity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/data/CharacterEntity.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/data/DataModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/data/DataModule.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/data/SearchRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/data/SearchRepository.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/di/SearchCharacterModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/di/SearchCharacterModule.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/mapper/CharacterModelMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/mapper/CharacterModelMapper.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/model/CharacterModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/model/CharacterModel.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/navigation/Navigator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/navigation/Navigator.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/Alias.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/Alias.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenIntent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenIntent.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenIntentProcessor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenIntentProcessor.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenResult.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenResult.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenStateMachine.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenStateMachine.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenStateReducer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenStateReducer.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/viewstate/SearchScreenState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/viewstate/SearchScreenState.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/CharacterSearchViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/CharacterSearchViewModel.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/SearchFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/SearchFragment.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/adapter/SearchHistoryAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/adapter/SearchHistoryAdapter.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/adapter/SearchResultAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/adapter/SearchResultAdapter.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/views/history/SearchHistoryView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/views/history/SearchHistoryView.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/views/history/SearchHistoryViewState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/views/history/SearchHistoryViewState.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/views/result/SearchResultView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/views/result/SearchResultView.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/views/result/SearchResultViewState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/views/result/SearchResultViewState.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/views/search/SearchBarView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/views/search/SearchBarView.kt -------------------------------------------------------------------------------- /character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/views/search/SearchExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/java/com/ezike/tobenna/starwarssearch/charactersearch/ui/views/search/SearchExtensions.kt -------------------------------------------------------------------------------- /character_search/src/main/res/drawable/ic_baseline_access_time_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/drawable/ic_baseline_access_time_24.xml -------------------------------------------------------------------------------- /character_search/src/main/res/drawable/ic_baseline_keyboard_arrow_right_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/drawable/ic_baseline_keyboard_arrow_right_24.xml -------------------------------------------------------------------------------- /character_search/src/main/res/drawable/ic_baseline_search_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/drawable/ic_baseline_search_24.xml -------------------------------------------------------------------------------- /character_search/src/main/res/drawable/ic_empty.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/drawable/ic_empty.xml -------------------------------------------------------------------------------- /character_search/src/main/res/drawable/search_bar_bg.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/drawable/search_bar_bg.xml -------------------------------------------------------------------------------- /character_search/src/main/res/layout/fragment_search.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/layout/fragment_search.xml -------------------------------------------------------------------------------- /character_search/src/main/res/layout/layout_search_history.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/layout/layout_search_history.xml -------------------------------------------------------------------------------- /character_search/src/main/res/layout/layout_search_result.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/layout/layout_search_result.xml -------------------------------------------------------------------------------- /character_search/src/main/res/layout/search_history.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/layout/search_history.xml -------------------------------------------------------------------------------- /character_search/src/main/res/layout/search_result.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/layout/search_result.xml -------------------------------------------------------------------------------- /character_search/src/main/res/navigation/search_nav_graph.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/navigation/search_nav_graph.xml -------------------------------------------------------------------------------- /character_search/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/values/attrs.xml -------------------------------------------------------------------------------- /character_search/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /character_search/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /character_search/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /character_search/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /character_search/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /character_search/src/sharedTest/java/charactersearch/TestPostExecutionThread.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/sharedTest/java/charactersearch/TestPostExecutionThread.kt -------------------------------------------------------------------------------- /character_search/src/test/java/com/ezike/tobenna/starwarssearch/charactersearch/data/DummyData.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/test/java/com/ezike/tobenna/starwarssearch/charactersearch/data/DummyData.kt -------------------------------------------------------------------------------- /character_search/src/test/java/com/ezike/tobenna/starwarssearch/charactersearch/fakes/FakeSearchHistoryRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/test/java/com/ezike/tobenna/starwarssearch/charactersearch/fakes/FakeSearchHistoryRepository.kt -------------------------------------------------------------------------------- /character_search/src/test/java/com/ezike/tobenna/starwarssearch/charactersearch/fakes/FakeSearchRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/test/java/com/ezike/tobenna/starwarssearch/charactersearch/fakes/FakeSearchRepository.kt -------------------------------------------------------------------------------- /character_search/src/test/java/com/ezike/tobenna/starwarssearch/charactersearch/mapper/CharacterModelMapperTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/test/java/com/ezike/tobenna/starwarssearch/charactersearch/mapper/CharacterModelMapperTest.kt -------------------------------------------------------------------------------- /character_search/src/test/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenIntentProcessorTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/test/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenIntentProcessorTest.kt -------------------------------------------------------------------------------- /character_search/src/test/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenStateReducerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/character_search/src/test/java/com/ezike/tobenna/starwarssearch/charactersearch/presentation/SearchScreenStateReducerTest.kt -------------------------------------------------------------------------------- /core/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/build.gradle.kts -------------------------------------------------------------------------------- /core/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /core/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/proguard-rules.pro -------------------------------------------------------------------------------- /core/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /core/src/main/java/com/ezike/tobenna/starwarssearch/core/AppString.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/src/main/java/com/ezike/tobenna/starwarssearch/core/AppString.kt -------------------------------------------------------------------------------- /core/src/main/java/com/ezike/tobenna/starwarssearch/core/EmptyStateView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/src/main/java/com/ezike/tobenna/starwarssearch/core/EmptyStateView.kt -------------------------------------------------------------------------------- /core/src/main/java/com/ezike/tobenna/starwarssearch/core/ext/Extensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/src/main/java/com/ezike/tobenna/starwarssearch/core/ext/Extensions.kt -------------------------------------------------------------------------------- /core/src/main/java/com/ezike/tobenna/starwarssearch/core/ext/NavigateBack.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/src/main/java/com/ezike/tobenna/starwarssearch/core/ext/NavigateBack.kt -------------------------------------------------------------------------------- /core/src/main/java/com/ezike/tobenna/starwarssearch/core/ext/ViewExt.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/src/main/java/com/ezike/tobenna/starwarssearch/core/ext/ViewExt.kt -------------------------------------------------------------------------------- /core/src/main/res/drawable/ic_error_page_2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/src/main/res/drawable/ic_error_page_2.xml -------------------------------------------------------------------------------- /core/src/main/res/layout/simple_empty_state_view_layout.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/src/main/res/layout/simple_empty_state_view_layout.xml -------------------------------------------------------------------------------- /core/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/src/main/res/values/attrs.xml -------------------------------------------------------------------------------- /core/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /core/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /core/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /core/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/core/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/gradlew.bat -------------------------------------------------------------------------------- /libraries/cache/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /libraries/cache/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/cache/build.gradle.kts -------------------------------------------------------------------------------- /libraries/cache/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /libraries/cache/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/cache/proguard-rules.pro -------------------------------------------------------------------------------- /libraries/cache/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/di/CacheModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/di/CacheModule.kt -------------------------------------------------------------------------------- /libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/mapper/CacheModelMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/mapper/CacheModelMapper.kt -------------------------------------------------------------------------------- /libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/model/CharacterCacheModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/model/CharacterCacheModel.kt -------------------------------------------------------------------------------- /libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/model/CharacterDetailCacheModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/model/CharacterDetailCacheModel.kt -------------------------------------------------------------------------------- /libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/room/CharacterDetailDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/room/CharacterDetailDao.kt -------------------------------------------------------------------------------- /libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/room/SearchHistoryDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/room/SearchHistoryDao.kt -------------------------------------------------------------------------------- /libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/room/StarWarsDatabase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/room/StarWarsDatabase.kt -------------------------------------------------------------------------------- /libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/room/TypeConverter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/cache/src/main/java/com/ezike/tobenna/starwarssearch/cache/room/TypeConverter.kt -------------------------------------------------------------------------------- /libraries/remote/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /libraries/remote/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/remote/build.gradle.kts -------------------------------------------------------------------------------- /libraries/remote/src/main/java/com/ezike/tobenna/starwarssearch/remote/RemoteFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/remote/src/main/java/com/ezike/tobenna/starwarssearch/remote/RemoteFactory.kt -------------------------------------------------------------------------------- /libraries/remote/src/main/java/com/ezike/tobenna/starwarssearch/remote/di/RemoteModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/remote/src/main/java/com/ezike/tobenna/starwarssearch/remote/di/RemoteModule.kt -------------------------------------------------------------------------------- /libraries/remote/src/main/java/com/ezike/tobenna/starwarssearch/remote/interceptor/HttpsInterceptor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/remote/src/main/java/com/ezike/tobenna/starwarssearch/remote/interceptor/HttpsInterceptor.kt -------------------------------------------------------------------------------- /libraries/remote/src/main/java/com/ezike/tobenna/starwarssearch/remote/interceptor/NoInternetInterceptor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/remote/src/main/java/com/ezike/tobenna/starwarssearch/remote/interceptor/NoInternetInterceptor.kt -------------------------------------------------------------------------------- /libraries/remote/src/main/java/com/ezike/tobenna/starwarssearch/remote/mapper/RemoteModelMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/remote/src/main/java/com/ezike/tobenna/starwarssearch/remote/mapper/RemoteModelMapper.kt -------------------------------------------------------------------------------- /libraries/testUtils/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /libraries/testUtils/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/testUtils/build.gradle.kts -------------------------------------------------------------------------------- /libraries/testUtils/src/main/java/com/ezike/tobenna/starwarssearch/testutils/Extensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/testUtils/src/main/java/com/ezike/tobenna/starwarssearch/testutils/Extensions.kt -------------------------------------------------------------------------------- /libraries/testUtils/src/main/java/com/ezike/tobenna/starwarssearch/testutils/FlowRecorder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/testUtils/src/main/java/com/ezike/tobenna/starwarssearch/testutils/FlowRecorder.kt -------------------------------------------------------------------------------- /libraries/testUtils/src/main/java/com/ezike/tobenna/starwarssearch/testutils/MainCoroutineRule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/testUtils/src/main/java/com/ezike/tobenna/starwarssearch/testutils/MainCoroutineRule.kt -------------------------------------------------------------------------------- /libraries/testUtils/src/main/java/com/ezike/tobenna/starwarssearch/testutils/ResponseType.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/libraries/testUtils/src/main/java/com/ezike/tobenna/starwarssearch/testutils/ResponseType.kt -------------------------------------------------------------------------------- /navigation/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /navigation/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/navigation/build.gradle.kts -------------------------------------------------------------------------------- /navigation/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /navigation/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/navigation/proguard-rules.pro -------------------------------------------------------------------------------- /navigation/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /navigation/src/main/java/com/ezike/tobenna/starwarssearch/navigation/SearchScreenNavigator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/navigation/src/main/java/com/ezike/tobenna/starwarssearch/navigation/SearchScreenNavigator.kt -------------------------------------------------------------------------------- /navigation/src/main/java/com/ezike/tobenna/starwarssearch/navigation/di/NavigationModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/navigation/src/main/java/com/ezike/tobenna/starwarssearch/navigation/di/NavigationModule.kt -------------------------------------------------------------------------------- /navigation/src/main/res/navigation/navigation_root.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/navigation/src/main/res/navigation/navigation_root.xml -------------------------------------------------------------------------------- /presentation-android/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /presentation-android/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation-android/build.gradle.kts -------------------------------------------------------------------------------- /presentation-android/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /presentation-android/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation-android/proguard-rules.pro -------------------------------------------------------------------------------- /presentation-android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /presentation-android/src/main/java/com/ezike/tobenna/starwarssearch/presentation_android/AssistedCreator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation-android/src/main/java/com/ezike/tobenna/starwarssearch/presentation_android/AssistedCreator.kt -------------------------------------------------------------------------------- /presentation-android/src/main/java/com/ezike/tobenna/starwarssearch/presentation_android/ComponentManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation-android/src/main/java/com/ezike/tobenna/starwarssearch/presentation_android/ComponentManager.kt -------------------------------------------------------------------------------- /presentation-android/src/main/java/com/ezike/tobenna/starwarssearch/presentation_android/Disposer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation-android/src/main/java/com/ezike/tobenna/starwarssearch/presentation_android/Disposer.kt -------------------------------------------------------------------------------- /presentation-android/src/main/java/com/ezike/tobenna/starwarssearch/presentation_android/UIComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation-android/src/main/java/com/ezike/tobenna/starwarssearch/presentation_android/UIComponent.kt -------------------------------------------------------------------------------- /presentation/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /presentation/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/build.gradle.kts -------------------------------------------------------------------------------- /presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/BaseComponentManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/BaseComponentManager.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/IntentProcessor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/IntentProcessor.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/StateReducer.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/StateReducer.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/Subscriber.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/Subscriber.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/ViewIntent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/ViewIntent.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/ViewResult.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/ViewResult.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/ViewState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/base/ViewState.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/mapper/ModelMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/mapper/ModelMapper.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/stateMachine/RenderStrategy.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/stateMachine/RenderStrategy.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/stateMachine/StateMachine.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/stateMachine/StateMachine.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/stateMachine/Subscription.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/stateMachine/Subscription.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/stateMachine/SubscriptionManager.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/presentation/src/main/java/com/ezike/tobenna/starwarssearch/presentation/stateMachine/SubscriptionManager.kt -------------------------------------------------------------------------------- /process.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/process.md -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ezike/StarWarsSearch-MVI/HEAD/settings.gradle.kts -------------------------------------------------------------------------------- /setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ./.scripts/install_ktlint.sh $1 3 | --------------------------------------------------------------------------------