From 3319fd29deb685c1cf6f5f9e25c0baf8a51e1803 Mon Sep 17 00:00:00 2001 From: liuyirong Date: Thu, 25 Aug 2022 11:03:18 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=AE=BA=E5=9D=9B?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E7=82=B9=E5=87=BB=E6=A0=87=E9=A2=98?= =?UTF-8?q?=E6=A0=8F=E9=A1=B5=E9=9D=A2=E5=90=B8=E9=A1=B6=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E9=97=AA=E9=80=80=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt index 31cdb894e6..5835bdaf78 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumArticleAskListFragment.kt @@ -269,7 +269,7 @@ class ForumArticleAskListFragment : LazyListFragment Date: Thu, 25 Aug 2022 14:36:59 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=B8=B8=E6=88=8F?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2=E3=80=81=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E5=A4=A7=E5=9B=BE=E9=A1=B5=E9=9D=A2=E7=9A=84=E9=97=AA=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gh/gamecenter/ImageViewerActivity.kt | 32 +++++++++++++++---- .../gamedetail/GameDetailFragment.kt | 6 ++-- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/ImageViewerActivity.kt b/app/src/main/java/com/gh/gamecenter/ImageViewerActivity.kt index e01afdec38..b14def2324 100644 --- a/app/src/main/java/com/gh/gamecenter/ImageViewerActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/ImageViewerActivity.kt @@ -368,7 +368,7 @@ class ImageViewerActivity : BaseActivity(), OnPageChangeListener { if (mUseEnterAndExitAnimation) { mBigImageView?.translationX = mTranslationX mBigImageView?.translationY = mTranslationY - if (mScaleX < Float.MAX_VALUE) { + if (!mScaleX.isNaN() && mScaleX < Float.MAX_VALUE) { mBigImageView?.scaleX = mScaleX mBigImageView?.scaleY = mScaleY } @@ -439,10 +439,18 @@ class ImageViewerActivity : BaseActivity(), OnPageChangeListener { addUpdateListener { va -> mBigImageView?.y = (va.animatedValue as Float) } } val scaleYAnimator = ValueAnimator.ofFloat(1F, mScaleY).apply { - addUpdateListener { va -> mBigImageView?.scaleY = (va.animatedValue as Float) } + addUpdateListener { va -> + if (va.animatedValue is Float && !(va.animatedValue as Float).isNaN() && (va.animatedValue as Float) < Float.MAX_VALUE) { + mBigImageView?.scaleY = (va.animatedValue as Float) + } + } } val scaleXAnimator = ValueAnimator.ofFloat(1F, mScaleX).apply { - addUpdateListener { va -> mBigImageView?.scaleX = (va.animatedValue as Float) } + addUpdateListener { va -> + if (va.animatedValue is Float && !(va.animatedValue as Float).isNaN() && (va.animatedValue as Float) < Float.MAX_VALUE) { + mBigImageView?.scaleX = (va.animatedValue as Float) + } + } } val backgroundAlphaAnimation = ValueAnimator.ofFloat(1F, 0F).apply { addUpdateListener { va -> mBackgroundView.alpha = (va.animatedValue as Float) } @@ -591,10 +599,18 @@ class ImageViewerActivity : BaseActivity(), OnPageChangeListener { addUpdateListener { va -> mBigImageView?.y = (va.animatedValue as Float) } } val scaleYAnimator = ValueAnimator.ofFloat(mScaleY, 1F).apply { - addUpdateListener { va -> mBigImageView?.scaleY = (va.animatedValue as Float) } + addUpdateListener { va -> + if (va.animatedValue is Float && !(va.animatedValue as Float).isNaN() && (va.animatedValue as Float) < Float.MAX_VALUE) { + mBigImageView?.scaleY = (va.animatedValue as Float) + } + } } val scaleXAnimator = ValueAnimator.ofFloat(mScaleX, 1F).apply { - addUpdateListener { va -> mBigImageView?.scaleX = (va.animatedValue as Float) } + addUpdateListener { va -> + if (va.animatedValue is Float && !(va.animatedValue as Float).isNaN() && (va.animatedValue as Float) < Float.MAX_VALUE) { + mBigImageView?.scaleX = (va.animatedValue as Float) + } + } } val backgroundAlphaAnimator = ValueAnimator.ofFloat(0F, 1F).apply { addUpdateListener { va -> mBackgroundView.alpha = (va.animatedValue as Float) } @@ -625,8 +641,10 @@ class ImageViewerActivity : BaseActivity(), OnPageChangeListener { val scaleAnimator = ValueAnimator.ofFloat(scale, finalScale).apply { addUpdateListener { va -> - view.scaleX = (va.animatedValue as Float) - view.scaleY = (va.animatedValue as Float) + if (va.animatedValue is Float && !(va.animatedValue as Float).isNaN() && (va.animatedValue as Float) < Float.MAX_VALUE) { + view.scaleX = (va.animatedValue as Float) + view.scaleY = (va.animatedValue as Float) + } } } val translateXAnimator = ValueAnimator.ofFloat(view.x, finalTranslationX).apply { diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt index be22a37595..7f5ff92eb7 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt @@ -431,8 +431,8 @@ class GameDetailFragment : ToolbarFragment(), IScrollable { } } } else { - setTextColor(R.color.text_subtitle.toColor(requireContext())) - background = R.drawable.bg_advance_download_game_subtitle.toDrawable(requireContext()) + setTextColor(R.color.text_subtitle.toColor(context)) + background = R.drawable.bg_advance_download_game_subtitle.toDrawable(context) } } tagView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED) @@ -444,7 +444,7 @@ class GameDetailFragment : ToolbarFragment(), IScrollable { var changeDisplayName = false if ((lineCount == 2 && layout.getEllipsisCount(1) > 0) || (lineCount == 2 && tagView.measuredWidth > remainWidth)) { val textCount = calculateTextCountByWidth(this, 2 * gameTitleTv.width - tagView.measuredWidth) - 1 - if (textCount < text.length) { + if (textCount in text.indices) { displayName = text.substring(0, textCount) + "…" changeDisplayName = true } From ec96fc325818a01d33d04b07d1474ea091e10c36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B6=E5=AD=90=E7=BB=B4?= Date: Thu, 25 Aug 2022 15:17:47 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=B8=B8=E6=88=8F?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2=E7=9A=84=E9=97=AA=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt index 7f5ff92eb7..4c681516f9 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt @@ -402,6 +402,7 @@ class GameDetailFragment : ToolbarFragment(), IScrollable { private fun initGameSubtitle(gameTitleTv: TextView, gameSubtitle: String, gameSubtitleStyle: TagStyleEntity? = null, advanceDownload: Boolean = false) { gameTitleTv.post { + if (!isAdded) return@post gameTitleTv.run { var lastPosX = 0F tryCatchInRelease { @@ -431,8 +432,8 @@ class GameDetailFragment : ToolbarFragment(), IScrollable { } } } else { - setTextColor(R.color.text_subtitle.toColor(context)) - background = R.drawable.bg_advance_download_game_subtitle.toDrawable(context) + setTextColor(R.color.text_subtitle.toColor(requireContext())) + background = R.drawable.bg_advance_download_game_subtitle.toDrawable(requireContext()) } } tagView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED) @@ -475,6 +476,7 @@ class GameDetailFragment : ToolbarFragment(), IScrollable { } private fun subtractGameNameIfNeeded(textView: TextView, name: CharSequence, tagLayout: FrameLayout) { + if (!isAdded) return textView.run { if (lineCount > 2 || (layout != null && layout.getEllipsisCount(1) > 0)) { val displayName = name.substring(0, name.length - 2) + "…"