├── .detekt ├── baseline.xml └── config.yml ├── .editorconfig ├── .github └── workflows │ └── build.yml ├── .gitignore ├── LICENSE ├── README.md ├── app ├── .gitignore ├── benchmark-rules.pro ├── build.gradle.kts ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ ├── baseline-prof.txt │ ├── ic_launcher-playstore.png │ ├── kotlin │ │ └── com │ │ │ └── azizutku │ │ │ └── movie │ │ │ ├── BaseApplication.kt │ │ │ └── MainActivity.kt │ └── res │ │ ├── drawable │ │ ├── ic_fill_home_24.xml │ │ ├── ic_fill_movie_scale_50.xml │ │ ├── ic_launcher_background.xml │ │ ├── ic_launcher_foreground.xml │ │ └── selector_color_bottom_nav.xml │ │ ├── layout │ │ └── activity_main.xml │ │ ├── menu │ │ └── bottom_menu.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 │ │ ├── navigation │ │ └── nav_main.xml │ │ ├── values-night │ │ ├── colors.xml │ │ └── splash.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── ic_launcher_background.xml │ │ ├── splash.xml │ │ └── strings.xml │ ├── prod │ └── res │ │ └── values │ │ └── strings.xml │ └── qa │ └── res │ └── values │ └── strings.xml ├── benchmark ├── .gitignore ├── build.gradle.kts ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── azizutku │ └── movie │ └── benchmark │ ├── Utils.kt │ ├── baselineprofile │ └── BaselineProfileGenerator.kt │ ├── features │ ├── movie │ │ ├── MovieActions.kt │ │ └── MovieBenchmark.kt │ ├── trending │ │ ├── TrendingActions.kt │ │ └── TrendingBenchmark.kt │ └── watchlist │ │ ├── WatchlistActions.kt │ │ └── WatchlistBenchmark.kt │ └── startup │ └── StartupBenchmark.kt ├── core ├── common │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── kotlin │ │ │ └── com │ │ │ │ └── azizutku │ │ │ │ └── movie │ │ │ │ └── core │ │ │ │ └── common │ │ │ │ ├── base │ │ │ │ ├── BaseListAdapter.kt │ │ │ │ ├── BaseViewHolder.kt │ │ │ │ ├── BaseViewModel.kt │ │ │ │ ├── ErrorOwner.kt │ │ │ │ └── LoadingOwner.kt │ │ │ │ ├── di │ │ │ │ ├── DispatchersModule.kt │ │ │ │ └── ThemeUtilsModule.kt │ │ │ │ ├── extensions │ │ │ │ ├── BooleanExtensions.kt │ │ │ │ ├── FragmentExtensions.kt │ │ │ │ └── NavController.kt │ │ │ │ ├── network │ │ │ │ └── NetworkException.kt │ │ │ │ ├── util │ │ │ │ ├── Constants.kt │ │ │ │ ├── ErrorHandler.kt │ │ │ │ ├── Mapper.kt │ │ │ │ ├── ThemeUtils.kt │ │ │ │ └── ThemeUtilsImpl.kt │ │ │ │ └── vo │ │ │ │ └── DataState.kt │ │ └── res │ │ │ ├── anim │ │ │ ├── slide_in_left.xml │ │ │ ├── slide_in_right.xml │ │ │ ├── slide_out_left.xml │ │ │ └── slide_out_right.xml │ │ │ └── values │ │ │ └── deeplinks.xml │ │ └── test │ │ └── kotlin │ │ └── com │ │ └── azizutku │ │ └── movie │ │ └── core │ │ └── common │ │ ├── base │ │ ├── ErrorOwnerTest.kt │ │ └── LoadingOwnerTest.kt │ │ ├── extensions │ │ ├── BooleanExtensionsTest.kt │ │ └── NavControllerExtensionsTest.kt │ │ ├── fakes │ │ ├── FakeErrorOwnerViewModel.kt │ │ └── FakeLoadingOwnerViewModel.kt │ │ ├── network │ │ ├── GeneralNetworkExceptionCodeTest.kt │ │ └── NetworkExceptionTest.kt │ │ └── util │ │ └── ThemeUtilsTest.kt ├── database │ ├── .gitignore │ ├── build.gradle.kts │ ├── schemas │ │ └── com.azizutku.movie.core.database.MainDatabase │ │ │ └── 1.json │ └── src │ │ └── main │ │ └── kotlin │ │ └── com │ │ └── azizutku │ │ └── movie │ │ └── core │ │ └── database │ │ ├── MainDatabase.kt │ │ ├── dao │ │ ├── MoviesDao.kt │ │ ├── TrendingMovieRemoteKeysDao.kt │ │ ├── TrendingMoviesDao.kt │ │ └── WatchlistDao.kt │ │ ├── di │ │ └── DatabaseModule.kt │ │ └── model │ │ ├── MovieEntity.kt │ │ ├── TrendingMovieEntity.kt │ │ ├── TrendingMovieRemoteKeyEntity.kt │ │ └── WatchlistEntity.kt ├── domain │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── kotlin │ │ └── com │ │ └── azizutku │ │ └── movie │ │ └── core │ │ └── domain │ │ └── watchlist │ │ ├── repository │ │ └── WatchlistRepository.kt │ │ └── usecase │ │ ├── AddMovieToWatchlistUseCase.kt │ │ ├── CheckMovieInWatchlistUseCase.kt │ │ └── RemoveMovieFromWatchlistUseCase.kt ├── model │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── kotlin │ │ └── com │ │ └── azizutku │ │ └── movie │ │ └── core │ │ └── model │ │ └── watchlist │ │ ├── MovieWatchlistState.kt │ │ └── WatchlistMovie.kt ├── network │ ├── .gitignore │ ├── build.gradle.kts │ ├── gradle.properties │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ └── kotlin │ │ │ └── com │ │ │ └── azizutku │ │ │ └── movie │ │ │ └── core │ │ │ └── network │ │ │ ├── ResultCall.kt │ │ │ ├── ResultCallAdapterFactory.kt │ │ │ └── di │ │ │ └── NetworkModule.kt │ │ └── test │ │ └── kotlin │ │ └── com │ │ └── azizutku │ │ └── movie │ │ └── core │ │ └── network │ │ ├── ResultCallAdapterTest.kt │ │ └── ResultCallTest.kt ├── testing │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── kotlin │ │ └── com │ │ └── azizutku │ │ └── movie │ │ └── core │ │ └── testing │ │ ├── di │ │ ├── HiltTestRunner.kt │ │ └── TestDatabaseModule.kt │ │ ├── fakes │ │ ├── trending │ │ │ └── FakeTrendingRemoteDataSourceImpl.kt │ │ └── watchlist │ │ │ ├── FakeWatchlistLocalDataSourceImpl.kt │ │ │ └── FakeWatchlistRepositoryImpl.kt │ │ ├── models │ │ ├── TestFavoriteModels.kt │ │ ├── TestMovieModels.kt │ │ └── TestTrendingModels.kt │ │ └── util │ │ └── CoroutineRule.kt └── ui │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ ├── main │ ├── AndroidManifest.xml │ ├── kotlin │ │ └── com │ │ │ └── azizutku │ │ │ └── movie │ │ │ └── core │ │ │ └── ui │ │ │ ├── base │ │ │ └── BaseFragment.kt │ │ │ ├── di │ │ │ ├── DialogModule.kt │ │ │ └── ErrorHandlerModule.kt │ │ │ ├── dialogs │ │ │ ├── AlertDialog.kt │ │ │ └── LoadingDialog.kt │ │ │ ├── extensions │ │ │ └── ViewExtensions.kt │ │ │ ├── recyclerview │ │ │ └── SpacingItemDecoration.kt │ │ │ └── util │ │ │ └── ErrorHandlerImpl.kt │ └── res │ │ ├── drawable-night │ │ ├── bg_placeholder_movie_image.webp │ │ └── ic_toggle_theme_24.xml │ │ ├── drawable │ │ ├── bg_placeholder_movie_image.webp │ │ ├── ic_fill_favorite_24.xml │ │ ├── ic_line_error_24.xml │ │ └── ic_toggle_theme_24.xml │ │ ├── font │ │ ├── rubik_bold.ttf │ │ ├── rubik_medium.ttf │ │ └── rubik_regular.ttf │ │ ├── layout │ │ ├── layout_dialog_alert.xml │ │ ├── layout_dialog_loading.xml │ │ └── layout_toolbar.xml │ │ ├── menu │ │ └── toolbar_main_menu.xml │ │ ├── raw │ │ └── lottie_loading.json │ │ ├── values-night │ │ ├── colors.xml │ │ ├── style_components.xml │ │ ├── style_widgets.xml │ │ └── themes.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ ├── strings_content_description.xml │ │ ├── style_components.xml │ │ ├── style_shapes.xml │ │ ├── style_widgets.xml │ │ ├── themes.xml │ │ └── typography.xml │ └── test │ └── kotlin │ └── com │ └── azizutku │ └── movie │ └── core │ └── ui │ ├── extensions │ └── ViewExtensionsTest.kt │ ├── recyclerview │ └── SpacingItemDecorationTest.kt │ └── util │ └── ErrorHandlerTest.kt ├── feature ├── movie │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ │ ├── androidTest │ │ └── kotlin │ │ │ └── com │ │ │ └── azizutku │ │ │ └── movie │ │ │ └── feature │ │ │ └── movie │ │ │ ├── di │ │ │ └── TestMovieDatabaseModule.kt │ │ │ └── repository │ │ │ └── datasource │ │ │ └── MovieLocalDataSourceImplTest.kt │ │ ├── main │ │ ├── kotlin │ │ │ └── com │ │ │ │ └── azizutku │ │ │ │ └── movie │ │ │ │ └── feature │ │ │ │ └── movie │ │ │ │ ├── data │ │ │ │ ├── remote │ │ │ │ │ ├── MovieApiService.kt │ │ │ │ │ └── dto │ │ │ │ │ │ ├── GenreDto.kt │ │ │ │ │ │ └── MovieDto.kt │ │ │ │ └── repository │ │ │ │ │ ├── MovieRepositoryImpl.kt │ │ │ │ │ ├── datasource │ │ │ │ │ ├── MovieCacheDataSource.kt │ │ │ │ │ ├── MovieLocalDataSource.kt │ │ │ │ │ └── MovieRemoteDataSource.kt │ │ │ │ │ └── datasourceImpl │ │ │ │ │ ├── MovieCacheDataSourceImpl.kt │ │ │ │ │ ├── MovieLocalDataSourceImpl.kt │ │ │ │ │ └── MovieRemoteDataSourceImpl.kt │ │ │ │ ├── di │ │ │ │ ├── MovieApiServiceModule.kt │ │ │ │ ├── MovieDatabaseModule.kt │ │ │ │ └── MovieModule.kt │ │ │ │ ├── domain │ │ │ │ ├── model │ │ │ │ │ ├── Movie.kt │ │ │ │ │ ├── MovieLocalMapper.kt │ │ │ │ │ └── MovieRemoteToLocalMapper.kt │ │ │ │ ├── repository │ │ │ │ │ └── MovieRepository.kt │ │ │ │ └── usecase │ │ │ │ │ └── GetMovieUseCase.kt │ │ │ │ └── presentation │ │ │ │ ├── MovieFragment.kt │ │ │ │ ├── MovieUiState.kt │ │ │ │ └── MovieViewModel.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── ic_line_favorite_24.xml │ │ │ └── ic_logo_tmdb.xml │ │ │ ├── layout │ │ │ └── fragment_movie.xml │ │ │ ├── menu │ │ │ └── toolbar_movie_menu.xml │ │ │ ├── navigation │ │ │ └── nav_movie.xml │ │ │ └── values │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── strings_content_description.xml │ │ └── test │ │ └── kotlin │ │ └── com │ │ └── azizutku │ │ └── movie │ │ └── features │ │ └── movie │ │ ├── data │ │ └── repository │ │ │ └── datasource │ │ │ ├── MovieCacheDataSourceImplTest.kt │ │ │ └── fakes │ │ │ ├── FakeMovieCacheDataSourceImpl.kt │ │ │ ├── FakeMovieLocalDataSourceImpl.kt │ │ │ └── FakeMovieRemoteDataSourceImpl.kt │ │ └── presentation │ │ └── MovieViewModelTest.kt ├── trending │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ │ ├── androidTest │ │ └── kotlin │ │ │ └── com │ │ │ └── azizutku │ │ │ └── movie │ │ │ └── feature │ │ │ └── trending │ │ │ ├── di │ │ │ └── TestTrendingDatabaseModule.kt │ │ │ └── repository │ │ │ ├── datasource │ │ │ └── TrendingLocalDataSourceImplTest.kt │ │ │ └── mediator │ │ │ └── TrendingRemoteMediatorTest.kt │ │ ├── main │ │ ├── kotlin │ │ │ └── com │ │ │ │ └── azizutku │ │ │ │ └── movie │ │ │ │ └── feature │ │ │ │ └── trending │ │ │ │ ├── data │ │ │ │ ├── remote │ │ │ │ │ ├── TrendingApiService.kt │ │ │ │ │ └── dto │ │ │ │ │ │ ├── TrendingDto.kt │ │ │ │ │ │ └── TrendingMovieDto.kt │ │ │ │ └── repository │ │ │ │ │ ├── TrendingRepositoryImpl.kt │ │ │ │ │ ├── datasource │ │ │ │ │ ├── TrendingLocalDataSource.kt │ │ │ │ │ └── TrendingRemoteDataSource.kt │ │ │ │ │ ├── datasourceImpl │ │ │ │ │ ├── TrendingLocalDataSourceImpl.kt │ │ │ │ │ └── TrendingRemoteDataSourceImpl.kt │ │ │ │ │ └── mediator │ │ │ │ │ └── TrendingRemoteMediator.kt │ │ │ │ ├── di │ │ │ │ ├── TrendingAdapterModule.kt │ │ │ │ ├── TrendingApiServiceModule.kt │ │ │ │ ├── TrendingDatabaseModule.kt │ │ │ │ └── TrendingModule.kt │ │ │ │ ├── domain │ │ │ │ ├── model │ │ │ │ │ ├── TrendingMovie.kt │ │ │ │ │ ├── TrendingMovieRemoteToLocalMapper.kt │ │ │ │ │ └── TrendingMoviesLocalMapper.kt │ │ │ │ ├── repository │ │ │ │ │ └── TrendingRepository.kt │ │ │ │ └── usecase │ │ │ │ │ └── GetTrendingMoviesUseCase.kt │ │ │ │ └── presentation │ │ │ │ ├── TrendingFragment.kt │ │ │ │ ├── TrendingUiState.kt │ │ │ │ ├── TrendingViewModel.kt │ │ │ │ └── adapters │ │ │ │ ├── TrendingMovieLoadStateAdapter.kt │ │ │ │ ├── TrendingMovieLoadStateViewHolder.kt │ │ │ │ ├── TrendingMovieViewHolder.kt │ │ │ │ └── TrendingMoviesAdapter.kt │ │ └── res │ │ │ ├── drawable │ │ │ ├── bg_badge.xml │ │ │ └── ic_line_refresh_24.xml │ │ │ ├── layout │ │ │ ├── fragment_trending.xml │ │ │ ├── list_item_load_state.xml │ │ │ └── list_item_trending_movie.xml │ │ │ ├── navigation │ │ │ └── nav_trending.xml │ │ │ └── values │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── strings_content_description.xml │ │ └── test │ │ └── kotlin │ │ └── com │ │ └── azizutku │ │ └── movie │ │ └── feature │ │ └── trending │ │ ├── data │ │ └── repository │ │ │ └── datasource │ │ │ └── fakes │ │ │ └── FakeTrendingLocalDataSourceImpl.kt │ │ └── presentation │ │ └── TrendingViewModelTest.kt └── watchlist │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ ├── androidTest │ └── kotlin │ │ └── com │ │ └── azizutku │ │ └── movie │ │ └── feature │ │ └── watchlist │ │ ├── di │ │ └── TestWatchlistDatabaseModule.kt │ │ └── repository │ │ └── datasource │ │ └── WatchlistLocalDataSourceImplTest.kt │ ├── main │ ├── kotlin │ │ └── com │ │ │ └── azizutku │ │ │ └── movie │ │ │ └── feature │ │ │ └── watchlist │ │ │ ├── data │ │ │ └── repository │ │ │ │ ├── WatchlistRepositoryImpl.kt │ │ │ │ ├── datasource │ │ │ │ └── WatchlistLocalDataSource.kt │ │ │ │ └── datasourceImpl │ │ │ │ └── WatchlistLocalDataSourceImpl.kt │ │ │ ├── di │ │ │ ├── WatchlistDatabaseModule.kt │ │ │ └── WatchlistModule.kt │ │ │ ├── domain │ │ │ ├── model │ │ │ │ └── WatchlistMovieLocalMapper.kt │ │ │ ├── repository │ │ │ │ └── WatchlistRepository.kt │ │ │ └── usecase │ │ │ │ └── GetMoviesFromWatchlistUseCase.kt │ │ │ └── presentation │ │ │ ├── WatchlistFragment.kt │ │ │ ├── WatchlistUiState.kt │ │ │ ├── WatchlistViewModel.kt │ │ │ └── adapter │ │ │ ├── WatchlistMovieViewHolder.kt │ │ │ └── WatchlistMoviesAdapter.kt │ └── res │ │ ├── layout │ │ ├── fragment_watchlist.xml │ │ └── list_item_watchlist_movie.xml │ │ ├── navigation │ │ └── nav_watchlist.xml │ │ └── values │ │ ├── integers.xml │ │ ├── strings.xml │ │ └── strings_content_description.xml │ └── test │ └── kotlin │ └── com │ └── azizutku │ └── movie │ └── feature │ └── watchlist │ ├── data │ └── repository │ │ └── WatchlistRepositoryImplTest.kt │ └── presentation │ └── WatchlistViewModelTest.kt ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── images ├── app_tour.gif ├── modules.png ├── movie_detail_dark.png ├── movie_detail_light.png ├── project_showcase.png ├── trending_movies_dark.png ├── trending_movies_light.png ├── watchlist_dark.png └── watchlist_light.png ├── scripts └── git-hooks │ └── pre-commit.sh └── settings.gradle.kts /.detekt/baseline.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/.detekt/baseline.xml -------------------------------------------------------------------------------- /.detekt/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/.detekt/config.yml -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/benchmark-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/benchmark-rules.pro -------------------------------------------------------------------------------- /app/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/build.gradle.kts -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/baseline-prof.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/baseline-prof.txt -------------------------------------------------------------------------------- /app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/kotlin/com/azizutku/movie/BaseApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/kotlin/com/azizutku/movie/BaseApplication.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/azizutku/movie/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/kotlin/com/azizutku/movie/MainActivity.kt -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_fill_home_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/drawable/ic_fill_home_24.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_fill_movie_scale_50.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/drawable/ic_fill_movie_scale_50.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/drawable/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/selector_color_bottom_nav.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/drawable/selector_color_bottom_nav.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /app/src/main/res/menu/bottom_menu.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/menu/bottom_menu.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/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/azizutku/Modular-Clean-Arch-Movie-App/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/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/navigation/nav_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/navigation/nav_main.xml -------------------------------------------------------------------------------- /app/src/main/res/values-night/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/values-night/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values-night/splash.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/values-night/splash.xml -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/values/ic_launcher_background.xml -------------------------------------------------------------------------------- /app/src/main/res/values/splash.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/values/splash.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/prod/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/prod/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/qa/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/app/src/qa/res/values/strings.xml -------------------------------------------------------------------------------- /benchmark/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /benchmark/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | id("movie.android.benchmark") 3 | } 4 | -------------------------------------------------------------------------------- /benchmark/gradle.properties: -------------------------------------------------------------------------------- 1 | android.enableBuildConfigAsBytecode=true 2 | -------------------------------------------------------------------------------- /benchmark/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /benchmark/src/main/java/com/azizutku/movie/benchmark/Utils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/benchmark/src/main/java/com/azizutku/movie/benchmark/Utils.kt -------------------------------------------------------------------------------- /benchmark/src/main/java/com/azizutku/movie/benchmark/baselineprofile/BaselineProfileGenerator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/benchmark/src/main/java/com/azizutku/movie/benchmark/baselineprofile/BaselineProfileGenerator.kt -------------------------------------------------------------------------------- /benchmark/src/main/java/com/azizutku/movie/benchmark/features/movie/MovieActions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/benchmark/src/main/java/com/azizutku/movie/benchmark/features/movie/MovieActions.kt -------------------------------------------------------------------------------- /benchmark/src/main/java/com/azizutku/movie/benchmark/features/movie/MovieBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/benchmark/src/main/java/com/azizutku/movie/benchmark/features/movie/MovieBenchmark.kt -------------------------------------------------------------------------------- /benchmark/src/main/java/com/azizutku/movie/benchmark/features/trending/TrendingActions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/benchmark/src/main/java/com/azizutku/movie/benchmark/features/trending/TrendingActions.kt -------------------------------------------------------------------------------- /benchmark/src/main/java/com/azizutku/movie/benchmark/features/trending/TrendingBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/benchmark/src/main/java/com/azizutku/movie/benchmark/features/trending/TrendingBenchmark.kt -------------------------------------------------------------------------------- /benchmark/src/main/java/com/azizutku/movie/benchmark/features/watchlist/WatchlistActions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/benchmark/src/main/java/com/azizutku/movie/benchmark/features/watchlist/WatchlistActions.kt -------------------------------------------------------------------------------- /benchmark/src/main/java/com/azizutku/movie/benchmark/features/watchlist/WatchlistBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/benchmark/src/main/java/com/azizutku/movie/benchmark/features/watchlist/WatchlistBenchmark.kt -------------------------------------------------------------------------------- /benchmark/src/main/java/com/azizutku/movie/benchmark/startup/StartupBenchmark.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/benchmark/src/main/java/com/azizutku/movie/benchmark/startup/StartupBenchmark.kt -------------------------------------------------------------------------------- /core/common/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/common/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/build.gradle.kts -------------------------------------------------------------------------------- /core/common/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/base/BaseListAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/base/BaseListAdapter.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/base/BaseViewHolder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/base/BaseViewHolder.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/base/BaseViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/base/BaseViewModel.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/base/ErrorOwner.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/base/ErrorOwner.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/base/LoadingOwner.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/base/LoadingOwner.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/di/DispatchersModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/di/DispatchersModule.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/di/ThemeUtilsModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/di/ThemeUtilsModule.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/extensions/BooleanExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/extensions/BooleanExtensions.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/extensions/FragmentExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/extensions/FragmentExtensions.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/extensions/NavController.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/extensions/NavController.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/network/NetworkException.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/network/NetworkException.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/util/Constants.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/util/Constants.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/util/ErrorHandler.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/util/ErrorHandler.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/util/Mapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/util/Mapper.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/util/ThemeUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/util/ThemeUtils.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/util/ThemeUtilsImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/util/ThemeUtilsImpl.kt -------------------------------------------------------------------------------- /core/common/src/main/kotlin/com/azizutku/movie/core/common/vo/DataState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/kotlin/com/azizutku/movie/core/common/vo/DataState.kt -------------------------------------------------------------------------------- /core/common/src/main/res/anim/slide_in_left.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/res/anim/slide_in_left.xml -------------------------------------------------------------------------------- /core/common/src/main/res/anim/slide_in_right.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/res/anim/slide_in_right.xml -------------------------------------------------------------------------------- /core/common/src/main/res/anim/slide_out_left.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/res/anim/slide_out_left.xml -------------------------------------------------------------------------------- /core/common/src/main/res/anim/slide_out_right.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/res/anim/slide_out_right.xml -------------------------------------------------------------------------------- /core/common/src/main/res/values/deeplinks.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/main/res/values/deeplinks.xml -------------------------------------------------------------------------------- /core/common/src/test/kotlin/com/azizutku/movie/core/common/base/ErrorOwnerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/test/kotlin/com/azizutku/movie/core/common/base/ErrorOwnerTest.kt -------------------------------------------------------------------------------- /core/common/src/test/kotlin/com/azizutku/movie/core/common/base/LoadingOwnerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/test/kotlin/com/azizutku/movie/core/common/base/LoadingOwnerTest.kt -------------------------------------------------------------------------------- /core/common/src/test/kotlin/com/azizutku/movie/core/common/extensions/BooleanExtensionsTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/test/kotlin/com/azizutku/movie/core/common/extensions/BooleanExtensionsTest.kt -------------------------------------------------------------------------------- /core/common/src/test/kotlin/com/azizutku/movie/core/common/extensions/NavControllerExtensionsTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/test/kotlin/com/azizutku/movie/core/common/extensions/NavControllerExtensionsTest.kt -------------------------------------------------------------------------------- /core/common/src/test/kotlin/com/azizutku/movie/core/common/fakes/FakeErrorOwnerViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/test/kotlin/com/azizutku/movie/core/common/fakes/FakeErrorOwnerViewModel.kt -------------------------------------------------------------------------------- /core/common/src/test/kotlin/com/azizutku/movie/core/common/fakes/FakeLoadingOwnerViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/test/kotlin/com/azizutku/movie/core/common/fakes/FakeLoadingOwnerViewModel.kt -------------------------------------------------------------------------------- /core/common/src/test/kotlin/com/azizutku/movie/core/common/network/GeneralNetworkExceptionCodeTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/test/kotlin/com/azizutku/movie/core/common/network/GeneralNetworkExceptionCodeTest.kt -------------------------------------------------------------------------------- /core/common/src/test/kotlin/com/azizutku/movie/core/common/network/NetworkExceptionTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/test/kotlin/com/azizutku/movie/core/common/network/NetworkExceptionTest.kt -------------------------------------------------------------------------------- /core/common/src/test/kotlin/com/azizutku/movie/core/common/util/ThemeUtilsTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/common/src/test/kotlin/com/azizutku/movie/core/common/util/ThemeUtilsTest.kt -------------------------------------------------------------------------------- /core/database/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/database/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/database/build.gradle.kts -------------------------------------------------------------------------------- /core/database/schemas/com.azizutku.movie.core.database.MainDatabase/1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/database/schemas/com.azizutku.movie.core.database.MainDatabase/1.json -------------------------------------------------------------------------------- /core/database/src/main/kotlin/com/azizutku/movie/core/database/MainDatabase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/database/src/main/kotlin/com/azizutku/movie/core/database/MainDatabase.kt -------------------------------------------------------------------------------- /core/database/src/main/kotlin/com/azizutku/movie/core/database/dao/MoviesDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/database/src/main/kotlin/com/azizutku/movie/core/database/dao/MoviesDao.kt -------------------------------------------------------------------------------- /core/database/src/main/kotlin/com/azizutku/movie/core/database/dao/TrendingMovieRemoteKeysDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/database/src/main/kotlin/com/azizutku/movie/core/database/dao/TrendingMovieRemoteKeysDao.kt -------------------------------------------------------------------------------- /core/database/src/main/kotlin/com/azizutku/movie/core/database/dao/TrendingMoviesDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/database/src/main/kotlin/com/azizutku/movie/core/database/dao/TrendingMoviesDao.kt -------------------------------------------------------------------------------- /core/database/src/main/kotlin/com/azizutku/movie/core/database/dao/WatchlistDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/database/src/main/kotlin/com/azizutku/movie/core/database/dao/WatchlistDao.kt -------------------------------------------------------------------------------- /core/database/src/main/kotlin/com/azizutku/movie/core/database/di/DatabaseModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/database/src/main/kotlin/com/azizutku/movie/core/database/di/DatabaseModule.kt -------------------------------------------------------------------------------- /core/database/src/main/kotlin/com/azizutku/movie/core/database/model/MovieEntity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/database/src/main/kotlin/com/azizutku/movie/core/database/model/MovieEntity.kt -------------------------------------------------------------------------------- /core/database/src/main/kotlin/com/azizutku/movie/core/database/model/TrendingMovieEntity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/database/src/main/kotlin/com/azizutku/movie/core/database/model/TrendingMovieEntity.kt -------------------------------------------------------------------------------- /core/database/src/main/kotlin/com/azizutku/movie/core/database/model/TrendingMovieRemoteKeyEntity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/database/src/main/kotlin/com/azizutku/movie/core/database/model/TrendingMovieRemoteKeyEntity.kt -------------------------------------------------------------------------------- /core/database/src/main/kotlin/com/azizutku/movie/core/database/model/WatchlistEntity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/database/src/main/kotlin/com/azizutku/movie/core/database/model/WatchlistEntity.kt -------------------------------------------------------------------------------- /core/domain/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/domain/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/domain/build.gradle.kts -------------------------------------------------------------------------------- /core/domain/src/main/kotlin/com/azizutku/movie/core/domain/watchlist/repository/WatchlistRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/domain/src/main/kotlin/com/azizutku/movie/core/domain/watchlist/repository/WatchlistRepository.kt -------------------------------------------------------------------------------- /core/domain/src/main/kotlin/com/azizutku/movie/core/domain/watchlist/usecase/AddMovieToWatchlistUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/domain/src/main/kotlin/com/azizutku/movie/core/domain/watchlist/usecase/AddMovieToWatchlistUseCase.kt -------------------------------------------------------------------------------- /core/domain/src/main/kotlin/com/azizutku/movie/core/domain/watchlist/usecase/CheckMovieInWatchlistUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/domain/src/main/kotlin/com/azizutku/movie/core/domain/watchlist/usecase/CheckMovieInWatchlistUseCase.kt -------------------------------------------------------------------------------- /core/domain/src/main/kotlin/com/azizutku/movie/core/domain/watchlist/usecase/RemoveMovieFromWatchlistUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/domain/src/main/kotlin/com/azizutku/movie/core/domain/watchlist/usecase/RemoveMovieFromWatchlistUseCase.kt -------------------------------------------------------------------------------- /core/model/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/model/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/model/build.gradle.kts -------------------------------------------------------------------------------- /core/model/src/main/kotlin/com/azizutku/movie/core/model/watchlist/MovieWatchlistState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/model/src/main/kotlin/com/azizutku/movie/core/model/watchlist/MovieWatchlistState.kt -------------------------------------------------------------------------------- /core/model/src/main/kotlin/com/azizutku/movie/core/model/watchlist/WatchlistMovie.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/model/src/main/kotlin/com/azizutku/movie/core/model/watchlist/WatchlistMovie.kt -------------------------------------------------------------------------------- /core/network/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/network/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/network/build.gradle.kts -------------------------------------------------------------------------------- /core/network/gradle.properties: -------------------------------------------------------------------------------- 1 | android.enableBuildConfigAsBytecode=true 2 | -------------------------------------------------------------------------------- /core/network/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /core/network/src/main/kotlin/com/azizutku/movie/core/network/ResultCall.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/network/src/main/kotlin/com/azizutku/movie/core/network/ResultCall.kt -------------------------------------------------------------------------------- /core/network/src/main/kotlin/com/azizutku/movie/core/network/ResultCallAdapterFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/network/src/main/kotlin/com/azizutku/movie/core/network/ResultCallAdapterFactory.kt -------------------------------------------------------------------------------- /core/network/src/main/kotlin/com/azizutku/movie/core/network/di/NetworkModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/network/src/main/kotlin/com/azizutku/movie/core/network/di/NetworkModule.kt -------------------------------------------------------------------------------- /core/network/src/test/kotlin/com/azizutku/movie/core/network/ResultCallAdapterTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/network/src/test/kotlin/com/azizutku/movie/core/network/ResultCallAdapterTest.kt -------------------------------------------------------------------------------- /core/network/src/test/kotlin/com/azizutku/movie/core/network/ResultCallTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/network/src/test/kotlin/com/azizutku/movie/core/network/ResultCallTest.kt -------------------------------------------------------------------------------- /core/testing/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/testing/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/testing/build.gradle.kts -------------------------------------------------------------------------------- /core/testing/src/main/kotlin/com/azizutku/movie/core/testing/di/HiltTestRunner.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/testing/src/main/kotlin/com/azizutku/movie/core/testing/di/HiltTestRunner.kt -------------------------------------------------------------------------------- /core/testing/src/main/kotlin/com/azizutku/movie/core/testing/di/TestDatabaseModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/testing/src/main/kotlin/com/azizutku/movie/core/testing/di/TestDatabaseModule.kt -------------------------------------------------------------------------------- /core/testing/src/main/kotlin/com/azizutku/movie/core/testing/fakes/trending/FakeTrendingRemoteDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/testing/src/main/kotlin/com/azizutku/movie/core/testing/fakes/trending/FakeTrendingRemoteDataSourceImpl.kt -------------------------------------------------------------------------------- /core/testing/src/main/kotlin/com/azizutku/movie/core/testing/fakes/watchlist/FakeWatchlistLocalDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/testing/src/main/kotlin/com/azizutku/movie/core/testing/fakes/watchlist/FakeWatchlistLocalDataSourceImpl.kt -------------------------------------------------------------------------------- /core/testing/src/main/kotlin/com/azizutku/movie/core/testing/fakes/watchlist/FakeWatchlistRepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/testing/src/main/kotlin/com/azizutku/movie/core/testing/fakes/watchlist/FakeWatchlistRepositoryImpl.kt -------------------------------------------------------------------------------- /core/testing/src/main/kotlin/com/azizutku/movie/core/testing/models/TestFavoriteModels.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/testing/src/main/kotlin/com/azizutku/movie/core/testing/models/TestFavoriteModels.kt -------------------------------------------------------------------------------- /core/testing/src/main/kotlin/com/azizutku/movie/core/testing/models/TestMovieModels.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/testing/src/main/kotlin/com/azizutku/movie/core/testing/models/TestMovieModels.kt -------------------------------------------------------------------------------- /core/testing/src/main/kotlin/com/azizutku/movie/core/testing/models/TestTrendingModels.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/testing/src/main/kotlin/com/azizutku/movie/core/testing/models/TestTrendingModels.kt -------------------------------------------------------------------------------- /core/testing/src/main/kotlin/com/azizutku/movie/core/testing/util/CoroutineRule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/testing/src/main/kotlin/com/azizutku/movie/core/testing/util/CoroutineRule.kt -------------------------------------------------------------------------------- /core/ui/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /core/ui/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/build.gradle.kts -------------------------------------------------------------------------------- /core/ui/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /core/ui/src/main/kotlin/com/azizutku/movie/core/ui/base/BaseFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/kotlin/com/azizutku/movie/core/ui/base/BaseFragment.kt -------------------------------------------------------------------------------- /core/ui/src/main/kotlin/com/azizutku/movie/core/ui/di/DialogModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/kotlin/com/azizutku/movie/core/ui/di/DialogModule.kt -------------------------------------------------------------------------------- /core/ui/src/main/kotlin/com/azizutku/movie/core/ui/di/ErrorHandlerModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/kotlin/com/azizutku/movie/core/ui/di/ErrorHandlerModule.kt -------------------------------------------------------------------------------- /core/ui/src/main/kotlin/com/azizutku/movie/core/ui/dialogs/AlertDialog.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/kotlin/com/azizutku/movie/core/ui/dialogs/AlertDialog.kt -------------------------------------------------------------------------------- /core/ui/src/main/kotlin/com/azizutku/movie/core/ui/dialogs/LoadingDialog.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/kotlin/com/azizutku/movie/core/ui/dialogs/LoadingDialog.kt -------------------------------------------------------------------------------- /core/ui/src/main/kotlin/com/azizutku/movie/core/ui/extensions/ViewExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/kotlin/com/azizutku/movie/core/ui/extensions/ViewExtensions.kt -------------------------------------------------------------------------------- /core/ui/src/main/kotlin/com/azizutku/movie/core/ui/recyclerview/SpacingItemDecoration.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/kotlin/com/azizutku/movie/core/ui/recyclerview/SpacingItemDecoration.kt -------------------------------------------------------------------------------- /core/ui/src/main/kotlin/com/azizutku/movie/core/ui/util/ErrorHandlerImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/kotlin/com/azizutku/movie/core/ui/util/ErrorHandlerImpl.kt -------------------------------------------------------------------------------- /core/ui/src/main/res/drawable-night/bg_placeholder_movie_image.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/drawable-night/bg_placeholder_movie_image.webp -------------------------------------------------------------------------------- /core/ui/src/main/res/drawable-night/ic_toggle_theme_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/drawable-night/ic_toggle_theme_24.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/drawable/bg_placeholder_movie_image.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/drawable/bg_placeholder_movie_image.webp -------------------------------------------------------------------------------- /core/ui/src/main/res/drawable/ic_fill_favorite_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/drawable/ic_fill_favorite_24.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/drawable/ic_line_error_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/drawable/ic_line_error_24.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/drawable/ic_toggle_theme_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/drawable/ic_toggle_theme_24.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/font/rubik_bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/font/rubik_bold.ttf -------------------------------------------------------------------------------- /core/ui/src/main/res/font/rubik_medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/font/rubik_medium.ttf -------------------------------------------------------------------------------- /core/ui/src/main/res/font/rubik_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/font/rubik_regular.ttf -------------------------------------------------------------------------------- /core/ui/src/main/res/layout/layout_dialog_alert.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/layout/layout_dialog_alert.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/layout/layout_dialog_loading.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/layout/layout_dialog_loading.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/layout/layout_toolbar.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/layout/layout_toolbar.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/menu/toolbar_main_menu.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/menu/toolbar_main_menu.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/raw/lottie_loading.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/raw/lottie_loading.json -------------------------------------------------------------------------------- /core/ui/src/main/res/values-night/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values-night/colors.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/values-night/style_components.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values-night/style_components.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/values-night/style_widgets.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values-night/style_widgets.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values-night/themes.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/values/strings_content_description.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values/strings_content_description.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/values/style_components.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values/style_components.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/values/style_shapes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values/style_shapes.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/values/style_widgets.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values/style_widgets.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /core/ui/src/main/res/values/typography.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/main/res/values/typography.xml -------------------------------------------------------------------------------- /core/ui/src/test/kotlin/com/azizutku/movie/core/ui/extensions/ViewExtensionsTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/test/kotlin/com/azizutku/movie/core/ui/extensions/ViewExtensionsTest.kt -------------------------------------------------------------------------------- /core/ui/src/test/kotlin/com/azizutku/movie/core/ui/recyclerview/SpacingItemDecorationTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/test/kotlin/com/azizutku/movie/core/ui/recyclerview/SpacingItemDecorationTest.kt -------------------------------------------------------------------------------- /core/ui/src/test/kotlin/com/azizutku/movie/core/ui/util/ErrorHandlerTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/core/ui/src/test/kotlin/com/azizutku/movie/core/ui/util/ErrorHandlerTest.kt -------------------------------------------------------------------------------- /feature/movie/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/movie/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/build.gradle.kts -------------------------------------------------------------------------------- /feature/movie/src/androidTest/kotlin/com/azizutku/movie/feature/movie/di/TestMovieDatabaseModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/androidTest/kotlin/com/azizutku/movie/feature/movie/di/TestMovieDatabaseModule.kt -------------------------------------------------------------------------------- /feature/movie/src/androidTest/kotlin/com/azizutku/movie/feature/movie/repository/datasource/MovieLocalDataSourceImplTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/androidTest/kotlin/com/azizutku/movie/feature/movie/repository/datasource/MovieLocalDataSourceImplTest.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/remote/MovieApiService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/remote/MovieApiService.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/remote/dto/GenreDto.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/remote/dto/GenreDto.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/remote/dto/MovieDto.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/remote/dto/MovieDto.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/MovieRepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/MovieRepositoryImpl.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/datasource/MovieCacheDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/datasource/MovieCacheDataSource.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/datasource/MovieLocalDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/datasource/MovieLocalDataSource.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/datasource/MovieRemoteDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/datasource/MovieRemoteDataSource.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/datasourceImpl/MovieCacheDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/datasourceImpl/MovieCacheDataSourceImpl.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/datasourceImpl/MovieLocalDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/datasourceImpl/MovieLocalDataSourceImpl.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/datasourceImpl/MovieRemoteDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/data/repository/datasourceImpl/MovieRemoteDataSourceImpl.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/di/MovieApiServiceModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/di/MovieApiServiceModule.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/di/MovieDatabaseModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/di/MovieDatabaseModule.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/di/MovieModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/di/MovieModule.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/domain/model/Movie.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/domain/model/Movie.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/domain/model/MovieLocalMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/domain/model/MovieLocalMapper.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/domain/model/MovieRemoteToLocalMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/domain/model/MovieRemoteToLocalMapper.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/domain/repository/MovieRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/domain/repository/MovieRepository.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/domain/usecase/GetMovieUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/domain/usecase/GetMovieUseCase.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/presentation/MovieFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/presentation/MovieFragment.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/presentation/MovieUiState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/presentation/MovieUiState.kt -------------------------------------------------------------------------------- /feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/presentation/MovieViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/kotlin/com/azizutku/movie/feature/movie/presentation/MovieViewModel.kt -------------------------------------------------------------------------------- /feature/movie/src/main/res/drawable/ic_line_favorite_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/res/drawable/ic_line_favorite_24.xml -------------------------------------------------------------------------------- /feature/movie/src/main/res/drawable/ic_logo_tmdb.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/res/drawable/ic_logo_tmdb.xml -------------------------------------------------------------------------------- /feature/movie/src/main/res/layout/fragment_movie.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/res/layout/fragment_movie.xml -------------------------------------------------------------------------------- /feature/movie/src/main/res/menu/toolbar_movie_menu.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/res/menu/toolbar_movie_menu.xml -------------------------------------------------------------------------------- /feature/movie/src/main/res/navigation/nav_movie.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/res/navigation/nav_movie.xml -------------------------------------------------------------------------------- /feature/movie/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /feature/movie/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /feature/movie/src/main/res/values/strings_content_description.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/main/res/values/strings_content_description.xml -------------------------------------------------------------------------------- /feature/movie/src/test/kotlin/com/azizutku/movie/features/movie/data/repository/datasource/MovieCacheDataSourceImplTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/test/kotlin/com/azizutku/movie/features/movie/data/repository/datasource/MovieCacheDataSourceImplTest.kt -------------------------------------------------------------------------------- /feature/movie/src/test/kotlin/com/azizutku/movie/features/movie/data/repository/datasource/fakes/FakeMovieCacheDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/test/kotlin/com/azizutku/movie/features/movie/data/repository/datasource/fakes/FakeMovieCacheDataSourceImpl.kt -------------------------------------------------------------------------------- /feature/movie/src/test/kotlin/com/azizutku/movie/features/movie/data/repository/datasource/fakes/FakeMovieLocalDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/test/kotlin/com/azizutku/movie/features/movie/data/repository/datasource/fakes/FakeMovieLocalDataSourceImpl.kt -------------------------------------------------------------------------------- /feature/movie/src/test/kotlin/com/azizutku/movie/features/movie/data/repository/datasource/fakes/FakeMovieRemoteDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/test/kotlin/com/azizutku/movie/features/movie/data/repository/datasource/fakes/FakeMovieRemoteDataSourceImpl.kt -------------------------------------------------------------------------------- /feature/movie/src/test/kotlin/com/azizutku/movie/features/movie/presentation/MovieViewModelTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/movie/src/test/kotlin/com/azizutku/movie/features/movie/presentation/MovieViewModelTest.kt -------------------------------------------------------------------------------- /feature/trending/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/trending/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/build.gradle.kts -------------------------------------------------------------------------------- /feature/trending/src/androidTest/kotlin/com/azizutku/movie/feature/trending/di/TestTrendingDatabaseModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/androidTest/kotlin/com/azizutku/movie/feature/trending/di/TestTrendingDatabaseModule.kt -------------------------------------------------------------------------------- /feature/trending/src/androidTest/kotlin/com/azizutku/movie/feature/trending/repository/datasource/TrendingLocalDataSourceImplTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/androidTest/kotlin/com/azizutku/movie/feature/trending/repository/datasource/TrendingLocalDataSourceImplTest.kt -------------------------------------------------------------------------------- /feature/trending/src/androidTest/kotlin/com/azizutku/movie/feature/trending/repository/mediator/TrendingRemoteMediatorTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/androidTest/kotlin/com/azizutku/movie/feature/trending/repository/mediator/TrendingRemoteMediatorTest.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/remote/TrendingApiService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/remote/TrendingApiService.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/remote/dto/TrendingDto.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/remote/dto/TrendingDto.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/remote/dto/TrendingMovieDto.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/remote/dto/TrendingMovieDto.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/repository/TrendingRepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/repository/TrendingRepositoryImpl.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/repository/datasource/TrendingLocalDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/repository/datasource/TrendingLocalDataSource.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/repository/datasource/TrendingRemoteDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/repository/datasource/TrendingRemoteDataSource.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/repository/datasourceImpl/TrendingLocalDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/repository/datasourceImpl/TrendingLocalDataSourceImpl.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/repository/datasourceImpl/TrendingRemoteDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/repository/datasourceImpl/TrendingRemoteDataSourceImpl.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/repository/mediator/TrendingRemoteMediator.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/data/repository/mediator/TrendingRemoteMediator.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/di/TrendingAdapterModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/di/TrendingAdapterModule.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/di/TrendingApiServiceModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/di/TrendingApiServiceModule.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/di/TrendingDatabaseModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/di/TrendingDatabaseModule.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/di/TrendingModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/di/TrendingModule.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/domain/model/TrendingMovie.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/domain/model/TrendingMovie.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/domain/model/TrendingMovieRemoteToLocalMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/domain/model/TrendingMovieRemoteToLocalMapper.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/domain/model/TrendingMoviesLocalMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/domain/model/TrendingMoviesLocalMapper.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/domain/repository/TrendingRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/domain/repository/TrendingRepository.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/domain/usecase/GetTrendingMoviesUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/domain/usecase/GetTrendingMoviesUseCase.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/TrendingFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/TrendingFragment.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/TrendingUiState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/TrendingUiState.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/TrendingViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/TrendingViewModel.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/adapters/TrendingMovieLoadStateAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/adapters/TrendingMovieLoadStateAdapter.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/adapters/TrendingMovieLoadStateViewHolder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/adapters/TrendingMovieLoadStateViewHolder.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/adapters/TrendingMovieViewHolder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/adapters/TrendingMovieViewHolder.kt -------------------------------------------------------------------------------- /feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/adapters/TrendingMoviesAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/kotlin/com/azizutku/movie/feature/trending/presentation/adapters/TrendingMoviesAdapter.kt -------------------------------------------------------------------------------- /feature/trending/src/main/res/drawable/bg_badge.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/res/drawable/bg_badge.xml -------------------------------------------------------------------------------- /feature/trending/src/main/res/drawable/ic_line_refresh_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/res/drawable/ic_line_refresh_24.xml -------------------------------------------------------------------------------- /feature/trending/src/main/res/layout/fragment_trending.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/res/layout/fragment_trending.xml -------------------------------------------------------------------------------- /feature/trending/src/main/res/layout/list_item_load_state.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/res/layout/list_item_load_state.xml -------------------------------------------------------------------------------- /feature/trending/src/main/res/layout/list_item_trending_movie.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/res/layout/list_item_trending_movie.xml -------------------------------------------------------------------------------- /feature/trending/src/main/res/navigation/nav_trending.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/res/navigation/nav_trending.xml -------------------------------------------------------------------------------- /feature/trending/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /feature/trending/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /feature/trending/src/main/res/values/strings_content_description.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/main/res/values/strings_content_description.xml -------------------------------------------------------------------------------- /feature/trending/src/test/kotlin/com/azizutku/movie/feature/trending/data/repository/datasource/fakes/FakeTrendingLocalDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/test/kotlin/com/azizutku/movie/feature/trending/data/repository/datasource/fakes/FakeTrendingLocalDataSourceImpl.kt -------------------------------------------------------------------------------- /feature/trending/src/test/kotlin/com/azizutku/movie/feature/trending/presentation/TrendingViewModelTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/trending/src/test/kotlin/com/azizutku/movie/feature/trending/presentation/TrendingViewModelTest.kt -------------------------------------------------------------------------------- /feature/watchlist/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /feature/watchlist/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/build.gradle.kts -------------------------------------------------------------------------------- /feature/watchlist/src/androidTest/kotlin/com/azizutku/movie/feature/watchlist/di/TestWatchlistDatabaseModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/androidTest/kotlin/com/azizutku/movie/feature/watchlist/di/TestWatchlistDatabaseModule.kt -------------------------------------------------------------------------------- /feature/watchlist/src/androidTest/kotlin/com/azizutku/movie/feature/watchlist/repository/datasource/WatchlistLocalDataSourceImplTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/androidTest/kotlin/com/azizutku/movie/feature/watchlist/repository/datasource/WatchlistLocalDataSourceImplTest.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/data/repository/WatchlistRepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/data/repository/WatchlistRepositoryImpl.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/data/repository/datasource/WatchlistLocalDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/data/repository/datasource/WatchlistLocalDataSource.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/data/repository/datasourceImpl/WatchlistLocalDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/data/repository/datasourceImpl/WatchlistLocalDataSourceImpl.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/di/WatchlistDatabaseModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/di/WatchlistDatabaseModule.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/di/WatchlistModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/di/WatchlistModule.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/domain/model/WatchlistMovieLocalMapper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/domain/model/WatchlistMovieLocalMapper.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/domain/repository/WatchlistRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/domain/repository/WatchlistRepository.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/domain/usecase/GetMoviesFromWatchlistUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/domain/usecase/GetMoviesFromWatchlistUseCase.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/presentation/WatchlistFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/presentation/WatchlistFragment.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/presentation/WatchlistUiState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/presentation/WatchlistUiState.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/presentation/WatchlistViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/presentation/WatchlistViewModel.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/presentation/adapter/WatchlistMovieViewHolder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/presentation/adapter/WatchlistMovieViewHolder.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/presentation/adapter/WatchlistMoviesAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/kotlin/com/azizutku/movie/feature/watchlist/presentation/adapter/WatchlistMoviesAdapter.kt -------------------------------------------------------------------------------- /feature/watchlist/src/main/res/layout/fragment_watchlist.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/res/layout/fragment_watchlist.xml -------------------------------------------------------------------------------- /feature/watchlist/src/main/res/layout/list_item_watchlist_movie.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/res/layout/list_item_watchlist_movie.xml -------------------------------------------------------------------------------- /feature/watchlist/src/main/res/navigation/nav_watchlist.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/res/navigation/nav_watchlist.xml -------------------------------------------------------------------------------- /feature/watchlist/src/main/res/values/integers.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/res/values/integers.xml -------------------------------------------------------------------------------- /feature/watchlist/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /feature/watchlist/src/main/res/values/strings_content_description.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/main/res/values/strings_content_description.xml -------------------------------------------------------------------------------- /feature/watchlist/src/test/kotlin/com/azizutku/movie/feature/watchlist/data/repository/WatchlistRepositoryImplTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/test/kotlin/com/azizutku/movie/feature/watchlist/data/repository/WatchlistRepositoryImplTest.kt -------------------------------------------------------------------------------- /feature/watchlist/src/test/kotlin/com/azizutku/movie/feature/watchlist/presentation/WatchlistViewModelTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/feature/watchlist/src/test/kotlin/com/azizutku/movie/feature/watchlist/presentation/WatchlistViewModelTest.kt -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/libs.versions.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/gradle/libs.versions.toml -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/gradlew.bat -------------------------------------------------------------------------------- /images/app_tour.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/images/app_tour.gif -------------------------------------------------------------------------------- /images/modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/images/modules.png -------------------------------------------------------------------------------- /images/movie_detail_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/images/movie_detail_dark.png -------------------------------------------------------------------------------- /images/movie_detail_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/images/movie_detail_light.png -------------------------------------------------------------------------------- /images/project_showcase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/images/project_showcase.png -------------------------------------------------------------------------------- /images/trending_movies_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/images/trending_movies_dark.png -------------------------------------------------------------------------------- /images/trending_movies_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/images/trending_movies_light.png -------------------------------------------------------------------------------- /images/watchlist_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/images/watchlist_dark.png -------------------------------------------------------------------------------- /images/watchlist_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/images/watchlist_light.png -------------------------------------------------------------------------------- /scripts/git-hooks/pre-commit.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/scripts/git-hooks/pre-commit.sh -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azizutku/Modular-Clean-Arch-Movie-App/HEAD/settings.gradle.kts --------------------------------------------------------------------------------