style: 修改更新界面描述

This commit is contained in:
2026-07-13 16:19:59 +08:00
parent e127939dda
commit 132000b4e1
8 changed files with 243 additions and 243 deletions

View File

@@ -18,8 +18,8 @@ android {
defaultConfig {
applicationId "com.aoleyun.sn"
versionCode 228
versionName "1.6.0629-2"
versionCode 229
versionName "1.6.0711"
//There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature.
minSdkVersion 24
@@ -776,6 +776,7 @@ dependencies {
//Google
implementation 'com.google.code.gson:gson:2.9.0'
implementation 'com.google.zxing:core:3.5.0'
// implementation 'com.google.mlkit:face-detection:16.1.7'
//图片加载框架
implementation 'com.github.bumptech.glide:glide:4.13.2'
annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2'

View File

@@ -214,7 +214,7 @@
android:name=".activity.update.UpdateActivity"
android:exported="true"
android:icon="@drawable/com_aoleyun_update"
android:label="检查更新"
android:label="策略更新"
android:launchMode="singleInstance">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

View File

@@ -6,10 +6,7 @@ import android.graphics.drawable.Drawable;
import android.os.Environment;
import android.util.Log;
import com.aoleyun.sn.comm.CommonConfig;
import com.jakewharton.disklrucache.DiskLruCache;
import com.tencent.mmkv.BuildConfig;
import com.tencent.mmkv.MMKV;
import org.json.JSONArray;
import org.json.JSONException;
@@ -20,29 +17,28 @@ import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Serializable;
import java.nio.charset.StandardCharsets;
/**
* 磁盘缓存帮助类
* https://www.cnblogs.com/aademeng/articles/6817058.html
*/
public class CacheHelper {
private static final String TAG = "CacheHelper";
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
private static final String TAG = "DiskLruCacheHelper";
private static final String DIR_NAME = "diskCache";
private static final int MAX_COUNT = 1024 * 1024 * 1024;
private static final int DEFAULT_APP_VERSION = 1;
private DiskLruCache mDiskLruCache;
private Context mContext;
public CacheHelper(Context context) {
this.mContext = context;
mDiskLruCache = generateCache(context, DIR_NAME, MAX_COUNT);
}
@@ -75,9 +71,8 @@ public class CacheHelper {
int appVersion = context == null ? DEFAULT_APP_VERSION : Utils.getAppVersion(context);
DiskLruCache diskLruCache = null;
try {
diskLruCache = DiskLruCache.open(
return DiskLruCache.open(
dir,
appVersion,
DEFAULT_APP_VERSION,
@@ -85,13 +80,12 @@ public class CacheHelper {
} catch (IOException e) {
e.printStackTrace();
}
return diskLruCache;
return null;
}
private DiskLruCache generateCache(Context context, String dirName, int maxCount) {
DiskLruCache diskLruCache = null;
try {
diskLruCache = DiskLruCache.open(
return DiskLruCache.open(
getDiskCacheDir(context, dirName),
Utils.getAppVersion(context),
DEFAULT_APP_VERSION,
@@ -99,7 +93,7 @@ public class CacheHelper {
} catch (IOException e) {
e.printStackTrace();
}
return diskLruCache;
return null;
}
// =======================================
@@ -107,9 +101,7 @@ public class CacheHelper {
// =======================================
public void put(String key, String value) {
Log.e(TAG, "put: " + key);
mMMKV.encode(key + "_time", System.currentTimeMillis());
mMMKV.encode(key + "_mmkv", value);
Log.e(TAG, "put: key = " + key + " value = " + value);
DiskLruCache.Editor edit = null;
BufferedWriter bw = null;
@@ -119,15 +111,16 @@ public class CacheHelper {
return;
}
OutputStream os = edit.newOutputStream(0);
bw = new BufferedWriter(new OutputStreamWriter(os));
bw = new BufferedWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8));
bw.write(value);
edit.commit();//write CLEAN
} catch (IOException e) {
e.printStackTrace();
Log.e(TAG, "put: " + e.getMessage());
try {
//s
edit.abort();//write REMOVE
if (edit != null) {
edit.abort();//write REMOVE
}
} catch (IOException e1) {
e1.printStackTrace();
Log.e(TAG, "put: " + e1.getMessage());
@@ -148,30 +141,27 @@ public class CacheHelper {
Log.e(TAG, "getAsString: " + key);
InputStream inputStream = null;
try {
//write READ
inputStream = get(key);
if (inputStream == null) {
return mMMKV.decodeString(key + "_mmkv", null);
return null;
}
StringBuilder sb = new StringBuilder();
int len = 0;
byte[] buf = new byte[128];
while ((len = inputStream.read(buf)) != -1) {
sb.append(new String(buf, 0, len));
}
if (BuildConfig.DEBUG) {
Log.e(TAG, "getAsString: " + sb.toString());
InputStreamReader isr = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
char[] buf = new char[1024];
int len;
while ((len = isr.read(buf)) != -1) {
sb.append(buf, 0, len);
}
return sb.toString();
} catch (IOException e) {
e.printStackTrace();
Log.e(TAG, "getAsString: " + e.getMessage());
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e1) {
e1.printStackTrace();
Log.e(TAG, "getAsString: " + e1.getMessage());
} catch (IOException e) {
e.printStackTrace();
}
}
}
@@ -205,9 +195,9 @@ public class CacheHelper {
public JSONArray getAsJSONArray(String key) {
String JSONString = getAsString(key);
if (JSONString == null) return null;
try {
JSONArray obj = new JSONArray(JSONString);
return obj;
return new JSONArray(JSONString);
} catch (Exception e) {
e.printStackTrace();
return null;
@@ -239,7 +229,9 @@ public class CacheHelper {
} catch (Exception e) {
e.printStackTrace();
try {
editor.abort();//write REMOVE
if (editor != null) {
editor.abort();//write REMOVE
}
} catch (IOException e1) {
e1.printStackTrace();
}
@@ -262,8 +254,8 @@ public class CacheHelper {
if (is == null) {
return null;
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buf = new byte[256];
int len = 0;
while ((len = is.read(buf)) != -1) {
@@ -272,6 +264,12 @@ public class CacheHelper {
res = baos.toByteArray();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return res;
}
@@ -295,7 +293,9 @@ public class CacheHelper {
} catch (IOException e) {
e.printStackTrace();
try {
editor.abort();
if (editor != null) {
editor.abort();
}
} catch (IOException e1) {
e1.printStackTrace();
}
@@ -371,8 +371,8 @@ public class CacheHelper {
// =======================================
public boolean remove(String key) {
try {
key = Utils.hashKeyForDisk(key);
return mDiskLruCache.remove(key);
String hashKey = Utils.hashKeyForDisk(key);
return mDiskLruCache.remove(hashKey);
} catch (IOException e) {
e.printStackTrace();
}
@@ -385,7 +385,6 @@ public class CacheHelper {
public void delete() throws IOException {
mDiskLruCache.delete();
mMMKV.clearAll();
}
public void flush() throws IOException {
@@ -419,12 +418,12 @@ public class CacheHelper {
//basic editor
public DiskLruCache.Editor editor(String key) {
try {
key = Utils.hashKeyForDisk(key);
String hashKey = Utils.hashKeyForDisk(key);
//wirte DIRTY
DiskLruCache.Editor edit = mDiskLruCache.edit(key);
DiskLruCache.Editor edit = mDiskLruCache.edit(hashKey);
//edit maybe null :the entry is editing
if (edit == null) {
Log.w(TAG, "the entry spcified key:" + key + " is editing by other . ");
Log.w(TAG, "the entry spcified key:" + hashKey + " is editing by other . ");
}
return edit;
} catch (IOException e) {
@@ -461,19 +460,17 @@ public class CacheHelper {
// =======================================
private File getDiskCacheDir(Context context, String uniqueName) {
String cachePath;
File cacheDir;
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
|| !Environment.isExternalStorageRemovable()) {
if (context.getExternalCacheDir() != null) {
cachePath = context.getExternalCacheDir().getPath();
} else if (context.getExternalFilesDir("cache") != null) {
cachePath = context.getExternalFilesDir("cache").getPath();
} else {
cachePath = context.getCacheDir().getPath();
cacheDir = context.getExternalCacheDir();
if (cacheDir == null) {
cacheDir = context.getCacheDir();
}
} else {
cachePath = context.getCacheDir().getPath();
cacheDir = context.getCacheDir();
}
return new File(cachePath + File.separator + uniqueName);
return new File(cacheDir, uniqueName);
}
}

View File

@@ -407,19 +407,19 @@ public class NetInterfaceManager {
public static <T> Observable<T> withCache(Observable<T> networkObservable, String cacheKey, long expireTimeMillis) {
return Observable.defer(() -> {
// Log.e(TAG, "withCache: cacheKey = " + cacheKey);
// 1. 读取缓存
T cacheData = CACHE_MANAGER.getCache(cacheKey);
if (cacheData != null) {
Log.e(TAG, "withCache: getCache " + cacheKey);
return Observable.just(cacheData);
}
// 1. 读取缓存
T cacheData = CACHE_MANAGER.getCache(cacheKey);
if (cacheData != null) {
Log.e(TAG, "withCache: getCache " + cacheKey);
return Observable.just(cacheData);
}
Log.e(TAG, "withCache: request " + cacheKey);
// 2. 无缓存则发起网络请求,成功后缓存
return networkObservable
.subscribeOn(Schedulers.io())
.doOnNext(data -> CACHE_MANAGER.saveCache(cacheKey, data, expireTimeMillis));
})
Log.e(TAG, "withCache: request " + cacheKey);
// 2. 无缓存则发起网络请求,成功后缓存
return networkObservable
.subscribeOn(Schedulers.io())
.doOnNext(data -> CACHE_MANAGER.saveCache(cacheKey, data, expireTimeMillis));
})
.subscribeOn(Schedulers.io()) // 缓存IO切到子线程
.observeOn(AndroidSchedulers.mainThread());
}
@@ -644,13 +644,13 @@ public class NetInterfaceManager {
public Observable<BaseResponse<Batch>> getSnTagObservable() {
return withCache(schedule(getDevicesStatusApi().getSnTag(Utils.getSerial(mContext))),
UrlAddress.GET_DEVICES_TAGS,
10 * CACHE_EXPIRE_ONE_MINUTE);
CACHE_EXPIRE_ONE_MINUTE);
}
public Observable<BaseResponse<PushTag>> getPushTagObservable() {
return withCache(schedule(getDevicesStatusApi().getPushTag(Utils.getSerial(mContext), 1)),
UrlAddress.GET_PUSH_TAG,
10 * CACHE_EXPIRE_ONE_MINUTE);
CACHE_EXPIRE_ONE_MINUTE);
}
public Observable<BaseResponse<ScreenLockState>> getScreenLockObservable() {
@@ -881,36 +881,36 @@ public class NetInterfaceManager {
Observable<BaseResponse<AppUpdateInfo>> ailogUpdateObservable = getUpdateObservable(PackageNames.AILOG);
Observable.zip(infoUpdateObservable, storeUpdateObservable, desktopUpdateObservable,
notifyUpdateObservable, browserUpdateObservable, ailogUpdateObservable,
new Function6<BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>,
BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>,
List<AppUpdateInfo>>() {
@Override
public List<AppUpdateInfo> apply
(BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse2, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse3,
BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse4, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse5, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse6) throws Throwable {
List<AppUpdateInfo> appUpdateInfos = new ArrayList<>();
if (appUpdateInfoBaseResponse.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse.data);
}
if (appUpdateInfoBaseResponse2.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse2.data);
}
if (appUpdateInfoBaseResponse3.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse3.data);
}
if (appUpdateInfoBaseResponse4.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse4.data);
}
if (appUpdateInfoBaseResponse5.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse5.data);
}
if (appUpdateInfoBaseResponse6.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse6.data);
}
return appUpdateInfos;
}
})
notifyUpdateObservable, browserUpdateObservable, ailogUpdateObservable,
new Function6<BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>,
BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>,
List<AppUpdateInfo>>() {
@Override
public List<AppUpdateInfo> apply
(BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse2, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse3,
BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse4, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse5, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse6) throws Throwable {
List<AppUpdateInfo> appUpdateInfos = new ArrayList<>();
if (appUpdateInfoBaseResponse.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse.data);
}
if (appUpdateInfoBaseResponse2.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse2.data);
}
if (appUpdateInfoBaseResponse3.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse3.data);
}
if (appUpdateInfoBaseResponse4.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse4.data);
}
if (appUpdateInfoBaseResponse5.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse5.data);
}
if (appUpdateInfoBaseResponse6.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse6.data);
}
return appUpdateInfos;
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
@@ -1031,40 +1031,40 @@ public class NetInterfaceManager {
Observable<BaseResponse<AppUpdateInfo>> learningDesktopObservable = getUpdateObservable(desktop, useCache);
Observable.zip(infoUpdateObservable, storeUpdateObservable, desktopUpdateObservable,
notifyUpdateObservable, browserUpdateObservable, learningDesktopObservable, ailogUpdateObservable,
new Function7<BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>,
BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>, List<AppUpdateInfo>>() {
@Override
public List<AppUpdateInfo> apply
(BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse2, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse3,
BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse4, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse5, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse6,
BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse7
) throws Throwable {
List<AppUpdateInfo> appUpdateInfos = new ArrayList<>();
if (appUpdateInfoBaseResponse.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse.data);
}
if (appUpdateInfoBaseResponse2.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse2.data);
}
if (appUpdateInfoBaseResponse3.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse3.data);
}
if (appUpdateInfoBaseResponse4.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse4.data);
}
if (appUpdateInfoBaseResponse5.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse5.data);
}
if (appUpdateInfoBaseResponse6.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse6.data);
}
if (appUpdateInfoBaseResponse7.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse7.data);
}
return appUpdateInfos;
}
})
notifyUpdateObservable, browserUpdateObservable, learningDesktopObservable, ailogUpdateObservable,
new Function7<BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>,
BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>, BaseResponse<AppUpdateInfo>, List<AppUpdateInfo>>() {
@Override
public List<AppUpdateInfo> apply
(BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse2, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse3,
BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse4, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse5, BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse6,
BaseResponse<AppUpdateInfo> appUpdateInfoBaseResponse7
) throws Throwable {
List<AppUpdateInfo> appUpdateInfos = new ArrayList<>();
if (appUpdateInfoBaseResponse.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse.data);
}
if (appUpdateInfoBaseResponse2.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse2.data);
}
if (appUpdateInfoBaseResponse3.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse3.data);
}
if (appUpdateInfoBaseResponse4.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse4.data);
}
if (appUpdateInfoBaseResponse5.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse5.data);
}
if (appUpdateInfoBaseResponse6.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse6.data);
}
if (appUpdateInfoBaseResponse7.isSuccess()) {
appUpdateInfos.add(appUpdateInfoBaseResponse7.data);
}
return appUpdateInfos;
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
@@ -1186,53 +1186,53 @@ public class NetInterfaceManager {
public void getDefaultDesktop(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
Observable.zip(getDesktopObservable(), getDesktopsDiyUpdate(), new BiFunction<BaseResponse<ForceDownloadData>, BaseResponse<ForceDownloadData>, List<ForceDownloadData>>() {
@Override
public List<ForceDownloadData> apply(BaseResponse<ForceDownloadData> forceDownloadDataBaseResponse, BaseResponse<ForceDownloadData> forceDownloadDataBaseResponse2) throws Throwable {
List<ForceDownloadData> forceDownloadDataList = new ArrayList<>();
if (forceDownloadDataBaseResponse.isSuccess()) {
forceDownloadDataList.add(forceDownloadDataBaseResponse.data);
}
if (forceDownloadDataBaseResponse2.isSuccess()) {
forceDownloadDataList.add(forceDownloadDataBaseResponse2.data);
}
return forceDownloadDataList;
}
})
@Override
public List<ForceDownloadData> apply(BaseResponse<ForceDownloadData> forceDownloadDataBaseResponse, BaseResponse<ForceDownloadData> forceDownloadDataBaseResponse2) throws Throwable {
List<ForceDownloadData> forceDownloadDataList = new ArrayList<>();
if (forceDownloadDataBaseResponse.isSuccess()) {
forceDownloadDataList.add(forceDownloadDataBaseResponse.data);
}
if (forceDownloadDataBaseResponse2.isSuccess()) {
forceDownloadDataList.add(forceDownloadDataBaseResponse2.data);
}
return forceDownloadDataList;
}
})
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(getDefaultDesktopObserver(callback));
}
public void getDefaultDesktop(onCompleteCallback callback) {
Observable.zip(getDesktopObservable(), getDesktopsDiyUpdate(), new BiFunction<BaseResponse<ForceDownloadData>, BaseResponse<ForceDownloadData>, List<ForceDownloadData>>() {
@Override
public List<ForceDownloadData> apply(BaseResponse<ForceDownloadData> forceDownloadDataBaseResponse, BaseResponse<ForceDownloadData> forceDownloadDataBaseResponse2) throws Throwable {
List<ForceDownloadData> forceDownloadDataList = new ArrayList<>();
if (forceDownloadDataBaseResponse.isSuccess()) {
forceDownloadDataList.add(forceDownloadDataBaseResponse.data);
}
if (forceDownloadDataBaseResponse2.isSuccess()) {
forceDownloadDataList.add(forceDownloadDataBaseResponse2.data);
}
return forceDownloadDataList;
}
})
@Override
public List<ForceDownloadData> apply(BaseResponse<ForceDownloadData> forceDownloadDataBaseResponse, BaseResponse<ForceDownloadData> forceDownloadDataBaseResponse2) throws Throwable {
List<ForceDownloadData> forceDownloadDataList = new ArrayList<>();
if (forceDownloadDataBaseResponse.isSuccess()) {
forceDownloadDataList.add(forceDownloadDataBaseResponse.data);
}
if (forceDownloadDataBaseResponse2.isSuccess()) {
forceDownloadDataList.add(forceDownloadDataBaseResponse2.data);
}
return forceDownloadDataList;
}
})
.subscribe(getDefaultDesktopObserver(callback));
}
public void getDefaultDesktop() {
Observable.zip(getDesktopObservable(), getDesktopsDiyUpdate(), new BiFunction<BaseResponse<ForceDownloadData>, BaseResponse<ForceDownloadData>, List<ForceDownloadData>>() {
@Override
public List<ForceDownloadData> apply(BaseResponse<ForceDownloadData> forceDownloadDataBaseResponse, BaseResponse<ForceDownloadData> forceDownloadDataBaseResponse2) throws Throwable {
List<ForceDownloadData> forceDownloadDataList = new ArrayList<>();
if (forceDownloadDataBaseResponse.isSuccess()) {
forceDownloadDataList.add(forceDownloadDataBaseResponse.data);
}
if (forceDownloadDataBaseResponse2.isSuccess()) {
forceDownloadDataList.add(forceDownloadDataBaseResponse2.data);
}
return forceDownloadDataList;
}
})
@Override
public List<ForceDownloadData> apply(BaseResponse<ForceDownloadData> forceDownloadDataBaseResponse, BaseResponse<ForceDownloadData> forceDownloadDataBaseResponse2) throws Throwable {
List<ForceDownloadData> forceDownloadDataList = new ArrayList<>();
if (forceDownloadDataBaseResponse.isSuccess()) {
forceDownloadDataList.add(forceDownloadDataBaseResponse.data);
}
if (forceDownloadDataBaseResponse2.isSuccess()) {
forceDownloadDataList.add(forceDownloadDataBaseResponse2.data);
}
return forceDownloadDataList;
}
})
.subscribe(getDefaultDesktopObserver(null));
}
@@ -2555,18 +2555,18 @@ public class NetInterfaceManager {
public void getBookMarkBlackWhiteList(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
Observable.zip(getBrowserBookmarksObservable(), getBrowserListSettingObservable(), new BiFunction<BaseResponse<BrowserBookmarks>, BaseResponse<BrowserData>, String>() {
@Override
public String apply(BaseResponse<BrowserBookmarks> browserBookmarksBaseResponse, BaseResponse<BrowserData> browserDataBaseResponse) throws Throwable {
String homePage = "";
if (browserBookmarksBaseResponse.isSuccess()) {
homePage = browserBookmarksBaseResponse.data.getHomepage();
}
@Override
public String apply(BaseResponse<BrowserBookmarks> browserBookmarksBaseResponse, BaseResponse<BrowserData> browserDataBaseResponse) throws Throwable {
String homePage = "";
if (browserBookmarksBaseResponse.isSuccess()) {
homePage = browserBookmarksBaseResponse.data.getHomepage();
}
setBrowserBookmarks(browserBookmarksBaseResponse);
setBlackWhiteList(browserDataBaseResponse, homePage);
return homePage;
}
})
setBrowserBookmarks(browserBookmarksBaseResponse);
setBlackWhiteList(browserDataBaseResponse, homePage);
return homePage;
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
@@ -2599,18 +2599,18 @@ public class NetInterfaceManager {
public void getBookMarkBlackWhiteList() {
Observable.zip(getBrowserBookmarksObservable(), getBrowserListSettingObservable(), new BiFunction<BaseResponse<BrowserBookmarks>, BaseResponse<BrowserData>, String>() {
@Override
public String apply(BaseResponse<BrowserBookmarks> browserBookmarksBaseResponse, BaseResponse<BrowserData> browserDataBaseResponse) throws Throwable {
String homePage = "";
if (browserBookmarksBaseResponse.isSuccess()) {
homePage = browserBookmarksBaseResponse.data.getHomepage();
}
@Override
public String apply(BaseResponse<BrowserBookmarks> browserBookmarksBaseResponse, BaseResponse<BrowserData> browserDataBaseResponse) throws Throwable {
String homePage = "";
if (browserBookmarksBaseResponse.isSuccess()) {
homePage = browserBookmarksBaseResponse.data.getHomepage();
}
setBrowserBookmarks(browserBookmarksBaseResponse);
setBlackWhiteList(browserDataBaseResponse, homePage);
return homePage;
}
})
setBrowserBookmarks(browserBookmarksBaseResponse);
setBlackWhiteList(browserDataBaseResponse, homePage);
return homePage;
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<String>() {
@@ -3164,31 +3164,31 @@ public class NetInterfaceManager {
public void getAllInfoAndSetting(BehaviorSubject<ActivityEvent> lifecycle) {
Observable.zip(getAllAppControl(), getAppAutoStartUpdateAndNetObservable(), new BiFunction<BaseResponse<List<AppListInfo>>, BaseResponse<List<NetAndLaunchData>>, List<AppListInfo>>() {
@Override
public List<AppListInfo> apply(BaseResponse<List<AppListInfo>> appListInfoResponse, BaseResponse<List<NetAndLaunchData>> netAndLaunchDataResponse) throws Throwable {
Log.e("getAllInfoAndSetting", "apply: appListInfoResponse code = " + appListInfoResponse.code);
Log.e("getAllInfoAndSetting", "apply: netAndLaunchDataResponse code = " + netAndLaunchDataResponse.code);
@Override
public List<AppListInfo> apply(BaseResponse<List<AppListInfo>> appListInfoResponse, BaseResponse<List<NetAndLaunchData>> netAndLaunchDataResponse) throws Throwable {
Log.e("getAllInfoAndSetting", "apply: appListInfoResponse code = " + appListInfoResponse.code);
Log.e("getAllInfoAndSetting", "apply: netAndLaunchDataResponse code = " + netAndLaunchDataResponse.code);
if (appListInfoResponse.isSuccess() && netAndLaunchDataResponse.isSuccess()) {
List<AppListInfo> appListInfos = appListInfoResponse.data;
Set<String> pkgList = appListInfos.stream().map(AppListInfo::getApp_package).collect(Collectors.toSet());
mMMKV.encode(CommonConfig.ALL_APP_PKG_SET, pkgList);
if (appListInfoResponse.isSuccess() && netAndLaunchDataResponse.isSuccess()) {
List<AppListInfo> appListInfos = appListInfoResponse.data;
Set<String> pkgList = appListInfos.stream().map(AppListInfo::getApp_package).collect(Collectors.toSet());
mMMKV.encode(CommonConfig.ALL_APP_PKG_SET, pkgList);
List<NetAndLaunchData> netAndLaunchDataList = netAndLaunchDataResponse.data;
JgyUtils.getInstance().setNetAndlaunch(netAndLaunchDataList, appListInfos);
return appListInfos;
} else if (appListInfoResponse.isSuccess()) {
List<AppListInfo> appListInfos = appListInfoResponse.data;
Set<String> pkgList = appListInfos.stream().map(AppListInfo::getApp_package).collect(Collectors.toSet());
mMMKV.encode(CommonConfig.ALL_APP_PKG_SET, pkgList);
return appListInfos;
} else if (netAndLaunchDataResponse.isSuccess()) {
List<NetAndLaunchData> netAndLaunchDataList = netAndLaunchDataResponse.data;
JgyUtils.getInstance().setNetAndlaunch(netAndLaunchDataList);
}
return null;
}
})
List<NetAndLaunchData> netAndLaunchDataList = netAndLaunchDataResponse.data;
JgyUtils.getInstance().setNetAndlaunch(netAndLaunchDataList, appListInfos);
return appListInfos;
} else if (appListInfoResponse.isSuccess()) {
List<AppListInfo> appListInfos = appListInfoResponse.data;
Set<String> pkgList = appListInfos.stream().map(AppListInfo::getApp_package).collect(Collectors.toSet());
mMMKV.encode(CommonConfig.ALL_APP_PKG_SET, pkgList);
return appListInfos;
} else if (netAndLaunchDataResponse.isSuccess()) {
List<NetAndLaunchData> netAndLaunchDataList = netAndLaunchDataResponse.data;
JgyUtils.getInstance().setNetAndlaunch(netAndLaunchDataList);
}
return null;
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
@@ -3218,31 +3218,31 @@ public class NetInterfaceManager {
@Deprecated
public void getAllInfoAndSetting() {
Observable.zip(getAllAppControl(), getAppAutoStartUpdateAndNetObservable(), new BiFunction<BaseResponse<List<AppListInfo>>, BaseResponse<List<NetAndLaunchData>>, List<AppListInfo>>() {
@Override
public List<AppListInfo> apply(BaseResponse<List<AppListInfo>> appListInfoResponse, BaseResponse<List<NetAndLaunchData>> netAndLaunchDataResponse) throws Throwable {
Log.e("getAllInfoAndSetting", "apply: appListInfoResponse code = " + appListInfoResponse.code);
Log.e("getAllInfoAndSetting", "apply: netAndLaunchDataResponse code = " + netAndLaunchDataResponse.code);
@Override
public List<AppListInfo> apply(BaseResponse<List<AppListInfo>> appListInfoResponse, BaseResponse<List<NetAndLaunchData>> netAndLaunchDataResponse) throws Throwable {
Log.e("getAllInfoAndSetting", "apply: appListInfoResponse code = " + appListInfoResponse.code);
Log.e("getAllInfoAndSetting", "apply: netAndLaunchDataResponse code = " + netAndLaunchDataResponse.code);
if (appListInfoResponse.isSuccess() && netAndLaunchDataResponse.isSuccess()) {
List<AppListInfo> appListInfos = appListInfoResponse.data;
Set<String> pkgList = appListInfos.stream().map(AppListInfo::getApp_package).collect(Collectors.toSet());
mMMKV.encode(CommonConfig.ALL_APP_PKG_SET, pkgList);
if (appListInfoResponse.isSuccess() && netAndLaunchDataResponse.isSuccess()) {
List<AppListInfo> appListInfos = appListInfoResponse.data;
Set<String> pkgList = appListInfos.stream().map(AppListInfo::getApp_package).collect(Collectors.toSet());
mMMKV.encode(CommonConfig.ALL_APP_PKG_SET, pkgList);
List<NetAndLaunchData> netAndLaunchDataList = netAndLaunchDataResponse.data;
JgyUtils.getInstance().setNetAndlaunch(netAndLaunchDataList, appListInfos);
return appListInfos;
} else if (appListInfoResponse.isSuccess()) {
List<AppListInfo> appListInfos = appListInfoResponse.data;
Set<String> pkgList = appListInfos.stream().map(AppListInfo::getApp_package).collect(Collectors.toSet());
mMMKV.encode(CommonConfig.ALL_APP_PKG_SET, pkgList);
return appListInfos;
} else if (netAndLaunchDataResponse.isSuccess()) {
List<NetAndLaunchData> netAndLaunchDataList = netAndLaunchDataResponse.data;
JgyUtils.getInstance().setNetAndlaunch(netAndLaunchDataList);
}
return null;
}
})
List<NetAndLaunchData> netAndLaunchDataList = netAndLaunchDataResponse.data;
JgyUtils.getInstance().setNetAndlaunch(netAndLaunchDataList, appListInfos);
return appListInfos;
} else if (appListInfoResponse.isSuccess()) {
List<AppListInfo> appListInfos = appListInfoResponse.data;
Set<String> pkgList = appListInfos.stream().map(AppListInfo::getApp_package).collect(Collectors.toSet());
mMMKV.encode(CommonConfig.ALL_APP_PKG_SET, pkgList);
return appListInfos;
} else if (netAndLaunchDataResponse.isSuccess()) {
List<NetAndLaunchData> netAndLaunchDataList = netAndLaunchDataResponse.data;
JgyUtils.getInstance().setNetAndlaunch(netAndLaunchDataList);
}
return null;
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<AppListInfo>>() {

View File

@@ -1,5 +1,7 @@
package com.aoleyun.sn.utils;
import static android.app.ActivityManager.RECENT_IGNORE_UNAVAILABLE;
import android.annotation.SuppressLint;
import android.app.ActivityManager;
import android.app.ActivityManagerNative;
@@ -125,8 +127,6 @@ import io.reactivex.rxjava3.core.ObservableOnSubscribe;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import static android.app.ActivityManager.RECENT_IGNORE_UNAVAILABLE;
public class JgyUtils {
private static final String TAG = "JgyUtils";
@@ -1804,8 +1804,10 @@ public class JgyUtils {
if (ApkUtils.canremove_systemapp.contains(packageName)) {
continue;
}
if (ApkUtils.aihuaApp.contains(packageName)) {
continue;
if ("K101".equals(Build.MODEL) || "AS001".equals(Build.MODEL)) {
if (ApkUtils.aihuaApp.contains(packageName)) {
continue;
}
}
if (ApkUtils.mJxwApp.contains(packageName)) {
continue;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -41,7 +41,7 @@
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="应用更新检测"
android:text="管控策略检测"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:textStyle="bold"

View File

@@ -1,7 +1,7 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '2.3.21'
ext.kotlin_version = '2.4.0'
repositories {
google()