下载面板增加跳转类型

This commit is contained in:
kehaoyuan
2018-10-09 14:48:38 +08:00
parent deedd0d413
commit 0950fe64cc
9 changed files with 223 additions and 134 deletions

View File

@ -4,6 +4,7 @@ import android.content.Context;
import android.support.annotation.Nullable;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.View;
@ -24,6 +25,7 @@ import com.gh.gamecenter.R;
import com.gh.gamecenter.adapter.OnCollectionCallBackListener;
import com.gh.gamecenter.adapter.PlatformPagerAdapter;
import com.gh.gamecenter.entity.ApkEntity;
import com.gh.gamecenter.entity.ApkLink;
import com.gh.gamecenter.entity.GameCollectionEntity;
import com.gh.gamecenter.entity.GameEntity;
import com.gh.gamecenter.eventbus.EBDownloadStatus;
@ -128,6 +130,10 @@ public class DownloadDialog implements OnCollectionCallBackListener {
mergeApkCollection(gameEntity);
}
if (gameEntity.getApkLink() != null) {
mergeApkLink(gameEntity);
}
// 一个自定义的布局,作为显示的内容
View contentView = View.inflate(mContext, R.layout.game_download_dialog, null);
@ -196,17 +202,17 @@ public class DownloadDialog implements OnCollectionCallBackListener {
private ArrayList<ApkEntity> sortApk(ArrayList<ApkEntity> apkList) {
/*
* 安装插件 10
* 插件化下载中 9
* 插件化 8
* 安装更新 7
* 更新下载中 6
* 更新 5
* 安装 4
* 下载中 3
* 启动 2
* 默认有图片1
* 默认无图片0
*/
* 插件化下载中 9
* 插件化 8
* 安装更新 7
* 更新下载中 6
* 更新 5
* 安装 4
* 下载中 3
* 启动 2
* 默认有图片1
* 默认无图片0
*/
DownloadEntity downloadEntity;
String packageName;
@ -268,6 +274,38 @@ public class DownloadDialog implements OnCollectionCallBackListener {
return apkList;
}
// 合并ApkLink
private void mergeApkLink(GameEntity gameEntity) {
for (ApkLink apkLink : gameEntity.getApkLink()) {
if (!TextUtils.isEmpty(apkLink.getCollection())) {
for (int i = 0; i < gameApk.size(); i++) {
ApkEntity apkEntity = gameApk.get(i);
GameCollectionEntity apkCollection = apkEntity.getApkCollection();
if (apkCollection != null && apkCollection.getSaveApkEntity() != null) {
List<ApkEntity> saveApkEntity = apkCollection.getSaveApkEntity();
if (apkLink.getCollection().equals(apkCollection.getId())) {
ApkEntity element = new ApkEntity();
element.setApkLink(apkLink);
if (saveApkEntity.size() > apkLink.getSort()) {
saveApkEntity.add(apkLink.getSort(), element);
} else {
saveApkEntity.add(element);
}
}
}
}
} else {
ApkEntity element = new ApkEntity();
element.setApkLink(apkLink);
if (gameApk.size() > apkLink.getSort()) {
gameApk.add(apkLink.getSort(), element);
} else {
gameApk.add(element);
}
}
}
}
// 合并ApkCollection
private void mergeApkCollection(GameEntity gameEntity) {
List<ApkEntity> gameCollectionApk = new ArrayList<>();
@ -289,6 +327,7 @@ public class DownloadDialog implements OnCollectionCallBackListener {
List<ApkEntity> saveApkList = new ArrayList<>();
saveApkList.add(apkEntity);
collectionEntity.setSaveApkEntity(saveApkList);
collectionEntity.setId(gameCollectionEntity.getId());
collectionEntity.setName(gameCollectionEntity.getName());
collectionEntity.setIcon(gameCollectionEntity.getIcon());
collectionEntity.setColor(gameCollectionEntity.getColor());