diff --git a/app/src/main/assets/18PlusList.txt b/app/src/main/assets/18PlusList.txt index 7776c3b14..e69de29bb 100644 --- a/app/src/main/assets/18PlusList.txt +++ b/app/src/main/assets/18PlusList.txt @@ -1,2 +0,0 @@ -OGN5dS5jb20= -c2cwMC54eXo= \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesAdapter.kt b/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesAdapter.kt index 7b56df2aa..bac1f6665 100644 --- a/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesAdapter.kt +++ b/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesAdapter.kt @@ -2,6 +2,8 @@ package io.legado.app.ui.rss.article import android.content.Context import android.graphics.drawable.Drawable +import android.widget.ImageView +import androidx.core.content.ContextCompat import com.bumptech.glide.load.DataSource import com.bumptech.glide.load.engine.GlideException import com.bumptech.glide.request.RequestListener @@ -18,15 +20,22 @@ import org.jetbrains.anko.sdk27.listeners.onClick import org.jetbrains.anko.textColorResource -class RssArticlesAdapter(context: Context, layoutId: Int, val callBack: CallBack) : +class RssArticlesAdapter(context: Context, layoutId: Int, private val isGridLayout: Boolean, val callBack: CallBack) : SimpleRecyclerAdapter(context, layoutId) { + fun emptyImage(image_view: ImageView) { + if (isGridLayout) + image_view.setImageResource(R.drawable.rss_img_default) + else + image_view.gone() + } + override fun convert(holder: ItemViewHolder, item: RssArticle, payloads: MutableList) { with(holder.itemView) { tv_title.text = item.title tv_pub_date.text = item.pubDate if (item.image.isNullOrBlank()) { - image_view.gone() + emptyImage(image_view) } else { ImageLoader.load(context, item.image) .addListener(object : RequestListener { @@ -36,8 +45,8 @@ class RssArticlesAdapter(context: Context, layoutId: Int, val callBack: CallBack target: Target?, isFirstResource: Boolean ): Boolean { - image_view.gone() - return false + emptyImage(image_view) + return true } override fun onResourceReady( diff --git a/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesBaseAdapter.kt b/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesBaseAdapter.kt deleted file mode 100644 index 385f19ae4..000000000 --- a/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesBaseAdapter.kt +++ /dev/null @@ -1,24 +0,0 @@ -package io.legado.app.ui.rss.article - -import android.content.Context -import io.legado.app.base.adapter.ItemViewHolder -import io.legado.app.base.adapter.SimpleRecyclerAdapter -import io.legado.app.data.entities.RssArticle -import org.jetbrains.anko.sdk27.listeners.onClick - - -abstract class RssArticlesBaseAdapter(context: Context, private val layoutId: Int, val callBack: CallBack) : - SimpleRecyclerAdapter(context, layoutId) { - - override fun registerListener(holder: ItemViewHolder) { - holder.itemView.onClick { - getItem(holder.layoutPosition)?.let { - callBack.readRss(it) - } - } - } - - interface CallBack { - fun readRss(rssArticle: RssArticle) - } -} \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesGridAdapter.kt b/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesGridAdapter.kt deleted file mode 100644 index 16793bd66..000000000 --- a/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesGridAdapter.kt +++ /dev/null @@ -1,63 +0,0 @@ -package io.legado.app.ui.rss.article - -import android.content.Context -import android.graphics.drawable.Drawable -import com.bumptech.glide.load.DataSource -import com.bumptech.glide.load.engine.GlideException -import com.bumptech.glide.request.RequestListener -import com.bumptech.glide.request.target.Target -import io.legado.app.R -import io.legado.app.base.adapter.ItemViewHolder -import io.legado.app.data.entities.RssArticle -import io.legado.app.help.ImageLoader -import io.legado.app.utils.gone -import io.legado.app.utils.visible -import kotlinx.android.synthetic.main.item_rss_article.view.* -import org.jetbrains.anko.textColorResource - - -class RssArticlesGridAdapter(context: Context, private val layoutId: Int, callBack: CallBack) : - RssArticlesBaseAdapter(context, layoutId, callBack) { - - override fun convert(holder: ItemViewHolder, item: RssArticle, payloads: MutableList) { - with(holder.itemView) { - tv_title.text = item.title - tv_pub_date.text = item.pubDate - if (item.image.isNullOrBlank()) { - image_view.gone() - } else { - ImageLoader.load(context, item.image) - .addListener(object : RequestListener { - override fun onLoadFailed( - e: GlideException?, - model: Any?, - target: Target?, - isFirstResource: Boolean - ): Boolean { - image_view.gone() - return false - } - - override fun onResourceReady( - resource: Drawable?, - model: Any?, - target: Target?, - dataSource: DataSource?, - isFirstResource: Boolean - ): Boolean { - image_view.visible() - return false - } - - }) - .into(image_view) - } - if (item.read) { - tv_title.textColorResource = R.color.tv_text_summary - } else { - tv_title.textColorResource = R.color.tv_text_default - } - } - } - -} \ No newline at end of file diff --git a/app/src/main/res/drawable/rss_img_default.png b/app/src/main/res/drawable/rss_img_default.png new file mode 100644 index 000000000..e5f9efb75 Binary files /dev/null and b/app/src/main/res/drawable/rss_img_default.png differ