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,