基本完成游戏历史版本功能(部分UI细节待完善) https://gitlab.ghzs.com/pm/halo-app-issues/issues/832

This commit is contained in:
juntao
2020-04-17 17:44:47 +08:00
parent 3f998cdf75
commit 006da73737
25 changed files with 570 additions and 18 deletions

View File

@ -5,8 +5,6 @@ import android.graphics.Color;
import android.text.TextUtils;
import android.widget.TextView;
import androidx.core.content.ContextCompat;
import com.gh.common.constant.Config;
import com.gh.download.DownloadManager;
import com.gh.gamecenter.R;
@ -21,6 +19,8 @@ import com.lightgame.download.DownloadStatus;
import java.util.List;
import androidx.core.content.ContextCompat;
public class GameUtils {
@ -133,6 +133,49 @@ 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(context).getDownloadEntityByUrl(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
*/