feat: 增加公共应用写入白名单
This commit is contained in:
@@ -29,8 +29,8 @@ android {
|
|||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.aoleyun.sn"
|
applicationId "com.aoleyun.sn"
|
||||||
versionCode 211
|
versionCode 212
|
||||||
versionName "1.6.04015"
|
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.
|
//There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature.
|
||||||
minSdkVersion 24
|
minSdkVersion 24
|
||||||
|
|||||||
@@ -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.NetAndLaunchApi;
|
||||||
import com.aoleyun.sn.network.api.post.NetworkConnectApi;
|
import com.aoleyun.sn.network.api.post.NetworkConnectApi;
|
||||||
import com.aoleyun.sn.network.api.post.NewAppinsideWebApi;
|
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.SendDownloadInfoApi;
|
||||||
import com.aoleyun.sn.network.api.post.SendDownloadTimesApi;
|
import com.aoleyun.sn.network.api.post.SendDownloadTimesApi;
|
||||||
import com.aoleyun.sn.network.api.post.SendRestoreTimesApi;
|
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.core.Observer;
|
||||||
import io.reactivex.rxjava3.disposables.Disposable;
|
import io.reactivex.rxjava3.disposables.Disposable;
|
||||||
import io.reactivex.rxjava3.functions.BiFunction;
|
import io.reactivex.rxjava3.functions.BiFunction;
|
||||||
|
import io.reactivex.rxjava3.functions.Function3;
|
||||||
import io.reactivex.rxjava3.functions.Function6;
|
import io.reactivex.rxjava3.functions.Function6;
|
||||||
import io.reactivex.rxjava3.functions.Function7;
|
import io.reactivex.rxjava3.functions.Function7;
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers;
|
import io.reactivex.rxjava3.schedulers.Schedulers;
|
||||||
@@ -801,6 +803,13 @@ public class NetInterfaceManager {
|
|||||||
.observeOn(AndroidSchedulers.mainThread());
|
.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
|
* API
|
||||||
@@ -3455,7 +3464,7 @@ public class NetInterfaceManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void getAppLimit(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
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))
|
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
||||||
.subscribe(getAppLimitListObserver(callback));
|
.subscribe(getAppLimitListObserver(callback));
|
||||||
// getAppLimitObservable()
|
// getAppLimitObservable()
|
||||||
@@ -3464,29 +3473,29 @@ public class NetInterfaceManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void getAppLimit(onCompleteCallback callback) {
|
public void getAppLimit(onCompleteCallback callback) {
|
||||||
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getBiFunction())
|
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getRankCommonAppObservable(), getBiFunction())
|
||||||
.subscribe(getAppLimitListObserver(callback));
|
.subscribe(getAppLimitListObserver(callback));
|
||||||
// getAppLimitObservable()
|
// getAppLimitObservable()
|
||||||
// .subscribe(getAppLimitObserver(callback));
|
// .subscribe(getAppLimitObserver(callback));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getAppLimit() {
|
public void getAppLimit() {
|
||||||
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getBiFunction())
|
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getRankCommonAppObservable(), getBiFunction())
|
||||||
.subscribe(getAppLimitListObserver(null));
|
.subscribe(getAppLimitListObserver(null));
|
||||||
// getAppLimitObservable()
|
// getAppLimitObservable()
|
||||||
// .subscribe(getAppLimitObserver(null));
|
// .subscribe(getAppLimitObserver(null));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getAppLimitList() {
|
private void getAppLimitList() {
|
||||||
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getBiFunction())
|
Observable.zip(getAppLimitObservable(), getAdminAppObservable(), getRankCommonAppObservable(), getBiFunction())
|
||||||
.subscribe(getAppLimitListObserver(null));
|
.subscribe(getAppLimitListObserver(null));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private BiFunction<BaseResponse<AppLimit>, BaseResponse<List<AppDateInfo>>, List<String>> getBiFunction() {
|
private Function3<BaseResponse<AppLimit>, BaseResponse<List<AppDateInfo>>, BaseResponse<List<AppDateInfo>>, List<String>> getBiFunction() {
|
||||||
return new BiFunction<BaseResponse<AppLimit>, BaseResponse<List<AppDateInfo>>, List<String>>() {
|
return new Function3<BaseResponse<AppLimit>, BaseResponse<List<AppDateInfo>>, BaseResponse<List<AppDateInfo>>, List<String>>() {
|
||||||
@Override
|
@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<>();
|
List<String> appNames = new ArrayList<>();
|
||||||
if (appLimitBaseResponse.code == 200) {
|
if (appLimitBaseResponse.code == 200) {
|
||||||
AppLimit appLimit = appLimitBaseResponse.data;
|
AppLimit appLimit = appLimitBaseResponse.data;
|
||||||
@@ -3504,6 +3513,16 @@ public class NetInterfaceManager {
|
|||||||
}).collect(Collectors.toSet());
|
}).collect(Collectors.toSet());
|
||||||
appNames.addAll(pkgs);
|
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;
|
return appNames;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -39,6 +39,8 @@ public class UrlAddress {
|
|||||||
public static final String SET_WHITE_PACKAGE_LIST = "firmware/index";
|
public static final String SET_WHITE_PACKAGE_LIST = "firmware/index";
|
||||||
/*获取全部应用*/
|
/*获取全部应用*/
|
||||||
public static final String GET_ALL_APP = "recommend/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";
|
public static final String GET_FORCE_INSTALL_LIST = "forceinstall/index";
|
||||||
/*分组应用强制安装*/
|
/*分组应用强制安装*/
|
||||||
|
|||||||
@@ -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
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -74,7 +74,6 @@ public class NewAppReceiver extends BroadcastReceiver {
|
|||||||
JgyUtils.getInstance().setAllowPermissionsPackage();
|
JgyUtils.getInstance().setAllowPermissionsPackage();
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
if (!PackageNames.APPSTORE.equals(packageName) || !PackageNames.DEVICE_INFO.equals(packageName)) {
|
if (!PackageNames.APPSTORE.equals(packageName) || !PackageNames.DEVICE_INFO.equals(packageName)) {
|
||||||
ApkUtils.addShortcut(context);
|
|
||||||
ApkUtils.RemoveTask(context, packageName);
|
ApkUtils.RemoveTask(context, packageName);
|
||||||
}
|
}
|
||||||
JgyUtils.getInstance().wakeUpAoleyunAPP();
|
JgyUtils.getInstance().wakeUpAoleyunAPP();
|
||||||
|
|||||||
@@ -1531,7 +1531,6 @@ public class JgyUtils {
|
|||||||
setAppRestriction(0);
|
setAppRestriction(0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ApkUtils.addShortcut(mContext);
|
|
||||||
HashSet<String> pkgSet = new HashSet<>(defaultPackages);
|
HashSet<String> pkgSet = new HashSet<>(defaultPackages);
|
||||||
if (BuildConfig.DEBUG) {
|
if (BuildConfig.DEBUG) {
|
||||||
pkgSet.add("com.reqable.android");
|
pkgSet.add("com.reqable.android");
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ allprojects {
|
|||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
mavenCentral()
|
// mavenCentral()
|
||||||
maven { url "https://jitpack.io" }
|
maven { url "https://jitpack.io" }
|
||||||
maven { url 'https://developer.huawei.com/repo/' }
|
maven { url 'https://developer.huawei.com/repo/' }
|
||||||
maven { url 'https://maven.aliyun.com/repository/central/' }
|
maven { url 'https://maven.aliyun.com/repository/central/' }
|
||||||
|
|||||||
Reference in New Issue
Block a user