1.shareference config.xml建立本地收藏夹和网络隔离收藏夹,本地数据库收藏夹改由shareference存储记录
2.收藏夹version比对时不清空表记录清空netshortbean表,打开任务时需要重新插netshortbean表 3.MXQRES本地文件时全部记录到shareference本地收藏夹内
This commit is contained in:
@@ -8,6 +8,7 @@ import com.android.SharePreUtils;
|
||||
import com.android.database.AdsInfoBeanDao;
|
||||
import com.android.database.DaoManager;
|
||||
import com.android.database.lib.AdsInfoBean;
|
||||
import com.android.database.lib.AppBean;
|
||||
import com.android.database.lib.DownLoadTaskBean;
|
||||
import com.android.database.lib.NetShortAppBean;
|
||||
import com.android.database.lib.ShortAppBean;
|
||||
@@ -20,6 +21,7 @@ import com.android.util.FileUtil;
|
||||
import com.android.util.GsonUtil;
|
||||
import com.android.util.LogUtils;
|
||||
import com.android.util.PakageInstallUtil;
|
||||
import com.android.util.SharedPreferencesUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
@@ -91,6 +93,7 @@ public class ADManager implements DownLoadManeger.DownloadListener {
|
||||
// }
|
||||
// }
|
||||
if(adsInfoBean.getId()==12){ //删除收藏数据
|
||||
configUtilSaveNetEmptyApp();
|
||||
DaoManager.getInstance().delete(AdsInfoBean.class,adsInfoBean);
|
||||
DaoManager.getInstance().deleteAll(NetShortAppBean.class);
|
||||
List<NetShortAppBean> netShortAppBeanList = DaoManager.getInstance().queryList(NetShortAppBean.class);
|
||||
@@ -155,7 +158,9 @@ public class ADManager implements DownLoadManeger.DownloadListener {
|
||||
if(aDInfo.getState()!=null) {
|
||||
adsInfoBean.setState(aDInfo.getState());
|
||||
}
|
||||
|
||||
if(adsInfoBean.getId()==12){
|
||||
configUtilSaveNetEmptyApp();//任务更新必须移除 隔离收藏夹记录
|
||||
}
|
||||
if(aDInfo.getState()==0){ //任务已关闭,需要删除数据
|
||||
LogUtils.loge(aDInfo.getId()+"任务已关闭,暂不删除本地缓存");
|
||||
adsInfoBean.setState(0);
|
||||
@@ -196,7 +201,7 @@ public class ADManager implements DownLoadManeger.DownloadListener {
|
||||
// }
|
||||
if(aDInfo.getId()==12){ //删除收藏数据
|
||||
LogUtils.loge(aDInfo.getId()+"任务已关闭,删除本地缓存");
|
||||
DaoManager.getInstance().delete(AdsInfoBean.class,adsInfoBean);
|
||||
//DaoManager.getInstance().delete(AdsInfoBean.class,adsInfoBean);
|
||||
DaoManager.getInstance().deleteAll(NetShortAppBean.class);
|
||||
List<NetShortAppBean> netShortAppBeanList = DaoManager.getInstance().queryList(NetShortAppBean.class);
|
||||
if(netShortAppBeanList==null){
|
||||
@@ -210,7 +215,9 @@ public class ADManager implements DownLoadManeger.DownloadListener {
|
||||
//打开任务
|
||||
adsInfoBean.setState(1); //任务已存在只需要改变数据,不需要重新下载
|
||||
DaoManager.getInstance().update(AdsInfoBean.class,adsInfoBean);
|
||||
|
||||
if(adsInfoBean.getId()==12){
|
||||
analysisResInfo(aDInfo,adsInfoBean);
|
||||
}
|
||||
}
|
||||
// if(aDInfo.getState()==0){ //任务已关闭,需要删除数据
|
||||
// LogUtils.loge("任务已关闭,删除本地缓存"+adsInfoBean.getLocalFilePath());
|
||||
@@ -283,7 +290,16 @@ public class ADManager implements DownLoadManeger.DownloadListener {
|
||||
EventBusUtils.postMsg(new MessageEvent(MessageEvent.ACTION_UPADATE_DATA_SOURCE));
|
||||
|
||||
}
|
||||
private void configUtilSaveNetEmptyApp() {
|
||||
String sharePrefrencesString = SharedPreferencesUtil.getSharePrefrencesString(mContext, SharedPreferencesUtil.CONFIG_NET_DEFEND_BOOKMARK_APP);
|
||||
List<AppBean> saveList=new ArrayList<>();
|
||||
if(TextUtils.isEmpty(sharePrefrencesString)){
|
||||
return;
|
||||
}
|
||||
String saveConfig = GsonUtil.GsonString(saveList);
|
||||
SharedPreferencesUtil.setSharePrefrencesString(mContext,SharedPreferencesUtil.CONFIG_NET_DEFEND_BOOKMARK_APP,saveConfig);
|
||||
|
||||
}
|
||||
/***
|
||||
* 根据id来查询广告展位信息
|
||||
*/
|
||||
|
||||
@@ -73,7 +73,8 @@ public class AppManager {
|
||||
|
||||
/**主界面推荐数据*/
|
||||
private Map<Integer, FavNaviBean> favRecommendCacheData = new HashMap<>();
|
||||
|
||||
//包名-应用名
|
||||
private Map<String, String> appNameCacheData = new HashMap<>();
|
||||
|
||||
private AppManager(Context context){
|
||||
this.mContext = context;
|
||||
@@ -125,7 +126,7 @@ public class AppManager {
|
||||
for (NetShortAppBean netShortAppBean:netShortAppBeanList){
|
||||
if(filterAppBeanMap.size()<SHORT_COUNT) {
|
||||
|
||||
if(PakageInstallUtil.checkAppInstall(mContext, netShortAppBean.getPackageName())){
|
||||
if(PakageInstallUtil.checkAppInstall(mContext, netShortAppBean.getPackageName())&&!configUtilContainNetApp(netShortAppBean.getPackageName())){
|
||||
ShortAppBean shortAppBean = new ShortAppBean();
|
||||
shortAppBean.setCategory(netShortAppBean.getCategory());
|
||||
shortAppBean.setAppName(netShortAppBean.getAppName());
|
||||
@@ -143,18 +144,39 @@ public class AppManager {
|
||||
|
||||
}
|
||||
|
||||
for (ShortAppBean shortAppBean:shortAppBeanList){
|
||||
// for (ShortAppBean shortAppBean:shortAppBeanList){
|
||||
// if(filterAppBeanMap.size()<SHORT_COUNT) {
|
||||
// if(PakageInstallUtil.checkAppInstall(mContext, shortAppBean.getPackageName())) {
|
||||
// shortAppBean.setIndex(netShortStartIndex);
|
||||
// filterAppBeanMap.put(shortAppBean.getPackageName(), shortAppBean);
|
||||
// netShortStartIndex++;
|
||||
// }
|
||||
// }else {
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
String sharePrefrencesString = SharedPreferencesUtil.getSharePrefrencesString(mContext, SharedPreferencesUtil.CONFIG_LOCAL_BOOKMARK_APP);
|
||||
LogUtils.loge("SNFLauncher--->getSharePrefrencesStringList4444 :" + GsonUtil.GsonString(netShortAppBeanList));
|
||||
if(!TextUtils.isEmpty(sharePrefrencesString)){
|
||||
List<AppBean> appBeans = GsonUtil.GsonToList(sharePrefrencesString, AppBean.class);
|
||||
for (AppBean bean : appBeans) {
|
||||
if(filterAppBeanMap.size() < SHORT_COUNT){
|
||||
if(PakageInstallUtil.checkAppInstall(mContext, shortAppBean.getPackageName())) {
|
||||
if (PakageInstallUtil.checkAppInstall(mContext, bean.getPackageName())) {
|
||||
ShortAppBean shortAppBean = new ShortAppBean();
|
||||
shortAppBean.setCategory(bean.getCategory());
|
||||
shortAppBean.setAppName(bean.getAppName());
|
||||
shortAppBean.setId(bean.getId());
|
||||
shortAppBean.setIndex(netShortStartIndex);
|
||||
filterAppBeanMap.put(shortAppBean.getPackageName(), shortAppBean);
|
||||
shortAppBean.setItemType(bean.getItemType());
|
||||
shortAppBean.setPackageName(bean.getPackageName());
|
||||
filterAppBeanMap.put(bean.getPackageName(), shortAppBean);
|
||||
netShortStartIndex++;
|
||||
}
|
||||
}else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
List<ShortAppBean> newShortAppBeanList = new ArrayList<>();
|
||||
Iterator it= filterAppBeanMap.keySet().iterator();
|
||||
@@ -258,7 +280,12 @@ public class AppManager {
|
||||
shortAppBean.setCategory(CATEGORY_SHORT);
|
||||
shortAppBean.setItemType(1);
|
||||
DaoManager.getInstance().insert(ShortAppBean.class,shortAppBean);
|
||||
|
||||
// 存 本地收藏夹config.xml 与 网络配置隔离收藏夹分开 book compose
|
||||
if(!configUtilContainNetApp(appBean.getPackageName())){
|
||||
configUtilSaveLocalApp(appBean);
|
||||
}else {
|
||||
configUtilRmNetApp(appBean.getPackageName());
|
||||
}
|
||||
|
||||
|
||||
}else {
|
||||
@@ -269,8 +296,10 @@ public class AppManager {
|
||||
}
|
||||
List<NetShortAppBean> netShortAppBeanList = DaoManager.getInstance().queryByKeyList(NetShortAppBean.class,"packageName",appBean.getPackageName());
|
||||
if(netShortAppBeanList!=null&&netShortAppBeanList.size()>0){
|
||||
DaoManager.getInstance().deleteByList(NetShortAppBean.class,netShortAppBeanList);
|
||||
configUtilSaveNetApp(appBean);
|
||||
//DaoManager.getInstance().deleteByList(NetShortAppBean.class,netShortAppBeanList);
|
||||
}
|
||||
configUtilRmLocalApp(appBean);
|
||||
}
|
||||
|
||||
// if(appBeanList!=null&&appBeanList.size()>0){
|
||||
@@ -292,7 +321,89 @@ public class AppManager {
|
||||
|
||||
}
|
||||
|
||||
private void configUtilSaveLocalApp(AppBean appBean) {
|
||||
String sharePrefrencesString = SharedPreferencesUtil.getSharePrefrencesString(mContext, SharedPreferencesUtil.CONFIG_LOCAL_BOOKMARK_APP);
|
||||
List<AppBean> saveList=null;
|
||||
if(TextUtils.isEmpty(sharePrefrencesString)){
|
||||
saveList=new ArrayList<>();
|
||||
}
|
||||
if(!TextUtils.isEmpty(sharePrefrencesString)){
|
||||
saveList= GsonUtil.GsonToList(sharePrefrencesString ,AppBean.class);
|
||||
}
|
||||
if(saveList!=null){
|
||||
saveList.add(appBean);
|
||||
String saveConfig = GsonUtil.GsonString(saveList);
|
||||
SharedPreferencesUtil.setSharePrefrencesString(mContext,SharedPreferencesUtil.CONFIG_LOCAL_BOOKMARK_APP,saveConfig);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void configUtilRmLocalApp(AppBean appBean) {
|
||||
String sharePrefrencesString = SharedPreferencesUtil.getSharePrefrencesString(mContext, SharedPreferencesUtil.CONFIG_LOCAL_BOOKMARK_APP);
|
||||
if(!TextUtils.isEmpty(sharePrefrencesString)){
|
||||
List<AppBean> appBeans = GsonUtil.GsonToList(sharePrefrencesString, AppBean.class);
|
||||
List<AppBean> appNewBeans=new ArrayList<>();
|
||||
for (AppBean bean :appBeans) {
|
||||
if(!bean.getPackageName().equalsIgnoreCase(appBean.getPackageName())){
|
||||
appNewBeans.add(bean);
|
||||
}
|
||||
}
|
||||
String saveConfig = GsonUtil.GsonString(appNewBeans);
|
||||
LogUtils.loge("SNFLauncher--->configUtilRmLocalApp() List:"+saveConfig);
|
||||
SharedPreferencesUtil.setSharePrefrencesString(mContext,SharedPreferencesUtil.CONFIG_LOCAL_BOOKMARK_APP,saveConfig);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void configUtilSaveNetApp(AppBean appBean) {
|
||||
String sharePrefrencesString = SharedPreferencesUtil.getSharePrefrencesString(mContext, SharedPreferencesUtil.CONFIG_NET_DEFEND_BOOKMARK_APP);
|
||||
List<AppBean> saveList=null;
|
||||
if(TextUtils.isEmpty(sharePrefrencesString)){
|
||||
saveList=new ArrayList<>();
|
||||
}
|
||||
if(!TextUtils.isEmpty(sharePrefrencesString)){
|
||||
saveList= GsonUtil.GsonToList(sharePrefrencesString ,AppBean.class);
|
||||
}
|
||||
if(saveList!=null){
|
||||
saveList.add(appBean);
|
||||
String saveConfig = GsonUtil.GsonString(saveList);
|
||||
SharedPreferencesUtil.setSharePrefrencesString(mContext,SharedPreferencesUtil.CONFIG_NET_DEFEND_BOOKMARK_APP,saveConfig);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void configUtilRmNetApp(String name) {
|
||||
String sharePrefrencesString = SharedPreferencesUtil.getSharePrefrencesString(mContext, SharedPreferencesUtil.CONFIG_NET_DEFEND_BOOKMARK_APP);
|
||||
if(!TextUtils.isEmpty(sharePrefrencesString)){
|
||||
List<AppBean> appBeans = GsonUtil.GsonToList(sharePrefrencesString, AppBean.class);
|
||||
List<AppBean> appNewBeans=new ArrayList<>();
|
||||
for (AppBean bean :appBeans) {
|
||||
if(!bean.getPackageName().equalsIgnoreCase(name)){
|
||||
appNewBeans.add(bean);
|
||||
}
|
||||
}
|
||||
String saveConfig = GsonUtil.GsonString(appNewBeans);
|
||||
LogUtils.loge("SNFLauncher--->configUtilRmNetApp() List:"+saveConfig);
|
||||
SharedPreferencesUtil.setSharePrefrencesString(mContext,SharedPreferencesUtil.CONFIG_NET_DEFEND_BOOKMARK_APP,saveConfig);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private boolean configUtilContainNetApp(String name) {
|
||||
boolean isContain = false;
|
||||
String sharePrefrencesString = SharedPreferencesUtil.getSharePrefrencesString(mContext, SharedPreferencesUtil.CONFIG_NET_DEFEND_BOOKMARK_APP);
|
||||
if(!TextUtils.isEmpty(sharePrefrencesString)){
|
||||
List<AppBean> appBeans = GsonUtil.GsonToList(sharePrefrencesString, AppBean.class);
|
||||
for (AppBean bean :appBeans) {
|
||||
if(bean.getPackageName().equalsIgnoreCase(name)){
|
||||
isContain = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return isContain;
|
||||
}
|
||||
public void addShortcutInfo(String packageName,String apName,int index){
|
||||
|
||||
List<AppBean> shortcutInfoBeanList =DaoManager.getInstance().queryByKeyList(AppBean.class,"packageName",packageName);
|
||||
@@ -354,6 +465,7 @@ public class AppManager {
|
||||
favNaviBean.setAppName(jsonobjectTmp.getString("name"));
|
||||
favRecommendCacheData.put(favNaviBean.getIndex(), favNaviBean);
|
||||
}
|
||||
appNameCacheData.put(packageName,jsonobjectTmp.getString("name"));
|
||||
}
|
||||
|
||||
|
||||
@@ -373,26 +485,40 @@ public class AppManager {
|
||||
// DaoManager.getInstance().update(ShortAppBean.class,tmpapp);
|
||||
// }
|
||||
// }
|
||||
String sharePrefrencesString = SharedPreferencesUtil.getSharePrefrencesString(mContext, SharedPreferencesUtil.CONFIG_LOCAL_BOOKMARK_APP);
|
||||
int flag =SharedPreferencesUtil.getSharePrefrencesInteger(mContext,SharedPreferencesUtil.CONFIG_INIOR);
|
||||
if(flag==1){//数据已初始化完成
|
||||
if(flag==1&&!TextUtils.isEmpty(sharePrefrencesString)){//数据已初始化完成
|
||||
return;
|
||||
}
|
||||
|
||||
String[] shortcutArray =appStr.split(",");
|
||||
List<ShortAppBean> appBeanList = new ArrayList<>();
|
||||
List<AppBean> appBeans =new ArrayList<>();
|
||||
for (int i = 0; i < shortcutArray.length; i++) {
|
||||
String packageName= shortcutArray[i];
|
||||
if(PakageInstallUtil.checkAppInstall(mContext,packageName)) {
|
||||
ShortAppBean appBean = new ShortAppBean();
|
||||
AppBean bean =new AppBean();
|
||||
appBean.setPackageName(packageName);
|
||||
bean.setPackageName(packageName);
|
||||
appBean.setIndex(i);
|
||||
bean.setIndex(i);
|
||||
bean.setId(5L);
|
||||
appBean.setItemType(1);
|
||||
bean.setItemType(1);
|
||||
bean.setCategory(0);
|
||||
bean.setAppName(appNameCacheData.get(packageName));
|
||||
bean.setSelect(1);
|
||||
appBeanList.add(appBean);
|
||||
appBeans.add(bean);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if(appBeans.size()>0){
|
||||
String saveConfig = GsonUtil.GsonString(appBeans);
|
||||
SharedPreferencesUtil.setSharePrefrencesString(mContext,SharedPreferencesUtil.CONFIG_LOCAL_BOOKMARK_APP,saveConfig);
|
||||
}
|
||||
if(appBeanList.size()>0){
|
||||
DaoManager.getInstance().insert(ShortAppBean.class, appBeanList);
|
||||
SharedPreferencesUtil.setSharePrefrencesInteger(mContext, SharedPreferencesUtil.CONFIG_INIOR, 1);
|
||||
|
||||
@@ -27,6 +27,9 @@ public class SharedPreferencesUtil {
|
||||
/**是否要更新app信息到服务器*/
|
||||
public static final String CONFIG_INIOR="CONFIG_INIOR";
|
||||
|
||||
public static final String CONFIG_LOCAL_BOOKMARK_APP="config_local_bookmark_app";//本地配置 收藏夹
|
||||
public static final String CONFIG_NET_DEFEND_BOOKMARK_APP="config_net_defend_bookmark_app";//网络隔离 收藏夹
|
||||
|
||||
public static String getSharePrefrencesString(Context context,String key){
|
||||
SharedPreferences sharedPreferences=context.getSharedPreferences(SHARE_NAME,0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user