version:
fix:优化请求次数 update:
This commit is contained in:
@@ -589,7 +589,6 @@ public class ApkUtils {
|
||||
Log.e("UninstallAPP", "onComplete: ");
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,149 +0,0 @@
|
||||
package com.aoleyun.sn.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
import android.content.pm.ResolveInfo;
|
||||
|
||||
import com.aoleyun.sn.bean.AppUpdateInfo;
|
||||
import com.aoleyun.sn.bean.LocalAppInfo;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AppsManagerUtils {
|
||||
|
||||
public static AppUpdateInfo getUpAppsByPackageName(Context context, String packageName) {
|
||||
PackageManager pm = context.getPackageManager();
|
||||
AppUpdateInfo appInfo = new AppUpdateInfo();
|
||||
try {
|
||||
PackageInfo packinfo = pm.getPackageInfo(packageName, 0);
|
||||
appInfo.setPackageName(packageName);
|
||||
appInfo.setVersion(packinfo.versionName);
|
||||
if (packinfo.versionName == null || packinfo.versionName.equals("")) {
|
||||
appInfo.setVersion(packinfo.versionCode + "");
|
||||
}
|
||||
} catch (NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return appInfo;
|
||||
}
|
||||
|
||||
public static LocalAppInfo getAppsByPackageName(Context context, String packageName) {
|
||||
PackageManager pm = context.getPackageManager();
|
||||
List<LocalAppInfo> appInfos = new ArrayList<LocalAppInfo>();
|
||||
Intent intent = new Intent(Intent.ACTION_MAIN, null);
|
||||
intent.addCategory(Intent.CATEGORY_LAUNCHER);
|
||||
// 通过查询,获得所有ResolveInfo对象.
|
||||
List<ResolveInfo> infos = pm.queryIntentActivities(intent, 0);
|
||||
for (ResolveInfo info : infos) {
|
||||
// 不列出系统应用
|
||||
String pkg = info.activityInfo.packageName;
|
||||
if (pkg.equals(packageName)) {
|
||||
extractedAppInfo(pm, appInfos, info);
|
||||
}
|
||||
|
||||
}
|
||||
return appInfos.size() == 0 ? null : appInfos.get(0);
|
||||
}
|
||||
|
||||
public static List<AppUpdateInfo> getUpadteApps(Context context) {
|
||||
PackageManager pm = context.getPackageManager();
|
||||
List<AppUpdateInfo> appInfos = new ArrayList<AppUpdateInfo>();
|
||||
Intent intent = new Intent(Intent.ACTION_MAIN, null);
|
||||
|
||||
intent.addCategory(Intent.CATEGORY_LAUNCHER);
|
||||
// 通过查询,获得所有ResolveInfo对象.
|
||||
List<ResolveInfo> infos = pm.queryIntentActivities(intent, 0);
|
||||
for (ResolveInfo info : infos) {
|
||||
// 不列出系统应用
|
||||
String pkg = info.activityInfo.packageName;
|
||||
if (!isSystemApp(context, pkg)) {
|
||||
PackageInfo packageInfo = null;
|
||||
AppUpdateInfo appInfo = new AppUpdateInfo();
|
||||
appInfo.setPackageName(info.activityInfo.packageName);
|
||||
try {
|
||||
packageInfo = pm.getPackageInfo(info.activityInfo.packageName, 0);
|
||||
appInfo.setVersion(packageInfo.versionName);
|
||||
if (packageInfo.versionName == null || packageInfo.versionName.equals("")) {
|
||||
appInfo.setVersion(packageInfo.versionCode + "");
|
||||
}
|
||||
} catch (NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
appInfos.add(appInfo);
|
||||
}
|
||||
|
||||
}
|
||||
return appInfos;
|
||||
}
|
||||
|
||||
public static List<LocalAppInfo> getUserApps(Context context) {
|
||||
PackageManager pm = context.getPackageManager();
|
||||
List<LocalAppInfo> appInfos = new ArrayList<LocalAppInfo>();
|
||||
Intent intent = new Intent(Intent.ACTION_MAIN, null);
|
||||
intent.addCategory(Intent.CATEGORY_LAUNCHER);
|
||||
// 通过查询,获得所有ResolveInfo对象.
|
||||
List<ResolveInfo> infos = pm.queryIntentActivities(intent, 0);
|
||||
for (ResolveInfo info : infos) {
|
||||
// 不列出系统应用
|
||||
String pkg = info.activityInfo.packageName;
|
||||
if (!isSystemApp(context, pkg)) {
|
||||
extractedAppInfo(pm, appInfos, info);
|
||||
}
|
||||
|
||||
}
|
||||
return appInfos;
|
||||
}
|
||||
|
||||
|
||||
private static void extractedAppInfo(PackageManager pm,
|
||||
List<LocalAppInfo> appInfos, ResolveInfo info) {
|
||||
PackageInfo packageInfo = null;
|
||||
LocalAppInfo appInfo = new LocalAppInfo();
|
||||
appInfo.setIcon(info.activityInfo.loadIcon(pm));
|
||||
appInfo.setAppName(info.activityInfo.loadLabel(pm).toString());
|
||||
appInfo.setPackageName(info.activityInfo.packageName);
|
||||
|
||||
try {
|
||||
packageInfo = pm.getPackageInfo(info.activityInfo.packageName, 0);
|
||||
appInfo.setVersion(packageInfo.versionName);
|
||||
if (packageInfo.versionName == null || packageInfo.versionName.equals("")) {
|
||||
appInfo.setVersion(packageInfo.versionCode + "");
|
||||
}
|
||||
String appInstallDir = info.activityInfo.applicationInfo.publicSourceDir;
|
||||
int size = Integer.valueOf((int) new File(appInstallDir).length());
|
||||
appInfo.setSize(size);
|
||||
} catch (NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
appInfos.add(appInfo);
|
||||
}
|
||||
|
||||
|
||||
public static boolean isSystemApp(Context context, String pkg) {
|
||||
try {
|
||||
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(pkg, 0);
|
||||
int mask = ApplicationInfo.FLAG_SYSTEM | ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
|
||||
if ((packageInfo.applicationInfo.flags & mask) == 0) {
|
||||
if (pkg.equals(context.getPackageName())) {
|
||||
return true;
|
||||
} else {
|
||||
//第三方应用
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
//系统应用
|
||||
return true;
|
||||
}
|
||||
} catch (NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -132,5 +132,7 @@ public class CacheUtils {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
30
app/src/main/java/com/aoleyun/sn/utils/GsonUtils.java
Normal file
30
app/src/main/java/com/aoleyun/sn/utils/GsonUtils.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package com.aoleyun.sn.utils;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
import static com.google.gson.JsonParser.parseString;
|
||||
|
||||
public class GsonUtils {
|
||||
public static JsonObject getJsonObject(String jsonString) {
|
||||
JsonObject jsonObject = parseString(new Gson().toJson(jsonString)).getAsJsonObject();
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
// TODO: 2022/3/31 暂时没有实现
|
||||
public static <E> E getJsonFromType(String jsonString) {
|
||||
Gson gson = new Gson();
|
||||
Type Type = new TypeToken<E>() {
|
||||
}.getType();
|
||||
E e = gson.fromJson(jsonString, Type);
|
||||
return e;
|
||||
}
|
||||
|
||||
public static String toJsonString(Object o) {
|
||||
return new Gson().toJson(o);
|
||||
}
|
||||
}
|
||||
@@ -1058,7 +1058,7 @@ public class JGYUtils {
|
||||
if (packageInfo == null || packageInfo.versionCode < versionCode) {
|
||||
Utils.ariaDownload(mContext, url, object);
|
||||
} else {
|
||||
Log.e("installAPK", "已是最新版本");
|
||||
Log.e("installAPK", app_name + ": 已是最新版本");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1584,17 +1584,17 @@ public class JGYUtils {
|
||||
}
|
||||
|
||||
public interface GetAppPlatformCallback {
|
||||
void AppPlatform(int platform);
|
||||
void getAppPlatform(int platform);
|
||||
}
|
||||
|
||||
public void getAppPlatform(GetAppPlatformCallback getAppPlatformCallback) {
|
||||
String platform = BuildConfig.platform;
|
||||
if ("MTK".equalsIgnoreCase(platform)) {
|
||||
getAppPlatformCallback.AppPlatform(MTKPlatform);
|
||||
getAppPlatformCallback.getAppPlatform(MTKPlatform);
|
||||
} else if ("ZhanRui".equalsIgnoreCase(platform)) {
|
||||
getAppPlatformCallback.AppPlatform(ZhanruiPlatform);
|
||||
getAppPlatformCallback.getAppPlatform(ZhanruiPlatform);
|
||||
} else {
|
||||
getAppPlatformCallback.AppPlatform(UnknowPlatform);
|
||||
getAppPlatformCallback.getAppPlatform(UnknowPlatform);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1960,4 +1960,41 @@ public class JGYUtils {
|
||||
bootIntent.setComponent(new ComponentName(PACKAGE_APPSTORE, CLASS_APPSTORE));
|
||||
mContext.sendBroadcast(bootIntent);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断网络连接状态
|
||||
*
|
||||
* @return true:网络已链接, false:网络已断开连接
|
||||
*/
|
||||
public boolean isNetworkConnected() {
|
||||
if (mContext != null) {
|
||||
ConnectivityManager mConnectivityManager = (ConnectivityManager) mContext
|
||||
.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
NetworkInfo mNetworkInfo = mConnectivityManager
|
||||
.getActiveNetworkInfo();
|
||||
if (mNetworkInfo != null) {
|
||||
return mNetworkInfo.isAvailable();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void cleanLauncher3Cache() {
|
||||
try {
|
||||
new CacheUtils().cleanApplicationUserData(mContext, "com.android.launcher3");
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "onReceive: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void cleanAoleLauncher3Cache() {
|
||||
try {
|
||||
new CacheUtils().cleanApplicationUserData(mContext, "com.aoleyun.os");
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "onReceive: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,6 +54,7 @@ import com.aoleyun.sn.R;
|
||||
import com.aoleyun.sn.base.BaseApplication;
|
||||
import com.aoleyun.sn.comm.CommonConfig;
|
||||
import com.aoleyun.sn.network.HTTPInterface;
|
||||
import com.aoleyun.sn.network.NetInterfaceManager;
|
||||
import com.arialyy.aria.core.Aria;
|
||||
import com.blankj.utilcode.util.FileUtils;
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
@@ -424,8 +425,8 @@ public class Utils {
|
||||
|
||||
// 卸载app
|
||||
public static void unInstallAPP(Context context, String packageName) {
|
||||
if (!TextUtils.isEmpty(packageName) && !AppsManagerUtils.isSystemApp(context, packageName)) {
|
||||
if (AppsManagerUtils.isSystemApp(context, packageName)) {
|
||||
if (!TextUtils.isEmpty(packageName) && !ApkUtils.isSystemApp(context, packageName)) {
|
||||
if (ApkUtils.isSystemApp(context, packageName)) {
|
||||
Toast.makeText(BaseApplication.getAppContext(), R.string.system_unistall_error, Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
Uri packageURI = Uri.parse("package:" + packageName);
|
||||
@@ -1546,7 +1547,7 @@ public class Utils {
|
||||
* @param context
|
||||
*/
|
||||
public static void getPublicIP(Context context) {
|
||||
HTTPInterface.getPublicIP(context, new HTTPInterface.PublicIP() {
|
||||
NetInterfaceManager.getPublicIP(context, new NetInterfaceManager.PublicIP() {
|
||||
@Override
|
||||
public void set(String ip) {
|
||||
SPUtils.put(context, "PublicIP", ip);
|
||||
|
||||
Reference in New Issue
Block a user