├── .gitignore ├── README.md ├── app ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── praveenpayasi │ │ └── headlinehub │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── praveenpayasi │ │ │ └── headlinehub │ │ │ ├── HeadlineHubApplication.kt │ │ │ ├── data │ │ │ ├── api │ │ │ │ ├── ApiKeyInterceptor.kt │ │ │ │ └── NetworkService.kt │ │ │ ├── local │ │ │ │ ├── AppDatabaseService.kt │ │ │ │ ├── DatabaseService.kt │ │ │ │ ├── NewsAppDatabase.kt │ │ │ │ ├── dao │ │ │ │ │ ├── SourceDao.kt │ │ │ │ │ └── TopHeadlinesDao.kt │ │ │ │ └── entity │ │ │ │ │ ├── NewsSources.kt │ │ │ │ │ ├── Source.kt │ │ │ │ │ └── TopHeadlineEntity.kt │ │ │ ├── model │ │ │ │ ├── Country.kt │ │ │ │ ├── Language.kt │ │ │ │ ├── newssource │ │ │ │ │ ├── APINewsSource.kt │ │ │ │ │ └── NewsSourcesResponse.kt │ │ │ │ └── topheadlines │ │ │ │ │ ├── ApiSource.kt │ │ │ │ │ ├── ApiTopHeadlines.kt │ │ │ │ │ └── TopheadlinesResponse.kt │ │ │ └── repository │ │ │ │ ├── CountryListRepository.kt │ │ │ │ ├── LanguageListRepository.kt │ │ │ │ ├── NewsRepository.kt │ │ │ │ ├── NewsSourceRepository.kt │ │ │ │ ├── OfflineTopHeadlineRepository.kt │ │ │ │ ├── SearchRepository.kt │ │ │ │ ├── TopHeadlinePaginationRepository.kt │ │ │ │ ├── TopHeadlinePagingSource.kt │ │ │ │ └── TopHeadlineRepository.kt │ │ │ ├── di │ │ │ ├── module │ │ │ │ └── ApplicationModule.kt │ │ │ └── qualifier.kt │ │ │ ├── ui │ │ │ ├── MainActivity.kt │ │ │ ├── base │ │ │ │ ├── CommonUI.kt │ │ │ │ ├── HeadlineHubState.kt │ │ │ │ ├── Navigation.kt │ │ │ │ └── UiState.kt │ │ │ ├── country │ │ │ │ ├── CountryListScreen.kt │ │ │ │ └── CountryListViewModel.kt │ │ │ ├── home │ │ │ │ └── HomeScreenRoute.kt │ │ │ ├── language │ │ │ │ ├── LanguageListScreen.kt │ │ │ │ └── LanguageListViewModel.kt │ │ │ ├── news │ │ │ │ ├── NewsListScreen.kt │ │ │ │ └── NewsListViewModel.kt │ │ │ ├── offline │ │ │ │ ├── OfflineTopHeadlineScreen.kt │ │ │ │ └── OfflineTopHeadlineViewModel.kt │ │ │ ├── pagination │ │ │ │ ├── TopHeadlinePaginationScreen.kt │ │ │ │ └── TopHeadlinePaginationViewModel.kt │ │ │ ├── search │ │ │ │ ├── SearchScreen.kt │ │ │ │ └── SearchViewModel.kt │ │ │ ├── sources │ │ │ │ ├── NewsSourcesScreen.kt │ │ │ │ └── NewsSourcesViewModel.kt │ │ │ ├── theme │ │ │ │ ├── Color.kt │ │ │ │ ├── Shapes.kt │ │ │ │ ├── Theme.kt │ │ │ │ └── Type.kt │ │ │ ├── topheadline │ │ │ │ ├── TopHeadlineRoute.kt │ │ │ │ └── TopHeadlineViewModel.kt │ │ │ └── utils │ │ │ │ ├── AppConstant.kt │ │ │ │ ├── DispatcherProvider.kt │ │ │ │ ├── NetworkHelper.kt │ │ │ │ ├── NetworkHelperImpl.kt │ │ │ │ ├── TimeUtil.kt │ │ │ │ ├── logger │ │ │ │ ├── AppLogger.kt │ │ │ │ └── Logger.kt │ │ │ │ └── typealias.kt │ │ │ └── worker │ │ │ └── FetchTopHeadlinesWorker.kt │ └── res │ │ ├── drawable │ │ ├── ic_cancel.xml │ │ ├── ic_launcher_background.xml │ │ ├── ic_launcher_foreground.xml │ │ └── shape_button.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 │ └── praveenpayasi │ └── headlinehub │ ├── repository │ ├── OfflineTopHeadlineRepositoryTest.kt │ └── TopHeadlineRepositoryTest.kt │ ├── utils │ ├── TestDispatcherProvider.kt │ ├── TestLogger.kt │ └── TestNetworkHelper.kt │ └── viewmodel │ ├── OfflineTopHeadlineViewModelTest.kt │ └── TopHeadlineViewModelTest.kt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── screenshots ├── home_screen.png ├── mvvm_archi.jpg ├── news_sources.png ├── search_screen.png └── web_view.png └── settings.gradle.kts /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/build.gradle.kts -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/androidTest/java/com/praveenpayasi/headlinehub/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/androidTest/java/com/praveenpayasi/headlinehub/ExampleInstrumentedTest.kt -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/HeadlineHubApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/HeadlineHubApplication.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/api/ApiKeyInterceptor.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/api/ApiKeyInterceptor.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/api/NetworkService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/api/NetworkService.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/local/AppDatabaseService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/local/AppDatabaseService.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/local/DatabaseService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/local/DatabaseService.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/local/NewsAppDatabase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/local/NewsAppDatabase.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/local/dao/SourceDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/local/dao/SourceDao.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/local/dao/TopHeadlinesDao.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/local/dao/TopHeadlinesDao.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/local/entity/NewsSources.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/local/entity/NewsSources.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/local/entity/Source.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/local/entity/Source.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/local/entity/TopHeadlineEntity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/local/entity/TopHeadlineEntity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/model/Country.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/model/Country.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/model/Language.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/model/Language.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/model/newssource/APINewsSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/model/newssource/APINewsSource.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/model/newssource/NewsSourcesResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/model/newssource/NewsSourcesResponse.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/model/topheadlines/ApiSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/model/topheadlines/ApiSource.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/model/topheadlines/ApiTopHeadlines.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/model/topheadlines/ApiTopHeadlines.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/model/topheadlines/TopheadlinesResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/model/topheadlines/TopheadlinesResponse.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/repository/CountryListRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/repository/CountryListRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/repository/LanguageListRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/repository/LanguageListRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/repository/NewsRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/repository/NewsRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/repository/NewsSourceRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/repository/NewsSourceRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/repository/OfflineTopHeadlineRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/repository/OfflineTopHeadlineRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/repository/SearchRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/repository/SearchRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/repository/TopHeadlinePaginationRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/repository/TopHeadlinePaginationRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/repository/TopHeadlinePagingSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/repository/TopHeadlinePagingSource.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/data/repository/TopHeadlineRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/data/repository/TopHeadlineRepository.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/di/module/ApplicationModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/di/module/ApplicationModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/di/qualifier.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/di/qualifier.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/MainActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/MainActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/base/CommonUI.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/base/CommonUI.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/base/HeadlineHubState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/base/HeadlineHubState.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/base/Navigation.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/base/Navigation.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/base/UiState.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/base/UiState.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/country/CountryListScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/country/CountryListScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/country/CountryListViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/country/CountryListViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/home/HomeScreenRoute.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/home/HomeScreenRoute.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/language/LanguageListScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/language/LanguageListScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/language/LanguageListViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/language/LanguageListViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/news/NewsListScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/news/NewsListScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/news/NewsListViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/news/NewsListViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/offline/OfflineTopHeadlineScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/offline/OfflineTopHeadlineScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/offline/OfflineTopHeadlineViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/offline/OfflineTopHeadlineViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/pagination/TopHeadlinePaginationScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/pagination/TopHeadlinePaginationScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/pagination/TopHeadlinePaginationViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/pagination/TopHeadlinePaginationViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/search/SearchScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/search/SearchScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/search/SearchViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/search/SearchViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/sources/NewsSourcesScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/sources/NewsSourcesScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/sources/NewsSourcesViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/sources/NewsSourcesViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/theme/Color.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/theme/Color.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/theme/Shapes.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/theme/Shapes.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/theme/Theme.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/theme/Theme.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/theme/Type.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/theme/Type.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/topheadline/TopHeadlineRoute.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/topheadline/TopHeadlineRoute.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/topheadline/TopHeadlineViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/topheadline/TopHeadlineViewModel.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/AppConstant.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/AppConstant.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/DispatcherProvider.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/DispatcherProvider.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/NetworkHelper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/NetworkHelper.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/NetworkHelperImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/NetworkHelperImpl.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/TimeUtil.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/TimeUtil.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/logger/AppLogger.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/logger/AppLogger.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/logger/Logger.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/logger/Logger.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/typealias.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/ui/utils/typealias.kt -------------------------------------------------------------------------------- /app/src/main/java/com/praveenpayasi/headlinehub/worker/FetchTopHeadlinesWorker.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/java/com/praveenpayasi/headlinehub/worker/FetchTopHeadlinesWorker.kt -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_cancel.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/drawable/ic_cancel.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/drawable/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_button.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/drawable/shape_button.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/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/praveenpayasi/HeadlineHub/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/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /app/src/main/res/xml/backup_rules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/xml/backup_rules.xml -------------------------------------------------------------------------------- /app/src/main/res/xml/data_extraction_rules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/main/res/xml/data_extraction_rules.xml -------------------------------------------------------------------------------- /app/src/test/java/com/praveenpayasi/headlinehub/repository/OfflineTopHeadlineRepositoryTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/test/java/com/praveenpayasi/headlinehub/repository/OfflineTopHeadlineRepositoryTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/praveenpayasi/headlinehub/repository/TopHeadlineRepositoryTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/test/java/com/praveenpayasi/headlinehub/repository/TopHeadlineRepositoryTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/praveenpayasi/headlinehub/utils/TestDispatcherProvider.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/test/java/com/praveenpayasi/headlinehub/utils/TestDispatcherProvider.kt -------------------------------------------------------------------------------- /app/src/test/java/com/praveenpayasi/headlinehub/utils/TestLogger.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/test/java/com/praveenpayasi/headlinehub/utils/TestLogger.kt -------------------------------------------------------------------------------- /app/src/test/java/com/praveenpayasi/headlinehub/utils/TestNetworkHelper.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/test/java/com/praveenpayasi/headlinehub/utils/TestNetworkHelper.kt -------------------------------------------------------------------------------- /app/src/test/java/com/praveenpayasi/headlinehub/viewmodel/OfflineTopHeadlineViewModelTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/test/java/com/praveenpayasi/headlinehub/viewmodel/OfflineTopHeadlineViewModelTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/praveenpayasi/headlinehub/viewmodel/TopHeadlineViewModelTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/app/src/test/java/com/praveenpayasi/headlinehub/viewmodel/TopHeadlineViewModelTest.kt -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/gradlew.bat -------------------------------------------------------------------------------- /screenshots/home_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/screenshots/home_screen.png -------------------------------------------------------------------------------- /screenshots/mvvm_archi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/screenshots/mvvm_archi.jpg -------------------------------------------------------------------------------- /screenshots/news_sources.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/screenshots/news_sources.png -------------------------------------------------------------------------------- /screenshots/search_screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/screenshots/search_screen.png -------------------------------------------------------------------------------- /screenshots/web_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/screenshots/web_view.png -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/praveenpayasi/HeadlineHub/HEAD/settings.gradle.kts --------------------------------------------------------------------------------