From e1cfccfcc0b7e63a79b0ef1b3ec42f92efec9398 Mon Sep 17 00:00:00 2001 From: chenjuntao Date: Mon, 18 May 2020 10:40:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B8=B8=E6=88=8F=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E9=A1=B5=E6=A0=87=E7=AD=BE=E5=90=8E=E5=8F=B0=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E4=B8=BA=E7=A9=BA=E6=97=B6=E7=9A=84=E9=97=AA=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gamedetail/desc/DescViewModel.kt | 12 ++++--- .../desc/GameDetailCustomColumnAdapter.kt | 35 ++++++++++--------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescViewModel.kt index cfd1a9d68e..83e67cff6e 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescViewModel.kt @@ -263,11 +263,13 @@ class DescViewModel(application: Application, if (item.type == DetailEntity.Type.CUSTOM_COLUMN.value) { item.customColumn?.infoTag?.let { for (tag in it) { - Picasso.with(getApplication()).load(tag.icon).into(object : Target { - override fun onPrepareLoad(placeHolderDrawable: Drawable?) {} - override fun onBitmapFailed(errorDrawable: Drawable?) {} - override fun onBitmapLoaded(bitmap: Bitmap?, from: Picasso.LoadedFrom?) {} - }) + tryWithDefaultCatch { + Picasso.with(getApplication()).load(tag.icon).into(object : Target { + override fun onPrepareLoad(placeHolderDrawable: Drawable?) {} + override fun onBitmapFailed(errorDrawable: Drawable?) {} + override fun onBitmapLoaded(bitmap: Bitmap?, from: Picasso.LoadedFrom?) {} + }) + } } } } diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailCustomColumnAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailCustomColumnAdapter.kt index 8f1bcf527f..b94a6f1bf9 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailCustomColumnAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailCustomColumnAdapter.kt @@ -12,6 +12,7 @@ import androidx.recyclerview.widget.RecyclerView import butterknife.BindView import com.gh.base.BaseRecyclerViewHolder import com.gh.common.util.SpanBuilder +import com.gh.common.util.tryWithDefaultCatch import com.gh.common.view.CenterImageSpan import com.gh.common.view.CustomLinkMovementMethod import com.gh.gamecenter.R @@ -51,22 +52,24 @@ class GameDetailCustomColumnAdapter(context: Context) color ?: "#000000") .build() - Picasso.with(mContext).load(icon) - .priority(Picasso.Priority.HIGH) - .into(object : Target { - override fun onPrepareLoad(placeHolderDrawable: Drawable?) { - viewHolder.contentTv.movementMethod = CustomLinkMovementMethod.getInstance() - viewHolder.contentTv.text = spannable - } - override fun onBitmapFailed(errorDrawable: Drawable?) {} - override fun onBitmapLoaded(bitmap: Bitmap?, from: Picasso.LoadedFrom?) { - val bitmapDrawable = BitmapDrawable(mContext.resources, bitmap) - bitmapDrawable.setBounds(0, 0, DensityUtil.dip2px(12F), DensityUtil.dip2px(12F)) - spannable.setSpan(CenterImageSpan(bitmapDrawable), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) - viewHolder.contentTv.movementMethod = CustomLinkMovementMethod.getInstance() - viewHolder.contentTv.text = spannable - } - }) + tryWithDefaultCatch { + Picasso.with(mContext).load(icon) + .priority(Picasso.Priority.HIGH) + .into(object : Target { + override fun onPrepareLoad(placeHolderDrawable: Drawable?) { + viewHolder.contentTv.movementMethod = CustomLinkMovementMethod.getInstance() + viewHolder.contentTv.text = spannable + } + override fun onBitmapFailed(errorDrawable: Drawable?) {} + override fun onBitmapLoaded(bitmap: Bitmap?, from: Picasso.LoadedFrom?) { + val bitmapDrawable = BitmapDrawable(mContext.resources, bitmap) + bitmapDrawable.setBounds(0, 0, DensityUtil.dip2px(12F), DensityUtil.dip2px(12F)) + spannable.setSpan(CenterImageSpan(bitmapDrawable), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) + viewHolder.contentTv.movementMethod = CustomLinkMovementMethod.getInstance() + viewHolder.contentTv.text = spannable + } + }) + } } }