From 6cb3f47ae49f828a185a3647e2d881a7e07e1fd4 Mon Sep 17 00:00:00 2001 From: GeorgCantor Date: Sun, 12 Jul 2020 16:41:14 +0300 Subject: [PATCH] added Images to news, fixed code style --- app/build.gradle | 4 ++ .../androiddevs/newsflash/data/NewsError.kt | 3 +- .../androiddevs/newsflash/data/NewsResult.kt | 9 ++--- .../androiddevs/newsflash/data/NewsSources.kt | 6 +-- .../newsflash/repository/NewsApiService.kt | 12 +++--- .../newsflash/view/MainActivity.kt | 11 +----- .../view/adapter/HomeNewsRecyelerAdapter.kt | 15 ++++++-- .../newsflash/view/fragments/HomeFragment.kt | 1 - app/src/main/res/layout/activity_main.xml | 6 ++- app/src/main/res/layout/fragment_home.xml | 13 +++++-- app/src/main/res/layout/home_news_row.xml | 37 ++++++++++++------- 11 files changed, 66 insertions(+), 51 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index c339f69..abb1ba8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -64,6 +64,10 @@ dependencies { implementation "com.squareup.okhttp3:okhttp:$okHttpVersion" implementation "com.squareup.okhttp3:logging-interceptor:$okHttpVersion" + // GLIDE + implementation 'com.github.bumptech.glide:glide:4.11.0' + annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' + // TESTING implementation 'androidx.legacy:legacy-support-v4:1.0.0' testImplementation 'junit:junit:4.12' diff --git a/app/src/main/java/com/androiddevs/newsflash/data/NewsError.kt b/app/src/main/java/com/androiddevs/newsflash/data/NewsError.kt index 257a110..3500441 100644 --- a/app/src/main/java/com/androiddevs/newsflash/data/NewsError.kt +++ b/app/src/main/java/com/androiddevs/newsflash/data/NewsError.kt @@ -2,8 +2,7 @@ package com.androiddevs.newsflash.data import com.google.gson.annotations.SerializedName -object NewsError -{ +object NewsError { data class Error( @SerializedName("status") val status: String, diff --git a/app/src/main/java/com/androiddevs/newsflash/data/NewsResult.kt b/app/src/main/java/com/androiddevs/newsflash/data/NewsResult.kt index 7418dc8..2ea779f 100644 --- a/app/src/main/java/com/androiddevs/newsflash/data/NewsResult.kt +++ b/app/src/main/java/com/androiddevs/newsflash/data/NewsResult.kt @@ -2,8 +2,7 @@ package com.androiddevs.newsflash.data import com.google.gson.annotations.SerializedName -object NewsResult -{ +object NewsResult { data class News( @SerializedName("status") @@ -12,8 +11,7 @@ object NewsResult val totalResults: Int, @SerializedName("articles") val articles: List
- ) - { + ) { data class Article( @SerializedName("source") val source: Source, @@ -31,8 +29,7 @@ object NewsResult val publishedAt: String, @SerializedName("content") val content: String - ) - { + ) { data class Source( @SerializedName("id") val id: String, diff --git a/app/src/main/java/com/androiddevs/newsflash/data/NewsSources.kt b/app/src/main/java/com/androiddevs/newsflash/data/NewsSources.kt index a3b34b8..a0cbb38 100644 --- a/app/src/main/java/com/androiddevs/newsflash/data/NewsSources.kt +++ b/app/src/main/java/com/androiddevs/newsflash/data/NewsSources.kt @@ -2,16 +2,14 @@ package com.androiddevs.newsflash.data import com.google.gson.annotations.SerializedName -object NewsSources -{ +object NewsSources { data class Sources( @SerializedName("status") val status: String, @SerializedName("sources") val sources: List - ) - { + ) { data class Source( @SerializedName("id") val id: String, diff --git a/app/src/main/java/com/androiddevs/newsflash/repository/NewsApiService.kt b/app/src/main/java/com/androiddevs/newsflash/repository/NewsApiService.kt index d7ef33f..f12c6af 100644 --- a/app/src/main/java/com/androiddevs/newsflash/repository/NewsApiService.kt +++ b/app/src/main/java/com/androiddevs/newsflash/repository/NewsApiService.kt @@ -37,16 +37,17 @@ interface NewsApiService { @GET("everything") fun getEverything( @Query("q") keyword: String, - @Query("qInTitle") keyWordInArtcile : String, + @Query("qInTitle") keyWordInArtcile: String, @Query("sources") sources: String, @Query("domains") domain: String, @Query("excludeDomains") excludeDomains: String, @Query("from") from: String, @Query("to") to: String, - @Query("language") language:String, - @Query("sortBy") sortBy:String, + @Query("language") language: String, + @Query("sortBy") sortBy: String, @Query("pageSize") pageSize: Int, - @Query("page") page: Int):Observable + @Query("page") page: Int + ): Observable companion object { @@ -81,12 +82,9 @@ interface NewsApiService { .client(okHttpClient) .build() - return retrofit.create(NewsApiService::class.java) - } } - } \ No newline at end of file diff --git a/app/src/main/java/com/androiddevs/newsflash/view/MainActivity.kt b/app/src/main/java/com/androiddevs/newsflash/view/MainActivity.kt index 85370ea..b9873b0 100644 --- a/app/src/main/java/com/androiddevs/newsflash/view/MainActivity.kt +++ b/app/src/main/java/com/androiddevs/newsflash/view/MainActivity.kt @@ -9,17 +9,10 @@ import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable import io.reactivex.schedulers.Schedulers -class MainActivity : AppCompatActivity() -{ +class MainActivity : AppCompatActivity() { - override fun onCreate(savedInstanceState: Bundle?) - { + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - - - - - } } diff --git a/app/src/main/java/com/androiddevs/newsflash/view/adapter/HomeNewsRecyelerAdapter.kt b/app/src/main/java/com/androiddevs/newsflash/view/adapter/HomeNewsRecyelerAdapter.kt index 8d473c4..080925f 100644 --- a/app/src/main/java/com/androiddevs/newsflash/view/adapter/HomeNewsRecyelerAdapter.kt +++ b/app/src/main/java/com/androiddevs/newsflash/view/adapter/HomeNewsRecyelerAdapter.kt @@ -1,14 +1,14 @@ package com.androiddevs.newsflash.view.adapter - import android.view.LayoutInflater import android.view.ViewGroup +import android.widget.ImageView import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.RecyclerView import com.androiddevs.newsflash.R import com.androiddevs.newsflash.data.NewsResult import com.androiddevs.newsflash.databinding.HomeNewsRowBinding - +import com.bumptech.glide.Glide class HomeNewsRecyelerAdapter(private var newsList: ArrayList) : RecyclerView.Adapter() { @@ -32,12 +32,19 @@ class HomeNewsRecyelerAdapter(private var newsList: ArrayList + + + app:navGraph="@navigation/navigation_graph" /> + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index fb5ab35..3695d62 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -1,13 +1,18 @@ + - + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/home_news_row.xml b/app/src/main/res/layout/home_news_row.xml index a3351ff..56ea355 100644 --- a/app/src/main/res/layout/home_news_row.xml +++ b/app/src/main/res/layout/home_news_row.xml @@ -1,11 +1,14 @@ - - - - + + + + + + + + + + app:layout_constraintTop_toBottomOf="@+id/image" />