Files
assistant-android/app/src/main/java/com/gh/gamecenter/manager/GameManager.java

73 lines
1.8 KiB
Java

package com.gh.gamecenter.manager;
import android.content.Context;
import com.gh.gamecenter.db.GameDao;
import com.gh.gamecenter.db.info.GameInfo;
import com.gh.gamecenter.entity.ApkEntity;
import com.gh.gamecenter.entity.GameEntity;
import java.util.ArrayList;
import java.util.List;
public class GameManager {
private GameDao dao;
public GameManager(Context context) {
dao = new GameDao(context);
}
public void addOrUpdate(GameInfo entity) {
if (dao.find(entity.getPackageName()) == null) {
dao.add(entity);
}
}
public void addOrUpdate(GameEntity gameEntity) {
ArrayList<ApkEntity> apk = gameEntity.getApk();
if (apk.isEmpty()) {
return;
}
ArrayList<GameInfo> list = new ArrayList<>();
ArrayList<String> packageNames = new ArrayList<>();
for (ApkEntity apkEntity : apk) {
packageNames.add(apkEntity.getPackageName());
}
if (packageNames.isEmpty()) {
return;
}
List<GameInfo> result = dao.findAll(packageNames);
for (GameInfo gameInfo : result) {
packageNames.remove(gameInfo.getPackageName());
}
for (String packageName : packageNames) {
list.add(new GameInfo(packageName, gameEntity.getId(), gameEntity.getName(), gameEntity.getIcon()));
}
if (list.size() != 0) {
dao.addAll(list);
}
}
public void addGame(GameInfo entity) {
dao.add(entity);
}
public GameInfo findGame(String packageName) {
return dao.find(packageName);
}
public void deleteGame(String packageName) {
dao.delete(packageName);
}
public List<GameInfo> getAllGame() {
return dao.getAll();
}
public void updateGame(GameInfo entity) {
dao.update(entity);
}
}