From d955edce80f9bb7a23533968f8d8090f78d9dc1d Mon Sep 17 00:00:00 2001 From: tongtongstudio Date: Sat, 25 Apr 2026 16:02:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=85=AC=E5=85=B1?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E5=86=99=E5=85=A5=E7=99=BD=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +-- .../sn/network/NetInterfaceManager.java | 33 +++++++++++++++---- .../com/aoleyun/sn/network/UrlAddress.java | 2 ++ .../sn/network/api/post/RankCommonAppApi.java | 22 +++++++++++++ .../aoleyun/sn/receiver/NewAppReceiver.java | 1 - .../java/com/aoleyun/sn/utils/JgyUtils.java | 1 - build.gradle | 2 +- 7 files changed, 53 insertions(+), 12 deletions(-) create mode 100644 app/src/main/java/com/aoleyun/sn/network/api/post/RankCommonAppApi.java diff --git a/app/build.gradle b/app/build.gradle index 62b43f7..01ba12c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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 diff --git a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java index 1ab0d37..06f19b1 100644 --- a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java +++ b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java @@ -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>> 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 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>, List> getBiFunction() { - return new BiFunction, BaseResponse>, List>() { + private Function3, BaseResponse>, BaseResponse>, List> getBiFunction() { + return new Function3, BaseResponse>, BaseResponse>, List>() { @Override - public List apply(BaseResponse appLimitBaseResponse, BaseResponse> listBaseResponse) throws Throwable { + public List apply(BaseResponse appLimitBaseResponse, BaseResponse> listBaseResponse, BaseResponse> appDateInfoResponse) throws Throwable { List 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 appDateInfos = appDateInfoResponse.data; + Set pkgs = appDateInfos.stream().map(new Function() { + @Override + public String apply(AppDateInfo appDateInfo) { + return appDateInfo.getApp_baoming(); + } + }).collect(Collectors.toSet()); + appNames.addAll(pkgs); + } return appNames; } }; diff --git a/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java b/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java index 16b900d..14dd646 100644 --- a/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java +++ b/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java @@ -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"; /*分组应用强制安装*/ diff --git a/app/src/main/java/com/aoleyun/sn/network/api/post/RankCommonAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/post/RankCommonAppApi.java new file mode 100644 index 0000000..51d96b1 --- /dev/null +++ b/app/src/main/java/com/aoleyun/sn/network/api/post/RankCommonAppApi.java @@ -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>> getRankApp( + @Field("key") String key, + @Field("sn") String sn, + @Field("page") String page + ); +} diff --git a/app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java b/app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java index 2808084..ca2a5a2 100644 --- a/app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java +++ b/app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java @@ -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(); diff --git a/app/src/main/java/com/aoleyun/sn/utils/JgyUtils.java b/app/src/main/java/com/aoleyun/sn/utils/JgyUtils.java index 50f0b92..be834d2 100644 --- a/app/src/main/java/com/aoleyun/sn/utils/JgyUtils.java +++ b/app/src/main/java/com/aoleyun/sn/utils/JgyUtils.java @@ -1531,7 +1531,6 @@ public class JgyUtils { setAppRestriction(0); return; } - ApkUtils.addShortcut(mContext); HashSet pkgSet = new HashSet<>(defaultPackages); if (BuildConfig.DEBUG) { pkgSet.add("com.reqable.android"); diff --git a/build.gradle b/build.gradle index f14c0af..6964cdc 100644 --- a/build.gradle +++ b/build.gradle @@ -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/' }