fix!: 修复畅玩游戏的更新问题 (修改了通用的下载功能,可能会有其它次生 bug)

This commit is contained in:
juntao
2022-07-05 14:36:19 +08:00
parent 18013fe582
commit 3bd4427348
11 changed files with 109 additions and 125 deletions

View File

@ -105,7 +105,8 @@ public class GameUtils {
}
}
downloadEntity = DownloadManager.getInstance().getDownloadEntitySnapshotByUrl(apkEntity.getUrl());
downloadEntity = DownloadManager.getInstance().getDownloadEntitySnapshot(gameEntity);
if (downloadEntity != null) {
if (downloadEntity.getStatus().equals(DownloadStatus.done)) {
doneCount++;
@ -181,49 +182,6 @@ public class GameUtils {
}
}
/**
* 获取简单的下载按钮文案,只需要知道是否已下载,是否已安装
*/
public static String getSimpleDownloadBtnText(Context context, GameEntity gameEntity) {
int doneCount = 0; // 下载完成数量
int installCount = 0; // 已安装数量
DownloadEntity downloadEntity;
Object gh_id;
apkFor:
for (ApkEntity apkEntity : gameEntity.getApk()) {
// filter by packageName
SettingsEntity settings = Config.getSettings();
if (settings != null && gameEntity.getApk().size() > 1) {
for (String pkgName : settings.getGameDownloadBlackList()) {
if (pkgName.equals(apkEntity.getPackageName())) {
continue apkFor;
}
}
}
downloadEntity = DownloadManager.getInstance().getDownloadEntitySnapshotByUrl(apkEntity.getUrl());
if (downloadEntity != null) {
if (downloadEntity.getStatus().equals(DownloadStatus.done)) {
doneCount++;
}
}
if (PackagesManager.INSTANCE.isInstalled(apkEntity.getPackageName())) {
gh_id = PackageUtils.getMetaData(context, apkEntity.getPackageName(), "gh_id");
if (gh_id == null || gh_id.equals(gameEntity.getId())) {
installCount++;
}
}
}
if (doneCount != 0) {
return context.getString(R.string.install);
} else if (installCount != 0) {
return context.getString(R.string.launch);
} else {
return context.getString(R.string.download);
}
}
/**
* 获取GameUpdateEntity(插件化)
*/