├── .gitignore ├── .idea ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── compiler.xml ├── gradle.xml ├── jarRepositories.xml ├── misc.xml ├── runConfigurations.xml └── vcs.xml ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── example │ │ └── nytimesmostpopulararticles_mvvm_kotlin │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── nytimesmostpopulararticles_mvvm_kotlin │ │ │ ├── CustomApplication.kt │ │ │ ├── ViewModelProviderFactory.kt │ │ │ ├── data │ │ │ ├── ArticleDataSource.kt │ │ │ ├── ArticleDetailsDataSource.kt │ │ │ ├── ArticleFavoritesDataSource.kt │ │ │ ├── local │ │ │ │ ├── AppDatabase.kt │ │ │ │ └── dao │ │ │ │ │ └── ArticleDao.kt │ │ │ └── remote │ │ │ │ ├── ApiEndPoint.kt │ │ │ │ └── ApiService.kt │ │ │ ├── di │ │ │ ├── ApiInfo.kt │ │ │ ├── builder │ │ │ │ └── ActivityBuilder.kt │ │ │ ├── component │ │ │ │ └── AppComponent.kt │ │ │ └── module │ │ │ │ └── AppModule.kt │ │ │ ├── domain │ │ │ ├── dto │ │ │ │ ├── Result.kt │ │ │ │ ├── api │ │ │ │ │ └── ArticlesResponse.kt │ │ │ │ └── db │ │ │ │ │ └── Article.kt │ │ │ └── repository │ │ │ │ ├── ArticleDetailsRepository.kt │ │ │ │ ├── ArticleFavoritesRepository.kt │ │ │ │ └── ArticleRepository.kt │ │ │ ├── presentation │ │ │ ├── base │ │ │ │ ├── BaseActivity.kt │ │ │ │ ├── BaseFragment.kt │ │ │ │ ├── BaseItemListener.kt │ │ │ │ ├── BaseRecyclerViewAdapter.kt │ │ │ │ ├── BaseViewHolder.kt │ │ │ │ ├── BaseViewModel.kt │ │ │ │ └── NavigationCommand.kt │ │ │ └── main │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── MainViewModel.kt │ │ │ │ ├── article │ │ │ │ ├── ArticleAdapter.kt │ │ │ │ ├── ArticleAdapterListener.kt │ │ │ │ ├── ArticleDataItem.kt │ │ │ │ ├── ArticleEmptyItemView.kt │ │ │ │ ├── ArticleFragment.kt │ │ │ │ ├── ArticleFragmentProvider.kt │ │ │ │ ├── ArticleItemView.kt │ │ │ │ └── ArticleViewModel.kt │ │ │ │ ├── article_details │ │ │ │ ├── ArticleDetailsFragment.kt │ │ │ │ ├── ArticleDetailsFragmentProvider.kt │ │ │ │ └── ArticleDetailsViewModel.kt │ │ │ │ └── favorites │ │ │ │ ├── FavoritesAdapter.kt │ │ │ │ ├── FavoritesFragment.kt │ │ │ │ ├── FavoritesFragmentProvider.kt │ │ │ │ ├── FavoritesItemView.kt │ │ │ │ ├── FavoritesItemViewModelListener.kt │ │ │ │ └── FavoritesViewModel.kt │ │ │ └── utils │ │ │ ├── AppConstants.kt │ │ │ ├── BindingUtils.kt │ │ │ └── SingleLiveEvent.kt │ └── res │ │ ├── anim │ │ ├── slide_in_left.xml │ │ ├── slide_in_right.xml │ │ ├── slide_out_left.xml │ │ └── slide_out_right.xml │ │ ├── drawable-v24 │ │ ├── ic_arrow.xml │ │ ├── ic_articles.xml │ │ ├── ic_date.xml │ │ ├── ic_favorite.xml │ │ ├── ic_launcher_foreground.xml │ │ └── ic_unfavorite.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── fragment_article.xml │ │ ├── fragment_article_details.xml │ │ ├── fragment_favorites.xml │ │ ├── item_article_empty_view.xml │ │ ├── item_article_view.xml │ │ ├── item_favorites_empty_view.xml │ │ ├── item_favorites_view.xml │ │ └── progress_dialog.xml │ │ ├── menu │ │ └── main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── navigation │ │ └── nav_graph.xml │ │ ├── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ └── network_security_config.xml │ └── test │ └── java │ └── com │ └── example │ └── nytimesmostpopulararticles_mvvm_kotlin │ └── ExampleUnitTest.kt ├── architecture.png ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── nav_graph.png ├── page1.jpg ├── page2.jpg ├── page3.jpg ├── project_arch_screen.jpg └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/.idea/codeStyles/Project.xml -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/.idea/codeStyles/codeStyleConfig.xml -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/.idea/compiler.xml -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/.idea/gradle.xml -------------------------------------------------------------------------------- /.idea/jarRepositories.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/.idea/jarRepositories.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/.idea/runConfigurations.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/androidTest/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/androidTest/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/ExampleInstrumentedTest.kt -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/CustomApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/CustomApplication.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/ViewModelProviderFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/ViewModelProviderFactory.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/ArticleDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/ArticleDataSource.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/ArticleDetailsDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/ArticleDetailsDataSource.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/ArticleFavoritesDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/ArticleFavoritesDataSource.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/local/AppDatabase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/local/AppDatabase.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/local/dao/ArticleDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/local/dao/ArticleDao.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/remote/ApiEndPoint.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/remote/ApiEndPoint.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/remote/ApiService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/data/remote/ApiService.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/di/ApiInfo.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/di/ApiInfo.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/di/builder/ActivityBuilder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/di/builder/ActivityBuilder.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/di/component/AppComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/di/component/AppComponent.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/di/module/AppModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/di/module/AppModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/domain/dto/Result.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/domain/dto/Result.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/domain/dto/api/ArticlesResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/domain/dto/api/ArticlesResponse.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/domain/dto/db/Article.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/domain/dto/db/Article.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/domain/repository/ArticleDetailsRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/domain/repository/ArticleDetailsRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/domain/repository/ArticleFavoritesRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/domain/repository/ArticleFavoritesRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/domain/repository/ArticleRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/domain/repository/ArticleRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/BaseActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/BaseActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/BaseFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/BaseFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/BaseItemListener.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/BaseItemListener.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/BaseRecyclerViewAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/BaseRecyclerViewAdapter.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/BaseViewHolder.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/BaseViewHolder.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/BaseViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/BaseViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/NavigationCommand.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/base/NavigationCommand.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/MainActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/MainViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/MainViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleAdapter.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleAdapterListener.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleAdapterListener.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleDataItem.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleDataItem.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleEmptyItemView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleEmptyItemView.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleFragmentProvider.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleFragmentProvider.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleItemView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleItemView.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article/ArticleViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article_details/ArticleDetailsFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article_details/ArticleDetailsFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article_details/ArticleDetailsFragmentProvider.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article_details/ArticleDetailsFragmentProvider.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article_details/ArticleDetailsViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/article_details/ArticleDetailsViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/favorites/FavoritesAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/favorites/FavoritesAdapter.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/favorites/FavoritesFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/favorites/FavoritesFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/favorites/FavoritesFragmentProvider.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/favorites/FavoritesFragmentProvider.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/favorites/FavoritesItemView.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/favorites/FavoritesItemView.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/favorites/FavoritesItemViewModelListener.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/favorites/FavoritesItemViewModelListener.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/favorites/FavoritesViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/presentation/main/favorites/FavoritesViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/utils/AppConstants.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/utils/AppConstants.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/utils/BindingUtils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/utils/BindingUtils.kt -------------------------------------------------------------------------------- /app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/utils/SingleLiveEvent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/utils/SingleLiveEvent.kt -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_in_left.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/anim/slide_in_left.xml -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_in_right.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/anim/slide_in_right.xml -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_out_left.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/anim/slide_out_left.xml -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_out_right.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/anim/slide_out_right.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_arrow.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/drawable-v24/ic_arrow.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_articles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/drawable-v24/ic_articles.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_date.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/drawable-v24/ic_date.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_favorite.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/drawable-v24/ic_favorite.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_unfavorite.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/drawable-v24/ic_unfavorite.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_article.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/layout/fragment_article.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_article_details.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/layout/fragment_article_details.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_favorites.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/layout/fragment_favorites.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_article_empty_view.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/layout/item_article_empty_view.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_article_view.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/layout/item_article_view.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_favorites_empty_view.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/layout/item_favorites_empty_view.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_favorites_view.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/layout/item_favorites_view.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/progress_dialog.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/layout/progress_dialog.xml -------------------------------------------------------------------------------- /app/src/main/res/menu/main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/menu/main.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/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/AmrAbdelhameed/NYTimesMostPopularArticles/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/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/navigation/nav_graph.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/navigation/nav_graph.xml -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /app/src/main/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/main/res/xml/network_security_config.xml -------------------------------------------------------------------------------- /app/src/test/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/ExampleUnitTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/app/src/test/java/com/example/nytimesmostpopulararticles_mvvm_kotlin/ExampleUnitTest.kt -------------------------------------------------------------------------------- /architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/architecture.png -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/gradlew.bat -------------------------------------------------------------------------------- /nav_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/nav_graph.png -------------------------------------------------------------------------------- /page1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/page1.jpg -------------------------------------------------------------------------------- /page2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/page2.jpg -------------------------------------------------------------------------------- /page3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/page3.jpg -------------------------------------------------------------------------------- /project_arch_screen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AmrAbdelhameed/NYTimesMostPopularArticles/HEAD/project_arch_screen.jpg -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name='NYTimesMostPopularArticles' 3 | --------------------------------------------------------------------------------