version:3.2.3
fix: update:更新获取管控标签
This commit is contained in:
@@ -74,8 +74,8 @@ android {
|
||||
|
||||
official {
|
||||
flavorDimensions "default"
|
||||
versionCode 60
|
||||
versionName "3.2.0"
|
||||
versionCode 63
|
||||
versionName "3.2.3"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -144,13 +144,13 @@ public class BaseApplication extends Application {
|
||||
XGPushManager.upsertAccounts(getApplicationContext(), accountInfoList, new XGIOperateCallback() {
|
||||
@Override
|
||||
public void onSuccess(Object data, int flag) {
|
||||
Log.e("TPush", "onSuccess, data:" + data + ", flag:" + flag);
|
||||
Log.e("TPush", "upsertAccounts onSuccess, data:" + data + ", flag:" + flag);
|
||||
NetInterfaceManager.getInstance().setPushTags();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(Object data, int errCode, String msg) {
|
||||
Log.e("TPush", "onFail, data:" + data + ", code:" + errCode + ", msg:" + msg);
|
||||
Log.e("TPush", "upsertAccounts onFail, data:" + data + ", code:" + errCode + ", msg:" + msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
26
app/src/main/java/com/fuying/sn/bean/SnTag.java
Normal file
26
app/src/main/java/com/fuying/sn/bean/SnTag.java
Normal file
@@ -0,0 +1,26 @@
|
||||
package com.fuying.sn.bean;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class SnTag implements Serializable {
|
||||
private static final long serialVersionUID = 6500345740999734355L;
|
||||
|
||||
String sn;
|
||||
String tagName;
|
||||
|
||||
public String getSn() {
|
||||
return sn;
|
||||
}
|
||||
|
||||
public void setSn(String sn) {
|
||||
this.sn = sn;
|
||||
}
|
||||
|
||||
public String getTagName() {
|
||||
return tagName;
|
||||
}
|
||||
|
||||
public void setTagName(String tagName) {
|
||||
this.tagName = tagName;
|
||||
}
|
||||
}
|
||||
@@ -1044,7 +1044,7 @@ public class RunningAppManager {
|
||||
ToastUtil.show("整机可用时间已用完");
|
||||
return true;
|
||||
} else {
|
||||
ToastUtil.show("整机可用时间有剩余");
|
||||
Log.e(TAG, "inControlTime: machineControl " + "整机可用时间有剩余");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -1055,7 +1055,7 @@ public class RunningAppManager {
|
||||
ToastUtil.show("整机可用时间已用完");
|
||||
return true;
|
||||
} else {
|
||||
ToastUtil.show("整机可用时间有剩余");
|
||||
Log.e(TAG, "inControlTime: machineControl " + "整机可用时间有剩余");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ import com.fuying.sn.bean.ScreenPassword;
|
||||
import com.fuying.sn.bean.SnBindState;
|
||||
import com.fuying.sn.bean.SnInfo;
|
||||
import com.fuying.sn.bean.SnRunLog;
|
||||
import com.fuying.sn.bean.SnTag;
|
||||
import com.fuying.sn.bean.SystemSettingsSet;
|
||||
import com.fuying.sn.bean.UserAvatarInfo;
|
||||
import com.fuying.sn.bean.browser.BrowserApiData;
|
||||
@@ -80,6 +81,7 @@ import com.fuying.sn.network.api.ScreenLock;
|
||||
import com.fuying.sn.network.api.ScreenState;
|
||||
import com.fuying.sn.network.api.Setting;
|
||||
import com.fuying.sn.network.api.SnBindApi;
|
||||
import com.fuying.sn.network.api.SnTagApi;
|
||||
import com.fuying.sn.network.api.TimeControl;
|
||||
import com.fuying.sn.network.api.UpdateAdminSn;
|
||||
import com.fuying.sn.network.api.UpdateLockScreen;
|
||||
@@ -117,7 +119,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
|
||||
@@ -482,6 +483,15 @@ public class NetInterfaceManager {
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse<SnTag>> getSnTag() {
|
||||
return mRetrofit.create(SnTagApi.class)
|
||||
.getTag(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* execution
|
||||
@@ -702,21 +712,64 @@ public class NetInterfaceManager {
|
||||
clearAndAppendTags(set);
|
||||
}
|
||||
|
||||
private void clearAndAppendTags(Set tagSets) {
|
||||
XGPushManager.clearAndAppendTags(mContext, "clearAndAppendTags :" + System.currentTimeMillis(), tagSets, new XGIOperateCallback() {
|
||||
public void setPushTags(String tag) {
|
||||
Set<String> set = new HashSet<>();
|
||||
set.add(tag);
|
||||
JGYUtils.getInstance().getAppPlatform(platform -> {
|
||||
if (platform == JGYUtils.MTKPlatform) {
|
||||
set.add(JGYUtils.MTKTag);
|
||||
} else if (platform == JGYUtils.ZhanruiPlatform) {
|
||||
set.add(JGYUtils.ZhanruiTag);
|
||||
} else if (platform == JGYUtils.M40sePlatform) {
|
||||
set.add(JGYUtils.M40SETag);
|
||||
} else if (platform == JGYUtils.T30ProPlatform) {
|
||||
set.add(JGYUtils.T30PROTag);
|
||||
} else if (platform == JGYUtils.MTK8515Platform) {
|
||||
set.add(JGYUtils.MTK8515Tag);
|
||||
} else if (platform == JGYUtils.G13Platform) {
|
||||
set.add(JGYUtils.G13Tag);
|
||||
} else if (platform == JGYUtils.G6Platform) {
|
||||
set.add(JGYUtils.G6Tag);
|
||||
} else if (platform == JGYUtils.iPlay50SEPlatform) {
|
||||
set.add(JGYUtils.iPlay50SETag);
|
||||
}
|
||||
});
|
||||
XGPushManager.clearAndAppendTags(mContext, "clearAndAppendTags :" + System.currentTimeMillis(), set, new XGIOperateCallback() {
|
||||
@Override
|
||||
public void onSuccess(Object o, int i) {
|
||||
Log.e("setPushTags", "onSuccess: " + o);
|
||||
Log.e("clearAndAppendTags", "onSuccess: " + o + " tag " + set);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(Object o, int i, String s) {
|
||||
Log.e("setPushTags", "onFail: " + o);
|
||||
Log.e("clearAndAppendTags", "onFail: " + o);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
List<String> showPackages = new ArrayList<String>() {{
|
||||
private void clearAndAppendTags(Set<String> tagSets) {
|
||||
getTag(new TagCallback() {
|
||||
@Override
|
||||
public void setTag(String tag) {
|
||||
if (!TextUtils.isEmpty(tag)) {
|
||||
tagSets.add(tag);
|
||||
}
|
||||
XGPushManager.clearAndAppendTags(mContext, "clearAndAppendTags :" + System.currentTimeMillis(), tagSets, new XGIOperateCallback() {
|
||||
@Override
|
||||
public void onSuccess(Object o, int i) {
|
||||
Log.e("clearAndAppendTags", "onSuccess: " + o + " tag " + tagSets);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(Object o, int i, String s) {
|
||||
Log.e("clearAndAppendTags", "onFail: " + o);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private List<String> showPackages = new ArrayList<String>() {{
|
||||
this.add("com.uiui.browser");
|
||||
this.add("com.uiui.aios");
|
||||
this.add("com.uiui.os");
|
||||
@@ -1959,7 +2012,7 @@ public class NetInterfaceManager {
|
||||
if (temp.size() == 0 && ApkUtils.isAvailable(mContext, "com.alibaba.android.rimet")) {
|
||||
Log.e("getForceInstall", "onNext: uninstall dingtalk");
|
||||
ApkUtils.uninstallApp(mContext, "com.alibaba.android.rimet");
|
||||
}else {
|
||||
} else {
|
||||
Log.e("getForceInstall", "onNext: dingtalk force");
|
||||
}
|
||||
}
|
||||
@@ -2630,7 +2683,7 @@ public class NetInterfaceManager {
|
||||
Log.e(TAG, "installOverallApp: " + packageList);
|
||||
for (OverallAppBean overallAppBean : overallAppBeanList) {
|
||||
String packages = overallAppBean.getApp_package();
|
||||
if (JGYUtils.fuyingApp.contains(packages)) {
|
||||
if (!JGYUtils.mGlobalUpdatePkgs.contains(packages)) {
|
||||
continue;
|
||||
}
|
||||
String url = overallAppBean.getApp_url();
|
||||
@@ -2653,13 +2706,13 @@ public class NetInterfaceManager {
|
||||
appVersionCode = info.versionCode;
|
||||
}
|
||||
if (appVersionCode < app_version_code) {
|
||||
Log.e(TAG, "installOverallApp: " + "need to upgrade");
|
||||
Log.e(TAG, "installOverallApp: " + packages + " need to upgrade");
|
||||
FileUtils.ariaDownload(mContext, url, GsonUtils.getJsonObject(overallAppBean.toString()));
|
||||
} else {
|
||||
Log.e(TAG, "installOverallApp: " + "it's up to date , no need upgrade");
|
||||
Log.e(TAG, "installOverallApp: " + packages + " it's up to date , no need upgrade");
|
||||
}
|
||||
} else {
|
||||
Log.e(TAG, "installOverallApp: " + "not installed , upgrade");
|
||||
Log.e(TAG, "installOverallApp: " + packages + " not installed , upgrade");
|
||||
FileUtils.ariaDownload(mContext, url, GsonUtils.getJsonObject(overallAppBean.toString()));
|
||||
}
|
||||
}
|
||||
@@ -2838,6 +2891,8 @@ public class NetInterfaceManager {
|
||||
Observable.zip(getQueryAllAppControl(), getAdminAppObservable(), new BiFunction<BaseResponse<List<AppInfo>>, BaseResponse<List<AppInfo>>, HashSet<AppInfo>>() {
|
||||
@Override
|
||||
public HashSet<AppInfo> apply(BaseResponse<List<AppInfo>> listBaseResponse1, BaseResponse<List<AppInfo>> listBaseResponse2) throws Throwable {
|
||||
Log.e("getAppWhiteList", "listBaseResponse1: " + listBaseResponse1);
|
||||
Log.e("getAppWhiteList", "listBaseResponse2: " + listBaseResponse2);
|
||||
HashSet<AppInfo> appInfos = new HashSet<>();
|
||||
if (listBaseResponse1.code == 200) {
|
||||
List<AppInfo> appInfos1 = listBaseResponse1.data;
|
||||
@@ -3100,4 +3155,42 @@ public class NetInterfaceManager {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public interface TagCallback {
|
||||
void setTag(String tag);
|
||||
}
|
||||
|
||||
public void getTag(TagCallback callback) {
|
||||
getSnTag()
|
||||
// .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
||||
.subscribe(new Observer<BaseResponse<SnTag>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Log.e("getTag", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseResponse<SnTag> baseResponse) {
|
||||
Log.e("getTag", "onNext: " + baseResponse);
|
||||
if (baseResponse.code == 200) {
|
||||
SnTag snTag = baseResponse.data;
|
||||
callback.setTag(snTag.getTagName());
|
||||
} else {
|
||||
callback.setTag("");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Log.e("getTag", "onError: " + e.getMessage());
|
||||
callback.setTag("");
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.e("getTag", "onComplete: ");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,6 +32,8 @@ public class UrlAddress {
|
||||
|
||||
/*获取批次*/
|
||||
public static final String GET_BATCH = "sn/getBatch";
|
||||
/*获取标签*/
|
||||
public static final String GET_TAG = "sn/get-tag";
|
||||
/*设备信息接口*/
|
||||
public static final String SNINFO = "sn/getSnInfo";
|
||||
|
||||
|
||||
17
app/src/main/java/com/fuying/sn/network/api/SnTagApi.java
Normal file
17
app/src/main/java/com/fuying/sn/network/api/SnTagApi.java
Normal file
@@ -0,0 +1,17 @@
|
||||
package com.fuying.sn.network.api;
|
||||
|
||||
import com.fuying.sn.bean.BaseResponse;
|
||||
import com.fuying.sn.bean.SnTag;
|
||||
import com.fuying.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.rxjava3.core.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface SnTagApi {
|
||||
@GET(UrlAddress.GET_TAG)
|
||||
Observable<BaseResponse<SnTag>> getTag(
|
||||
@Query("sn") String sn
|
||||
// @QueryMap Map<String, String> params
|
||||
);
|
||||
}
|
||||
@@ -48,17 +48,18 @@ public class RemoteService extends Service {
|
||||
//token在设备卸载重装的时候有可能会变
|
||||
Log.e("TPush", "注册成功,设备token为:" + data);
|
||||
List<XGPushManager.AccountInfo> accountInfoList = new ArrayList<>();
|
||||
Log.e("TPush", "onSuccess: " + Utils.getSerial());
|
||||
accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), Utils.getSerial()));
|
||||
XGPushManager.upsertAccounts(RemoteService.this, accountInfoList, new XGIOperateCallback() {
|
||||
@Override
|
||||
public void onSuccess(Object data, int flag) {
|
||||
Log.e("TPush", "onSuccess, data:" + data + ", flag:" + flag);
|
||||
Log.e("TPush", "upsertAccounts onSuccess, data:" + data + ", flag:" + flag);
|
||||
NetInterfaceManager.getInstance().setPushTags();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(Object data, int errCode, String msg) {
|
||||
Log.e("TPush", "onFail, data:" + data + ", code:" + errCode + ", msg:" + msg);
|
||||
Log.e("TPush", "upsertAccounts onFail, data:" + data + ", code:" + errCode + ", msg:" + msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -122,6 +122,9 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
||||
// NetInterfaceManager.getInstance().updateAdminInfo();
|
||||
if (JGYUtils.getInstance().isScreenOn()) {
|
||||
Log.e(TAG, "getSnInfo1");
|
||||
NetInterfaceManager.getInstance().getAppWhiteList(() -> {
|
||||
Log.e("onConnected", "onNext: getAppWhiteList");
|
||||
});
|
||||
mPresenter.getSnInfo();
|
||||
mPresenter.getAppAndWhite();
|
||||
SPUtils.put(MainService.this, CommonConfig.JGY_FIRST_BOOT, 1);
|
||||
@@ -323,17 +326,18 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
||||
//token在设备卸载重装的时候有可能会变
|
||||
Log.e("TPush", "注册成功,设备token为:" + data);
|
||||
List<XGPushManager.AccountInfo> accountInfoList = new ArrayList<>();
|
||||
Log.e("TPush", "onSuccess: " + Utils.getSerial());
|
||||
accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), Utils.getSerial()));
|
||||
XGPushManager.upsertAccounts(MainService.this, accountInfoList, new XGIOperateCallback() {
|
||||
@Override
|
||||
public void onSuccess(Object data, int flag) {
|
||||
Log.e("TPush", "onSuccess, data:" + data + ", flag:" + flag);
|
||||
Log.e("TPush", "upsertAccounts onSuccess, data:" + data + ", flag:" + flag);
|
||||
NetInterfaceManager.getInstance().setPushTags();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(Object data, int errCode, String msg) {
|
||||
Log.e("TPush", "onFail, data:" + data + ", code:" + errCode + ", msg:" + msg);
|
||||
Log.e("TPush", "upsertAccounts onFail, data:" + data + ", code:" + errCode + ", msg:" + msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -65,6 +65,7 @@ import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@@ -486,6 +487,13 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
||||
private static final String SN_RUN_LOG = "84";
|
||||
/*一键断网*/
|
||||
private static final String ACTION_DISABLE_NETWORK = "85";
|
||||
/*添加标签*/
|
||||
private static final String SN_ADD_TAG = "87";
|
||||
/*删除标签*/
|
||||
private static final String SN_DELETE_TAG = "88";
|
||||
/*添加应用*/
|
||||
private static final String ADD_APK = "89";
|
||||
|
||||
|
||||
private void processCustomMessage(Context context, XGPushTextMessage message) {
|
||||
if (context == null || message == null) {
|
||||
@@ -809,10 +817,56 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
||||
ToastUtil.debugShow("收到推送消息: 一键断网");
|
||||
oneKeyNetwork(context, extras);
|
||||
break;
|
||||
case SN_ADD_TAG:
|
||||
addTag(extras);
|
||||
break;
|
||||
case SN_DELETE_TAG:
|
||||
deleteTag(extras);
|
||||
break;
|
||||
case ADD_APK:
|
||||
addApkToWhiteList(extras);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
private void addApkToWhiteList(String extras) {
|
||||
Random random = new Random();
|
||||
//避免同时请求
|
||||
int number = random.nextInt(10000);
|
||||
Log.e(TAG, "addApkToWhiteList: Random " + number);
|
||||
Handler.getMain().postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
NetInterfaceManager.getInstance().getAppWhiteList(new NetInterfaceManager.WhiteListCallback() {
|
||||
@Override
|
||||
public void onComplet() {
|
||||
Log.e("getAppWhiteList", "onComplet: ");
|
||||
}
|
||||
});
|
||||
}
|
||||
}, number);
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void deleteTag(String extras) {
|
||||
NetInterfaceManager.getInstance().setPushTags();
|
||||
}
|
||||
|
||||
private void addTag(String extras) {
|
||||
JsonObject jsonObject = GsonUtils.getJsonObject(extras);
|
||||
try {
|
||||
String tag_name = jsonObject.get("tag_name").getAsString();
|
||||
Log.e(TAG, "addTag: " + tag_name);
|
||||
if (!TextUtils.isEmpty(tag_name)) {
|
||||
NetInterfaceManager.getInstance().setPushTags(tag_name);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "addTag: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private void setAdminApp(Context context, String extras) {
|
||||
JsonObject jsonObject = GsonUtils.getJsonObject(extras);
|
||||
int setting_admin_app = jsonObject.get("setting_admin_app").getAsInt();
|
||||
@@ -822,7 +876,6 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
||||
private void setZenMode(Context context, String extras) {
|
||||
JsonObject jsonObject = GsonUtils.getJsonObject(extras);
|
||||
int setting_disturbance = jsonObject.get("setting_disturbance").getAsInt();
|
||||
|
||||
}
|
||||
|
||||
private void setRotationLock(Context context, String extras) {
|
||||
@@ -1002,6 +1055,7 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
||||
}
|
||||
JsonObject extra = GsonUtils.getJsonObject(jsonString);
|
||||
String packages = extra.get("package").getAsString();
|
||||
JGYUtils.getInstance().addPkgToForbid(packages);
|
||||
ToastUtil.debugShow("收到应用安装消息:包名" + packages);
|
||||
String url = extra.get("url").getAsString();
|
||||
if (TextUtils.isEmpty(url)) {
|
||||
|
||||
@@ -180,6 +180,11 @@ public class JGYUtils {
|
||||
this.add(word);
|
||||
}};
|
||||
|
||||
public static Set<String> mGlobalUpdatePkgs = new HashSet<String>() {{
|
||||
this.add("com.fuying.sn");
|
||||
this.add("com.fuying.appstore");
|
||||
}};
|
||||
|
||||
public static final String FUXIAOYING_KEY = "fuxiaoying_update_key";
|
||||
|
||||
|
||||
@@ -1439,4 +1444,23 @@ public class JGYUtils {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param pkg 添加包名到白名单
|
||||
*/
|
||||
public void addPkgToForbid(String pkg) {
|
||||
Log.e(TAG, "addPkgToForbid: " + pkg);
|
||||
if (TextUtils.isEmpty(pkg)) {
|
||||
return;
|
||||
}
|
||||
String aole_app_forbid = Settings.System.getString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_APP_FORBID);
|
||||
if (TextUtils.isEmpty(aole_app_forbid)) {
|
||||
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_APP_FORBID, pkg);
|
||||
} else {
|
||||
Set<String> pkgSet = new HashSet<>(Arrays.asList(aole_app_forbid.split(",")));
|
||||
pkgSet.add(pkg);
|
||||
Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_APP_FORBID, String.join(",", pkgSet));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user