更改过滤已隐藏包的逻辑
This commit is contained in:
@ -1,31 +1,52 @@
|
||||
package com.gh.common.util;
|
||||
|
||||
import com.gh.gamecenter.BuildConfig;
|
||||
import com.gh.gamecenter.entity.ApkEntity;
|
||||
import com.gh.gamecenter.entity.GameEntity;
|
||||
import com.gh.gamecenter.manager.PackagesManager;
|
||||
import com.lightgame.utils.Utils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.functions.Function;
|
||||
|
||||
/**
|
||||
* Created by khy on 10/05/17.
|
||||
*/
|
||||
|
||||
public class ApkActiveUtils {
|
||||
|
||||
// 过滤隐藏apk包
|
||||
public static void filterHideApk(GameEntity gameEntity) {
|
||||
if (gameEntity == null || gameEntity.getApk() == null
|
||||
|| gameEntity.getApk().size() == 0) return;
|
||||
|
||||
List<ApkEntity> apkList = gameEntity.getApk();
|
||||
for (int i = 0; i < apkList.size(); i++) {
|
||||
ApkEntity apkEntity = apkList.get(i);
|
||||
String packageName = apkEntity.getPackageName();
|
||||
String id = gameEntity.getId();
|
||||
if (!apkEntity.isActive() && !PackagesManager.INSTANCE.isCanPluggable(id, packageName)) {
|
||||
apkList.remove(i);
|
||||
i--;
|
||||
try {
|
||||
if (gameEntity == null || gameEntity.getOriginalApk().size() == 0) return;
|
||||
List<ApkEntity> apkList = gameEntity.getOriginalApk();
|
||||
for (int i = 0; i < apkList.size(); i++) {
|
||||
ApkEntity apkEntity = apkList.get(i);
|
||||
String packageName = apkEntity.getPackageName();
|
||||
String id = gameEntity.getId();
|
||||
if (!apkEntity.isActive() && !PackagesManager.INSTANCE.isCanPluggable(id, packageName)) {
|
||||
apkList.remove(i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
if (BuildConfig.DEBUG) {
|
||||
Utils.log("filter hide game apk throws exception:" + e.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 过滤隐藏apk包
|
||||
public static Function<List<GameEntity>, List<GameEntity>> filterMapperList = list -> {
|
||||
for (GameEntity gameEntity : list) {
|
||||
ApkActiveUtils.filterHideApk(gameEntity);
|
||||
}
|
||||
return list;
|
||||
};
|
||||
|
||||
// 过滤隐藏apk包
|
||||
public static Function<GameEntity, GameEntity> filterMapper = list -> {
|
||||
ApkActiveUtils.filterHideApk(list);
|
||||
return list;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user