├── .gitignore ├── .idea ├── .gitignore ├── .name ├── compiler.xml ├── gradle.xml ├── inspectionProfiles │ └── Project_Default.xml ├── misc.xml └── vcs.xml ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── omaradev │ │ └── movieapp │ │ ├── ExampleInstrumentedTest.kt │ │ ├── HiltTestRunner.kt │ │ ├── data │ │ └── local │ │ │ └── MovieTest.kt │ │ └── di │ │ └── AppModuleTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── omaradev │ │ │ └── movieapp │ │ │ ├── MovieApp.kt │ │ │ ├── common │ │ │ ├── Constants.kt │ │ │ ├── MovieState.kt │ │ │ └── Resource.kt │ │ │ ├── data │ │ │ ├── local │ │ │ │ ├── MovieDB.kt │ │ │ │ └── MovieDao.kt │ │ │ ├── remote │ │ │ │ └── Api.kt │ │ │ └── repository │ │ │ │ └── RepositoryImpl.kt │ │ │ ├── di │ │ │ └── AppModule.kt │ │ │ ├── domain │ │ │ ├── model │ │ │ │ ├── all_movies │ │ │ │ │ ├── AllMoviesResponse.kt │ │ │ │ │ ├── Movie.kt │ │ │ │ │ └── TypeConverterMovie.kt │ │ │ │ └── movie_details │ │ │ │ │ ├── MovieDetails.kt │ │ │ │ │ └── Rating.kt │ │ │ ├── repository │ │ │ │ └── Repository.kt │ │ │ └── use_case │ │ │ │ ├── delete_movie │ │ │ │ └── DeleteMovieUseCase.kt │ │ │ │ ├── get_all_movies │ │ │ │ └── GetAllMoviesUseCase.kt │ │ │ │ ├── get_details_movie │ │ │ │ └── GetDetailsMovieUseCase.kt │ │ │ │ ├── get_movie_local │ │ │ │ └── GetLocalMoviesUseCase.kt │ │ │ │ └── insert_movie │ │ │ │ └── InsertMovieUseCase.kt │ │ │ ├── presentation │ │ │ ├── Navigation.kt │ │ │ ├── download │ │ │ │ ├── DownloadMoviesState.kt │ │ │ │ ├── DownloadScreen.kt │ │ │ │ ├── DownloadViewModel.kt │ │ │ │ └── component │ │ │ │ │ └── DownloadItem.kt │ │ │ ├── home │ │ │ │ ├── HomeScreen.kt │ │ │ │ ├── HomeViewModel.kt │ │ │ │ ├── ListMoviesLastAddedState.kt │ │ │ │ ├── MovieCategory.kt │ │ │ │ └── component │ │ │ │ │ ├── CategoryItem.kt │ │ │ │ │ ├── LastReleaseItem.kt │ │ │ │ │ └── ListMoviesOfCatergoryItem.kt │ │ │ ├── main │ │ │ │ ├── BottomNavigationItem.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MainState.kt │ │ │ │ └── MainViewModel.kt │ │ │ ├── movie_details │ │ │ │ ├── DetailsMovieState.kt │ │ │ │ ├── DetailsMovieViewModel.kt │ │ │ │ ├── MovieCast.kt │ │ │ │ ├── MovieDetailsScreen.kt │ │ │ │ └── component │ │ │ │ │ └── CastMovieItem.kt │ │ │ ├── navigation │ │ │ │ └── Screens.kt │ │ │ └── search │ │ │ │ ├── SearchMoviesState.kt │ │ │ │ ├── SearchScreen.kt │ │ │ │ ├── SearchViewModel.kt │ │ │ │ └── component │ │ │ │ └── SearchResult.kt │ │ │ └── ui │ │ │ └── theme │ │ │ ├── Color.kt │ │ │ ├── Shape.kt │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── download.jpg │ │ ├── ic_baseline_add.xml │ │ ├── ic_baseline_arrow_back_24.xml │ │ ├── ic_favorite.xml │ │ ├── ic_home.xml │ │ ├── ic_launcher_background.xml │ │ ├── ic_person.xml │ │ ├── ic_play.png │ │ ├── img1.jpg │ │ ├── img2.jpg │ │ ├── img3.jpg │ │ ├── img4.jpg │ │ ├── img5.jpg │ │ └── profile_image.jpg │ │ ├── font │ │ ├── cairo_light.ttf │ │ ├── font_black.ttf │ │ ├── font_bold.ttf │ │ ├── font_extralight.ttf │ │ ├── font_light.ttf │ │ ├── font_regular.ttf │ │ └── font_semibold.ttf │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ └── test │ └── java │ └── com │ └── omaradev │ └── movieapp │ ├── ExampleUnitTest.kt │ ├── data │ └── repository │ │ └── FakeRepository.kt │ └── domain │ └── use_case │ ├── delete_movie │ └── DeleteMovieUseCaseTest.kt │ ├── get_movie_local │ └── GetLocalMoviesUseCaseTest.kt │ └── insert_movie │ └── InsertMovieUseCaseTest.kt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | Movie App -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/.idea/compiler.xml -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/.idea/gradle.xml -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/.idea/inspectionProfiles/Project_Default.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/androidTest/java/com/omaradev/movieapp/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/androidTest/java/com/omaradev/movieapp/ExampleInstrumentedTest.kt -------------------------------------------------------------------------------- /app/src/androidTest/java/com/omaradev/movieapp/HiltTestRunner.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/androidTest/java/com/omaradev/movieapp/HiltTestRunner.kt -------------------------------------------------------------------------------- /app/src/androidTest/java/com/omaradev/movieapp/data/local/MovieTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/androidTest/java/com/omaradev/movieapp/data/local/MovieTest.kt -------------------------------------------------------------------------------- /app/src/androidTest/java/com/omaradev/movieapp/di/AppModuleTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/androidTest/java/com/omaradev/movieapp/di/AppModuleTest.kt -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/MovieApp.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/MovieApp.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/common/Constants.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/common/Constants.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/common/MovieState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/common/MovieState.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/common/Resource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/common/Resource.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/data/local/MovieDB.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/data/local/MovieDB.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/data/local/MovieDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/data/local/MovieDao.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/data/remote/Api.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/data/remote/Api.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/data/repository/RepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/data/repository/RepositoryImpl.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/di/AppModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/di/AppModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/domain/model/all_movies/AllMoviesResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/domain/model/all_movies/AllMoviesResponse.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/domain/model/all_movies/Movie.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/domain/model/all_movies/Movie.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/domain/model/all_movies/TypeConverterMovie.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/domain/model/all_movies/TypeConverterMovie.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/domain/model/movie_details/MovieDetails.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/domain/model/movie_details/MovieDetails.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/domain/model/movie_details/Rating.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/domain/model/movie_details/Rating.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/domain/repository/Repository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/domain/repository/Repository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/domain/use_case/delete_movie/DeleteMovieUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/domain/use_case/delete_movie/DeleteMovieUseCase.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/domain/use_case/get_all_movies/GetAllMoviesUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/domain/use_case/get_all_movies/GetAllMoviesUseCase.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/domain/use_case/get_details_movie/GetDetailsMovieUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/domain/use_case/get_details_movie/GetDetailsMovieUseCase.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/domain/use_case/get_movie_local/GetLocalMoviesUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/domain/use_case/get_movie_local/GetLocalMoviesUseCase.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/domain/use_case/insert_movie/InsertMovieUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/domain/use_case/insert_movie/InsertMovieUseCase.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/Navigation.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/Navigation.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/download/DownloadMoviesState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/download/DownloadMoviesState.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/download/DownloadScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/download/DownloadScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/download/DownloadViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/download/DownloadViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/download/component/DownloadItem.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/download/component/DownloadItem.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/home/HomeScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/home/HomeScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/home/HomeViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/home/HomeViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/home/ListMoviesLastAddedState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/home/ListMoviesLastAddedState.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/home/MovieCategory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/home/MovieCategory.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/home/component/CategoryItem.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/home/component/CategoryItem.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/home/component/LastReleaseItem.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/home/component/LastReleaseItem.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/home/component/ListMoviesOfCatergoryItem.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/home/component/ListMoviesOfCatergoryItem.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/main/BottomNavigationItem.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/main/BottomNavigationItem.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/main/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/main/MainActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/main/MainState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/main/MainState.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/main/MainViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/main/MainViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/movie_details/DetailsMovieState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/movie_details/DetailsMovieState.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/movie_details/DetailsMovieViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/movie_details/DetailsMovieViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/movie_details/MovieCast.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/movie_details/MovieCast.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/movie_details/MovieDetailsScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/movie_details/MovieDetailsScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/movie_details/component/CastMovieItem.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/movie_details/component/CastMovieItem.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/navigation/Screens.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/navigation/Screens.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/search/SearchMoviesState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/search/SearchMoviesState.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/search/SearchScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/search/SearchScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/search/SearchViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/search/SearchViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/presentation/search/component/SearchResult.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/presentation/search/component/SearchResult.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/ui/theme/Color.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/ui/theme/Color.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/ui/theme/Shape.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/ui/theme/Shape.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/ui/theme/Theme.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/ui/theme/Theme.kt -------------------------------------------------------------------------------- /app/src/main/java/com/omaradev/movieapp/ui/theme/Type.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/java/com/omaradev/movieapp/ui/theme/Type.kt -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/download.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/download.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_add.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/ic_baseline_add.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_arrow_back_24.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/ic_baseline_arrow_back_24.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_favorite.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/ic_favorite.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_home.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/ic_home.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_person.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/ic_person.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/ic_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/img1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/img1.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/img2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/img2.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/img3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/img3.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/img4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/img4.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/img5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/img5.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/profile_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/drawable/profile_image.jpg -------------------------------------------------------------------------------- /app/src/main/res/font/cairo_light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/font/cairo_light.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/font_black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/font/font_black.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/font_bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/font/font_bold.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/font_extralight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/font/font_extralight.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/font_light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/font/font_light.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/font_regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/font/font_regular.ttf -------------------------------------------------------------------------------- /app/src/main/res/font/font_semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/font/font_semibold.ttf -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/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/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /app/src/test/java/com/omaradev/movieapp/ExampleUnitTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/test/java/com/omaradev/movieapp/ExampleUnitTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/omaradev/movieapp/data/repository/FakeRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/test/java/com/omaradev/movieapp/data/repository/FakeRepository.kt -------------------------------------------------------------------------------- /app/src/test/java/com/omaradev/movieapp/domain/use_case/delete_movie/DeleteMovieUseCaseTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/test/java/com/omaradev/movieapp/domain/use_case/delete_movie/DeleteMovieUseCaseTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/omaradev/movieapp/domain/use_case/get_movie_local/GetLocalMoviesUseCaseTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/test/java/com/omaradev/movieapp/domain/use_case/get_movie_local/GetLocalMoviesUseCaseTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/omaradev/movieapp/domain/use_case/insert_movie/InsertMovieUseCaseTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/app/src/test/java/com/omaradev/movieapp/domain/use_case/insert_movie/InsertMovieUseCaseTest.kt -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AhmedOmara14/Clean-Architecture-App-MVVM-Use-Cases-Compose-room-unittesting/HEAD/settings.gradle --------------------------------------------------------------------------------