全志Launcher代码首次提交
This commit is contained in:
637
mylibrary/src/main/java/com/android/nebulasdk/AppManager.java
Normal file
637
mylibrary/src/main/java/com/android/nebulasdk/AppManager.java
Normal file
@@ -0,0 +1,637 @@
|
||||
package com.android.nebulasdk;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
|
||||
import com.android.database.DaoManager;
|
||||
import com.android.database.lib.AdsInfoBean;
|
||||
import com.android.database.lib.AppBean;
|
||||
import com.android.database.lib.LocalAppBean;
|
||||
import com.android.database.lib.MusicAppBean;
|
||||
import com.android.database.lib.NetShortAppBean;
|
||||
import com.android.database.lib.RecommendAppBean;
|
||||
import com.android.database.lib.ShortAppBean;
|
||||
import com.android.database.lib.VideoAppBean;
|
||||
import com.android.nebulasdk.bean.FavNaviBean;
|
||||
import com.android.util.GsonUtil;
|
||||
import com.android.util.LogUtils;
|
||||
import com.android.util.PakageInstallUtil;
|
||||
import com.android.util.SharedPreferencesUtil;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class AppManager {
|
||||
private Context mContext;
|
||||
private static AppManager mInstance=null;
|
||||
public static final int CATEGORY_MUSIC=0x00;
|
||||
public static final int CATEGORY_RECOMMEND=0x01;
|
||||
public static final int CATEGORY_VIDEO=0x02;
|
||||
public static final int CATEGORY_LOCAL=0x03;
|
||||
public static final int CATEGORY_MYAPPS=0x04;
|
||||
public static final int CATEGORY_SHORT=0x05;
|
||||
/**快捷栏数量*/
|
||||
public static final int SHORT_COUNT=16;
|
||||
|
||||
|
||||
private static final String SHORTAPP_ONFIG="/system/MXQRES/mxq_config.json";
|
||||
private static final String ICON_ASSERT_DIR="/system/MXQRES/";
|
||||
|
||||
//主界面图标0
|
||||
public static final String ICON_00_TAG="icon_00.png";
|
||||
//主界面图标1
|
||||
public static final String ICON_01_TAG="icon_01.png";
|
||||
//主界面图标2
|
||||
public static final String ICON_02_TAG="icon_02.png";
|
||||
//主界面图标3
|
||||
public static final String ICON_03_TAG="icon_03.png";
|
||||
//主界面图标4
|
||||
public static final String ICON_04_TAG="icon_04.png";
|
||||
|
||||
|
||||
/**主界面推荐数据*/
|
||||
private Map<Integer, FavNaviBean> favRecommendCacheData = new HashMap<>();
|
||||
|
||||
|
||||
private AppManager(Context context){
|
||||
this.mContext = context;
|
||||
DaoManager.initeDao(mContext);
|
||||
LogUtils.loge("AppManager init");
|
||||
}
|
||||
|
||||
|
||||
public static void init(Context context){
|
||||
if(mInstance==null){
|
||||
mInstance = new AppManager(context);
|
||||
}
|
||||
}
|
||||
|
||||
public static AppManager getInstance(){
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public List<AppBean> getmyAppByCategory(){
|
||||
|
||||
return DaoManager.getInstance().queryList(AppBean.class);
|
||||
}
|
||||
|
||||
public List<VideoAppBean> getVideoAppByCategory(){
|
||||
return DaoManager.getInstance().queryList(VideoAppBean.class);
|
||||
}
|
||||
public List<MusicAppBean> getMusicAppByCategory(){
|
||||
return DaoManager.getInstance().queryList(MusicAppBean.class);
|
||||
}
|
||||
public List<RecommendAppBean> getRecommendAppByCategory(){
|
||||
return DaoManager.getInstance().queryList(RecommendAppBean.class);
|
||||
}
|
||||
public List<LocalAppBean> getLocalAppBeanAppByCategory(){
|
||||
return DaoManager.getInstance().queryList(LocalAppBean.class);
|
||||
}
|
||||
public List<ShortAppBean> getShortAppBeanAppByCategory(){
|
||||
List<ShortAppBean> shortAppBeanList = DaoManager.getInstance().queryList(ShortAppBean.class);
|
||||
|
||||
List<NetShortAppBean> netShortAppBeanList = DaoManager.getInstance().queryList(NetShortAppBean.class);
|
||||
|
||||
Map<String,ShortAppBean> filterAppBeanMap =new HashMap<>();
|
||||
|
||||
int netShortStartIndex=0;
|
||||
for (NetShortAppBean netShortAppBean:netShortAppBeanList){
|
||||
if(filterAppBeanMap.size()<SHORT_COUNT) {
|
||||
|
||||
if(PakageInstallUtil.checkAppInstall(mContext, netShortAppBean.getPackageName())){
|
||||
ShortAppBean shortAppBean = new ShortAppBean();
|
||||
shortAppBean.setCategory(netShortAppBean.getCategory());
|
||||
shortAppBean.setAppName(netShortAppBean.getAppName());
|
||||
shortAppBean.setId(netShortAppBean.getId());
|
||||
shortAppBean.setIndex(netShortStartIndex);
|
||||
shortAppBean.setItemType(netShortAppBean.getItemType());
|
||||
shortAppBean.setPackageName(netShortAppBean.getPackageName());
|
||||
filterAppBeanMap.put(shortAppBean.getPackageName(), shortAppBean);
|
||||
netShortStartIndex++;
|
||||
}
|
||||
|
||||
}else {
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
List<ShortAppBean> newShortAppBeanList = new ArrayList<>();
|
||||
Iterator it= filterAppBeanMap.keySet().iterator();
|
||||
while (it.hasNext()){
|
||||
newShortAppBeanList.add(filterAppBeanMap.get(it.next()));
|
||||
}
|
||||
LogUtils.loge("newShortAppBeanList222222 :"+GsonUtil.GsonString(newShortAppBeanList));
|
||||
return filterApps(newShortAppBeanList);
|
||||
}
|
||||
|
||||
|
||||
/**过滤出已安装的app*/
|
||||
private List<ShortAppBean> filterApps(List<ShortAppBean> shortAppBeanList){
|
||||
|
||||
List<ShortAppBean> shortAppBeanLists= new ArrayList<>();
|
||||
if(shortAppBeanList!=null){
|
||||
for (ShortAppBean shortAppBean:shortAppBeanList){
|
||||
if(PakageInstallUtil.checkAppInstall(mContext, shortAppBean.getPackageName())){
|
||||
shortAppBeanLists.add(shortAppBean);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Collections.sort(shortAppBeanLists, new Comparator<ShortAppBean>() {
|
||||
@Override
|
||||
public int compare(ShortAppBean o1, ShortAppBean o2) { //按升序排序
|
||||
return Integer.compare(o1.getIndex(), o2.getIndex());
|
||||
}
|
||||
});
|
||||
|
||||
LogUtils.loge("newShortAppBeanList333333 :"+GsonUtil.GsonString(shortAppBeanLists));
|
||||
return shortAppBeanLists;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void selectAppByCategory(AppBean appBean,int category){
|
||||
LogUtils.loge("collect app package name is "+appBean.getPackageName());
|
||||
if(CATEGORY_VIDEO ==category){
|
||||
if(appBean.getSelect()==1) {
|
||||
VideoAppBean videoAppBean = new VideoAppBean();
|
||||
videoAppBean.setAppName(appBean.getAppName());
|
||||
videoAppBean.setPackageName(appBean.getPackageName());
|
||||
videoAppBean.setCategory(CATEGORY_VIDEO);
|
||||
videoAppBean.setItemType(1);
|
||||
DaoManager.getInstance().insert(VideoAppBean.class, videoAppBean);
|
||||
}else {
|
||||
List<VideoAppBean> appBeanList = DaoManager.getInstance().queryByKeyList(VideoAppBean.class,"packageName",appBean.getPackageName());
|
||||
DaoManager.getInstance().deleteByList(VideoAppBean.class,appBeanList);
|
||||
}
|
||||
}else if(CATEGORY_MUSIC ==category){
|
||||
if(appBean.getSelect()==1) {
|
||||
MusicAppBean musicAppBean = new MusicAppBean();
|
||||
musicAppBean.setAppName(appBean.getAppName());
|
||||
musicAppBean.setPackageName(appBean.getPackageName());
|
||||
musicAppBean.setCategory(CATEGORY_MUSIC);
|
||||
musicAppBean.setItemType(1);
|
||||
DaoManager.getInstance().insert(MusicAppBean.class, musicAppBean);
|
||||
}else {
|
||||
List<MusicAppBean> appBeanList = DaoManager.getInstance().queryByKeyList(MusicAppBean.class,"packageName",appBean.getPackageName());
|
||||
DaoManager.getInstance().deleteByList(MusicAppBean.class,appBeanList);
|
||||
}
|
||||
}else if(CATEGORY_RECOMMEND ==category){
|
||||
if(appBean.getSelect()==1) {
|
||||
LogUtils.loge("no query app info by package name");
|
||||
RecommendAppBean recommendAppBean = new RecommendAppBean();
|
||||
recommendAppBean.setAppName(appBean.getAppName());
|
||||
recommendAppBean.setPackageName(appBean.getPackageName());
|
||||
recommendAppBean.setCategory(CATEGORY_VIDEO);
|
||||
recommendAppBean.setItemType(1);
|
||||
DaoManager.getInstance().insert(RecommendAppBean.class, recommendAppBean);
|
||||
}else {
|
||||
List<RecommendAppBean> appBeanList = DaoManager.getInstance().queryByKeyList(RecommendAppBean.class,"packageName",appBean.getPackageName());
|
||||
DaoManager.getInstance().deleteByList(RecommendAppBean.class,appBeanList);
|
||||
}
|
||||
}else if(CATEGORY_LOCAL ==category){
|
||||
if(appBean.getSelect()==1) {
|
||||
LocalAppBean localAppBean = new LocalAppBean();
|
||||
localAppBean.setAppName(appBean.getAppName());
|
||||
localAppBean.setPackageName(appBean.getPackageName());
|
||||
localAppBean.setCategory(CATEGORY_VIDEO);
|
||||
localAppBean.setItemType(1);
|
||||
DaoManager.getInstance().insert(LocalAppBean.class, localAppBean);
|
||||
}else {
|
||||
//del
|
||||
List<LocalAppBean> appBeanList = DaoManager.getInstance().queryByKeyList(LocalAppBean.class,"packageName",appBean.getPackageName());
|
||||
DaoManager.getInstance().deleteByList(LocalAppBean.class,appBeanList);
|
||||
}
|
||||
}else if(CATEGORY_SHORT ==category){
|
||||
|
||||
|
||||
if(appBean.getSelect()==1){
|
||||
LogUtils.loge("CATEGORY_SHORT insert:");
|
||||
ShortAppBean shortAppBean = new ShortAppBean();
|
||||
shortAppBean.setAppName(appBean.getAppName());
|
||||
shortAppBean.setPackageName(appBean.getPackageName());
|
||||
shortAppBean.setCategory(CATEGORY_SHORT);
|
||||
shortAppBean.setItemType(1);
|
||||
DaoManager.getInstance().insert(ShortAppBean.class,shortAppBean);
|
||||
|
||||
|
||||
|
||||
}else {
|
||||
LogUtils.loge("CATEGORY_SHORT deleteByList:");
|
||||
List<ShortAppBean> appBeanList = DaoManager.getInstance().queryByKeyList(ShortAppBean.class,"packageName",appBean.getPackageName());
|
||||
if(appBeanList!=null&&appBeanList.size()>0) {
|
||||
DaoManager.getInstance().deleteByList(ShortAppBean.class, appBeanList);
|
||||
}
|
||||
List<NetShortAppBean> netShortAppBeanList = DaoManager.getInstance().queryByKeyList(NetShortAppBean.class,"packageName",appBean.getPackageName());
|
||||
if(netShortAppBeanList!=null&&netShortAppBeanList.size()>0){
|
||||
DaoManager.getInstance().deleteByList(NetShortAppBean.class,netShortAppBeanList);
|
||||
}
|
||||
}
|
||||
|
||||
// if(appBeanList!=null&&appBeanList.size()>0){
|
||||
// ShortAppBean appBeanTmp = appBeanList.get(0);
|
||||
// appBeanTmp.setCategory(CATEGORY_SHORT);
|
||||
// appBeanTmp.setItemType(1);
|
||||
// DaoManager.getInstance().update(ShortAppBean.class,appBeanTmp);
|
||||
// }else {
|
||||
// LogUtils.loge("no query app info by package name");
|
||||
// ShortAppBean videoAppBean = new ShortAppBean();
|
||||
// videoAppBean.setAppName(appBean.getAppName());
|
||||
// videoAppBean.setPackageName(appBean.getPackageName());
|
||||
// videoAppBean.setCategory(CATEGORY_SHORT);
|
||||
// videoAppBean.setItemType(1);
|
||||
// DaoManager.getInstance().insert(ShortAppBean.class,videoAppBean);
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void addShortcutInfo(String packageName,String apName,int index){
|
||||
|
||||
List<AppBean> shortcutInfoBeanList =DaoManager.getInstance().queryByKeyList(AppBean.class,"packageName",packageName);
|
||||
if(shortcutInfoBeanList!=null&&shortcutInfoBeanList.size()>0){
|
||||
LogUtils.loge(packageName+" 已存在");
|
||||
AppBean appBean = shortcutInfoBeanList.get(0);
|
||||
appBean.setCategory(CATEGORY_SHORT);
|
||||
DaoManager.getInstance().update(AppBean.class,appBean);
|
||||
}else {
|
||||
AppBean shortcutInfoBean = new AppBean();
|
||||
shortcutInfoBean.setIndex(index);
|
||||
shortcutInfoBean.setPackageName(packageName);
|
||||
shortcutInfoBean.setAppName(apName);
|
||||
shortcutInfoBean.setCategory(CATEGORY_SHORT);
|
||||
DaoManager.getInstance().insert(AppBean.class,shortcutInfoBean);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void delShortcutInfo(String packageName){
|
||||
List<AppBean> shortcutInfoBeanList =DaoManager.getInstance().queryByKeyList(AppBean.class,"packageName",packageName);
|
||||
if(shortcutInfoBeanList!=null&&shortcutInfoBeanList.size()>0){
|
||||
LogUtils.loge(packageName+" 已存在");
|
||||
DaoManager.getInstance().deleteByList(AppBean.class,shortcutInfoBeanList);
|
||||
}else {
|
||||
LogUtils.loge(packageName+" 不存在");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*初始化快捷方式*/
|
||||
public void initLocalConfigData(){
|
||||
|
||||
|
||||
String json = getAssertData(mContext, SHORTAPP_ONFIG);
|
||||
if(json==null){
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
LogUtils.loge("getAssertData===>"+json);
|
||||
JSONObject jsonObject = new JSONObject(json);
|
||||
JSONObject jsonObject01=jsonObject.getJSONObject("Homeshortcut");
|
||||
String appStr = jsonObject01.getString("packageName");
|
||||
JSONArray jsonArrayObject=jsonObject.getJSONArray("Favapp");
|
||||
|
||||
|
||||
for (int i=0;i<jsonArrayObject.length();i++){
|
||||
//{"id": 0,"name": "chrome","packagename": "com.android.google","img": "/system/MXQRES/icon_00.png"
|
||||
JSONObject jsonobjectTmp = jsonArrayObject.getJSONObject(i);
|
||||
String packageName=jsonobjectTmp.getString("packagename");
|
||||
if(PakageInstallUtil.checkAppInstall(mContext,packageName)) {
|
||||
FavNaviBean favNaviBean = new FavNaviBean();
|
||||
favNaviBean.setIndex(jsonobjectTmp.getInt("id"));
|
||||
favNaviBean.setImgPath(jsonobjectTmp.getString("img"));
|
||||
favNaviBean.setRelatedApp(packageName);
|
||||
favNaviBean.setAppName(jsonobjectTmp.getString("name"));
|
||||
favRecommendCacheData.put(favNaviBean.getIndex(), favNaviBean);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// List<ShortAppBean> appBeanList = new ArrayList<>();
|
||||
// for (int i = 0; i < array.length; i++) {
|
||||
// ShortAppBean appBean = new ShortAppBean();
|
||||
// appBean.setPackageName(array[i]);
|
||||
// appBean.setIndex(i);
|
||||
// appBean.setItemType(1);
|
||||
// appBean.setCategory(CATEGORY_SHORT);
|
||||
// List<ShortAppBean> tmpList =DaoManager.getInstance().queryByKeyList(ShortAppBean.class,"packageName",appBean.getPackageName());
|
||||
// if(tmpList==null||tmpList.size()==0){
|
||||
// appBeanList.add(appBean);
|
||||
// }else {
|
||||
// ShortAppBean tmpapp = tmpList.get(0);
|
||||
// tmpapp.setCategory(CATEGORY_SHORT);
|
||||
// DaoManager.getInstance().update(ShortAppBean.class,tmpapp);
|
||||
// }
|
||||
// }
|
||||
int flag =SharedPreferencesUtil.getSharePrefrencesInteger(mContext,SharedPreferencesUtil.CONFIG_INIOR);
|
||||
if(flag==1){//数据已初始化完成
|
||||
return;
|
||||
}
|
||||
|
||||
String[] shortcutArray =appStr.split(",");
|
||||
List<ShortAppBean> appBeanList = new ArrayList<>();
|
||||
for (int i = 0; i < shortcutArray.length; i++) {
|
||||
String packageName= shortcutArray[i];
|
||||
if(PakageInstallUtil.checkAppInstall(mContext,packageName)) {
|
||||
ShortAppBean appBean = new ShortAppBean();
|
||||
appBean.setPackageName(packageName);
|
||||
appBean.setIndex(i);
|
||||
appBean.setItemType(1);
|
||||
appBeanList.add(appBean);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if(appBeanList.size()>0){
|
||||
DaoManager.getInstance().insert(ShortAppBean.class, appBeanList);
|
||||
SharedPreferencesUtil.setSharePrefrencesInteger(mContext, SharedPreferencesUtil.CONFIG_INIOR, 1);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void initApplications() {
|
||||
PackageManager manager = mContext.getPackageManager();
|
||||
|
||||
Map<String,AppBean> appBeanMaps = new HashMap<>();
|
||||
queryLauncherApp(manager,appBeanMaps);
|
||||
queryLeanbackLauncherApp(manager,appBeanMaps);
|
||||
List<AppBean> appBeanList = new ArrayList<>();
|
||||
|
||||
Iterator<String> it =appBeanMaps.keySet().iterator();
|
||||
while (it.hasNext()){
|
||||
String key = it.next();
|
||||
AppBean appBean =appBeanMaps.get(key);
|
||||
appBeanList.add(appBean);
|
||||
}
|
||||
LogUtils.loge("get appBeanList===>"+appBeanList.size());
|
||||
if(appBeanList.size()>0) {
|
||||
DaoManager.getInstance().insert(AppBean.class, appBeanList);
|
||||
}else {
|
||||
LogUtils.loge("没有要更新的数据");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void queryLauncherApp( PackageManager manager ,Map<String,AppBean> appBeanMap){
|
||||
if(appBeanMap==null){
|
||||
return;
|
||||
}
|
||||
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
|
||||
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
|
||||
final List<ResolveInfo> apps = manager.queryIntentActivities(mainIntent, 0);
|
||||
Collections.sort(apps, new ResolveInfo.DisplayNameComparator(manager));
|
||||
for (int i=0;i<apps.size();i++){
|
||||
String packageName= apps.get(i).activityInfo.packageName;
|
||||
if("com.android.documentsui".equals(packageName)
|
||||
||"eu.chainfire.supersu".equals(packageName)
|
||||
||"org.chromium.webview_shell".equals(packageName)
|
||||
||"com.android.inputmethod.latin".equals(packageName)
|
||||
||"com.android.traceur".equals(packageName)){
|
||||
continue;
|
||||
}
|
||||
AppBean appBean = new AppBean();
|
||||
appBean.setAppName(apps.get(i).loadLabel(manager).toString());
|
||||
appBean.setPackageName(packageName);
|
||||
appBean.setItemType(1);
|
||||
// List<AppBean> tmpList = DaoManager.getInstance().queryByKeyList(AppBean.class,"packageName",appBean.getPackageName());
|
||||
// if(tmpList==null||tmpList.size()==0){
|
||||
appBeanMap.put(packageName,appBean);
|
||||
// }
|
||||
LogUtils.loge("======package======"+appBean.getPackageName());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void queryLeanbackLauncherApp( PackageManager manager ,Map<String,AppBean> appBeanMap){
|
||||
if(appBeanMap==null){
|
||||
return;
|
||||
}
|
||||
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
|
||||
mainIntent.addCategory(Intent.CATEGORY_LEANBACK_LAUNCHER);
|
||||
final List<ResolveInfo> apps = manager.queryIntentActivities(mainIntent, 0);
|
||||
Collections.sort(apps, new ResolveInfo.DisplayNameComparator(manager));
|
||||
for (int i=0;i<apps.size();i++){
|
||||
String packageName= apps.get(i).activityInfo.packageName;
|
||||
if("com.android.documentsui".equals(packageName)
|
||||
||"eu.chainfire.supersu".equals(packageName)
|
||||
||"org.chromium.webview_shell".equals(packageName)
|
||||
||"com.android.inputmethod.latin".equals(packageName)
|
||||
||"com.android.traceur".equals(packageName)){
|
||||
continue;
|
||||
}
|
||||
AppBean appBean = new AppBean();
|
||||
appBean.setAppName(apps.get(i).loadLabel(manager).toString());
|
||||
appBean.setPackageName(packageName);
|
||||
appBean.setItemType(1);
|
||||
// List<AppBean> tmpList = DaoManager.getInstance().queryByKeyList(AppBean.class,"packageName",appBean.getPackageName());
|
||||
// if(tmpList==null||tmpList.size()==0){
|
||||
appBeanMap.put(packageName,appBean);
|
||||
// }
|
||||
LogUtils.loge("======package======"+appBean.getPackageName());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void addAppInfo(String packageName){
|
||||
|
||||
try {
|
||||
PackageManager manager = mContext.getPackageManager();
|
||||
ApplicationInfo applicationInfo =manager.getApplicationInfo(packageName,0);
|
||||
|
||||
AppBean appBean = new AppBean();
|
||||
appBean.setAppName(applicationInfo.name);
|
||||
appBean.setPackageName(applicationInfo.packageName);
|
||||
appBean.setItemType(1);
|
||||
DaoManager.getInstance().insert(AppBean.class, appBean);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void removeAppInfo(String packageName){
|
||||
|
||||
try {
|
||||
List<AppBean> appBeanList =DaoManager.getInstance().queryByKeyList(AppBean.class,"packageName",packageName);
|
||||
if(appBeanList!=null&&appBeanList.size()>0){
|
||||
DaoManager.getInstance().deleteByList(AppBean.class,appBeanList);
|
||||
}
|
||||
|
||||
|
||||
List<VideoAppBean> videoAppBeanList =DaoManager.getInstance().queryByKeyList(VideoAppBean.class,"packageName",packageName);
|
||||
if(videoAppBeanList!=null&&videoAppBeanList.size()>0){
|
||||
DaoManager.getInstance().deleteByList(VideoAppBean.class,videoAppBeanList);
|
||||
}
|
||||
|
||||
|
||||
List<RecommendAppBean> recommendAppBeanBeanList =DaoManager.getInstance().queryByKeyList(RecommendAppBean.class,"packageName",packageName);
|
||||
if(recommendAppBeanBeanList!=null&&recommendAppBeanBeanList.size()>0){
|
||||
DaoManager.getInstance().deleteByList(RecommendAppBean.class,recommendAppBeanBeanList);
|
||||
}
|
||||
|
||||
|
||||
List<MusicAppBean> musicAppBeanList =DaoManager.getInstance().queryByKeyList(MusicAppBean.class,"packageName",packageName);
|
||||
if(musicAppBeanList!=null&&musicAppBeanList.size()>0){
|
||||
DaoManager.getInstance().deleteByList(MusicAppBean.class,musicAppBeanList);
|
||||
}
|
||||
|
||||
List<LocalAppBean> localAppBeanList =DaoManager.getInstance().queryByKeyList(LocalAppBean.class,"packageName",packageName);
|
||||
if(localAppBeanList!=null&&localAppBeanList.size()>0){
|
||||
DaoManager.getInstance().deleteByList(LocalAppBean.class,localAppBeanList);
|
||||
}
|
||||
|
||||
List<ShortAppBean> shortAppBeanList =DaoManager.getInstance().queryByKeyList(ShortAppBean.class,"packageName",packageName);
|
||||
if(shortAppBeanList!=null&&shortAppBeanList.size()>0){
|
||||
DaoManager.getInstance().deleteByList(ShortAppBean.class,shortAppBeanList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static String getAssertData(Context context,String filepath){
|
||||
File file = new File(filepath);
|
||||
if(!file.exists()){
|
||||
return null;
|
||||
}
|
||||
String resultString ="";
|
||||
try {
|
||||
InputStream is = new FileInputStream(file);
|
||||
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(is));
|
||||
String jsonString ="";
|
||||
while ((jsonString=bufferedReader.readLine())!=null) {
|
||||
|
||||
resultString+=jsonString;
|
||||
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return resultString;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public FavNaviBean getFavNaviBean(int index){
|
||||
|
||||
AdsInfoBean adsInfoBean = ADManager.getInstance().getADInfoById(index,ADManager.ADTYPE_IMAGE);
|
||||
|
||||
LogUtils.loge("adsInfoBean===>"+GsonUtil.GsonString(adsInfoBean));
|
||||
FavNaviBean favNaviBean =null;
|
||||
if(adsInfoBean!=null&&adsInfoBean.getState()==1){ //先加载网络图片
|
||||
if (PakageInstallUtil.checkAppInstall(mContext, adsInfoBean.getInfo())) {
|
||||
if (adsInfoBean.getLocalFilePath() != null) {
|
||||
File file = new File(adsInfoBean.getLocalFilePath());
|
||||
if (file.exists()) {
|
||||
favNaviBean = new FavNaviBean(index, adsInfoBean.getLocalFilePath(), adsInfoBean.getInfo(), null);
|
||||
}else {
|
||||
LogUtils.loge(file.getPath()+" is not exit");
|
||||
}
|
||||
}
|
||||
}else {
|
||||
LogUtils.loge(adsInfoBean.getInfo()+" is not exit");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(favNaviBean==null){ //再加载本地图片
|
||||
|
||||
FavNaviBean favNaviBeantmp=favRecommendCacheData.get(index);
|
||||
if (favNaviBeantmp!=null&&PakageInstallUtil.checkAppInstall(mContext, favNaviBeantmp.getRelatedApp())){
|
||||
if(favNaviBeantmp.getImgPath()!=null) {
|
||||
File file = new File(favNaviBeantmp.getImgPath());
|
||||
if (file.exists()) {
|
||||
favNaviBean = favNaviBeantmp;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(favNaviBean==null){ //最后给默认图片
|
||||
favNaviBean = new FavNaviBean(index,null,null,null);
|
||||
}
|
||||
|
||||
LogUtils.loge("favNaviBean===>"+ GsonUtil.GsonString(favNaviBean));
|
||||
return favNaviBean;
|
||||
}
|
||||
|
||||
|
||||
public FavNaviBean getFavNaviBeanByLocal(int index){
|
||||
FavNaviBean favNaviBean =null;
|
||||
|
||||
if(favNaviBean==null){ //再加载本地图片
|
||||
favNaviBean =favRecommendCacheData.get(index);
|
||||
}
|
||||
|
||||
if(favNaviBean==null){ //最后给默认图片
|
||||
favNaviBean = new FavNaviBean(index,null,null,null);
|
||||
}
|
||||
LogUtils.loge("favNaviBean===>"+ GsonUtil.GsonString(favNaviBean));
|
||||
return favNaviBean;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user