├── .gitignore ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle ├── dependencies.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── segunfamisa │ │ └── sample │ │ └── mvvm │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── segunfamisa │ │ │ └── sample │ │ │ └── mvvm │ │ │ ├── App.java │ │ │ ├── data │ │ │ ├── model │ │ │ │ ├── Movie.java │ │ │ │ └── ProductionCompany.java │ │ │ ├── remote │ │ │ │ ├── api │ │ │ │ │ ├── ApiUtils.java │ │ │ │ │ └── MovieApiService.java │ │ │ │ └── responses │ │ │ │ │ └── DiscoverMoviesResponse.java │ │ │ └── repository │ │ │ │ ├── MoviesRemoteRepository.java │ │ │ │ └── MoviesRepository.java │ │ │ ├── ui │ │ │ ├── MainActivity.java │ │ │ ├── base │ │ │ │ ├── BaseActivity.java │ │ │ │ └── BaseFragment.java │ │ │ ├── moviedetails │ │ │ │ ├── MovieDetailsFragment.java │ │ │ │ └── MovieDetailsViewModel.java │ │ │ ├── movies │ │ │ │ ├── Interactor.java │ │ │ │ ├── MovieAdapter.java │ │ │ │ ├── MovieItemViewModel.java │ │ │ │ ├── MovieViewHolder.java │ │ │ │ ├── MoviesFragment.java │ │ │ │ ├── MoviesListBinding.java │ │ │ │ └── MoviesViewModel.java │ │ │ └── widget │ │ │ │ ├── ForegroundImageView.java │ │ │ │ └── PosterImageView.java │ │ │ └── utils │ │ │ ├── BindingAdapters.java │ │ │ └── MovieViewModel.java │ └── res │ │ ├── drawable-hdpi │ │ └── nav_back.png │ │ ├── drawable-mdpi │ │ └── nav_back.png │ │ ├── drawable-nodpi │ │ └── movie_placeholder.jpg │ │ ├── drawable-xhdpi │ │ └── nav_back.png │ │ ├── drawable-xxhdpi │ │ └── nav_back.png │ │ ├── drawable-xxxhdpi │ │ └── nav_back.png │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── fragment_movie_details.xml │ │ ├── fragment_movies.xml │ │ └── item_movie_layout.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── attrs_foreground.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── segunfamisa │ └── sample │ └── mvvm │ ├── data │ └── repository │ │ └── MoviesRemoteRepositoryTest.java │ ├── ui │ ├── moviedetails │ │ └── MovieDetailsViewModelTest.java │ └── movies │ │ ├── MovieItemViewModelTest.java │ │ └── MoviesViewModelTest.java │ └── utils │ └── TestDataGenerator.java ├── codequality ├── checkstyle │ ├── checkstyle.xml │ └── suppressions.xml └── quality.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── keys-sample.properties └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | *.iml 3 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/dependencies.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/dependencies.gradle -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/androidTest/java/com/segunfamisa/sample/mvvm/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/androidTest/java/com/segunfamisa/sample/mvvm/ExampleInstrumentedTest.java -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/App.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/App.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/data/model/Movie.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/data/model/Movie.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/data/model/ProductionCompany.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/data/model/ProductionCompany.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/data/remote/api/ApiUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/data/remote/api/ApiUtils.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/data/remote/api/MovieApiService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/data/remote/api/MovieApiService.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/data/remote/responses/DiscoverMoviesResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/data/remote/responses/DiscoverMoviesResponse.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/data/repository/MoviesRemoteRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/data/repository/MoviesRemoteRepository.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/data/repository/MoviesRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/data/repository/MoviesRepository.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/MainActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/MainActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/base/BaseActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/base/BaseActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/base/BaseFragment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/base/BaseFragment.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/moviedetails/MovieDetailsFragment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/moviedetails/MovieDetailsFragment.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/moviedetails/MovieDetailsViewModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/moviedetails/MovieDetailsViewModel.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/Interactor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/Interactor.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/MovieAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/MovieAdapter.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/MovieItemViewModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/MovieItemViewModel.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/MovieViewHolder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/MovieViewHolder.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/MoviesFragment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/MoviesFragment.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/MoviesListBinding.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/MoviesListBinding.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/MoviesViewModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/movies/MoviesViewModel.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/widget/ForegroundImageView.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/widget/ForegroundImageView.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/ui/widget/PosterImageView.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/ui/widget/PosterImageView.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/utils/BindingAdapters.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/utils/BindingAdapters.java -------------------------------------------------------------------------------- /app/src/main/java/com/segunfamisa/sample/mvvm/utils/MovieViewModel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/java/com/segunfamisa/sample/mvvm/utils/MovieViewModel.java -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/nav_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/drawable-hdpi/nav_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/nav_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/drawable-mdpi/nav_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/movie_placeholder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/drawable-nodpi/movie_placeholder.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/nav_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/drawable-xhdpi/nav_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/nav_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/drawable-xxhdpi/nav_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/nav_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/drawable-xxxhdpi/nav_back.png -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_movie_details.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/layout/fragment_movie_details.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_movies.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/layout/fragment_movies.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_movie_layout.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/layout/item_movie_layout.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/values-w820dp/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/values/attrs_foreground.xml -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /app/src/test/java/com/segunfamisa/sample/mvvm/data/repository/MoviesRemoteRepositoryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/test/java/com/segunfamisa/sample/mvvm/data/repository/MoviesRemoteRepositoryTest.java -------------------------------------------------------------------------------- /app/src/test/java/com/segunfamisa/sample/mvvm/ui/moviedetails/MovieDetailsViewModelTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/test/java/com/segunfamisa/sample/mvvm/ui/moviedetails/MovieDetailsViewModelTest.java -------------------------------------------------------------------------------- /app/src/test/java/com/segunfamisa/sample/mvvm/ui/movies/MovieItemViewModelTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/test/java/com/segunfamisa/sample/mvvm/ui/movies/MovieItemViewModelTest.java -------------------------------------------------------------------------------- /app/src/test/java/com/segunfamisa/sample/mvvm/ui/movies/MoviesViewModelTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/test/java/com/segunfamisa/sample/mvvm/ui/movies/MoviesViewModelTest.java -------------------------------------------------------------------------------- /app/src/test/java/com/segunfamisa/sample/mvvm/utils/TestDataGenerator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/app/src/test/java/com/segunfamisa/sample/mvvm/utils/TestDataGenerator.java -------------------------------------------------------------------------------- /codequality/checkstyle/checkstyle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/codequality/checkstyle/checkstyle.xml -------------------------------------------------------------------------------- /codequality/checkstyle/suppressions.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/codequality/checkstyle/suppressions.xml -------------------------------------------------------------------------------- /codequality/quality.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/codequality/quality.gradle -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/segunfamisa/android-mvvm-sample/HEAD/gradlew.bat -------------------------------------------------------------------------------- /keys-sample.properties: -------------------------------------------------------------------------------- 1 | api_key= 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | --------------------------------------------------------------------------------