From a9c6d70af5fb4a9413e30cdcb75c2f420d14b62b Mon Sep 17 00:00:00 2001 From: HuanCheng65 <22636177+HuanCheng65@users.noreply.github.com> Date: Sat, 31 Dec 2022 19:13:12 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=94=B1=E4=BA=8E=20A?= =?UTF-8?q?PI=20=E5=8F=98=E6=9B=B4=E5=AF=BC=E8=87=B4=E7=9A=84=E9=97=AA?= =?UTF-8?q?=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tieba/post/adapters/ThreadMainPostAdapter.kt | 12 ++++++++++-- .../tieba/post/adapters/ThreadReplyAdapter.kt | 13 +++++++------ .../tieba/post/api/models/ForumPageBean.kt | 2 +- .../post/fragments/PersonalizedFeedFragment.kt | 6 ++++-- .../tieba/post/plugins/asoulcnki/PluginAsoulCnki.kt | 5 +++-- 5 files changed, 25 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/huanchengfly/tieba/post/adapters/ThreadMainPostAdapter.kt b/app/src/main/java/com/huanchengfly/tieba/post/adapters/ThreadMainPostAdapter.kt index 590c1887..8882d7dd 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/adapters/ThreadMainPostAdapter.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/adapters/ThreadMainPostAdapter.kt @@ -26,8 +26,16 @@ import com.huanchengfly.tieba.post.models.ReplyInfoBean import com.huanchengfly.tieba.post.plugins.PluginManager import com.huanchengfly.tieba.post.ui.common.theme.utils.ThemeUtils import com.huanchengfly.tieba.post.ui.widgets.MyLinearLayout -import com.huanchengfly.tieba.post.utils.* +import com.huanchengfly.tieba.post.utils.DateTimeUtils +import com.huanchengfly.tieba.post.utils.DisplayUtil +import com.huanchengfly.tieba.post.utils.ImageUtil +import com.huanchengfly.tieba.post.utils.NavigationHelper +import com.huanchengfly.tieba.post.utils.PostListAdapterHelper +import com.huanchengfly.tieba.post.utils.StringUtil +import com.huanchengfly.tieba.post.utils.ThemeUtil import com.huanchengfly.tieba.post.utils.TiebaUtil.reportPost +import com.huanchengfly.tieba.post.utils.Util +import com.huanchengfly.tieba.post.utils.appPreferences class ThreadMainPostAdapter( @@ -123,7 +131,7 @@ class ThreadMainPostAdapter( } R.id.menu_copy -> { val stringBuilder = StringBuilder() - for (contentBean in threadPostBean!!.content!!) { + for (contentBean in threadPostBean!!.content ?: emptyList()) { when (contentBean.type) { "2" -> contentBean.setText("#(" + contentBean.c + ")") "3", "20" -> contentBean.setText("[图片]\n") diff --git a/app/src/main/java/com/huanchengfly/tieba/post/adapters/ThreadReplyAdapter.kt b/app/src/main/java/com/huanchengfly/tieba/post/adapters/ThreadReplyAdapter.kt index d8bd2752..baae277a 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/adapters/ThreadReplyAdapter.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/adapters/ThreadReplyAdapter.kt @@ -134,7 +134,7 @@ class ThreadReplyAdapter(context: Context) : } builder.append(":") } - if (subPostListItemBean.content!!.isNotEmpty() && "10" == subPostListItemBean.content[0].type) { + if (!subPostListItemBean.content.isNullOrEmpty() && "10" == subPostListItemBean.content[0].type) { val voiceUrl = "http://c.tieba.baidu.com/c/p/voice?voice_md5=" + subPostListItemBean.content[0].voiceMD5 + "&play_from=pb_voice_play" val container = RelativeLayout(context) @@ -184,7 +184,7 @@ class ThreadReplyAdapter(context: Context) : } val textView = createTextView() textView.layoutParams = defaultLayoutParamsWithNoMargins - for (contentBean in subPostListItemBean.content) { + for (contentBean in subPostListItemBean.content ?: emptyList()) { when (contentBean.type) { "0" -> { if (BlockUtil.needBlock(contentBean.text) || BlockUtil.needBlock(userInfoBean)) { @@ -192,6 +192,7 @@ class ThreadReplyAdapter(context: Context) : } builder.append(contentBean.text) } + "1" -> builder.append( contentBean.text, MyURLSpan(context, contentBean.link), @@ -336,7 +337,7 @@ class ThreadReplyAdapter(context: Context) : } R.id.menu_copy -> { val stringBuilder = StringBuilder() - for (contentBean in subPostListItemBean.content!!) { + for (contentBean in subPostListItemBean.content ?: emptyList()) { when (contentBean.type) { "2" -> contentBean.setText("#(" + contentBean.c + ")") "3", "20" -> contentBean.setText("[图片]\n") @@ -456,7 +457,7 @@ class ThreadReplyAdapter(context: Context) : } R.id.menu_copy -> { val stringBuilder = StringBuilder() - for (contentBean in postListItemBean.content!!) { + for (contentBean in postListItemBean.content ?: emptyList()) { when (contentBean.type) { "2" -> contentBean.setText("#(" + contentBean.c + ")") "3", "20" -> contentBean.setText("[图片]\n") @@ -694,7 +695,7 @@ class ThreadReplyAdapter(context: Context) : blockCacheMap[postListItemBean.floor] = true return true } - for (contentBean in postListItemBean.content!!) { + for (contentBean in postListItemBean.content ?: emptyList()) { if ("0" == contentBean.type) { if (BlockUtil.needBlock(contentBean.text)) { blockCacheMap[postListItemBean.floor] = true @@ -714,7 +715,7 @@ class ThreadReplyAdapter(context: Context) : } companion object { - val TAG = ThreadReplyAdapter::class.java.simpleName + const val TAG = "ThreadReplyAdapter" const val TYPE_REPLY = 1000 const val TYPE_THREAD = 1001 const val MAX_SUB_POST_SHOW = 3 diff --git a/app/src/main/java/com/huanchengfly/tieba/post/api/models/ForumPageBean.kt b/app/src/main/java/com/huanchengfly/tieba/post/api/models/ForumPageBean.kt index 0aeb6fe7..8c571d21 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/api/models/ForumPageBean.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/api/models/ForumPageBean.kt @@ -350,7 +350,7 @@ class ForumPageBean : ErrorBean() { return this } - fun setAbstractBeans(abstractBeans: List?): ThreadBean { + fun setAbstractBeans(abstractBeans: List?): ThreadBean { this.abstractBeans = abstractBeans return this } diff --git a/app/src/main/java/com/huanchengfly/tieba/post/fragments/PersonalizedFeedFragment.kt b/app/src/main/java/com/huanchengfly/tieba/post/fragments/PersonalizedFeedFragment.kt index 0e0d0326..6ec0b1f9 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/fragments/PersonalizedFeedFragment.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/fragments/PersonalizedFeedFragment.kt @@ -164,7 +164,7 @@ class PersonalizedFeedFragment : BaseFragment(), PersonalizedFeedAdapter.OnRefre } val newThreadBeans: List = bean.threadList?.filterNot { - (it.abstractBeans?.size!! > 0 && BlockUtil.needBlock(it.abstractBeans[0].text)) || BlockUtil.needBlock( + (!it.abstractBeans.isNullOrEmpty() && BlockUtil.needBlock(it.abstractBeans[0].text)) || BlockUtil.needBlock( it.author?.nameShow, it.author?.id ) @@ -232,7 +232,9 @@ class PersonalizedFeedFragment : BaseFragment(), PersonalizedFeedAdapter.OnRefre } val newThreadBeans: List = it.threadList?.filterNot { threadBean -> - (threadBean.abstractBeans?.size!! > 0 && BlockUtil.needBlock(threadBean.abstractBeans[0].text)) || BlockUtil.needBlock( + (!threadBean.abstractBeans.isNullOrEmpty() && BlockUtil.needBlock( + threadBean.abstractBeans[0].text + )) || BlockUtil.needBlock( threadBean.author?.nameShow, threadBean.author?.id ) diff --git a/app/src/main/java/com/huanchengfly/tieba/post/plugins/asoulcnki/PluginAsoulCnki.kt b/app/src/main/java/com/huanchengfly/tieba/post/plugins/asoulcnki/PluginAsoulCnki.kt index 226ff6c8..b8eb66d7 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/plugins/asoulcnki/PluginAsoulCnki.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/plugins/asoulcnki/PluginAsoulCnki.kt @@ -26,7 +26,8 @@ import okhttp3.MediaType.Companion.toMediaTypeOrNull import okhttp3.RequestBody.Companion.toRequestBody import java.text.NumberFormat import java.text.SimpleDateFormat -import java.util.* +import java.util.Date +import java.util.Locale class PluginAsoulCnki(app: IApp, manifest: PluginManifest) : IPlugin(app, manifest) { override fun onEnable() { @@ -153,7 +154,7 @@ class PluginAsoulCnki(app: IApp, manifest: PluginManifest) : IPlugin(app, manife fun getPostTextContent(item: ThreadContentBean.PostListItemBean): String { val stringBuilder = StringBuilder() - for (contentBean in item.content!!) { + for (contentBean in item.content ?: emptyList()) { when (contentBean.type) { "2" -> contentBean.setText("#(" + contentBean.c + ")") "3", "20" -> contentBean.setText("[图片]\n")