diff --git a/app/src/main/java/com/gh/common/view/DownloadProgressBar.java b/app/src/main/java/com/gh/common/view/DownloadProgressBar.java index 7267dcfce8..ca1bedbf5b 100644 --- a/app/src/main/java/com/gh/common/view/DownloadProgressBar.java +++ b/app/src/main/java/com/gh/common/view/DownloadProgressBar.java @@ -24,9 +24,7 @@ import androidx.core.content.ContextCompat; public class DownloadProgressBar extends ProgressBar { public static final int MAX_LENGTH = 1000; public static final int DOWNLOAD_NORMAL_STYLE = 0; - public static final int DOWNLOAD_RECT_STYLE = 1; public static final int DOWNLOAD_IMAGE_STYLE = 2; - public static final int DOWNLOAD_SLIDE_STYLE = 3; public enum DownloadType { NORMAL, @@ -115,8 +113,6 @@ public class DownloadProgressBar extends ProgressBar { int color = Color.WHITE; if (DOWNLOAD_IMAGE_STYLE == mDownloadStyle) { color = Color.BLACK; - } else if (DOWNLOAD_SLIDE_STYLE == mDownloadStyle) { - color = getResources().getColor(R.color.theme_font); } mPaint.setColor(color); // 反向颜色 } @@ -167,72 +163,47 @@ public class DownloadProgressBar extends ProgressBar { case NONE_WITH_HINT: case INSTALL_NORMAL: case H5_GAME: - switch (mDownloadStyle) { - case DOWNLOAD_RECT_STYLE: - setProgressDrawable(getResources().getDrawable(R.drawable.detail_download_normal_rect_style)); - mDefaultColor = Color.WHITE; - break; - case DOWNLOAD_IMAGE_STYLE: - setProgressDrawable(getResources().getDrawable(R.drawable.detail_download_normal_image_style)); - mDefaultColor = Color.BLACK; - break; - default: - setProgressDrawable(getResources().getDrawable(R.drawable.download_button_normal_style)); - mDefaultColor = Color.WHITE; - break; + if (mDownloadStyle == DOWNLOAD_IMAGE_STYLE) { + setProgressDrawable(getResources().getDrawable(R.drawable.detail_download_normal_image_style)); + mDefaultColor = Color.BLACK; + } else { + setProgressDrawable(getResources().getDrawable(R.drawable.download_button_normal_style)); + mDefaultColor = Color.WHITE; } setProgress(0); break; case PLUGIN: case INSTALL_PLUGIN: - setProgressDrawable(getResources().getDrawable(mDownloadStyle == DOWNLOAD_RECT_STYLE - ? R.drawable.detail_download_plugin_install_rect_style : R.drawable.download_button_pluggable_style)); + setProgressDrawable(getResources().getDrawable(R.drawable.download_button_pluggable_style)); mDefaultColor = Color.WHITE; setProgress(0); break; case NONE: - setProgressDrawable(getResources().getDrawable(mDownloadStyle == DOWNLOAD_RECT_STYLE - ? R.drawable.detail_download_none_rect_style : R.drawable.news_detail_comment)); + setProgressDrawable(getResources().getDrawable(R.drawable.news_detail_comment)); mDefaultColor = ContextCompat.getColor(getContext(), R.color.hint); setProgress(0); break; case LAUNCH_OR_OPEN: - switch (mDownloadStyle) { - case DOWNLOAD_RECT_STYLE: - setProgressDrawable(getResources().getDrawable(R.drawable.detail_download_normal_rect_style)); - mDefaultColor = Color.WHITE; - break; - case DOWNLOAD_IMAGE_STYLE: - setProgressDrawable(getResources().getDrawable(R.drawable.detail_download_open_image_style)); - mDefaultColor = Color.WHITE; - break; - default: - setProgressDrawable(getResources().getDrawable(R.drawable.download_button_normal_style)); - mDefaultColor = Color.WHITE; - break; + if (mDownloadStyle == DOWNLOAD_IMAGE_STYLE) { + setProgressDrawable(getResources().getDrawable(R.drawable.detail_download_open_image_style)); + mDefaultColor = Color.WHITE; + } else { + setProgressDrawable(getResources().getDrawable(R.drawable.download_button_normal_style)); + mDefaultColor = Color.WHITE; } setProgress(0); break; case DOWNLOADING_NORMAL: - switch (mDownloadStyle) { - case DOWNLOAD_RECT_STYLE: - setProgressDrawable(getResources().getDrawable(R.drawable.detail_downloading_normal_rect_style)); - mDefaultColor = ContextCompat.getColor(getContext(), R.color.theme_font); - break; - case DOWNLOAD_IMAGE_STYLE: - case DOWNLOAD_SLIDE_STYLE: - setProgressDrawable(getResources().getDrawable(R.drawable.detail_downloading_normal_image_style)); - mDefaultColor = Color.WHITE; - break; - default: - setProgressDrawable(getResources().getDrawable(R.drawable.detail_downloading_normal_style)); - mDefaultColor = ContextCompat.getColor(getContext(), R.color.theme_font); - break; + if (mDownloadStyle == DOWNLOAD_IMAGE_STYLE) { + setProgressDrawable(getResources().getDrawable(R.drawable.detail_downloading_normal_image_style)); + mDefaultColor = Color.WHITE; + } else { + setProgressDrawable(getResources().getDrawable(R.drawable.detail_downloading_normal_style)); + mDefaultColor = ContextCompat.getColor(getContext(), R.color.theme_font); } break; case DOWNLOADING_PLUGIN: - setProgressDrawable(getResources().getDrawable(mDownloadStyle == DOWNLOAD_RECT_STYLE - ? R.drawable.detail_downloading_plugin_rect_style : R.drawable.detail_downloading_plugin_style)); + setProgressDrawable(getResources().getDrawable(R.drawable.detail_downloading_plugin_style)); mDefaultColor = ContextCompat.getColor(getContext(), R.color.text_00D7B0); break; case RESERVABLE: diff --git a/app/src/main/java/com/gh/download/DownloadManager.java b/app/src/main/java/com/gh/download/DownloadManager.java index c565d4b8ef..7abfbce134 100644 --- a/app/src/main/java/com/gh/download/DownloadManager.java +++ b/app/src/main/java/com/gh/download/DownloadManager.java @@ -275,12 +275,15 @@ public class DownloadManager implements DownloadStatusListener { } } downloadEntity.setInstalled(installed); - if ("更新".equals(method)) { - downloadEntity.setUpdate(true); - } else if ("插件化".equals(method)) { + + // todo 不是应该实时判断吗? + if (PackageUtils.isCanPluggable(apkEntity)) { downloadEntity.setPluggable(true); + } else if (PackageUtils.isCanUpdate(apkEntity, gameEntity.getId())) { + downloadEntity.setUpdate(true); } - downloadEntity.setPlugin(gameEntity.getTag() != null && gameEntity.getTag().size() != 0); + + downloadEntity.setPlugin(!TextUtils.isEmpty(apkEntity.getGhVersion())); if (isSubscribe) { DownloadManager.getInstance(context).subscribe(downloadEntity);