feat: 增加公共应用写入白名单

This commit is contained in:
2026-04-25 16:02:09 +08:00
parent 4b4daa42cf
commit d955edce80
7 changed files with 53 additions and 12 deletions

View File

@@ -29,8 +29,8 @@ android {
defaultConfig {
applicationId "com.aoleyun.sn"
versionCode 211
versionName "1.6.04015"
versionCode 212
versionName "1.6.0421"
//There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature.
minSdkVersion 24

View File

@@ -117,6 +117,7 @@ import com.aoleyun.sn.network.api.post.MACAddressApi;
import com.aoleyun.sn.network.api.post.NetAndLaunchApi;
import com.aoleyun.sn.network.api.post.NetworkConnectApi;
import com.aoleyun.sn.network.api.post.NewAppinsideWebApi;
import com.aoleyun.sn.network.api.post.RankCommonAppApi;
import com.aoleyun.sn.network.api.post.SendDownloadInfoApi;
import com.aoleyun.sn.network.api.post.SendDownloadTimesApi;
import com.aoleyun.sn.network.api.post.SendRestoreTimesApi;
@@ -182,6 +183,7 @@ import io.reactivex.rxjava3.core.Observable;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.BiFunction;
import io.reactivex.rxjava3.functions.Function3;
import io.reactivex.rxjava3.functions.Function6;
import io.reactivex.rxjava3.functions.Function7;
import io.reactivex.rxjava3.schedulers.Schedulers;
@@ -801,6 +803,13 @@ public class NetInterfaceManager {
.observeOn(AndroidSchedulers.mainThread());
}
public Observable<BaseResponse<List<AppDateInfo>>> getRankCommonAppObservable() {
return mRetrofit.create(RankCommonAppApi.class)
.getRankApp(HTTP_KEY, Utils.getSerial(mContext), "1")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/*
*
* API
@@ -3455,7 +3464,7 @@ public class NetInterfaceManager {
}
public void getAppLimit(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getBiFunction())
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getRankCommonAppObservable(), getBiFunction())
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(getAppLimitListObserver(callback));
// getAppLimitObservable()
@@ -3464,29 +3473,29 @@ public class NetInterfaceManager {
}
public void getAppLimit(onCompleteCallback callback) {
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getBiFunction())
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getRankCommonAppObservable(), getBiFunction())
.subscribe(getAppLimitListObserver(callback));
// getAppLimitObservable()
// .subscribe(getAppLimitObserver(callback));
}
public void getAppLimit() {
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getBiFunction())
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getRankCommonAppObservable(), getBiFunction())
.subscribe(getAppLimitListObserver(null));
// getAppLimitObservable()
// .subscribe(getAppLimitObserver(null));
}
private void getAppLimitList() {
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getBiFunction())
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getRankCommonAppObservable(), getBiFunction())
.subscribe(getAppLimitListObserver(null));
}
private BiFunction<BaseResponse<AppLimit>, BaseResponse<List<AppDateInfo>>, List<String>> getBiFunction() {
return new BiFunction<BaseResponse<AppLimit>, BaseResponse<List<AppDateInfo>>, List<String>>() {
private Function3<BaseResponse<AppLimit>, BaseResponse<List<AppDateInfo>>, BaseResponse<List<AppDateInfo>>, List<String>> getBiFunction() {
return new Function3<BaseResponse<AppLimit>, BaseResponse<List<AppDateInfo>>, BaseResponse<List<AppDateInfo>>, List<String>>() {
@Override
public List<String> apply(BaseResponse<AppLimit> appLimitBaseResponse, BaseResponse<List<AppDateInfo>> listBaseResponse) throws Throwable {
public List<String> apply(BaseResponse<AppLimit> appLimitBaseResponse, BaseResponse<List<AppDateInfo>> listBaseResponse, BaseResponse<List<AppDateInfo>> appDateInfoResponse) throws Throwable {
List<String> appNames = new ArrayList<>();
if (appLimitBaseResponse.code == 200) {
AppLimit appLimit = appLimitBaseResponse.data;
@@ -3504,6 +3513,16 @@ public class NetInterfaceManager {
}).collect(Collectors.toSet());
appNames.addAll(pkgs);
}
if (appDateInfoResponse.code == 200) {
List<AppDateInfo> appDateInfos = appDateInfoResponse.data;
Set<String> pkgs = appDateInfos.stream().map(new Function<AppDateInfo, String>() {
@Override
public String apply(AppDateInfo appDateInfo) {
return appDateInfo.getApp_baoming();
}
}).collect(Collectors.toSet());
appNames.addAll(pkgs);
}
return appNames;
}
};

View File

@@ -39,6 +39,8 @@ public class UrlAddress {
public static final String SET_WHITE_PACKAGE_LIST = "firmware/index";
/*获取全部应用*/
public static final String GET_ALL_APP = "recommend/index";
/*公共应用*/
public static final String HTTP_TAG_COMMOAPP = "Rank/commonApp";
/*强制安装应用*/
public static final String GET_FORCE_INSTALL_LIST = "forceinstall/index";
/*分组应用强制安装*/

View File

@@ -0,0 +1,22 @@
package com.aoleyun.sn.network.api.post;
import com.aoleyun.sn.bean.AppDateInfo;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import java.util.List;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
public interface RankCommonAppApi {
@FormUrlEncoded
@POST(UrlAddress.HTTP_TAG_COMMOAPP)
Observable<BaseResponse<List<AppDateInfo>>> getRankApp(
@Field("key") String key,
@Field("sn") String sn,
@Field("page") String page
);
}

View File

@@ -74,7 +74,6 @@ public class NewAppReceiver extends BroadcastReceiver {
JgyUtils.getInstance().setAllowPermissionsPackage();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
if (!PackageNames.APPSTORE.equals(packageName) || !PackageNames.DEVICE_INFO.equals(packageName)) {
ApkUtils.addShortcut(context);
ApkUtils.RemoveTask(context, packageName);
}
JgyUtils.getInstance().wakeUpAoleyunAPP();

View File

@@ -1531,7 +1531,6 @@ public class JgyUtils {
setAppRestriction(0);
return;
}
ApkUtils.addShortcut(mContext);
HashSet<String> pkgSet = new HashSet<>(defaultPackages);
if (BuildConfig.DEBUG) {
pkgSet.add("com.reqable.android");

View File

@@ -28,7 +28,7 @@ allprojects {
repositories {
google()
mavenCentral()
// mavenCentral()
maven { url "https://jitpack.io" }
maven { url 'https://developer.huawei.com/repo/' }
maven { url 'https://maven.aliyun.com/repository/central/' }