插件化安装按钮显示背景修改,下载添加是否是插件字段
This commit is contained in:
@ -116,10 +116,10 @@ public class DownloadItemUtils {
|
||||
if (entryMap != null && !entryMap.isEmpty()) {
|
||||
|
||||
DownloadEntity downloadEntity = entryMap.get(entryMap.keyAt(0));
|
||||
|
||||
if (downloadEntity != null && (!downloadEntity.isPluggable()
|
||||
|| entity.getApk().get(0).getPlatform().equals(
|
||||
downloadEntity.getPlatform()))) {
|
||||
if (!downloadEntity.isPluggable()
|
||||
|| entity.getApk().get(0).getPlatform().equals(downloadEntity.getPlatform())
|
||||
|| entity.getApk().get(0).getPlatform().equals("local_plugin")
|
||||
|| downloadEntity.getPlatform().equals("local_plugin")) {
|
||||
// 更改进度条和提示文本的状态
|
||||
changeStatus(context, textView, game_progressbar, game_ll_info, download_speed, download_percentage, downloadBtn,
|
||||
downloadEntity, isShowPlatform, true);
|
||||
@ -140,9 +140,8 @@ public class DownloadItemUtils {
|
||||
downloadBtn.setText("更新");
|
||||
downloadBtn.setBackgroundResource(R.drawable.game_item_btn_download_style);
|
||||
} else {
|
||||
PackageManager mPackageManager = new PackageManager(context);
|
||||
if (entity.getTag() != null && entity.getTag().size() != 0
|
||||
&& !mPackageManager.isSignature(entity.getApk().get(0).getPackageName())) {
|
||||
&& !PackageUtils.isSignature(context, entity.getApk().get(0).getPackageName())) {
|
||||
downloadBtn.setText("插件化");
|
||||
downloadBtn.setBackgroundResource(R.drawable.game_item_btn_plugin_style);
|
||||
} else {
|
||||
@ -189,10 +188,9 @@ public class DownloadItemUtils {
|
||||
}
|
||||
}
|
||||
|
||||
PackageManager packageManager = new PackageManager(context);
|
||||
for (ApkEntity apkEntity : entity.getApk()) {
|
||||
if (PackageManager.isInstalled(apkEntity.getPackageName())) {
|
||||
if (!packageManager.isSignature(apkEntity.getPackageName())) {
|
||||
if (!PackageUtils.isSignature(context, apkEntity.getPackageName())) {
|
||||
pluginCount++;
|
||||
} else {
|
||||
installCount++;
|
||||
@ -321,8 +319,13 @@ public class DownloadItemUtils {
|
||||
|
||||
if (isNormal) {
|
||||
downloadBtn.setText("安装");
|
||||
downloadBtn.setBackgroundResource(R.drawable.game_item_btn_download_style);
|
||||
downloadBtn.setTextColor(Color.WHITE);
|
||||
if (downloadEntity.isPluggable()
|
||||
&& PackageManager.isInstalled(downloadEntity.getPackageName())) {
|
||||
downloadBtn.setBackgroundResource(R.drawable.game_item_btn_plugin_style);
|
||||
} else {
|
||||
downloadBtn.setBackgroundResource(R.drawable.game_item_btn_download_style);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -432,24 +435,19 @@ public class DownloadItemUtils {
|
||||
|
||||
public static void setPluginOnClickListener(final Context context,
|
||||
final TextView downloadBtn,
|
||||
final TextView download_speed,
|
||||
final TextView download_percentage,
|
||||
final GameEntity entity,
|
||||
final String entrance,
|
||||
final String location) {
|
||||
downloadBtn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(final View v) {
|
||||
DownloadDialog.getInstance(context).showPopupWindow(
|
||||
v, entity, entrance, download_speed, download_percentage, location);
|
||||
DownloadDialog.getInstance(context).showPopupWindow(v, entity, entrance, location);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void setOnClickListener(Context context,
|
||||
TextView downloadBtn,
|
||||
TextView download_speed,
|
||||
TextView download_percentage,
|
||||
GameEntity entity,
|
||||
int position,
|
||||
RecyclerView.Adapter<RecyclerView.ViewHolder> adapter,
|
||||
@ -459,14 +457,16 @@ public class DownloadItemUtils {
|
||||
if (entity.getApk().size() == 1) {
|
||||
setNormalOnClickListener(context, downloadBtn, entity, position, adapter, entrance, location);
|
||||
} else {
|
||||
setPluginOnClickListener(context, downloadBtn, download_speed, download_percentage, entity,
|
||||
entrance, location);
|
||||
setPluginOnClickListener(context, downloadBtn, entity, entrance, location);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//更新
|
||||
private static void update(Context context, GameEntity gameEntity, String entrance, String location) {
|
||||
private static void update(Context context,
|
||||
GameEntity gameEntity,
|
||||
String entrance,
|
||||
String location) {
|
||||
ApkEntity apkEntity = gameEntity.getApk().get(0);
|
||||
//下载可更新游戏
|
||||
Map<String, Object> kv = new HashMap<>();
|
||||
@ -487,52 +487,39 @@ public class DownloadItemUtils {
|
||||
map.put("network", NetworkUtils.getConnectedType(context));
|
||||
DataCollectionManager.onEvent(context, "download", map);
|
||||
|
||||
DownloadEntity downloadEntity = new DownloadEntity();
|
||||
downloadEntity.setUrl(apkEntity.getUrl());
|
||||
downloadEntity.setName(gameEntity.getName());
|
||||
downloadEntity.setPath(FileUtils.getDownloadPath(context,
|
||||
MD5Utils.getContentMD5(
|
||||
gameEntity.getName() + "_" + System.currentTimeMillis()) + ".apk"));
|
||||
downloadEntity.setPlatform(apkEntity.getPlatform());
|
||||
downloadEntity.setPackageName(apkEntity.getPackageName());
|
||||
downloadEntity.setIcon(gameEntity.getIcon());
|
||||
downloadEntity.setUpdate(true);
|
||||
downloadEntity.setETag(apkEntity.getEtag());
|
||||
downloadEntity.setLocation(location);
|
||||
downloadEntity.setEntrance(entrance);
|
||||
DownloadManager.getInstance(context).add(downloadEntity);
|
||||
DownloadManager.createDownload(context, gameEntity, "更新", entrance, location);
|
||||
}
|
||||
|
||||
//下载
|
||||
private static void download(Context context,
|
||||
GameEntity entity,
|
||||
GameEntity gameEntity,
|
||||
TextView downloadBtn,
|
||||
String entrance,
|
||||
String location) {
|
||||
String msg = FileUtils.isCanDownload(entity.getApk().get(0).getSize());
|
||||
String msg = FileUtils.isCanDownload(gameEntity.getApk().get(0).getSize());
|
||||
if (TextUtils.isEmpty(msg)) {
|
||||
Map<String, Object> kv = new HashMap<>();
|
||||
kv.put("版本", entity.getApk().get(0).getPlatform());
|
||||
kv.put("版本", gameEntity.getApk().get(0).getPlatform());
|
||||
kv.put("状态", "下载开始");
|
||||
DataUtils.onEvent(context, "游戏下载", entity.getName(), kv);
|
||||
DataUtils.onEvent(context, "游戏下载", gameEntity.getName(), kv);
|
||||
|
||||
Map<String, Object> kv2 = new HashMap<>();
|
||||
kv2.put("版本", entity.getApk().get(0).getPlatform());
|
||||
kv2.put("版本", gameEntity.getApk().get(0).getPlatform());
|
||||
kv2.put("状态", "下载开始");
|
||||
kv2.put("位置", entrance + "-开始");
|
||||
DataUtils.onEvent(context, "游戏下载位置", entity.getName(), kv2);
|
||||
DataUtils.onEvent(context, "游戏下载位置", gameEntity.getName(), kv2);
|
||||
|
||||
Map<String, Object> kv3 = new HashMap<>();
|
||||
kv3.put(entrance, "下载数");
|
||||
kv3.put(entrance, "下载开始");
|
||||
DataUtils.onEvent(context, "应用数据", entity.getName(), kv3);
|
||||
DataUtils.onEvent(context, "应用数据", gameEntity.getName(), kv3);
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("game", entity.getName());
|
||||
map.put("game_id", entity.getId());
|
||||
map.put("game", gameEntity.getName());
|
||||
map.put("game_id", gameEntity.getId());
|
||||
map.put("method", "正常");
|
||||
map.put("platform", PlatformUtils.getInstance(context)
|
||||
.getPlatformName(entity.getApk().get(0).getPlatform()));
|
||||
.getPlatformName(gameEntity.getApk().get(0).getPlatform()));
|
||||
map.put("status", "开始");
|
||||
map.put("location", location);
|
||||
map.put("entrance", entrance);
|
||||
@ -540,14 +527,14 @@ public class DownloadItemUtils {
|
||||
map.put("network", NetworkUtils.getConnectedType(context));
|
||||
DataCollectionManager.onEvent(context, "download", map);
|
||||
|
||||
addDownloadEntry(context, entity, 0, entrance, location);
|
||||
Toast.makeText(context, entity.getName() + "已加入下载队列", Toast.LENGTH_SHORT).show();
|
||||
DownloadManager.createDownload(context, gameEntity, "下载", entrance, location);
|
||||
Toast.makeText(context, gameEntity.getName() + "已加入下载队列", Toast.LENGTH_SHORT).show();
|
||||
|
||||
downloadBtn.setText("下载中");
|
||||
downloadBtn.setBackgroundResource(R.drawable.game_item_btn_downloading_style);
|
||||
downloadBtn.setTextColor(context.getResources().getColorStateList(R.color.text_downloading_style));
|
||||
|
||||
DownloadManager.getInstance(context).putStatus(entity.getApk().get(0).getUrl(), "downloading");
|
||||
DownloadManager.getInstance(context).putStatus(gameEntity.getApk().get(0).getUrl(), "downloading");
|
||||
} else {
|
||||
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
@ -555,34 +542,34 @@ public class DownloadItemUtils {
|
||||
|
||||
//插件化
|
||||
private static void plugin(Context context,
|
||||
GameEntity entity,
|
||||
GameEntity gameEntity,
|
||||
TextView downloadBtn,
|
||||
String entrance,
|
||||
String location) {
|
||||
String msg = FileUtils.isCanDownload(entity.getApk().get(0).getSize());
|
||||
String msg = FileUtils.isCanDownload(gameEntity.getApk().get(0).getSize());
|
||||
if (TextUtils.isEmpty(msg)) {
|
||||
Map<String, Object> kv = new HashMap<>();
|
||||
kv.put("版本", entity.getApk().get(0).getPlatform());
|
||||
kv.put("版本", gameEntity.getApk().get(0).getPlatform());
|
||||
kv.put("状态", "下载开始");
|
||||
DataUtils.onEvent(context, "游戏下载", entity.getName(), kv);
|
||||
DataUtils.onEvent(context, "游戏下载", gameEntity.getName(), kv);
|
||||
|
||||
Map<String, Object> kv2 = new HashMap<>();
|
||||
kv2.put("版本", entity.getApk().get(0).getPlatform());
|
||||
kv2.put("版本", gameEntity.getApk().get(0).getPlatform());
|
||||
kv2.put("状态", "下载开始");
|
||||
kv2.put("位置", entrance + "-开始");
|
||||
DataUtils.onEvent(context, "游戏下载位置", entity.getName(), kv2);
|
||||
DataUtils.onEvent(context, "游戏下载位置", gameEntity.getName(), kv2);
|
||||
|
||||
Map<String, Object> kv3 = new HashMap<>();
|
||||
kv3.put(entrance, "下载数");
|
||||
kv3.put(entrance, "下载开始");
|
||||
DataUtils.onEvent(context, "应用数据", entity.getName(), kv3);
|
||||
DataUtils.onEvent(context, "应用数据", gameEntity.getName(), kv3);
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("game", entity.getName());
|
||||
map.put("game_id", entity.getId());
|
||||
map.put("game", gameEntity.getName());
|
||||
map.put("game_id", gameEntity.getId());
|
||||
map.put("method", "插件化");
|
||||
map.put("platform", PlatformUtils.getInstance(context)
|
||||
.getPlatformName(entity.getApk().get(0).getPlatform()));
|
||||
.getPlatformName(gameEntity.getApk().get(0).getPlatform()));
|
||||
map.put("status", "开始");
|
||||
map.put("location", location);
|
||||
map.put("entrance", entrance);
|
||||
@ -590,14 +577,14 @@ public class DownloadItemUtils {
|
||||
map.put("network", NetworkUtils.getConnectedType(context));
|
||||
DataCollectionManager.onEvent(context, "download", map);
|
||||
|
||||
addDownloadEntry(context, entity, 0, entrance, location);
|
||||
Toast.makeText(context, entity.getName() + "已加入下载队列", Toast.LENGTH_SHORT).show();
|
||||
DownloadManager.createDownload(context, gameEntity, "插件化", entrance, location);
|
||||
Toast.makeText(context, gameEntity.getName() + "已加入下载队列", Toast.LENGTH_SHORT).show();
|
||||
|
||||
downloadBtn.setText("下载中");
|
||||
downloadBtn.setBackgroundResource(R.drawable.game_item_btn_downloading_style);
|
||||
downloadBtn.setTextColor(context.getResources().getColorStateList(R.color.text_downloading_style));
|
||||
|
||||
DownloadManager.getInstance(context).putStatus(entity.getApk().get(0).getUrl(), "downloading");
|
||||
DownloadManager.getInstance(context).putStatus(gameEntity.getApk().get(0).getUrl(), "downloading");
|
||||
} else {
|
||||
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
@ -618,43 +605,8 @@ public class DownloadItemUtils {
|
||||
entity.getEntryMap().remove(entity.getEntryMap().keyAt(0));
|
||||
adapter.notifyItemChanged(position);
|
||||
} else {
|
||||
PackageManager manager = new PackageManager(context);
|
||||
if (manager.launchSetup(path)) {
|
||||
context.startActivity(PackageUtils.getInstallIntent(path));
|
||||
} else {
|
||||
DialogUtils.showPluginDialog(context, new DialogUtils.ConfiremListener() {
|
||||
@Override
|
||||
public void onConfirem() {
|
||||
context.startActivity(PackageUtils.getUninstallIntent(context, path));
|
||||
}
|
||||
});
|
||||
}
|
||||
PackageUtils.launchSetup(context, path);
|
||||
}
|
||||
}
|
||||
|
||||
private static void addDownloadEntry(Context context,
|
||||
GameEntity gameEntity,
|
||||
int position,
|
||||
String entrance,
|
||||
String location) {
|
||||
|
||||
ApkEntity apkEntity = gameEntity.getApk().get(position);
|
||||
|
||||
DownloadEntity downloadEntity = new DownloadEntity();
|
||||
downloadEntity.setUrl(apkEntity.getUrl());
|
||||
downloadEntity.setName(gameEntity.getName());
|
||||
downloadEntity.setPath(FileUtils.getDownloadPath(context, MD5Utils.getContentMD5(
|
||||
gameEntity.getName() + "_" + System.currentTimeMillis()) + ".apk"));
|
||||
downloadEntity.setIcon(gameEntity.getIcon());
|
||||
downloadEntity.setETag(apkEntity.getEtag());
|
||||
downloadEntity.setPlatform(apkEntity.getPlatform());
|
||||
downloadEntity.setPackageName(apkEntity.getPackageName());
|
||||
downloadEntity.setGameId(gameEntity.getId());
|
||||
downloadEntity.setPluggable(gameEntity.isPluggable());
|
||||
downloadEntity.setEntrance(entrance);
|
||||
downloadEntity.setLocation(location);
|
||||
|
||||
DownloadManager.getInstance(context).add(downloadEntity);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user