重构本地已安装的相关数据(更新/插件化/已安装的游戏列表)

已对接:首页插件化区域,我的游戏页面
This commit is contained in:
kehaoyuan
2018-11-12 16:52:26 +08:00
parent 62740ffcb6
commit 1cc0c51390
12 changed files with 440 additions and 97 deletions

View File

@ -2,6 +2,7 @@ package com.gh.gamecenter;
import android.app.Dialog;
import android.app.NotificationManager;
import android.arch.lifecycle.ViewModelProviders;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
@ -72,6 +73,7 @@ import com.gh.gamecenter.eventbus.EBReuse;
import com.gh.gamecenter.eventbus.EBShowDialog;
import com.gh.gamecenter.eventbus.EBSkip;
import com.gh.gamecenter.fragment.MainWrapperFragment;
import com.gh.gamecenter.install.PackageViewModel;
import com.gh.gamecenter.manager.DataCollectionManager;
import com.gh.gamecenter.manager.FilterManager;
import com.gh.gamecenter.manager.GameManager;
@ -145,6 +147,8 @@ public class MainActivity extends BaseActivity {
public final static String SHOULD_INIT_IM = "should_init_im";
public final static String SWITCH_TO_COMMUNITY = "switch_to_community";
private PackageViewModel mPackageViewModel;
private MainWrapperFragment mMainWrapperFragment;
private SharedPreferences sp;
@ -751,7 +755,8 @@ public class MainActivity extends BaseActivity {
DownloadManager.getInstance(this).addObserver(dataWatcher);
// 检查是否有权限读取应用列表
checkPermission();
// checkPermission();
mPackageViewModel = ViewModelProviders.of(this, new PackageViewModel.Factory()).get(PackageViewModel.class);
final String message = Config.getExceptionMsg(this);
if (!TextUtils.isEmpty(message)) {
@ -1061,6 +1066,8 @@ public class MainActivity extends BaseActivity {
}
if ("安装".equals(busFour.getType())) {
mPackageViewModel.addInstalledGame(packageName);
// 删除下载完成 弹窗
NotificationManager nManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nManager.cancel(packageName.hashCode());
@ -1127,6 +1134,7 @@ public class MainActivity extends BaseActivity {
}
if ("卸载".equals(busFour.getType())) {
mPackageViewModel.addUninstalledGame(packageName);
// 删除map中数据
PackageManager.INSTANCE.removeInstalled(packageName);