├── .gitignore ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ ├── kotlin │ │ └── com │ │ │ └── github │ │ │ └── reyurnible │ │ │ └── news │ │ │ ├── ApplicationModule.kt │ │ │ ├── NewsApplication.kt │ │ │ ├── component │ │ │ ├── adapter │ │ │ │ ├── RecyclerDiffCallback.kt │ │ │ │ ├── article │ │ │ │ │ └── ArticleAdapter.kt │ │ │ │ └── article_source │ │ │ │ │ └── ArticleSourceAdapter.kt │ │ │ ├── item │ │ │ │ ├── ArticleComponent.kt │ │ │ │ └── ArticleSourceComponent.kt │ │ │ └── scene │ │ │ │ ├── RxLifecycleObserver.kt │ │ │ │ ├── SceneExtension.kt │ │ │ │ ├── article_sources │ │ │ │ ├── ArticleSourceArchitecture.kt │ │ │ │ ├── ArticleSourcesFragment.kt │ │ │ │ ├── ArticleSourcesFragmentComponent.kt │ │ │ │ └── ArticleSourcesPresenterImpl.kt │ │ │ │ ├── articles │ │ │ │ ├── ArticlesActivity.kt │ │ │ │ ├── ArticlesActivityComponent.kt │ │ │ │ ├── ArticlesArchitecture.kt │ │ │ │ ├── ArticlesFragment.kt │ │ │ │ ├── ArticlesFragmentComponent.kt │ │ │ │ └── ArticlesPresenterImpl.kt │ │ │ │ ├── favorites │ │ │ │ ├── FavoritesArchitecture.kt │ │ │ │ ├── FavoritesFragment.kt │ │ │ │ ├── FavoritesFragmentComponent.kt │ │ │ │ └── FavoritesPresenterImpl.kt │ │ │ │ ├── home │ │ │ │ ├── HomeArchitecture.kt │ │ │ │ ├── HomeFragment.kt │ │ │ │ ├── HomeFragmentComponent.kt │ │ │ │ ├── HomePagerAdapter.kt │ │ │ │ └── HomePresenterImpl.kt │ │ │ │ └── top │ │ │ │ ├── TopActivity.kt │ │ │ │ ├── TopActivityComponent.kt │ │ │ │ ├── TopArchitecture.kt │ │ │ │ └── TopPresenterImpl.kt │ │ │ ├── extension │ │ │ ├── ActivityExtensions.kt │ │ │ ├── FragmentExtensions.kt │ │ │ ├── ImageViewExtensions.kt │ │ │ ├── RecyclerViewExtensions.kt │ │ │ ├── Variable.kt │ │ │ └── ViewExtensions.kt │ │ │ ├── repository │ │ │ ├── DomainError.kt │ │ │ ├── NewsRepository.kt │ │ │ ├── NewsRepositoryImpl.kt │ │ │ ├── RepositoryModule.kt │ │ │ └── entity │ │ │ │ ├── Article.kt │ │ │ │ └── ArticleSource.kt │ │ │ └── source │ │ │ ├── LocalNewsSource.kt │ │ │ ├── RemoteNewsSource.kt │ │ │ ├── SourceModule.kt │ │ │ ├── local_requery │ │ │ ├── LocalNewsSourceImpl.kt │ │ │ ├── RequeryClient.kt │ │ │ └── dto │ │ │ │ └── Article.kt │ │ │ └── remote │ │ │ ├── NewsApi.kt │ │ │ ├── NewsApiClient.kt │ │ │ ├── RemoteNewsSourceImpl.kt │ │ │ └── response │ │ │ ├── GetArticlesResponse.kt │ │ │ └── GetSourcesResponse.kt │ └── res │ │ ├── drawable-hdpi │ │ ├── ic_bookmark_black_24dp.png │ │ ├── ic_bookmark_border_black_24dp.png │ │ ├── ic_dashboard_black_24dp.png │ │ └── ic_home_black_24dp.png │ │ ├── drawable-mdpi │ │ ├── ic_bookmark_black_24dp.png │ │ ├── ic_bookmark_border_black_24dp.png │ │ ├── ic_dashboard_black_24dp.png │ │ └── ic_home_black_24dp.png │ │ ├── drawable-xhdpi │ │ ├── ic_bookmark_black_24dp.png │ │ ├── ic_bookmark_border_black_24dp.png │ │ ├── ic_dashboard_black_24dp.png │ │ └── ic_home_black_24dp.png │ │ ├── drawable-xxhdpi │ │ ├── ic_bookmark_black_24dp.png │ │ ├── ic_bookmark_border_black_24dp.png │ │ ├── ic_dashboard_black_24dp.png │ │ └── ic_home_black_24dp.png │ │ ├── drawable-xxxhdpi │ │ ├── ic_bookmark_black_24dp.png │ │ ├── ic_bookmark_border_black_24dp.png │ │ ├── ic_dashboard_black_24dp.png │ │ └── ic_home_black_24dp.png │ │ ├── menu │ │ └── menu_top.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 │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── ids.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── github │ └── reyurnible │ └── news │ ├── component │ └── scene │ │ ├── home │ │ └── HomePresenterTest.kt │ │ └── top │ │ └── TopPresenterTest.kt │ ├── factory │ ├── ApiErrorFactory.kt │ ├── ArticleFactory.kt │ └── ArticleSourceFactory.kt │ ├── helper │ ├── CanUseEasyMockito.kt │ └── MockTestCase.kt │ └── repository │ └── NewsRepositoryTest.kt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/ApplicationModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/ApplicationModule.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/NewsApplication.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/NewsApplication.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/adapter/RecyclerDiffCallback.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/adapter/RecyclerDiffCallback.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/adapter/article/ArticleAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/adapter/article/ArticleAdapter.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/adapter/article_source/ArticleSourceAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/adapter/article_source/ArticleSourceAdapter.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/item/ArticleComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/item/ArticleComponent.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/item/ArticleSourceComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/item/ArticleSourceComponent.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/RxLifecycleObserver.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/RxLifecycleObserver.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/SceneExtension.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/SceneExtension.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/article_sources/ArticleSourceArchitecture.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/article_sources/ArticleSourceArchitecture.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/article_sources/ArticleSourcesFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/article_sources/ArticleSourcesFragment.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/article_sources/ArticleSourcesFragmentComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/article_sources/ArticleSourcesFragmentComponent.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/article_sources/ArticleSourcesPresenterImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/article_sources/ArticleSourcesPresenterImpl.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/articles/ArticlesActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/articles/ArticlesActivity.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/articles/ArticlesActivityComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/articles/ArticlesActivityComponent.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/articles/ArticlesArchitecture.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/articles/ArticlesArchitecture.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/articles/ArticlesFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/articles/ArticlesFragment.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/articles/ArticlesFragmentComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/articles/ArticlesFragmentComponent.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/articles/ArticlesPresenterImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/articles/ArticlesPresenterImpl.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/favorites/FavoritesArchitecture.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/favorites/FavoritesArchitecture.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/favorites/FavoritesFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/favorites/FavoritesFragment.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/favorites/FavoritesFragmentComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/favorites/FavoritesFragmentComponent.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/favorites/FavoritesPresenterImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/favorites/FavoritesPresenterImpl.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/home/HomeArchitecture.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/home/HomeArchitecture.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/home/HomeFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/home/HomeFragment.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/home/HomeFragmentComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/home/HomeFragmentComponent.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/home/HomePagerAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/home/HomePagerAdapter.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/home/HomePresenterImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/home/HomePresenterImpl.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/top/TopActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/top/TopActivity.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/top/TopActivityComponent.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/top/TopActivityComponent.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/top/TopArchitecture.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/top/TopArchitecture.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/component/scene/top/TopPresenterImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/component/scene/top/TopPresenterImpl.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/extension/ActivityExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/extension/ActivityExtensions.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/extension/FragmentExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/extension/FragmentExtensions.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/extension/ImageViewExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/extension/ImageViewExtensions.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/extension/RecyclerViewExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/extension/RecyclerViewExtensions.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/extension/Variable.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/extension/Variable.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/extension/ViewExtensions.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/extension/ViewExtensions.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/repository/DomainError.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/repository/DomainError.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/repository/NewsRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/repository/NewsRepository.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/repository/NewsRepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/repository/NewsRepositoryImpl.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/repository/RepositoryModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/repository/RepositoryModule.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/repository/entity/Article.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/repository/entity/Article.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/repository/entity/ArticleSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/repository/entity/ArticleSource.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/source/LocalNewsSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/source/LocalNewsSource.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/source/RemoteNewsSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/source/RemoteNewsSource.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/source/SourceModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/source/SourceModule.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/source/local_requery/LocalNewsSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/source/local_requery/LocalNewsSourceImpl.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/source/local_requery/RequeryClient.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/source/local_requery/RequeryClient.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/source/local_requery/dto/Article.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/source/local_requery/dto/Article.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/source/remote/NewsApi.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/source/remote/NewsApi.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/source/remote/NewsApiClient.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/source/remote/NewsApiClient.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/source/remote/RemoteNewsSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/source/remote/RemoteNewsSourceImpl.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/source/remote/response/GetArticlesResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/source/remote/response/GetArticlesResponse.kt -------------------------------------------------------------------------------- /app/src/main/kotlin/com/github/reyurnible/news/source/remote/response/GetSourcesResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/kotlin/com/github/reyurnible/news/source/remote/response/GetSourcesResponse.kt -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_bookmark_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-hdpi/ic_bookmark_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_bookmark_border_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-hdpi/ic_bookmark_border_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_dashboard_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-hdpi/ic_dashboard_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_home_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-hdpi/ic_home_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_bookmark_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-mdpi/ic_bookmark_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_bookmark_border_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-mdpi/ic_bookmark_border_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_dashboard_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-mdpi/ic_dashboard_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_home_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-mdpi/ic_home_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_bookmark_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-xhdpi/ic_bookmark_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_bookmark_border_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-xhdpi/ic_bookmark_border_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_dashboard_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-xhdpi/ic_dashboard_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_home_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-xhdpi/ic_home_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_bookmark_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-xxhdpi/ic_bookmark_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_bookmark_border_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-xxhdpi/ic_bookmark_border_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_dashboard_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-xxhdpi/ic_dashboard_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_home_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-xxhdpi/ic_home_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_bookmark_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-xxxhdpi/ic_bookmark_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_bookmark_border_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-xxxhdpi/ic_bookmark_border_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_dashboard_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-xxxhdpi/ic_dashboard_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_home_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/drawable-xxxhdpi/ic_home_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_top.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/menu/menu_top.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/values/ids.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /app/src/test/java/com/github/reyurnible/news/component/scene/home/HomePresenterTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/test/java/com/github/reyurnible/news/component/scene/home/HomePresenterTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/github/reyurnible/news/component/scene/top/TopPresenterTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/test/java/com/github/reyurnible/news/component/scene/top/TopPresenterTest.kt -------------------------------------------------------------------------------- /app/src/test/java/com/github/reyurnible/news/factory/ApiErrorFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/test/java/com/github/reyurnible/news/factory/ApiErrorFactory.kt -------------------------------------------------------------------------------- /app/src/test/java/com/github/reyurnible/news/factory/ArticleFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/test/java/com/github/reyurnible/news/factory/ArticleFactory.kt -------------------------------------------------------------------------------- /app/src/test/java/com/github/reyurnible/news/factory/ArticleSourceFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/test/java/com/github/reyurnible/news/factory/ArticleSourceFactory.kt -------------------------------------------------------------------------------- /app/src/test/java/com/github/reyurnible/news/helper/CanUseEasyMockito.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/test/java/com/github/reyurnible/news/helper/CanUseEasyMockito.kt -------------------------------------------------------------------------------- /app/src/test/java/com/github/reyurnible/news/helper/MockTestCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/test/java/com/github/reyurnible/news/helper/MockTestCase.kt -------------------------------------------------------------------------------- /app/src/test/java/com/github/reyurnible/news/repository/NewsRepositoryTest.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/app/src/test/java/com/github/reyurnible/news/repository/NewsRepositoryTest.kt -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hosshan/kotlin-sample-newsapp/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | --------------------------------------------------------------------------------