├── .gitignore ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── mayursarode │ │ └── newsapp │ │ ├── ExampleInstrumentedTest.kt │ │ └── ui │ │ └── topheadline │ │ └── online │ │ └── TopHeadlinesOnlineScreenTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── mayursarode │ │ │ └── newsapp │ │ │ ├── NewsApplication.kt │ │ │ ├── data │ │ │ ├── api │ │ │ │ ├── ApiKeyInterceptor.kt │ │ │ │ └── NetworkService.kt │ │ │ ├── local │ │ │ │ ├── dao │ │ │ │ │ └── ArticleDao.kt │ │ │ │ ├── database │ │ │ │ │ ├── DatabaseService.kt │ │ │ │ │ ├── NewsDatabase.kt │ │ │ │ │ └── NewsDatabaseService.kt │ │ │ │ └── entity │ │ │ │ │ ├── Article.kt │ │ │ │ │ └── Source.kt │ │ │ ├── model │ │ │ │ ├── ApiArticle.kt │ │ │ │ ├── ApiSource.kt │ │ │ │ ├── Country.kt │ │ │ │ ├── Language.kt │ │ │ │ ├── NewsSourcesResponse.kt │ │ │ │ └── TopHeadlinesResponse.kt │ │ │ └── repository │ │ │ │ ├── CountryRepository.kt │ │ │ │ ├── LanguageRepository.kt │ │ │ │ ├── NewsBySourcesRepository.kt │ │ │ │ ├── NewsSourcesRepository.kt │ │ │ │ ├── SearchRepository.kt │ │ │ │ ├── TopHeadlinesPagingSource.kt │ │ │ │ └── TopHeadlinesRepository.kt │ │ │ ├── di │ │ │ ├── module │ │ │ │ └── ApplicationModule.kt │ │ │ └── qualifiers.kt │ │ │ ├── navigation │ │ │ ├── NewsNavigation.kt │ │ │ └── Screen.kt │ │ │ ├── ui │ │ │ ├── HomeScreen.kt │ │ │ ├── MainActivity.kt │ │ │ ├── base │ │ │ │ ├── BaseViewModel.kt │ │ │ │ ├── CommonUI.kt │ │ │ │ └── UiState.kt │ │ │ ├── country │ │ │ │ ├── CountryListScreen.kt │ │ │ │ └── CountryListViewModel.kt │ │ │ ├── language │ │ │ │ ├── LanguageListScreen.kt │ │ │ │ └── LanguageListViewModel.kt │ │ │ ├── newsbysources │ │ │ │ ├── NewsBySourcesScreen.kt │ │ │ │ └── NewsBySourcesViewModel.kt │ │ │ ├── newssources │ │ │ │ ├── NewsSourcesScreen.kt │ │ │ │ └── NewsSourcesViewModel.kt │ │ │ ├── search │ │ │ │ ├── SearchScreen.kt │ │ │ │ └── SearchViewModel.kt │ │ │ ├── theme │ │ │ │ ├── Color.kt │ │ │ │ ├── Theme.kt │ │ │ │ └── Type.kt │ │ │ └── topheadlines │ │ │ │ ├── offline │ │ │ │ ├── TopHeadlinesOfflineScreen.kt │ │ │ │ └── TopHeadlinesOfflineViewModel.kt │ │ │ │ ├── online │ │ │ │ ├── TopHeadlinesOnlineScreen.kt │ │ │ │ └── TopHeadlinesOnlineViewModel.kt │ │ │ │ └── paging │ │ │ │ ├── TopHeadlinesPagingScreen.kt │ │ │ │ └── TopHeadlinesPagingViewModel.kt │ │ │ ├── utils │ │ │ ├── Constants.kt │ │ │ ├── DispatcherProvider.kt │ │ │ ├── LocalData.kt │ │ │ ├── ResourceProvider.kt │ │ │ ├── TimeUtil.kt │ │ │ ├── logger │ │ │ │ ├── AppLogger.kt │ │ │ │ └── Logger.kt │ │ │ └── network │ │ │ │ ├── DefaultNetworkHelper.kt │ │ │ │ └── NetworkHelper.kt │ │ │ └── worker │ │ │ └── NewsWorker.kt │ └── res │ │ ├── drawable-anydpi │ │ └── ic_news.xml │ │ ├── drawable-hdpi │ │ ├── def.png │ │ └── ic_news.png │ │ ├── drawable-ldpi │ │ └── def.png │ │ ├── drawable-mdpi │ │ ├── def.png │ │ └── ic_news.png │ │ ├── drawable-xhdpi │ │ ├── def.png │ │ └── ic_news.png │ │ ├── drawable-xxhdpi │ │ ├── def.png │ │ └── ic_news.png │ │ ├── drawable-xxxhdpi │ │ └── def.png │ │ ├── drawable │ │ ├── cancel.xml │ │ ├── ic_launcher_background.xml │ │ └── ic_launcher_foreground.xml │ │ ├── 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 │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml │ └── test │ └── java │ └── com │ └── mayursarode │ └── newsapp │ ├── ExampleUnitTest.kt │ ├── data │ └── repository │ │ └── TopHeadlinesRepositoryTest.kt │ ├── ui │ └── topheadlines │ │ └── online │ │ └── TopHeadlinesOnlineViewModelTest.kt │ └── utils │ └── dispatcher │ └── TestDispatcherProvider.kt ├── assets ├── News-app-mvvm.png ├── News_app_mvvm_architecture.JPG ├── screenshot-1.JPG └── screenshot-2.JPG ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/androidTest/java/com/mayursarode/newsapp/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/androidTest/java/com/mayursarode/newsapp/ExampleInstrumentedTest.kt -------------------------------------------------------------------------------- /app/src/androidTest/java/com/mayursarode/newsapp/ui/topheadline/online/TopHeadlinesOnlineScreenTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/androidTest/java/com/mayursarode/newsapp/ui/topheadline/online/TopHeadlinesOnlineScreenTest.kt -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/NewsApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/NewsApplication.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/api/ApiKeyInterceptor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/api/ApiKeyInterceptor.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/api/NetworkService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/api/NetworkService.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/local/dao/ArticleDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/local/dao/ArticleDao.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/local/database/DatabaseService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/local/database/DatabaseService.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/local/database/NewsDatabase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/local/database/NewsDatabase.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/local/database/NewsDatabaseService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/local/database/NewsDatabaseService.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/local/entity/Article.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/local/entity/Article.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/local/entity/Source.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/local/entity/Source.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/model/ApiArticle.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/model/ApiArticle.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/model/ApiSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/model/ApiSource.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/model/Country.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/model/Country.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/model/Language.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/model/Language.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/model/NewsSourcesResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/model/NewsSourcesResponse.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/model/TopHeadlinesResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/model/TopHeadlinesResponse.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/repository/CountryRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/repository/CountryRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/repository/LanguageRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/repository/LanguageRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/repository/NewsBySourcesRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/repository/NewsBySourcesRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/repository/NewsSourcesRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/repository/NewsSourcesRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/repository/SearchRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/repository/SearchRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/repository/TopHeadlinesPagingSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/repository/TopHeadlinesPagingSource.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/data/repository/TopHeadlinesRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/data/repository/TopHeadlinesRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/di/module/ApplicationModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/di/module/ApplicationModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/di/qualifiers.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/di/qualifiers.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/navigation/NewsNavigation.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/navigation/NewsNavigation.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/navigation/Screen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/navigation/Screen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/HomeScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/HomeScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/MainActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/base/BaseViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/base/BaseViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/base/CommonUI.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/base/CommonUI.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/base/UiState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/base/UiState.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/country/CountryListScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/country/CountryListScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/country/CountryListViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/country/CountryListViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/language/LanguageListScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/language/LanguageListScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/language/LanguageListViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/language/LanguageListViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/newsbysources/NewsBySourcesScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/newsbysources/NewsBySourcesScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/newsbysources/NewsBySourcesViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/newsbysources/NewsBySourcesViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/newssources/NewsSourcesScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/newssources/NewsSourcesScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/newssources/NewsSourcesViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/newssources/NewsSourcesViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/search/SearchScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/search/SearchScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/search/SearchViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/search/SearchViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/theme/Color.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/theme/Color.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/theme/Theme.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/theme/Theme.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/theme/Type.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/theme/Type.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/topheadlines/offline/TopHeadlinesOfflineScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/topheadlines/offline/TopHeadlinesOfflineScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/topheadlines/offline/TopHeadlinesOfflineViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/topheadlines/offline/TopHeadlinesOfflineViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/topheadlines/online/TopHeadlinesOnlineScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/topheadlines/online/TopHeadlinesOnlineScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/topheadlines/online/TopHeadlinesOnlineViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/topheadlines/online/TopHeadlinesOnlineViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/topheadlines/paging/TopHeadlinesPagingScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/topheadlines/paging/TopHeadlinesPagingScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/ui/topheadlines/paging/TopHeadlinesPagingViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/ui/topheadlines/paging/TopHeadlinesPagingViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/utils/Constants.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/utils/Constants.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/utils/DispatcherProvider.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/utils/DispatcherProvider.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/utils/LocalData.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/utils/LocalData.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/utils/ResourceProvider.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/utils/ResourceProvider.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/utils/TimeUtil.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/utils/TimeUtil.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/utils/logger/AppLogger.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/utils/logger/AppLogger.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/utils/logger/Logger.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/utils/logger/Logger.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/utils/network/DefaultNetworkHelper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/utils/network/DefaultNetworkHelper.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/utils/network/NetworkHelper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/utils/network/NetworkHelper.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mayursarode/newsapp/worker/NewsWorker.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/java/com/mayursarode/newsapp/worker/NewsWorker.kt -------------------------------------------------------------------------------- /app/src/main/res/drawable-anydpi/ic_news.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable-anydpi/ic_news.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/def.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable-hdpi/def.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_news.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable-hdpi/ic_news.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldpi/def.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable-ldpi/def.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/def.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable-mdpi/def.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_news.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable-mdpi/ic_news.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/def.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable-xhdpi/def.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_news.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable-xhdpi/ic_news.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/def.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable-xxhdpi/def.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_news.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable-xxhdpi/ic_news.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/def.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable-xxxhdpi/def.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/cancel.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable/cancel.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/drawable/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/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/mayursarode4/News-App/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /app/src/main/res/xml/backup_rules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/xml/backup_rules.xml -------------------------------------------------------------------------------- /app/src/main/res/xml/data_extraction_rules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/main/res/xml/data_extraction_rules.xml -------------------------------------------------------------------------------- /app/src/test/java/com/mayursarode/newsapp/ExampleUnitTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/test/java/com/mayursarode/newsapp/ExampleUnitTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/mayursarode/newsapp/data/repository/TopHeadlinesRepositoryTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/test/java/com/mayursarode/newsapp/data/repository/TopHeadlinesRepositoryTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/mayursarode/newsapp/ui/topheadlines/online/TopHeadlinesOnlineViewModelTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/test/java/com/mayursarode/newsapp/ui/topheadlines/online/TopHeadlinesOnlineViewModelTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/mayursarode/newsapp/utils/dispatcher/TestDispatcherProvider.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/app/src/test/java/com/mayursarode/newsapp/utils/dispatcher/TestDispatcherProvider.kt -------------------------------------------------------------------------------- /assets/News-app-mvvm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/assets/News-app-mvvm.png -------------------------------------------------------------------------------- /assets/News_app_mvvm_architecture.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/assets/News_app_mvvm_architecture.JPG -------------------------------------------------------------------------------- /assets/screenshot-1.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/assets/screenshot-1.JPG -------------------------------------------------------------------------------- /assets/screenshot-2.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/assets/screenshot-2.JPG -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mayursarode4/News-App/HEAD/settings.gradle --------------------------------------------------------------------------------