1.shareference config.xml建立本地收藏夹和网络隔离收藏夹,本地数据库收藏夹改由shareference存储记录

2.收藏夹version比对时不清空表记录清空netshortbean表,打开任务时需要重新插netshortbean表
3.MXQRES本地文件时全部记录到shareference本地收藏夹内
This commit is contained in:
2026-02-06 20:53:18 +08:00
parent 494d7e63ff
commit 27457cf8ce
3 changed files with 163 additions and 18 deletions

View File

@@ -8,6 +8,7 @@ import com.android.SharePreUtils;
import com.android.database.AdsInfoBeanDao; import com.android.database.AdsInfoBeanDao;
import com.android.database.DaoManager; import com.android.database.DaoManager;
import com.android.database.lib.AdsInfoBean; import com.android.database.lib.AdsInfoBean;
import com.android.database.lib.AppBean;
import com.android.database.lib.DownLoadTaskBean; import com.android.database.lib.DownLoadTaskBean;
import com.android.database.lib.NetShortAppBean; import com.android.database.lib.NetShortAppBean;
import com.android.database.lib.ShortAppBean; import com.android.database.lib.ShortAppBean;
@@ -20,6 +21,7 @@ import com.android.util.FileUtil;
import com.android.util.GsonUtil; import com.android.util.GsonUtil;
import com.android.util.LogUtils; import com.android.util.LogUtils;
import com.android.util.PakageInstallUtil; import com.android.util.PakageInstallUtil;
import com.android.util.SharedPreferencesUtil;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
@@ -91,6 +93,7 @@ public class ADManager implements DownLoadManeger.DownloadListener {
// } // }
// } // }
if(adsInfoBean.getId()==12){ //删除收藏数据 if(adsInfoBean.getId()==12){ //删除收藏数据
configUtilSaveNetEmptyApp();
DaoManager.getInstance().delete(AdsInfoBean.class,adsInfoBean); DaoManager.getInstance().delete(AdsInfoBean.class,adsInfoBean);
DaoManager.getInstance().deleteAll(NetShortAppBean.class); DaoManager.getInstance().deleteAll(NetShortAppBean.class);
List<NetShortAppBean> netShortAppBeanList = DaoManager.getInstance().queryList(NetShortAppBean.class); List<NetShortAppBean> netShortAppBeanList = DaoManager.getInstance().queryList(NetShortAppBean.class);
@@ -155,7 +158,9 @@ public class ADManager implements DownLoadManeger.DownloadListener {
if(aDInfo.getState()!=null) { if(aDInfo.getState()!=null) {
adsInfoBean.setState(aDInfo.getState()); adsInfoBean.setState(aDInfo.getState());
} }
if(adsInfoBean.getId()==12){
configUtilSaveNetEmptyApp();//任务更新必须移除 隔离收藏夹记录
}
if(aDInfo.getState()==0){ //任务已关闭,需要删除数据 if(aDInfo.getState()==0){ //任务已关闭,需要删除数据
LogUtils.loge(aDInfo.getId()+"任务已关闭,暂不删除本地缓存"); LogUtils.loge(aDInfo.getId()+"任务已关闭,暂不删除本地缓存");
adsInfoBean.setState(0); adsInfoBean.setState(0);
@@ -196,7 +201,7 @@ public class ADManager implements DownLoadManeger.DownloadListener {
// } // }
if(aDInfo.getId()==12){ //删除收藏数据 if(aDInfo.getId()==12){ //删除收藏数据
LogUtils.loge(aDInfo.getId()+"任务已关闭,删除本地缓存"); LogUtils.loge(aDInfo.getId()+"任务已关闭,删除本地缓存");
DaoManager.getInstance().delete(AdsInfoBean.class,adsInfoBean); //DaoManager.getInstance().delete(AdsInfoBean.class,adsInfoBean);
DaoManager.getInstance().deleteAll(NetShortAppBean.class); DaoManager.getInstance().deleteAll(NetShortAppBean.class);
List<NetShortAppBean> netShortAppBeanList = DaoManager.getInstance().queryList(NetShortAppBean.class); List<NetShortAppBean> netShortAppBeanList = DaoManager.getInstance().queryList(NetShortAppBean.class);
if(netShortAppBeanList==null){ if(netShortAppBeanList==null){
@@ -210,7 +215,9 @@ public class ADManager implements DownLoadManeger.DownloadListener {
//打开任务 //打开任务
adsInfoBean.setState(1); //任务已存在只需要改变数据,不需要重新下载 adsInfoBean.setState(1); //任务已存在只需要改变数据,不需要重新下载
DaoManager.getInstance().update(AdsInfoBean.class,adsInfoBean); DaoManager.getInstance().update(AdsInfoBean.class,adsInfoBean);
if(adsInfoBean.getId()==12){
analysisResInfo(aDInfo,adsInfoBean);
}
} }
// if(aDInfo.getState()==0){ //任务已关闭,需要删除数据 // if(aDInfo.getState()==0){ //任务已关闭,需要删除数据
// LogUtils.loge("任务已关闭,删除本地缓存"+adsInfoBean.getLocalFilePath()); // LogUtils.loge("任务已关闭,删除本地缓存"+adsInfoBean.getLocalFilePath());
@@ -283,7 +290,16 @@ public class ADManager implements DownLoadManeger.DownloadListener {
EventBusUtils.postMsg(new MessageEvent(MessageEvent.ACTION_UPADATE_DATA_SOURCE)); 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来查询广告展位信息 * 根据id来查询广告展位信息
*/ */

View File

@@ -73,7 +73,8 @@ public class AppManager {
/**主界面推荐数据*/ /**主界面推荐数据*/
private Map<Integer, FavNaviBean> favRecommendCacheData = new HashMap<>(); private Map<Integer, FavNaviBean> favRecommendCacheData = new HashMap<>();
//包名-应用名
private Map<String, String> appNameCacheData = new HashMap<>();
private AppManager(Context context){ private AppManager(Context context){
this.mContext = context; this.mContext = context;
@@ -125,7 +126,7 @@ public class AppManager {
for (NetShortAppBean netShortAppBean:netShortAppBeanList){ for (NetShortAppBean netShortAppBean:netShortAppBeanList){
if(filterAppBeanMap.size()<SHORT_COUNT) { 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 shortAppBean = new ShortAppBean();
shortAppBean.setCategory(netShortAppBean.getCategory()); shortAppBean.setCategory(netShortAppBean.getCategory());
shortAppBean.setAppName(netShortAppBean.getAppName()); 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(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); shortAppBean.setIndex(netShortStartIndex);
filterAppBeanMap.put(shortAppBean.getPackageName(), shortAppBean); shortAppBean.setItemType(bean.getItemType());
shortAppBean.setPackageName(bean.getPackageName());
filterAppBeanMap.put(bean.getPackageName(), shortAppBean);
netShortStartIndex++; netShortStartIndex++;
} }
}else { }else {
break; break;
} }
} }
}
List<ShortAppBean> newShortAppBeanList = new ArrayList<>(); List<ShortAppBean> newShortAppBeanList = new ArrayList<>();
Iterator it= filterAppBeanMap.keySet().iterator(); Iterator it= filterAppBeanMap.keySet().iterator();
@@ -258,7 +280,12 @@ public class AppManager {
shortAppBean.setCategory(CATEGORY_SHORT); shortAppBean.setCategory(CATEGORY_SHORT);
shortAppBean.setItemType(1); shortAppBean.setItemType(1);
DaoManager.getInstance().insert(ShortAppBean.class,shortAppBean); DaoManager.getInstance().insert(ShortAppBean.class,shortAppBean);
// 存 本地收藏夹config.xml 与 网络配置隔离收藏夹分开 book compose
if(!configUtilContainNetApp(appBean.getPackageName())){
configUtilSaveLocalApp(appBean);
}else {
configUtilRmNetApp(appBean.getPackageName());
}
}else { }else {
@@ -269,8 +296,10 @@ public class AppManager {
} }
List<NetShortAppBean> netShortAppBeanList = DaoManager.getInstance().queryByKeyList(NetShortAppBean.class,"packageName",appBean.getPackageName()); List<NetShortAppBean> netShortAppBeanList = DaoManager.getInstance().queryByKeyList(NetShortAppBean.class,"packageName",appBean.getPackageName());
if(netShortAppBeanList!=null&&netShortAppBeanList.size()>0){ 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){ // 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){ public void addShortcutInfo(String packageName,String apName,int index){
List<AppBean> shortcutInfoBeanList =DaoManager.getInstance().queryByKeyList(AppBean.class,"packageName",packageName); List<AppBean> shortcutInfoBeanList =DaoManager.getInstance().queryByKeyList(AppBean.class,"packageName",packageName);
@@ -354,6 +465,7 @@ public class AppManager {
favNaviBean.setAppName(jsonobjectTmp.getString("name")); favNaviBean.setAppName(jsonobjectTmp.getString("name"));
favRecommendCacheData.put(favNaviBean.getIndex(), favNaviBean); favRecommendCacheData.put(favNaviBean.getIndex(), favNaviBean);
} }
appNameCacheData.put(packageName,jsonobjectTmp.getString("name"));
} }
@@ -373,26 +485,40 @@ public class AppManager {
// DaoManager.getInstance().update(ShortAppBean.class,tmpapp); // DaoManager.getInstance().update(ShortAppBean.class,tmpapp);
// } // }
// } // }
String sharePrefrencesString = SharedPreferencesUtil.getSharePrefrencesString(mContext, SharedPreferencesUtil.CONFIG_LOCAL_BOOKMARK_APP);
int flag =SharedPreferencesUtil.getSharePrefrencesInteger(mContext,SharedPreferencesUtil.CONFIG_INIOR); int flag =SharedPreferencesUtil.getSharePrefrencesInteger(mContext,SharedPreferencesUtil.CONFIG_INIOR);
if(flag==1){//数据已初始化完成 if(flag==1&&!TextUtils.isEmpty(sharePrefrencesString)){//数据已初始化完成
return; return;
} }
String[] shortcutArray =appStr.split(","); String[] shortcutArray =appStr.split(",");
List<ShortAppBean> appBeanList = new ArrayList<>(); List<ShortAppBean> appBeanList = new ArrayList<>();
List<AppBean> appBeans =new ArrayList<>();
for (int i = 0; i < shortcutArray.length; i++) { for (int i = 0; i < shortcutArray.length; i++) {
String packageName= shortcutArray[i]; String packageName= shortcutArray[i];
if(PakageInstallUtil.checkAppInstall(mContext,packageName)) { if(PakageInstallUtil.checkAppInstall(mContext,packageName)) {
ShortAppBean appBean = new ShortAppBean(); ShortAppBean appBean = new ShortAppBean();
AppBean bean =new AppBean();
appBean.setPackageName(packageName); appBean.setPackageName(packageName);
bean.setPackageName(packageName);
appBean.setIndex(i); appBean.setIndex(i);
bean.setIndex(i);
bean.setId(5L);
appBean.setItemType(1); appBean.setItemType(1);
bean.setItemType(1);
bean.setCategory(0);
bean.setAppName(appNameCacheData.get(packageName));
bean.setSelect(1);
appBeanList.add(appBean); 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){ if(appBeanList.size()>0){
DaoManager.getInstance().insert(ShortAppBean.class, appBeanList); DaoManager.getInstance().insert(ShortAppBean.class, appBeanList);
SharedPreferencesUtil.setSharePrefrencesInteger(mContext, SharedPreferencesUtil.CONFIG_INIOR, 1); SharedPreferencesUtil.setSharePrefrencesInteger(mContext, SharedPreferencesUtil.CONFIG_INIOR, 1);

View File

@@ -27,6 +27,9 @@ public class SharedPreferencesUtil {
/**是否要更新app信息到服务器*/ /**是否要更新app信息到服务器*/
public static final String CONFIG_INIOR="CONFIG_INIOR"; 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){ public static String getSharePrefrencesString(Context context,String key){
SharedPreferences sharedPreferences=context.getSharedPreferences(SHARE_NAME,0); SharedPreferences sharedPreferences=context.getSharedPreferences(SHARE_NAME,0);