From 4f68a52d5400a961bc66375ba7b5cfe6e2d8dc30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B6=E5=AD=90=E7=BB=B4?= Date: Thu, 26 Dec 2024 10:41:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B8=B8=E6=88=8F=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E7=8A=B6=E6=80=81=E6=96=B0=E5=A2=9E=E2=80=9C?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E7=AC=AC=E4=B8=89=E6=96=B9=E2=80=9D=E2=80=94?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=20https://jira.shanqu.cc/browse/GHZ?= =?UTF-8?q?SCY-7052?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gh/common/databind/BindingAdapters.java | 8 ++++---- .../gh/common/util/DetailDownloadUtils.java | 2 +- .../com/gh/common/util/DownloadItemUtils.kt | 4 ++-- .../adapter/viewholder/DetailViewHolder.kt | 18 ++++++++++++------ .../gh/gamecenter/feature/entity/GameEntity.kt | 2 +- 5 files changed, 20 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/gh/common/databind/BindingAdapters.java b/app/src/main/java/com/gh/common/databind/BindingAdapters.java index 700c0f8402..e68513f455 100644 --- a/app/src/main/java/com/gh/common/databind/BindingAdapters.java +++ b/app/src/main/java/com/gh/common/databind/BindingAdapters.java @@ -15,10 +15,10 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.gh.common.chain.BrowserInstallHandler; -import com.gh.common.chain.DownloadChainBuilder; -import com.gh.common.chain.DownloadChainHandler; import com.gh.common.chain.CheckDownloadHandler; import com.gh.common.chain.CheckStoragePermissionHandler; +import com.gh.common.chain.DownloadChainBuilder; +import com.gh.common.chain.DownloadChainHandler; import com.gh.common.chain.DownloadDialogHelperHandler; import com.gh.common.chain.GamePermissionHandler; import com.gh.common.chain.LandPageAddressHandler; @@ -337,9 +337,9 @@ public class BindingAdapters { } progressBar.setButtonStyle(DownloadButton.ButtonStyle.H5_GAME); } else { - if (offStatus != null && "dialog".equals(offStatus)) { + if (("dialog".equals(offStatus) || "third_party".equals(offStatus))) { progressBar.setText("查看"); - progressBar.setButtonStyle(DownloadButton.ButtonStyle.NONE); + progressBar.setButtonStyle(DownloadButton.ButtonStyle.NONE_WITH_HINT); } else if ("updating".equals(offStatus)) { progressBar.setText("更新中"); progressBar.setButtonStyle(DownloadButton.ButtonStyle.UPDATING); diff --git a/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java b/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java index c22d78c81c..19ea9907c5 100644 --- a/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java +++ b/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java @@ -458,7 +458,7 @@ public class DetailDownloadUtils { } viewHolder.getDownloadPb().setButtonStyle(DownloadButton.ButtonStyle.H5_GAME); } else { - if ("dialog".equals(gameEntity.getDownloadOffStatus())) { + if ("dialog".equals(gameEntity.getDownloadOffStatus()) || "third_party".equals(gameEntity.getDownloadOffStatus())) { viewHolder.getDownloadPb().setText(TextUtils.isEmpty(gameEntity.getDownloadOffText()) ? "查看详情" : gameEntity.getDownloadOffText()); viewHolder.getDownloadPb().setButtonStyle(DownloadButton.ButtonStyle.NONE_WITH_HINT); } else if ("updating".equals(gameEntity.getDownloadOffStatus())) { diff --git a/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt b/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt index 9123c40e82..4cd3abc103 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.kt @@ -280,9 +280,9 @@ object DownloadItemUtils { isClickable = true buttonStyle = DownloadButton.ButtonStyle.NORMAL } else { - if ("dialog" == offStatus) { + if ("dialog" == offStatus || "third_party" == offStatus) { text = context.getString(com.gh.gamecenter.feature.R.string.check) - buttonStyle = DownloadButton.ButtonStyle.NORMAL + buttonStyle = DownloadButton.ButtonStyle.NONE_WITH_HINT } else if ("updating" == offStatus) { text = context.getString(com.gh.gamecenter.feature.R.string.updating) buttonStyle = DownloadButton.ButtonStyle.UPDATING diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.kt b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.kt index 290ff474bc..1b980f17bd 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/DetailViewHolder.kt @@ -271,14 +271,20 @@ class DetailViewHolder( ButtonStyle.NONE_WITH_HINT, ButtonStyle.NONE -> { val offStatus = mGameEntity.downloadOffStatus if (offStatus != null && "off" != offStatus) { - if ("dialog" == offStatus) { - showOffServiceDialog(mGameEntity.downloadOffDialog) { + when (offStatus) { + "dialog" -> { + showOffServiceDialog(mGameEntity.downloadOffDialog) { + showLandPageAddressDialogIfNeeded() + } + } + "toast" -> { + EventBus.getDefault().post(EBReuse(GameDetailFragment.SKIP_RATING)) + ToastUtils.toast("该游戏因故暂不提供下载,具体详情可在相关评论中查看,敬请谅解~") + showLandPageAddressDialogIfNeeded() + } + "third_party" -> { showLandPageAddressDialogIfNeeded() } - } else if ("toast" == offStatus) { - EventBus.getDefault().post(EBReuse(GameDetailFragment.SKIP_RATING)) - ToastUtils.toast("该游戏因故暂不提供下载,具体详情可在相关评论中查看,敬请谅解~") - showLandPageAddressDialogIfNeeded() } } else { ToastUtils.toast("该游戏已关闭下载") diff --git a/module_core_feature/src/main/java/com/gh/gamecenter/feature/entity/GameEntity.kt b/module_core_feature/src/main/java/com/gh/gamecenter/feature/entity/GameEntity.kt index 4d012bde3d..45e9c0fc86 100644 --- a/module_core_feature/src/main/java/com/gh/gamecenter/feature/entity/GameEntity.kt +++ b/module_core_feature/src/main/java/com/gh/gamecenter/feature/entity/GameEntity.kt @@ -85,7 +85,7 @@ data class GameEntity( private var mDownloadOffText: String? = null, @SerializedName("download_off_status") - private var mDownloadOffStatus: String? = null, // "off/dialog/toast", 只关闭、关闭且弹窗、关闭且toast + private var mDownloadOffStatus: String? = null, // "off/dialog/toast/third_party", 只关闭、关闭且弹窗、关闭且toast、跳转第三方 @SerializedName("download_off_dialog") private var mDownloadOffDialog: Dialog? = null,