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,