多版本下载面板优化(一级页面基本完成)https://gitlab.ghzs.com/pm/halo-app-issues/issues/819

This commit is contained in:
kehaoyuan
2020-04-13 18:57:17 +08:00
parent 15a0240808
commit 28afb4f14c
10 changed files with 382 additions and 192 deletions

View File

@ -14,6 +14,8 @@ import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import androidx.core.content.FileProvider;
import com.g00fy2.versioncompare.Version;
import com.gh.common.constant.Constants;
import com.gh.gamecenter.BuildConfig;
@ -36,7 +38,7 @@ import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.List;
import androidx.core.content.FileProvider;
import javax.annotation.Nullable;
public class PackageUtils {
@ -129,6 +131,19 @@ public class PackageUtils {
return null;
}
/**
* 获取已安装游戏的光环ID(游戏ID)
*
* @param packageName
* @return
*/
@Nullable
public static Object getGhId(String packageName) {
return getMetaData(HaloApp.getInstance().getApplication(), packageName, "gh_id");
}
/*
* 判断是否是插件包
*/
@ -452,7 +467,7 @@ public class PackageUtils {
/**
* todo 统一判断
*
* <p>
* 判断游戏包是否可以更新
*
* @param apkEntity apkEntity 必须是已安装的游戏
@ -483,11 +498,10 @@ public class PackageUtils {
/**
* todo 统一判断
*
* <p>
* 判断游戏包是否可以插件化
*
* @param apkEntity apkEntity 必须是已安装的游戏
*
* @return true可以插件化 false不可以插件化
*/
public static boolean isCanPluggable(ApkEntity apkEntity) {
@ -496,7 +510,7 @@ public class PackageUtils {
apkEntity.getPackageName(),
"gh_id");
return PackageHelper.INSTANCE.getLocalPackageNameSet().contains(apkEntity.getPackageName())
return PackageUtils.isInstalled(HaloApp.getInstance().getApplication(), apkEntity.getPackageName())
&& gh_id == null
&& !TextUtils.isEmpty(apkEntity.getGhVersion())
&& !PackageUtils.isSignature(HaloApp.getInstance().getApplication(), apkEntity.getPackageName());