From 8f4bc5a1646ca12f14ec2fa00d1ea1df2a4ef5b7 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Mon, 22 Jun 2020 16:04:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B8=B8=E6=88=8F=E4=B8=93?= =?UTF-8?q?=E9=A2=98=E5=9C=A8=E9=83=A8=E5=88=86=E6=83=85=E5=86=B5=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E6=91=98=E8=A6=81=E6=97=A0=E6=B3=95=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gh/common/util/DownloadItemUtils.java | 65 ++++++++----------- 1 file changed, 28 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java index 5c2870fe0b..d0d82d7c39 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java @@ -161,9 +161,7 @@ public class DownloadItemUtils { // 显示预约 if (gameEntity.isReservable()) { - holder.gameDes.setVisibility(View.VISIBLE); - holder.gameProgressbar.setVisibility(View.GONE); - holder.gameInfo.setVisibility(View.GONE); + updateItemViewStatus(holder, false, briefStyle); if (!ReservationRepository.thisGameHasBeenReserved(gameEntity.getId())) { holder.gameDownloadBtn.setText("预约"); holder.gameDownloadBtn.setTextColor(Color.WHITE); @@ -181,9 +179,7 @@ public class DownloadItemUtils { LinkEntity h5LinkEntity = gameEntity.getH5Link(); String offStatus = gameEntity.getDownloadOffStatus(); - holder.gameDes.setVisibility(View.VISIBLE); - holder.gameProgressbar.setVisibility(View.GONE); - holder.gameInfo.setVisibility(View.GONE); + updateItemViewStatus(holder, false, briefStyle); if (h5LinkEntity != null) { if ("play".equals(h5LinkEntity.getType())) { @@ -233,19 +229,7 @@ public class DownloadItemUtils { GameUtils.setDownloadBtnStatus(context, gameEntity, holder.gameDownloadBtn, pluginLocation); - holder.gameProgressbar.setVisibility(View.GONE); - holder.gameInfo.setVisibility(View.GONE); - if (briefStyle != null && briefStyle.contains("star")) { - if (holder.gameRating != null) holder.gameRating.setVisibility(View.VISIBLE); - } else { - if (holder.gameRating != null) holder.gameRating.setVisibility(View.GONE); - } - - if (TextUtils.isEmpty(briefStyle) || briefStyle.contains("brief")) { - holder.gameDes.setVisibility(View.VISIBLE); - } else { - holder.gameDes.setVisibility(View.GONE); - } + updateItemViewStatus(holder, false, briefStyle); } // 更新插件的条目,有多个apk包 @@ -269,30 +253,14 @@ public class DownloadItemUtils { return; } } - - holder.gameProgressbar.setVisibility(View.GONE); - holder.gameInfo.setVisibility(View.GONE); - if (briefStyle != null && briefStyle.contains("star")) { - if (holder.gameRating != null) holder.gameRating.setVisibility(View.VISIBLE); - } else { - if (holder.gameRating != null) holder.gameRating.setVisibility(View.GONE); - } - - if (TextUtils.isEmpty(briefStyle) || briefStyle.contains("brief")) { - holder.gameDes.setVisibility(View.VISIBLE); - } else { - holder.gameDes.setVisibility(View.GONE); - } + updateItemViewStatus(holder, false, briefStyle); } // 更改进度条和提示文本的状态 public static void changeStatus(Context context, GameViewHolder holder, DownloadEntity downloadEntity, boolean isShowPlatform, boolean isNormal) { - if (holder.gameRating != null) holder.gameRating.setVisibility(View.GONE); - holder.gameDes.setVisibility(View.GONE); - holder.gameProgressbar.setVisibility(View.VISIBLE); - holder.gameInfo.setVisibility(View.VISIBLE); + updateItemViewStatus(holder, true, null); String platform = PlatformUtils.getInstance(context).getPlatformName(downloadEntity.getPlatform()); @@ -374,6 +342,29 @@ public class DownloadItemUtils { } } + private static void updateItemViewStatus(GameViewHolder holder, boolean hasDownload, @Nullable String briefStyle) { + if (hasDownload) { + if (holder.gameRating != null) holder.gameRating.setVisibility(View.GONE); + holder.gameDes.setVisibility(View.GONE); + holder.gameProgressbar.setVisibility(View.VISIBLE); + holder.gameInfo.setVisibility(View.VISIBLE); + } else { + holder.gameProgressbar.setVisibility(View.GONE); + holder.gameInfo.setVisibility(View.GONE); + if (briefStyle != null && briefStyle.contains("star")) { + if (holder.gameRating != null) holder.gameRating.setVisibility(View.VISIBLE); + } else { + if (holder.gameRating != null) holder.gameRating.setVisibility(View.GONE); + } + + if (TextUtils.isEmpty(briefStyle) || briefStyle.contains("brief")) { + holder.gameDes.setVisibility(View.VISIBLE); + } else { + holder.gameDes.setVisibility(View.GONE); + } + } + } + public static void setOnClickListener(final Context context, final TextView downloadBtn, final GameEntity gameEntity,