diff --git a/app/build.gradle b/app/build.gradle
index 8666787..f53b140 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,5 +1,4 @@
apply plugin: 'com.android.application'
-apply plugin: "com.tencent.android.tpns"
static def appName() {
return "AoleyunDeviceInfo"
@@ -78,35 +77,51 @@ android {
buildConfigField "String", "platform", '"ZhanRui"'
}
+ AH6016 {
+ flavorDimensions "default"
+ versionCode 8
+ versionName "1.7"
+ buildConfigField "String", "platform", '"AH6016"'
+ }
+
+ G10Z {
+ flavorDimensions "default"
+ versionCode 8
+ versionName "1.7"
+ buildConfigField "String", "platform", '"ZR6016"'
+ }
+
//酷比魔方
cube {
flavorDimensions "default"
- versionCode 80
- versionName "6.4.0"
+ versionCode 81
+ versionName "6.4.1"
buildConfigField "String", "platform", '"ZhanRuiCube"'
}
//MTK
MTKnewly {
flavorDimensions "default"
- versionCode 55
- versionName "2.4.5"
+ versionCode 56
+ versionName "2.4.6"
buildConfigField "String", "platform", '"MTK"'
}
Huaruian {
flavorDimensions "default"
- versionCode 8
- versionName "1.0.7"
+ versionCode 9
+ versionName "1.0.8"
buildConfigField "String", "platform", '"MTK11"'
}
Teclast {
flavorDimensions "default"
- versionCode 8
- versionName "1.0.7"
+ versionCode 13
+ versionName "1.0.9.3"
buildConfigField "String", "platform", '"P20S"'
}
+
+
}
sourceSets {
@@ -135,6 +150,15 @@ android {
v2SigningEnabled false
}
+ zhanRui12 {
+ storeFile file("keystore/zhanrui12.jks")
+ storePassword "123456"
+ keyAlias "zhanrui12"
+ keyPassword "123456"
+ v1SigningEnabled true
+ v2SigningEnabled false
+ }
+
mtk {
storeFile file("keystore/xueshibaoos.jks")
storePassword "123456"
@@ -162,6 +186,15 @@ android {
v2SigningEnabled true
}
+ zhanruiG10Z{
+ storeFile file("keystore/zhanruiG10Z.keystore")
+ storePassword "123456"
+ keyAlias "zhanruiG10Z"
+ keyPassword "123456"
+ v1SigningEnabled true
+ v2SigningEnabled true
+ }
+
mtk12 {
storeFile file("keystore/mtkAndroid12.keystore")
storePassword "123456"
@@ -241,6 +274,18 @@ android {
signingConfig signingConfigs.G10PUserDebug
}
+ zhanruiG10ZDebug.initWith(debug)
+ zhanruiG10ZDebug {
+ versionNameSuffix "-debug"
+ debuggable true
+ signingConfig signingConfigs.zhanruiG10Z
+ }
+
+ zhanruiG10ZRelease.initWith(release)
+ zhanruiG10ZRelease {
+ signingConfig signingConfigs.zhanruiG10Z
+ }
+
TeclastP20SDebug.initWith(debug)
TeclastP20SDebug {
debuggable true
@@ -279,6 +324,18 @@ android {
signingConfig signingConfigs.zhanRuiUserdebug
}
+ zhanRui12Debug.initWith(debug)
+ zhanRui12Debug {
+ debuggable true
+ versionNameSuffix "-debug"
+ signingConfig signingConfigs.zhanRui12
+ }
+
+ zhanRui12Release.initWith(release)
+ zhanRui12Release {
+ signingConfig signingConfigs.zhanRui12
+ }
+
debug {
debuggable true
versionNameSuffix "-debug"
@@ -290,7 +347,7 @@ android {
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null) {
- def fileName = "${appName()}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${buildType.name}.apk"
+ def fileName = "${appName()}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${productFlavors[0].name}-${buildType.name}.apk"
output.outputFileName = fileName
}
}
@@ -309,7 +366,7 @@ android {
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null) {
- def fileName = "${appName()}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${buildType.name}.apk"
+ def fileName = "${appName()}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${productFlavors[0].name}-${buildType.name}.apk"
output.outputFileName = fileName
}
}
@@ -378,14 +435,10 @@ dependencies {
implementation 'com.jakewharton:disklrucache:2.0.2'
//阿里云推送
implementation 'com.aliyun.ams:alicloud-android-push:3.8.0'
-// //fastjson
-// implementation 'com.alibaba:fastjson:1.2.83'
//百度地图
implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'
//MMKV
implementation 'com.tencent:mmkv-static:1.2.13'
- //腾讯移动推送 TPNS
- implementation 'com.tencent.tpns:tpns:1.4.0.1-release'
//工具类
implementation 'com.blankj:utilcodex:1.31.0'
//Aria
diff --git a/app/keystore/zhanrui12.jks b/app/keystore/zhanrui12.jks
new file mode 100644
index 0000000..584d145
Binary files /dev/null and b/app/keystore/zhanrui12.jks differ
diff --git a/app/keystore/zhanruiG10Z.keystore b/app/keystore/zhanruiG10Z.keystore
new file mode 100644
index 0000000..fb9b0bb
Binary files /dev/null and b/app/keystore/zhanruiG10Z.keystore differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 01678ec..aa754de 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -25,22 +25,16 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -161,7 +148,7 @@
@@ -170,18 +157,18 @@
-
-
+
+
@@ -193,16 +180,16 @@
@@ -220,7 +207,7 @@
@@ -237,7 +224,7 @@
@@ -250,11 +237,11 @@
@@ -309,21 +296,9 @@
android:name="org.apache.http.legacy"
android:required="false" />
-
-
-
-
-
-
-
-
-
-
-
-
@@ -336,28 +311,20 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
diff --git a/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java b/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java
index e0828d5..8fe564a 100644
--- a/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java
+++ b/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java
@@ -1,14 +1,12 @@
package com.aoleyun.sn.activity;
import android.annotation.SuppressLint;
-import android.app.AlarmManager;
import android.app.StatusBarManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.media.AudioManager;
-import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
@@ -27,24 +25,19 @@ import androidx.core.content.ContextCompat;
import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.R;
-import com.aoleyun.sn.activity.checknet.CheckNetActivity;
import com.aoleyun.sn.activity.main.MainActivity;
-import com.aoleyun.sn.base.BaseApplication;
import com.aoleyun.sn.comm.CommonConfig;
import com.aoleyun.sn.comm.JGYActions;
import com.aoleyun.sn.comm.PackageNames;
import com.aoleyun.sn.network.NetInterfaceManager;
import com.aoleyun.sn.service.LogcatService;
import com.aoleyun.sn.utils.ApkUtils;
-import com.aoleyun.sn.utils.CmdUtil;
import com.aoleyun.sn.utils.FlowInfo;
-import com.aoleyun.sn.utils.ForegroundAppUtil;
import com.aoleyun.sn.utils.GetFlowUtil;
import com.aoleyun.sn.utils.JGYUtils;
import com.aoleyun.sn.utils.NetworkUtils;
import com.aoleyun.sn.utils.SPUtils;
import com.aoleyun.sn.utils.ServiceAliveUtils;
-import com.aoleyun.sn.utils.TimeUtils;
import com.aoleyun.sn.utils.Utils;
import com.blankj.utilcode.util.PathUtils;
import com.google.gson.Gson;
@@ -53,23 +46,11 @@ import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
import java.io.File;
import java.io.FileOutputStream;
-import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
-import io.reactivex.rxjava3.annotations.NonNull;
-import io.reactivex.rxjava3.core.Observable;
-import io.reactivex.rxjava3.core.ObservableEmitter;
-import io.reactivex.rxjava3.core.ObservableOnSubscribe;
-import io.reactivex.rxjava3.core.Observer;
-import io.reactivex.rxjava3.disposables.Disposable;
-import io.reactivex.rxjava3.functions.Consumer;
-import io.reactivex.rxjava3.schedulers.Schedulers;
-import okhttp3.internal.Util;
-
public class SplashActivity extends AppCompatActivity {
private static String TAG = SplashActivity.class.getSimpleName();
diff --git a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetPresenter.java b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetPresenter.java
index ec3b0c2..3e27459 100644
--- a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetPresenter.java
+++ b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetPresenter.java
@@ -274,7 +274,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
@Override
public void getDesktopIcon() {
- mNetInterfaceManager.getDesktopIcon(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
+ mNetInterfaceManager.getDesktopIcon(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
@Override
public void onComplete() {
JGYUtils.getInstance().hideSystemAPP();
diff --git a/app/src/main/java/com/aoleyun/sn/activity/requestlog/RequestLogAdapter.java b/app/src/main/java/com/aoleyun/sn/activity/requestlog/RequestLogAdapter.java
index a0b4a6e..06ffaf1 100644
--- a/app/src/main/java/com/aoleyun/sn/activity/requestlog/RequestLogAdapter.java
+++ b/app/src/main/java/com/aoleyun/sn/activity/requestlog/RequestLogAdapter.java
@@ -12,7 +12,6 @@ import androidx.recyclerview.widget.RecyclerView;
import com.aoleyun.sn.R;
import com.aoleyun.sn.rlog.LogBean;
import com.aoleyun.sn.utils.TimeUtils;
-import com.aoleyun.sn.utils.Utils;
import java.util.List;
diff --git a/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java b/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java
index 9f74588..f7ae458 100644
--- a/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java
+++ b/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java
@@ -1,10 +1,7 @@
package com.aoleyun.sn.base;
-import android.annotation.SuppressLint;
-import android.content.Context;
import android.os.Handler;
import android.os.Looper;
-import android.os.Process;
import android.text.TextUtils;
import android.util.Log;
@@ -14,50 +11,20 @@ import com.alibaba.sdk.android.push.CloudPushService;
import com.alibaba.sdk.android.push.CommonCallback;
import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
import com.aoleyun.sn.BuildConfig;
-import com.aoleyun.sn.bean.BaseResponse;
-import com.aoleyun.sn.comm.CommonConfig;
-import com.aoleyun.sn.manager.MapManager;
import com.aoleyun.sn.manager.ConnectManager;
import com.aoleyun.sn.manager.FileManager;
+import com.aoleyun.sn.manager.MapManager;
import com.aoleyun.sn.network.NetInterfaceManager;
-import com.aoleyun.sn.network.UrlAddress;
import com.aoleyun.sn.push.PushManager;
import com.aoleyun.sn.rlog.LogDBManager;
-import com.aoleyun.sn.statistics.AppInformation;
-import com.aoleyun.sn.statistics.StatisticsInfo;
-import com.aoleyun.sn.utils.ApkUtils;
import com.aoleyun.sn.utils.JGYUtils;
-import com.aoleyun.sn.utils.SystemUtils;
import com.aoleyun.sn.utils.ToastUtil;
import com.aoleyun.sn.utils.Utils;
import com.aoleyun.sn.utils.WiFiUtils;
import com.aoleyun.sn.utils.XAPKUtils;
import com.arialyy.aria.core.Aria;
-import com.tencent.android.tpush.XGIOperateCallback;
-import com.tencent.android.tpush.XGPushConfig;
-import com.tencent.android.tpush.XGPushManager;
import com.tencent.mmkv.MMKV;
-import org.jetbrains.annotations.NotNull;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
-import io.reactivex.rxjava3.core.Observable;
-import io.reactivex.rxjava3.core.ObservableEmitter;
-import io.reactivex.rxjava3.core.ObservableOnSubscribe;
-import io.reactivex.rxjava3.core.Observer;
-import io.reactivex.rxjava3.disposables.Disposable;
-import io.reactivex.rxjava3.schedulers.Schedulers;
-import okhttp3.Call;
-import okhttp3.Callback;
-import okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-
public class BaseApplication extends MultiDexApplication {
private static final String TAG = BaseApplication.class.getSimpleName();
@@ -79,8 +46,8 @@ public class BaseApplication extends MultiDexApplication {
Log.e(TAG, "mmkv root: " + rootDir);
PushManager.init(this);
- tPushInit();
aliyunPushInit();
+
ToastUtil.init(this);
NetInterfaceManager.init(this);
JGYUtils.init(this);
@@ -124,42 +91,6 @@ public class BaseApplication extends MultiDexApplication {
});
}
- private void tPushInit() {
- XGPushConfig.enableDebug(this, true);
- XGPushManager.registerPush(this, new XGIOperateCallback() {
- @Override
- public void onSuccess(Object data, int flag) {
- //token在设备卸载重装的时候有可能会变
- Log.e("TPush", "注册成功,设备token为:" + data);
- MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE).encode("XGPushtoken", data.toString());
- List accountInfoList = new ArrayList<>();
- String sn = Utils.getSerial(getApplicationContext());
- Log.e("TPush", "onSuccess: " + sn);
- accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), sn));
- if (Utils.NOSN.equalsIgnoreCase(sn)) {
- accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), Utils.getIMEI(getApplicationContext(), 0)));
- accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), Utils.getIMEI(getApplicationContext(), 1)));
- }
- XGPushManager.upsertAccounts(getApplicationContext(), accountInfoList, new XGIOperateCallback() {
- @Override
- public void onSuccess(Object data, int flag) {
- Log.e("TPush upsertAccounts", "onSuccess, data:" + data + ", flag:" + flag);
- }
-
- @Override
- public void onFail(Object data, int errCode, String msg) {
- Log.e("TPush upsertAccounts", "onFail, data:" + data + ", code:" + errCode + ", msg:" + msg);
- }
- });
- }
-
- @Override
- public void onFail(Object data, int errCode, String msg) {
- Log.e("TPush", "注册失败,错误码:" + errCode + ",错误信息:" + msg);
- }
- });
- }
-
private void aliyunPushInit() {
PushServiceFactory.init(this);
final CloudPushService pushService = PushServiceFactory.getCloudPushService();
@@ -169,39 +100,65 @@ public class BaseApplication extends MultiDexApplication {
public void onSuccess(String response) {
Log.e("AliyunPush", "init cloudchannel success");
Log.e("AliyunPush", "init cloudchannel success " + pushService.getDeviceId());
- String sn = Utils.getSerial(BaseApplication.this);
- if (TextUtils.isEmpty(sn)) {
- return;
- }
- pushService.bindAccount(sn, new CommonCallback() {
- @Override
- public void onSuccess(String s) {
- Log.e("AliyunPush", "bind account " + sn + " success\n");
- }
-
- @Override
- public void onFailed(String errorCode, String errorMsg) {
- Log.e("AliyunPush", "bind account " + sn + " failed." +
- "errorCode: " + errorCode + ", errorMsg:" + errorMsg);
- }
- });
- pushService.addAlias(sn, new CommonCallback() {
- @Override
- public void onSuccess(String s) {
- Log.e("AliyunPush", "add alias " + sn + " success\n");
- }
-
- @Override
- public void onFailed(String errorCode, String errorMsg) {
- Log.e("AliyunPush", "add alias " + sn + " failed." +
- "errorCode: " + errorCode + ", errorMsg:" + errorMsg + "\n");
- }
- });
+ setAlias();
}
@Override
public void onFailed(String errorCode, String errorMessage) {
Log.e("AliyunPush", "init cloudchannel failed -- errorcode:" + errorCode + " -- errorMessage:" + errorMessage);
+ Handler.getMain().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ Log.e("AliyunPush", "retry register");
+ aliyunPushInit();
+ }
+ }, 30000);
+ }
+ });
+ }
+
+ private void setAlias() {
+ final CloudPushService pushService = PushServiceFactory.getCloudPushService();
+ String sn = Utils.getSerial(BaseApplication.this);
+ if (TextUtils.isEmpty(sn)) {
+ return;
+ }
+ pushService.bindAccount(sn, new CommonCallback() {
+ @Override
+ public void onSuccess(String s) {
+ Log.e("AliyunPush", "bind account " + sn + " success\n");
+ }
+
+ @Override
+ public void onFailed(String errorCode, String errorMsg) {
+ Log.e("AliyunPush", "bind account " + sn + " failed." +
+ "errorCode: " + errorCode + ", errorMsg:" + errorMsg);
+ Handler.getMain().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ Log.e("AliyunPush", "retry bindAccount");
+ setAlias();
+ }
+ }, 30000);
+ }
+ });
+ pushService.addAlias(sn, new CommonCallback() {
+ @Override
+ public void onSuccess(String s) {
+ Log.e("AliyunPush", "add alias " + sn + " success\n");
+ }
+
+ @Override
+ public void onFailed(String errorCode, String errorMsg) {
+ Log.e("AliyunPush", "add alias " + sn + " failed." +
+ "errorCode: " + errorCode + ", errorMsg:" + errorMsg + "\n");
+ Handler.getMain().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ Log.e("AliyunPush", "retry addAlias");
+ setAlias();
+ }
+ }, 30000);
}
});
}
diff --git a/app/src/main/java/com/aoleyun/sn/bean/BaseResponse.java b/app/src/main/java/com/aoleyun/sn/bean/BaseResponse.java
index ce3cec3..0cd881b 100644
--- a/app/src/main/java/com/aoleyun/sn/bean/BaseResponse.java
+++ b/app/src/main/java/com/aoleyun/sn/bean/BaseResponse.java
@@ -4,7 +4,6 @@ import androidx.annotation.NonNull;
import com.google.gson.Gson;
-import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.Serializable;
diff --git a/app/src/main/java/com/aoleyun/sn/bean/ForceDownloadData.java b/app/src/main/java/com/aoleyun/sn/bean/ForceDownloadData.java
index b769d2f..4d02067 100644
--- a/app/src/main/java/com/aoleyun/sn/bean/ForceDownloadData.java
+++ b/app/src/main/java/com/aoleyun/sn/bean/ForceDownloadData.java
@@ -8,12 +8,12 @@ import java.io.Serializable;
public class ForceDownloadData implements Serializable {
private static final long serialVersionUID = 2965901905485481437L;
- private String app_name;
- private String app_package;
- private String app_url;
- private String app_id;
- private String app_md5;
- private long app_version_code;
+ String app_name;
+ String app_package;
+ String app_url;
+ String app_id;
+ String app_md5;
+ long app_version_code;
public String getApp_package() {
return app_package;
diff --git a/app/src/main/java/com/aoleyun/sn/comm/CommonConfig.java b/app/src/main/java/com/aoleyun/sn/comm/CommonConfig.java
index c779fc3..73ca140 100644
--- a/app/src/main/java/com/aoleyun/sn/comm/CommonConfig.java
+++ b/app/src/main/java/com/aoleyun/sn/comm/CommonConfig.java
@@ -31,6 +31,8 @@ public class CommonConfig {
*/
public final static String DEVICES_FRIST_START = "DEVICES_FRIST_START";
+ /*保存激活码*/
+ public static final String ACTIVATIONBEAN_CODE_KEY = "UIUI_ACTIVATIONBEAN_CODE";
/*保存的应用版本号*/
public final static String SN_VERSIONCODE = "SN_VERSIONCODE";
/*重启标识*/
diff --git a/app/src/main/java/com/aoleyun/sn/dialog/UpdateDialog.java b/app/src/main/java/com/aoleyun/sn/dialog/UpdateDialog.java
index fa1b6a2..82fcb83 100644
--- a/app/src/main/java/com/aoleyun/sn/dialog/UpdateDialog.java
+++ b/app/src/main/java/com/aoleyun/sn/dialog/UpdateDialog.java
@@ -5,7 +5,6 @@ import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
-import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
diff --git a/app/src/main/java/com/aoleyun/sn/manager/ConnectManager.java b/app/src/main/java/com/aoleyun/sn/manager/ConnectManager.java
index 48e8833..0063822 100644
--- a/app/src/main/java/com/aoleyun/sn/manager/ConnectManager.java
+++ b/app/src/main/java/com/aoleyun/sn/manager/ConnectManager.java
@@ -5,7 +5,6 @@ import android.content.Context;
import android.util.Log;
import com.aoleyun.sn.comm.CommonConfig;
-import com.aoleyun.sn.utils.TimeUtils;
import com.tencent.mmkv.MMKV;
public class ConnectManager {
diff --git a/app/src/main/java/com/aoleyun/sn/manager/FileManager.java b/app/src/main/java/com/aoleyun/sn/manager/FileManager.java
index 6d7243c..1506a60 100644
--- a/app/src/main/java/com/aoleyun/sn/manager/FileManager.java
+++ b/app/src/main/java/com/aoleyun/sn/manager/FileManager.java
@@ -4,7 +4,6 @@ import android.content.Context;
import android.util.Log;
import com.aoleyun.sn.utils.JGYUtils;
-import com.blankj.utilcode.util.PathUtils;
import java.io.File;
diff --git a/app/src/main/java/com/aoleyun/sn/manager/MapManager.java b/app/src/main/java/com/aoleyun/sn/manager/MapManager.java
index a1bff3a..9e616b8 100644
--- a/app/src/main/java/com/aoleyun/sn/manager/MapManager.java
+++ b/app/src/main/java/com/aoleyun/sn/manager/MapManager.java
@@ -42,7 +42,9 @@ public class MapManager {
}
public void initMap() {
+ Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.ASSISTED_GPS_ENABLED, 1);
Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "+gps");
+ Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "+network");
mLocationClient = new LocationClient(mContext);
mLocationClient.setLocOption(getDefaultLocationClientOption());
mLocationClient.registerLocationListener(mListener);
@@ -51,7 +53,9 @@ public class MapManager {
}
public LocationClient getLocationClient() {
+ Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.ASSISTED_GPS_ENABLED, 1);
Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "+gps");
+ Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "+network");
if (mLocationClient == null) {
initMap();
}
@@ -126,9 +130,11 @@ public class MapManager {
}
Log.e(TAG, "MapAddress: " + (String) SPUtils.get(mContext, "MapAddress", "-"));
Log.e(TAG, "MapError: " + (String) SPUtils.get(mContext, "MapError", "-"));
- Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "-network");
- Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "-gps");
- Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.ASSISTED_GPS_ENABLED, 0);
+// Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "-network");
+// Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "-gps");
+// Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "");
+// Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.ASSISTED_GPS_ENABLED, 0);
+ mLocationClient.stop();
}
@Override
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 cc7cec1..99fa6cf 100644
--- a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java
+++ b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java
@@ -122,8 +122,6 @@ import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
-import com.tencent.android.tpush.XGIOperateCallback;
-import com.tencent.android.tpush.XGPushManager;
import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
@@ -151,7 +149,6 @@ import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.BiFunction;
import io.reactivex.rxjava3.functions.Function5;
-import io.reactivex.rxjava3.functions.Function6;
import io.reactivex.rxjava3.schedulers.Schedulers;
import io.reactivex.rxjava3.subjects.BehaviorSubject;
import okhttp3.Cache;
@@ -899,9 +896,9 @@ public class NetInterfaceManager {
}
public void getForceDownload(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) {
- ConnectMode connectMode = ConnectMode.ONE_HOUR;
+ ConnectMode connectMode = ConnectMode.ONE_MINUTE;
if (refresh) {
- connectMode = ConnectMode.ONE_MINUTE;
+ connectMode = ConnectMode.DEFAULT;
}
if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_FORCE_INSTALL_LIST, connectMode)) {
getForceDownload(lifecycle, callback);
@@ -1002,9 +999,11 @@ public class NetInterfaceManager {
if (jsonString == null) {
getDefaultDesktop(lifecycle, callback);
} else {
- JsonObject data = GsonUtils.getJsonObject(jsonString);
- if (data != null) {
- JGYUtils.getInstance().installDesktop(data);
+ if (!TextUtils.isEmpty(jsonString)) {
+ JsonObject data = GsonUtils.getJsonObject(jsonString);
+ if (data != null) {
+ JGYUtils.getInstance().installDesktop(data);
+ }
}
callback.onComplete();
}
@@ -1047,27 +1046,23 @@ public class NetInterfaceManager {
} else {
Log.e("getDefaultDesktop", "onNext: " + "删除定制桌面");
cacheHelper.put(UrlAddress.GET_DESKTOP, "");
- String whiteList = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST);
- Log.e("getDefaultDesktop", "onNext: " + whiteList);
-
- if (!TextUtils.isEmpty(whiteList)) {
- if (!whiteList.contains(ApkUtils.desktopAPP.get(0))) {
- if (!BuildConfig.DEBUG) {
- ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(0));
- }
- Log.e("getDefaultDesktop", "skip: " + ApkUtils.desktopAPP.get(0));
+// String whiteList = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST);
+ for (String s : ApkUtils.desktopAPP) {
+ ApkUtils.UninstallAPP(mContext, s);
+ Log.e("getDefaultDesktop", "UninstallAPP: " + s);
+ }
+ if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.AH6016Platform) {
+ PackageManager pm = mContext.getPackageManager();
+ try {
+ pm.setApplicationEnabledSetting("com.aoleyunos.dop3", PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
+ } catch (Exception e) {
+ Log.e("getDefaultDesktop", "onNext: " + e.getMessage());
}
- if (!whiteList.contains(ApkUtils.desktopAPP.get(1))) {
- if (!BuildConfig.DEBUG) {
- ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(1));
- }
- Log.e("getDefaultDesktop", "skip: " + ApkUtils.desktopAPP.get(1));
- }
- } else {
- ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(0));
- ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(1));
+ setDefaultDesktop("com.aoleyunos.dop3");
}
}
+
+
}
@Override
@@ -1718,6 +1713,7 @@ public class NetInterfaceManager {
Log.e("getEBagCode", "onNext: " + baseResponse);
if (baseResponse.code == OK) {
EBagCode eBagCode = baseResponse.data;
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.ACTIVATIONBEAN_CODE_KEY, eBagCode.getEbagCode());
cacheHelper.put(UrlAddress.GET_EBAG_CODE, GsonUtils.toJSONString(eBagCode));
String ebagCode = eBagCode.getEbagCode();
SPUtils.put(mContext, "ebagCode", ebagCode);
@@ -1817,7 +1813,13 @@ public class NetInterfaceManager {
} else {
Log.e(TAG, "setDefaultApp: default_IME is empty");
}
-
+ String default_launcher = defaultApp.getDefault_launcher();
+ if (!TextUtils.isEmpty(default_launcher)) {
+ JGYUtils.getInstance().setDefaultDesktop(default_launcher);
+ } else {
+ JGYUtils.getInstance().setDefaultDesktop("com.aoleyun.os");
+ Log.e(TAG, "setDefaultApp: default_launcher is empty");
+ }
}
private String getInputMethodId(String pkg) {
@@ -1833,23 +1835,19 @@ public class NetInterfaceManager {
}
private void setDefaultDesktop(String defaultApp) {
-// int aihuaUnlock = Settings.System.getInt(mContext.getContentResolver(), CommonConfig.AIHUA_UNLOCK, 0);
-// if (aihuaUnlock == 1) {
-// JGYUtils.getInstance().setDefaultDesktop(PackageNames.DESKTOP);
-// } else {
-// if (!TextUtils.isEmpty(defaultApp)) {
-// JGYUtils.getInstance().setDefaultDesktop(defaultApp);
-// SPUtils.put(mContext, "default_launcher", defaultApp);
-// } else {
-// String default_launcher = (String) SPUtils.get(mContext, "default_launcher", "");
-// Log.e("getDefaultApp", "onNext: " + default_launcher);
-// if (TextUtils.isEmpty(default_launcher)) {
-// JGYUtils.getInstance().setDefaultDesktop();
-// } else {
-// JGYUtils.getInstance().setDefaultDesktop(default_launcher);
-// }
-// }
-// }
+ if (!TextUtils.isEmpty(defaultApp)) {
+ JGYUtils.getInstance().setDefaultDesktop(defaultApp);
+ SPUtils.put(mContext, "default_launcher", defaultApp);
+ } else {
+ String default_launcher = (String) SPUtils.get(mContext, "default_launcher", "");
+ Log.e("getDefaultApp", "onNext: " + default_launcher);
+ if (TextUtils.isEmpty(default_launcher)) {
+ JGYUtils.getInstance().setDefaultDesktop();
+ } else {
+ JGYUtils.getInstance().setDefaultDesktop(default_launcher);
+ }
+ }
+
}
public interface StudesInfoListener {
@@ -1967,8 +1965,10 @@ public class NetInterfaceManager {
JGYUtils.getInstance().setYxpDefaultDesktop();
}
Settings.System.putInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_LOCKED);
+ Settings.System.putInt(mContext.getContentResolver(), CommonConfig.AOLE_APP_ALLOW_INSTALL, 0);
} else if (locked == JGYActions.NET_CODE_UNLOCKED) {
// SysSettingUtils.setEnableSetting(mContext);
+ JGYUtils.getInstance().writeAppPackageList();
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.TeclastP20sPlatform) {
JGYUtils.getInstance().hideApp(PackageNames.YIXUEPAI_DESKTOP);
JGYUtils.getInstance().setDefaultDesktop();
@@ -1976,6 +1976,8 @@ public class NetInterfaceManager {
mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);
}
Settings.System.putInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_UNLOCKED);
+ Settings.System.putInt(mContext.getContentResolver(), CommonConfig.AOLE_APP_ALLOW_INSTALL, 1);
+
}
} else if (response.code == NOTFOUND) {
Settings.System.putInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_LOCKED);
@@ -2073,9 +2075,9 @@ public class NetInterfaceManager {
}
public void setPushTags(boolean refresh, BehaviorSubject lifecycle, PushTagCallback callback) {
- ConnectMode connectMode = ConnectMode.ONE_DAY;
+ ConnectMode connectMode = ConnectMode.DEFAULT;
if (refresh) {
- connectMode = ConnectMode.SIX_HOUR;
+ connectMode = ConnectMode.DEFAULT;
}
if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_DEVICES_TAGS, connectMode)) {
setPushTags(lifecycle, callback);
@@ -2119,6 +2121,7 @@ public class NetInterfaceManager {
@Override
public void onNext(@NonNull BaseResponse response) {
+ Set tags = new HashSet<>();
if (response.code == OK) {
cacheHelper.put(UrlAddress.GET_DEVICES_TAGS, GsonUtils.toJSONString(response.data));
String batch = response.data.getBatch();
@@ -2131,6 +2134,7 @@ public class NetInterfaceManager {
if (callback != null)
callback.setPushTag(batch);
mMMKV.encode(CommonConfig.DEVICES_TAG, batch);
+ tags.add(batch);
}
} else {
cacheHelper.put(UrlAddress.GET_DEVICES_TAGS, "");
@@ -2138,6 +2142,7 @@ public class NetInterfaceManager {
callback.setPushTag("");
Log.e("setPushTags", "onNext: " + response.toString());
}
+ clearAndAppendTags(tags);
}
@Override
@@ -2145,6 +2150,11 @@ public class NetInterfaceManager {
Log.e("setPushTags", "onError: " + e.getMessage());
String batch = mMMKV.decodeString(CommonConfig.DEVICES_TAG, "");
Log.e("setPushTags", "tagSets: " + batch);
+ Set tags = new HashSet<>();
+ if (!TextUtils.isEmpty(batch)) {
+ tags.add(batch);
+ }
+ clearAndAppendTags(tags);
if (callback != null)
callback.setPushTag(batch);
onComplete();
@@ -2158,28 +2168,35 @@ public class NetInterfaceManager {
}
public void clearAndAppendTags(Set tagSets) {
- XGPushManager.clearAndAppendTags(mContext, "clearAndAppendTags :" + System.currentTimeMillis(), tagSets, new XGIOperateCallback() {
- @Override
- public void onSuccess(Object o, int i) {
- Log.e("setPushTags", "onSuccess: " + o);
- }
-
- @Override
- public void onFail(Object o, int i, String s) {
- Log.e("setPushTags", "onFail: " + o);
+ JGYUtils.getInstance().getAppPlatform(platform -> {
+ if (platform == JGYUtils.MTKPlatform) {
+ tagSets.add(JGYUtils.MTKTag);
+ } else if (platform == JGYUtils.CubePlatform) {
+ tagSets.add(JGYUtils.ZhanruiTag);
+ } else if (platform == JGYUtils.ZhanruiPlatform) {
+ tagSets.add(JGYUtils.ZhanruiTag);
+ } else if (platform == JGYUtils.MTK11Platform) {
+ tagSets.add(JGYUtils.MTK11Tag);
+ } else if (platform == JGYUtils.TeclastP20sPlatform) {
+ tagSets.add(JGYUtils.TeclastP20sTag);
+ } else if (platform == JGYUtils.AH6016Platform) {
+ tagSets.add(JGYUtils.AH6016Tag);
+ } else if (platform == JGYUtils.ZR6016Platform) {
+ tagSets.add(JGYUtils.ZR6016Tag);
}
});
+ Log.e(TAG, "clearAndAppendTags: " + tagSets);
String[] tag = new ArrayList<>(tagSets).toArray(new String[tagSets.size()]);
CloudPushService pushService = PushServiceFactory.getCloudPushService();
pushService.bindTag(CloudPushService.DEVICE_TARGET, tag, null, new CommonCallback() {
@Override
public void onSuccess(String s) {
- Log.e("bindTag", "bind tag " + Arrays.toString(tag) + " success\n");
+ Log.e("clearAndAppendTags", "bind tag " + Arrays.toString(tag) + " success\n");
}
@Override
public void onFailed(String errorCode, String errorMsg) {
- Log.e("bindTag", "bind tag " + Arrays.toString(tag) + " failed." +
+ Log.e("clearAndAppendTags", "bind tag " + Arrays.toString(tag) + " failed." +
"errorCode: " + errorCode + ", errorMsg:" + errorMsg + "\n");
}
});
@@ -2770,11 +2787,11 @@ public class NetInterfaceManager {
cacheHelper.put(UrlAddress.SET_WHITE_PACKAGE_LIST, GsonUtils.toJSONString(appLimit));
String result = appLimit.getResult();
//开机图标 只记录后台传的包名
- boolean write = Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, result);
- Log.e(TAG, "onNext: only_jgy_shortcut_list: " + write);
+ Log.e(TAG, "onNext: only_jgy_shortcut_list: " + Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, result));
JGYUtils.getInstance().writeAppPackageList(mContext, result);
JGYUtils.getInstance().deleteOtherApp();
} else {
+ Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST, "");
JGYUtils.getInstance().writeAppPackageList();
cacheHelper.put(UrlAddress.SET_WHITE_PACKAGE_LIST, "");
Log.e("getAppLimit", "onNext: " + baseResponse);
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/GetWhoisApi.java b/app/src/main/java/com/aoleyun/sn/network/api/GetWhoisApi.java
index ccb00d9..a54eae5 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/GetWhoisApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/GetWhoisApi.java
@@ -4,7 +4,6 @@ import com.aoleyun.sn.bean.WhoisBean;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.rxjava3.core.Observable;
-import okhttp3.ResponseBody;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/get/GetDesktopApi.java b/app/src/main/java/com/aoleyun/sn/network/api/get/GetDesktopApi.java
index ddd7dee..5eeb1dd 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/get/GetDesktopApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/get/GetDesktopApi.java
@@ -5,7 +5,6 @@ import com.aoleyun.sn.bean.ForceDownloadData;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.rxjava3.core.Observable;
-import okhttp3.ResponseBody;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/get/GetWiFiAliasApi.java b/app/src/main/java/com/aoleyun/sn/network/api/get/GetWiFiAliasApi.java
index 95ed614..2463b36 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/get/GetWiFiAliasApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/get/GetWiFiAliasApi.java
@@ -8,10 +8,7 @@ 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.GET;
-import retrofit2.http.POST;
import retrofit2.http.Query;
/**
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/post/DeselectIDApi.java b/app/src/main/java/com/aoleyun/sn/network/api/post/DeselectIDApi.java
index eb28efe..2f84db3 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/post/DeselectIDApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/post/DeselectIDApi.java
@@ -5,7 +5,6 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
import io.reactivex.rxjava3.core.Observable;
-import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/post/MACAddressApi.java b/app/src/main/java/com/aoleyun/sn/network/api/post/MACAddressApi.java
index e8a0828..325fcf9 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/post/MACAddressApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/post/MACAddressApi.java
@@ -3,8 +3,6 @@ package com.aoleyun.sn.network.api.post;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import java.io.File;
-
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/post/NetworkConnectApi.java b/app/src/main/java/com/aoleyun/sn/network/api/post/NetworkConnectApi.java
index a39d20a..46ff6f0 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/post/NetworkConnectApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/post/NetworkConnectApi.java
@@ -3,8 +3,6 @@ package com.aoleyun.sn.network.api.post;
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;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/post/SendScreenshotApi.java b/app/src/main/java/com/aoleyun/sn/network/api/post/SendScreenshotApi.java
index 096032b..392d2ec 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/post/SendScreenshotApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/post/SendScreenshotApi.java
@@ -7,7 +7,6 @@ import java.util.Map;
import io.reactivex.rxjava3.core.Observable;
import okhttp3.MultipartBody;
-import retrofit2.http.Field;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
diff --git a/app/src/main/java/com/aoleyun/sn/network/interceptor/PostCacheInterceptor.java b/app/src/main/java/com/aoleyun/sn/network/interceptor/PostCacheInterceptor.java
index 025519e..2c9d527 100644
--- a/app/src/main/java/com/aoleyun/sn/network/interceptor/PostCacheInterceptor.java
+++ b/app/src/main/java/com/aoleyun/sn/network/interceptor/PostCacheInterceptor.java
@@ -2,7 +2,6 @@ package com.aoleyun.sn.network.interceptor;
import android.text.TextUtils;
-import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.disklrucache.DiskLruCacheHelper;
import com.aoleyun.sn.utils.JGYUtils;
import com.blankj.utilcode.util.LogUtils;
diff --git a/app/src/main/java/com/aoleyun/sn/push/PushManager.java b/app/src/main/java/com/aoleyun/sn/push/PushManager.java
index c75d656..a645ac6 100644
--- a/app/src/main/java/com/aoleyun/sn/push/PushManager.java
+++ b/app/src/main/java/com/aoleyun/sn/push/PushManager.java
@@ -57,9 +57,11 @@ import com.tencent.mmkv.MMKV;
import java.io.File;
import java.lang.reflect.Type;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
@@ -207,20 +209,7 @@ public class PushManager {
switch (title) {
case MSG_DELETE:
ToastUtil.betaShow("收到管控:应用删除");
- if (!TextUtils.isEmpty(extras)) {
- JsonObject jsonObject = GsonUtils.getJsonObject(extras);
- String pkg = jsonObject.get("package_name").getAsString();
- if (TextUtils.isEmpty(pkg)) return;
- ApkUtils.UninstallAPP(mContext, pkg);
- }
- Handler.getMain().postDelayed(new Runnable() {
- @Override
- public void run() {
- NetInterfaceManager.getInstance().getDesktopIcon();
- NetInterfaceManager.getInstance().getDefaultDesktop();
- NetInterfaceManager.getInstance().getNetAndLaunchSetting();
- }
- }, 1234);
+ deleteApp(extras);
break;
case MSG_SETTING:
ToastUtil.betaShow("收到管控:系统设置");
@@ -395,6 +384,7 @@ public class PushManager {
}
Log.e(TAG, "MapAddress: " + SPUtils.get(mContext, "MapAddress", "-"));
Log.e(TAG, "MapError: " + SPUtils.get(mContext, "MapError", "-"));
+ locationClient.stop();
}
@Override
@@ -543,12 +533,39 @@ public class PushManager {
getBatteryInfo(mContext);
break;
case UPDATE_DESKTOP:
-
+ NetInterfaceManager.getInstance().getDefaultDesktop();
break;
default:
}
}
+ private void deleteApp(String extras) {
+ if (!TextUtils.isEmpty(extras)) {
+ JsonObject jsonObject = GsonUtils.getJsonObject(extras);
+ String pkg = jsonObject.get("package_name").getAsString();
+ if (TextUtils.isEmpty(pkg)) return;
+ String forceApp = Settings.System.getString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP);
+ if (!TextUtils.isEmpty(forceApp)) {
+ List forceAppList = new ArrayList<>(Arrays.asList(forceApp.split(",")));
+ forceAppList.remove(pkg);
+ if (forceAppList.size() != 0) {
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, String.join(",", forceAppList));
+ } else {
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, "");
+ }
+ }
+ ApkUtils.UninstallAPP(mContext, pkg);
+ }
+ Handler.getMain().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ NetInterfaceManager.getInstance().getDesktopIcon();
+ NetInterfaceManager.getInstance().getDefaultDesktop();
+ NetInterfaceManager.getInstance().getNetAndLaunchSetting();
+ }
+ }, 1234);
+ }
+
private int changeNum(int paramInt) {
return paramInt == 0 ? 1 : 0;
}
diff --git a/app/src/main/java/com/aoleyun/sn/push/tpush/Constants.java b/app/src/main/java/com/aoleyun/sn/push/tpush/Constants.java
deleted file mode 100644
index 6975260..0000000
--- a/app/src/main/java/com/aoleyun/sn/push/tpush/Constants.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.aoleyun.sn.push.tpush;
-
-/**
- * Created by chacewang on 2019/7/5.
- */
-
-public class Constants {
- public static final int TEST_LOCAL_NOTIFICATION = 1;
- public static final int TEST_NOTIFICATION = 2;
- public static final int TEST_SET_TAG = 3;
- public static final int TEST_DEL_TAG = 4;
- public static final int TEST_SET_ACCOUNT = 5;
- public static final int TEST_DEL_ACCOUNT = 6;
-
- public static final String LOCAL_NOTIFICATION_TITLE = "localtest";
- public static final String TEST_TAG_NAME = "DiagnosisTag";
-}
diff --git a/app/src/main/java/com/aoleyun/sn/push/tpush/MessageReceiver.java b/app/src/main/java/com/aoleyun/sn/push/tpush/MessageReceiver.java
deleted file mode 100644
index efef39b..0000000
--- a/app/src/main/java/com/aoleyun/sn/push/tpush/MessageReceiver.java
+++ /dev/null
@@ -1,307 +0,0 @@
-package com.aoleyun.sn.push.tpush;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.text.TextUtils;
-import android.util.Log;
-import android.widget.Toast;
-
-import com.aoleyun.sn.disklrucache.CacheHelper;
-import com.aoleyun.sn.push.PushManager;
-import com.aoleyun.sn.push.tpush.common.NotificationService;
-import com.aoleyun.sn.push.tpush.po.XGNotification;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import com.tencent.android.tpush.NotificationAction;
-import com.tencent.android.tpush.XGPushBaseReceiver;
-import com.tencent.android.tpush.XGPushClickedResult;
-import com.tencent.android.tpush.XGPushRegisterResult;
-import com.tencent.android.tpush.XGPushShowedResult;
-import com.tencent.android.tpush.XGPushTextMessage;
-
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-
-public class MessageReceiver extends XGPushBaseReceiver {
- private static final String TAG = MessageReceiver.class.getSimpleName();
-
- public static final String UPDATE_LISTVIEW_ACTION = "com.qq.xgdemo.activity.UPDATE_LISTVIEW";
- public static final String TEST_ACTION = "com.qq.xgdemo.activity.TEST_ACTION";
- public static final String LogTag = "xg.test";
-
- private Context mContext;
- private ContentResolver mResolver;
- private PackageManager mPackageManager;
- private CacheHelper cacheHelper;
-
- /**
- * 消息透传处理
- *
- * @param context
- * @param message 解析自定义的 JSON
- */
- @Override
- public void onTextMessage(Context context, XGPushTextMessage message) {
- this.mContext = context;
- this.mResolver = context.getContentResolver();
- this.mPackageManager = context.getPackageManager();
- this.cacheHelper = new CacheHelper(context);
- String text = "收到消息:" + message.toString();
- // 获取自定义key-value
- String customContent = message.getCustomContent();
- if (customContent != null && customContent.length() != 0) {
- JsonObject obj = JsonParser.parseString(customContent).getAsJsonObject();
- // key1为前台配置的key
- if (!TextUtils.isEmpty(obj.get("key").getAsString())) {
- String value = obj.get("key").getAsString();
- Log.d(LogTag, "get custom value:" + value);
- }
- // ...
- }
- // APP自主处理消息的过程...
- Log.e(LogTag, text);
- show(context, text);
- processCustomMessage(context, message);
- }
-
- /**
- * 通知展示
- *
- * @param context
- * @param notifiShowedRlt 包含通知的内容
- */
- @Override
- public void onNotificationShowedResult(Context context, XGPushShowedResult notifiShowedRlt) {
- if (context == null || notifiShowedRlt == null) {
- return;
- }
- XGNotification notific = new XGNotification();
- notific.setMsg_id(notifiShowedRlt.getMsgId());
- notific.setTitle(notifiShowedRlt.getTitle());
- notific.setContent(notifiShowedRlt.getContent());
- // notificationActionType==1为Activity,2为url,3为intent
- notific.setNotificationActionType(notifiShowedRlt
- .getNotificationActionType());
- // Activity,url,intent都可以通过getActivity()获得
- notific.setActivity(notifiShowedRlt.getActivity());
- notific.setUpdate_time(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
- .format(Calendar.getInstance().getTime()));
- NotificationService.getInstance(context).save(notific);
-
- Intent testIntent = new Intent(TEST_ACTION);
- if (notifiShowedRlt.getTitle().equals(Constants.LOCAL_NOTIFICATION_TITLE)) {
- testIntent.putExtra("step", Constants.TEST_LOCAL_NOTIFICATION);
- } else {
- testIntent.putExtra("step", Constants.TEST_NOTIFICATION);
- }
- context.sendBroadcast(testIntent);
-
- Intent viewIntent = new Intent(UPDATE_LISTVIEW_ACTION);
- context.sendBroadcast(viewIntent);
- show(context, "您有1条新消息, " + "通知被展示 , " + notifiShowedRlt.toString());
- Log.d(LogTag, "您有1条新消息, " + "通知被展示 , " + notifiShowedRlt.toString() + ", PushChannel:" + notifiShowedRlt.getPushChannel());
- }
-
- /**
- * 注册回调
- *
- * @param context
- * @param errorCode 0 为成功,其它为错误码
- */
- @Override
- public void onRegisterResult(Context context, int errorCode, XGPushRegisterResult message) {
- if (context == null || message == null) {
- return;
- }
- String text = "";
- if (errorCode == XGPushBaseReceiver.SUCCESS) {
- // 在这里拿token
- String token = message.getToken();
- text = "注册成功1. token:" + token;
- } else {
- text = message + "注册失败,错误码:" + errorCode;
- }
- Log.d(LogTag, text);
- show(context, text);
- }
-
- /**
- * 反注册回调
- *
- * @param context
- * @param errorCode 0 为成功,其它为错误码
- */
- @Override
- public void onUnregisterResult(Context context, int errorCode) {
- if (context == null) {
- return;
- }
- String text = "";
- if (errorCode == XGPushBaseReceiver.SUCCESS) {
- text = "反注册成功";
- } else {
- text = "反注册失败" + errorCode;
- }
- Log.d(LogTag, text);
- show(context, text);
-
- }
-
- /**
- * 设置标签回调
- *
- * @param context
- * @param errorCode 0 为成功,其它为错误码
- * @param tagName 设置的 TAG
- */
- @Override
- public void onSetTagResult(Context context, int errorCode, String tagName) {
- if (context == null) {
- return;
- }
- String text = "";
- if (errorCode == XGPushBaseReceiver.SUCCESS) {
- text = "\"" + tagName + "\"设置成功";
- } else {
- text = "\"" + tagName + "\"设置失败,错误码:" + errorCode;
- }
- Log.d(LogTag, text);
- show(context, text);
-
- Intent testIntent = new Intent(TEST_ACTION);
- testIntent.putExtra("step", Constants.TEST_SET_TAG);
- context.sendBroadcast(testIntent);
- }
-
- /**
- * 删除标签的回调
- *
- * @param context
- * @param errorCode 0 为成功,其它为错误码
- * @param tagName 设置的 TAG
- */
- @Override
- public void onDeleteTagResult(Context context, int errorCode, String tagName) {
- if (context == null) {
- return;
- }
- String text = "";
- if (errorCode == XGPushBaseReceiver.SUCCESS) {
- text = "\"" + tagName + "\"删除成功";
- } else {
- text = "\"" + tagName + "\"删除失败,错误码:" + errorCode;
- }
- Log.d(LogTag, text);
- show(context, text);
-
- Intent testIntent = new Intent(TEST_ACTION);
- testIntent.putExtra("step", Constants.TEST_DEL_TAG);
- context.sendBroadcast(testIntent);
- }
-
- /**
- * 设置账号回调
- *
- * @param context
- * @param errorCode 0 为成功,其它为错误码
- * @param account 设置的账号
- */
- @Override
- public void onSetAccountResult(Context context, int errorCode, String account) {
- Intent testIntent = new Intent(TEST_ACTION);
- testIntent.putExtra("step", Constants.TEST_SET_ACCOUNT);
- context.sendBroadcast(testIntent);
- }
-
-
- /**
- * 删除账号回调
- *
- * @param context
- * @param errorCode 0 为成功,其它为错误码
- * @param account 设置的账号
- */
- @Override
- public void onDeleteAccountResult(Context context, int errorCode, String account) {
- Intent testIntent = new Intent(TEST_ACTION);
- testIntent.putExtra("step", Constants.TEST_DEL_ACCOUNT);
- context.sendBroadcast(testIntent);
- }
-
- @Override
- public void onSetAttributeResult(Context context, int i, String s) {
-
- }
-
- @Override
- public void onDeleteAttributeResult(Context context, int i, String s) {
-
- }
-
- @Override
- public void onQueryTagsResult(Context context, int errorCode, String data, String operateName) {
- Log.i(LogTag, "action - onQueryTagsResult, errorCode:" + errorCode + ", operateName:" + operateName + ", data: " + data);
- }
-
- /**
- * 通知点击回调 actionType=1为该消息被清除,actionType=0为该消息被点击
- *
- * @param context
- * @param message 包含被点击通知的内容
- */
- @Override
- public void onNotificationClickedResult(Context context, XGPushClickedResult message) {
- if (context == null || message == null) {
- return;
- }
- String text = "";
- if (message.getActionType() == NotificationAction.clicked.getType()) {
- // 通知在通知栏被点击啦。。。。。
- // APP自己处理点击的相关动作
- // 这个动作可以在activity的onResume也能监听,请看第3点相关内容
- text = "通知被打开 :" + message;
- } else if (message.getActionType() == NotificationAction.delete.getType()) {
- // 通知被清除啦。。。。
- // APP自己处理通知被清除后的相关动作
- text = "通知被清除 :" + message;
- }
- Toast.makeText(context, "广播接收到通知被点击:" + message.toString(),
- Toast.LENGTH_SHORT).show();
- // 获取自定义key-value
- String customContent = message.getCustomContent();
- if (customContent != null && customContent.length() != 0) {
- JsonObject obj = JsonParser.parseString(customContent).getAsJsonObject();
- // key1为前台配置的key
- if (!TextUtils.isEmpty(obj.get("key").getAsString())) {
- String value = obj.get("key").getAsString();
- Log.d(LogTag, "get custom value:" + value);
- }
- // ...
- }
- // APP自主处理的过程。。。
- Log.d(LogTag, text);
- show(context, text);
- }
-
- private void show(Context context, String text) {
-// Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
- }
-
- private void processCustomMessage(Context context, XGPushTextMessage message) {
- if (context == null || message == null) {
- return;
- }
-
- String title = message.getTitle();
- String content = message.getContent();
- JsonObject extrasJson = JsonParser.parseString(content).getAsJsonObject();
-
- String extras = "";
- if (extrasJson.get("extras") != null) {
- extras = extrasJson.get("extras").toString();
- }
- PushManager.getInstance().setPushContent(title, extras);
- }
-}
diff --git a/app/src/main/java/com/aoleyun/sn/push/tpush/common/DBOpenHelper.java b/app/src/main/java/com/aoleyun/sn/push/tpush/common/DBOpenHelper.java
deleted file mode 100644
index e292f93..0000000
--- a/app/src/main/java/com/aoleyun/sn/push/tpush/common/DBOpenHelper.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.aoleyun.sn.push.tpush.common;
-
-import android.content.Context;
-import android.database.sqlite.SQLiteDatabase;
-import android.database.sqlite.SQLiteOpenHelper;
-
-public class DBOpenHelper extends SQLiteOpenHelper {
-
- public DBOpenHelper(Context context) {
- super(context, "XGExample.db", null, 1);
- }
-
- @Override
- public void onCreate(SQLiteDatabase db) {
- db.execSQL("CREATE TABLE notification (id integer primary key autoincrement,msg_id varchar(64),title varchar(128),activity varchar(256),notificationActionType varchar(512),content text,update_time varchar(16))");
- }
-
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
-
- }
-
-}
diff --git a/app/src/main/java/com/aoleyun/sn/push/tpush/common/NotificationService.java b/app/src/main/java/com/aoleyun/sn/push/tpush/common/NotificationService.java
deleted file mode 100644
index 29c3d0d..0000000
--- a/app/src/main/java/com/aoleyun/sn/push/tpush/common/NotificationService.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package com.aoleyun.sn.push.tpush.common;
-
-import android.content.ContentValues;
-import android.content.Context;
-import android.database.Cursor;
-import android.database.sqlite.SQLiteDatabase;
-
-import com.aoleyun.sn.push.tpush.po.XGNotification;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class NotificationService {
- private DBOpenHelper dbOpenHelper;
- private static NotificationService instance = null;
-
- public NotificationService(Context context) {
- this.dbOpenHelper = new DBOpenHelper(context);
- }
-
- public synchronized static NotificationService getInstance(Context ctx) {
- if (null == instance) {
- instance = new NotificationService(ctx);
- }
- return instance;
- }
-
- public void save(XGNotification notification) {
- SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
- ContentValues values = new ContentValues();
- values.put("msg_id", notification.getMsg_id());
- values.put("title", notification.getTitle());
- values.put("content", notification.getContent());
- values.put("activity", notification.getActivity());
- values.put("notificationActionType", notification.getNotificationActionType());
- values.put("update_time", notification.getUpdate_time());
- db.insert("notification", null, values);
- }
-
- public void delete(Integer id) {
- SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
- db.delete("notification", "id=?", new String[] { id.toString() });
- }
-
- public void deleteAll() {
- SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
- db.delete("notification", "", null);
- }
-
- public void update(XGNotification notification) {
- SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
- ContentValues values = new ContentValues();
- values.put("msg_id", notification.getMsg_id());
- values.put("title", notification.getTitle());
- values.put("content", notification.getContent());
- values.put("activity", notification.getActivity());
- values.put("notificationActionType", notification.getNotificationActionType());
- values.put("update_time", notification.getUpdate_time());
- db.update("notification", values, "id=?", new String[] { notification
- .getId().toString() });
- }
-
- public XGNotification find(Integer id) {
- SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
- Cursor cursor = db
- .query("notification",
- new String[] { "id,msg_id,title,content,activity,notificationActionType,update_time" },
- "id=?", new String[] { id.toString() }, null, null,
- null, "1");
- try {
- if (cursor.moveToFirst()) {
- return new XGNotification(cursor.getInt(cursor
- .getColumnIndex("id")), cursor.getLong(cursor
- .getColumnIndex("msg_id")), cursor.getString(cursor
- .getColumnIndex("title")), cursor.getString(cursor
- .getColumnIndex("content")), cursor.getString(cursor
- .getColumnIndex("activity")), cursor.getInt(cursor
- .getColumnIndex("notificationActionType")), cursor.getString(cursor
- .getColumnIndex("update_time")));
- }
- return null;
- } finally {
- cursor.close();
- }
- }
-
- public List getScrollData(int currentPage, int lineSize,
- String msg_id) {
- String firstResult = String.valueOf((currentPage - 1) * lineSize);
- SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
- Cursor cursor = null;
- try {
- if (msg_id == null || "".equals(msg_id)) {
- cursor = db
- .query("notification",
- new String[] { "id,msg_id,title,content,activity,notificationActionType,update_time" },
- null, null, null, null, "update_time DESC",
- firstResult + "," + lineSize);
- } else {
- cursor = db
- .query("notification",
- new String[] { "id,msg_id,title,content,activity,notificationActionType,update_time" },
- "msg_id like ?", new String[] { msg_id + "%" },
- null, null, "update_time DESC", firstResult
- + "," + lineSize);
- }
- List notifications = new ArrayList();
- while (cursor.moveToNext()) {
- notifications.add(new XGNotification(cursor.getInt(cursor
- .getColumnIndex("id")), cursor.getLong(cursor
- .getColumnIndex("msg_id")), cursor.getString(cursor
- .getColumnIndex("title")), cursor.getString(cursor
- .getColumnIndex("content")), cursor.getString(cursor
- .getColumnIndex("activity")), cursor.getInt(cursor
- .getColumnIndex("notificationActionType")), cursor.getString(cursor
- .getColumnIndex("update_time"))));
- }
- return notifications;
- } finally {
- cursor.close();
- }
- }
-
- public int getCount() {
- SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
- Cursor cursor = db.rawQuery("select count(*) from notification", null);
- try {
- cursor.moveToFirst();
- return cursor.getInt(0);
- } finally {
- cursor.close();
- }
- }
-}
diff --git a/app/src/main/java/com/aoleyun/sn/push/tpush/po/XGNotification.java b/app/src/main/java/com/aoleyun/sn/push/tpush/po/XGNotification.java
deleted file mode 100644
index c009d9f..0000000
--- a/app/src/main/java/com/aoleyun/sn/push/tpush/po/XGNotification.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package com.aoleyun.sn.push.tpush.po;
-
-public class XGNotification {
- private Integer id;
- private Long msg_id;
- private String title;
- private String content;
- private String activity;
- private int notificationActionType;
- private String update_time;
-
- public XGNotification() {
-
- }
-
- public XGNotification(Integer id, Long msg_id, String title,
- String content, String activity, int notificationActionType, String update_time) {
- super();
- this.id = id;
- this.msg_id = msg_id;
- this.title = title;
- this.content = content;
- this.activity = activity;
- this.notificationActionType = notificationActionType;
- this.update_time = update_time;
- }
-
- public Integer getId() {
- return id;
- }
-
- public void setId(Integer id) {
- this.id = id;
- }
-
- public Long getMsg_id() {
- return msg_id;
- }
-
- public void setMsg_id(Long msg_id) {
- this.msg_id = msg_id;
- }
-
- public String getTitle() {
- return title;
- }
-
- public void setTitle(String title) {
- this.title = title;
- }
-
- public String getContent() {
- return content;
- }
-
- public void setContent(String content) {
- this.content = content;
- }
-
- public String getUpdate_time() {
- return update_time;
- }
-
- public void setUpdate_time(String update_time) {
- this.update_time = update_time;
- }
-
- public String getActivity() {
- return activity;
- }
-
- public void setActivity(String activity) {
- this.activity = activity;
- }
-
- public int getNotificationActionType() {
- return notificationActionType;
- }
-
- public void setNotificationActionType(int notificationActionType) {
- this.notificationActionType = notificationActionType;
- }
-}
diff --git a/app/src/main/java/com/aoleyun/sn/receiver/BootReceiver.java b/app/src/main/java/com/aoleyun/sn/receiver/BootReceiver.java
index 23123c8..aef356a 100644
--- a/app/src/main/java/com/aoleyun/sn/receiver/BootReceiver.java
+++ b/app/src/main/java/com/aoleyun/sn/receiver/BootReceiver.java
@@ -5,11 +5,9 @@ import android.content.Context;
import android.content.Intent;
import android.util.Log;
-import com.aoleyun.sn.activity.checknet.CheckNetActivity;
import com.aoleyun.sn.comm.CommonConfig;
import com.aoleyun.sn.manager.ConnectManager;
import com.aoleyun.sn.rlog.LogDBManager;
-import com.aoleyun.sn.service.main.MainService;
import com.aoleyun.sn.utils.BootManager;
import com.aoleyun.sn.utils.JGYUtils;
import com.aoleyun.sn.utils.SPUtils;
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 b2c7a6d..92f94e7 100644
--- a/app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java
+++ b/app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java
@@ -2,14 +2,12 @@ package com.aoleyun.sn.receiver;
import android.annotation.SuppressLint;
import android.content.BroadcastReceiver;
-import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
-import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.comm.PackageNames;
import com.aoleyun.sn.network.NetInterfaceManager;
import com.aoleyun.sn.utils.ApkUtils;
diff --git a/app/src/main/java/com/aoleyun/sn/rlog/LogBean.java b/app/src/main/java/com/aoleyun/sn/rlog/LogBean.java
index 6d1ffcf..a67620c 100644
--- a/app/src/main/java/com/aoleyun/sn/rlog/LogBean.java
+++ b/app/src/main/java/com/aoleyun/sn/rlog/LogBean.java
@@ -1,7 +1,6 @@
package com.aoleyun.sn.rlog;
import com.aoleyun.sn.utils.TimeUtils;
-import com.aoleyun.sn.utils.Utils;
import java.io.Serializable;
diff --git a/app/src/main/java/com/aoleyun/sn/rlog/LogDBManager.java b/app/src/main/java/com/aoleyun/sn/rlog/LogDBManager.java
index 6fc1968..6054ba4 100644
--- a/app/src/main/java/com/aoleyun/sn/rlog/LogDBManager.java
+++ b/app/src/main/java/com/aoleyun/sn/rlog/LogDBManager.java
@@ -10,12 +10,8 @@ import android.util.Log;
import androidx.core.content.ContextCompat;
-import com.aoleyun.sn.database.DBSqlBuilder;
-import com.aoleyun.sn.utils.Utils;
-
import java.io.ByteArrayInputStream;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
diff --git a/app/src/main/java/com/aoleyun/sn/service/GuardService.java b/app/src/main/java/com/aoleyun/sn/service/GuardService.java
index e0b8cab..fca39be 100644
--- a/app/src/main/java/com/aoleyun/sn/service/GuardService.java
+++ b/app/src/main/java/com/aoleyun/sn/service/GuardService.java
@@ -823,6 +823,7 @@ public class GuardService extends Service {
usbStatus = CommonConfig.AOLE_ACTION_USB_USB_CHARGE;
} else {
switch (setting_usb) {
+ default:
case "usb_charge":
usbStatus = CommonConfig.AOLE_ACTION_USB_USB_CHARGE;
break;
@@ -832,11 +833,12 @@ public class GuardService extends Service {
case "usb_midi":
usbStatus = CommonConfig.AOLE_ACTION_USB_USB_MIDI;
break;
- default:
- break;
}
}
- Intent usbIntent = new Intent(usbStatus).setPackage("com.android.settings");
+ Intent usbIntent = new Intent(usbStatus);
+ if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.TeclastP20sPlatform) {
+ usbIntent.setPackage("com.android.settings");
+ }
sendBroadcast(usbIntent);
}
@@ -862,7 +864,6 @@ public class GuardService extends Service {
JsonObject jsonObject = GsonUtils.getJsonObject(extendField);
String app_name = jsonObject.get("app_name").getAsString();
String app_package = jsonObject.get("app_package").getAsString();
- String app_id = jsonObject.get("app_id").getAsString();
ToastUtil.show(app_name + "\t:下载完成");
if (filepath.endsWith(".xapk")) {
XAPKUtils.getInstance().installXAPK(filepath);
@@ -870,60 +871,6 @@ public class GuardService extends Service {
} else if (filepath.endsWith(".apk")) {
new Thread(() -> ApkUtils.installApp(GuardService.this, filepath)).start();
}
- NetInterfaceManager.getInstance()
- .getSendTimesApi()
- .sendDownloadTimes(NetInterfaceManager.HTTP_KEY, Utils.getSerial(this), app_package, app_id)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("SEND_DOWNLOAD_TIMES", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse baseResponse) {
- Log.e("SEND_DOWNLOAD_TIMES", "onNext: " + baseResponse.msg);
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("SEND_DOWNLOAD_TIMES", "onError: " + e.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e("SEND_DOWNLOAD_TIMES", "onComplete: ");
- }
- });
- int userId = (int) SPUtils.get(GuardService.this, CommonConfig.ADMIN_ID, 0);
- long appSize = task.getFileSize();
-// NetInterfaceManager.getInstance()
-// .getSendInfoApi()
-// .sendDownloadTimes(NetInterfaceManager.HTTP_KEY, Utils.getSerial(), userId, app_package, appSize)
-// .subscribeOn(Schedulers.io())
-// .observeOn(AndroidSchedulers.mainThread())
-// .subscribe(new Observer() {
-// @Override
-// public void onSubscribe(Disposable d) {
-// Log.e("SEND_DOWNLOAD_FILE_INFO", "onSubscribe: ");
-// }
-//
-// @Override
-// public void onNext(BaseResponse baseResponse) {
-// Log.e("SEND_DOWNLOAD_FILE_INFO", "onNext: " + baseResponse.msg);
-// }
-//
-// @Override
-// public void onError(Throwable e) {
-// Log.e("SEND_DOWNLOAD_FILE_INFO", "onError: " + e.getMessage());
-// }
-//
-// @Override
-// public void onComplete() {
-// Log.e("SEND_DOWNLOAD_FILE_INFO", "onComplete: ");
-// }
-// });
} else if (filepath.endsWith(".zip")) {
Log.e("taskComplete", "下载完成:" + task.getPercent() + ":" + task.getExtendField());
JGYUtils.getInstance().setBootanimation(task.getFilePath());
diff --git a/app/src/main/java/com/aoleyun/sn/service/LogcatService.java b/app/src/main/java/com/aoleyun/sn/service/LogcatService.java
index 2fcd18a..72f1334 100644
--- a/app/src/main/java/com/aoleyun/sn/service/LogcatService.java
+++ b/app/src/main/java/com/aoleyun/sn/service/LogcatService.java
@@ -10,7 +10,6 @@ import android.text.TextUtils;
import android.util.Log;
import com.aoleyun.sn.bean.BaseResponse;
-import com.aoleyun.sn.bean.SnRunLog;
import com.aoleyun.sn.network.NetInterfaceManager;
import com.aoleyun.sn.utils.Utils;
diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java b/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java
index 19ffbdb..aeb4a91 100644
--- a/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java
+++ b/app/src/main/java/com/aoleyun/sn/service/main/MainSPresenter.java
@@ -6,6 +6,9 @@ import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
+import com.alibaba.sdk.android.push.CloudPushService;
+import com.alibaba.sdk.android.push.CommonCallback;
+import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.StudentsInfo;
import com.aoleyun.sn.comm.CommonConfig;
@@ -22,7 +25,11 @@ import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
@@ -103,12 +110,35 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
public void setPushTag(String tag) {
mView.setTagsFinish(TextUtils.isEmpty(tag));
+
}
});
String tagSets = mMMKV.decodeString(CommonConfig.DEVICES_TAG);
Log.e("setPushTags", "onComplete: tagSets =" + tagSets);
- String tags = cacheHelper.getAsString(UrlAddress.GET_DEVICES_TAGS);
- Log.e("setPushTags", "onComplete: tags = " + tags);
+ String tagstring = cacheHelper.getAsString(UrlAddress.GET_DEVICES_TAGS);
+ Log.e("setPushTags", "onComplete: tags = " + tagstring);
+ Set tags = new HashSet<>();
+ if (!TextUtils.isEmpty(tagSets)) {
+ tags.add(tagSets);
+ }
+ NetInterfaceManager.getInstance().clearAndAppendTags(tags);
+ }
+
+ private void setpushTag(Set tagSets) {
+ String[] tag = new ArrayList<>(tagSets).toArray(new String[tagSets.size()]);
+ CloudPushService pushService = PushServiceFactory.getCloudPushService();
+ pushService.bindTag(CloudPushService.DEVICE_TARGET, tag, null, new CommonCallback() {
+ @Override
+ public void onSuccess(String s) {
+ Log.e("bindTag", "bind tag " + Arrays.toString(tag) + " success\n");
+ }
+
+ @Override
+ public void onFailed(String errorCode, String errorMsg) {
+ Log.e("bindTag", "bind tag " + Arrays.toString(tag) + " failed." +
+ "errorCode: " + errorCode + ", errorMsg:" + errorMsg + "\n");
+ }
+ });
}
/*
@@ -388,7 +418,7 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
public void getDesktopIcon() {
NetInterfaceManager.getInstance()
- .getDesktopIcon(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
+ .getDesktopIcon( getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
@Override
public void onComplete() {
Log.e("getDesktopIcon", "onComplete: ");
diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainService.java b/app/src/main/java/com/aoleyun/sn/service/main/MainService.java
index fa9a431..bbfb24c 100644
--- a/app/src/main/java/com/aoleyun/sn/service/main/MainService.java
+++ b/app/src/main/java/com/aoleyun/sn/service/main/MainService.java
@@ -5,9 +5,6 @@ import android.app.AlarmManager;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.Service;
-import android.app.StatusBarManager;
-import android.app.role.OnRoleHoldersChangedListener;
-import android.app.role.RoleManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -24,7 +21,6 @@ import android.os.Binder;
import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
-import android.os.UserHandle;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.DisplayMetrics;
@@ -38,6 +34,9 @@ import android.widget.TextView;
import androidx.core.app.NotificationCompat;
import androidx.core.app.NotificationManagerCompat;
+import com.alibaba.sdk.android.push.CloudPushService;
+import com.alibaba.sdk.android.push.CommonCallback;
+import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.R;
import com.aoleyun.sn.activity.main.MainActivity;
@@ -62,9 +61,6 @@ import com.blankj.utilcode.util.NetworkUtils;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
-import com.tencent.android.tpush.XGIOperateCallback;
-import com.tencent.android.tpush.XGPushConfig;
-import com.tencent.android.tpush.XGPushManager;
import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.LifecycleProvider;
import com.trello.rxlifecycle4.LifecycleTransformer;
@@ -74,13 +70,10 @@ import com.trello.rxlifecycle4.android.RxLifecycleAndroid;
import java.lang.reflect.Type;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
-import java.util.Set;
-import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
import io.reactivex.rxjava3.core.Observable;
@@ -136,66 +129,55 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
Handler.getMain().postDelayed(new Runnable() {
@Override
public void run() {
- tPushInit();
+// aliyunPushInit();
}
}, 10000);
Log.e(TAG, "getTimeFromNtpServer: " + aLong);
}
}
- private void tPushInit() {
- XGPushConfig.enableDebug(this, true);
- XGPushManager.registerPush(this, new XGIOperateCallback() {
+ private void aliyunPushInit() {
+ PushServiceFactory.init(this);
+ final CloudPushService pushService = PushServiceFactory.getCloudPushService();
+ pushService.setLogLevel(CloudPushService.LOG_DEBUG);
+ pushService.register(this, new CommonCallback() {
@Override
- public void onSuccess(Object data, int flag) {
- //token在设备卸载重装的时候有可能会变
- Log.e("TPush", "注册成功,设备token为:" + data);
-
- List accountInfoList = new ArrayList<>();
- accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), Utils.getSerial(MainService.this)));
- XGPushManager.upsertAccounts(MainService.this, accountInfoList, new XGIOperateCallback() {
+ public void onSuccess(String response) {
+ Log.e("AliyunPush", "init cloudchannel success");
+ Log.e("AliyunPush", "init cloudchannel success " + pushService.getDeviceId());
+ String sn = Utils.getSerial(MainService.this);
+ if (TextUtils.isEmpty(sn)) {
+ return;
+ }
+ pushService.bindAccount(sn, new CommonCallback() {
@Override
- public void onSuccess(Object data, int flag) {
- Log.e("TPush", "onSuccess, data:" + data + ", flag:" + flag);
+ public void onSuccess(String s) {
+ Log.e("AliyunPush", "bind account " + sn + " success\n");
}
@Override
- public void onFail(Object data, int errCode, String msg) {
- Log.e("TPush", "onFail, data:" + data + ", code:" + errCode + ", msg:" + msg);
+ public void onFailed(String errorCode, String errorMsg) {
+ Log.e("AliyunPush", "bind account " + sn + " failed." +
+ "errorCode: " + errorCode + ", errorMsg:" + errorMsg);
}
});
- NetInterfaceManager.getInstance().setPushTags(false, lifecycleSubject, new NetInterfaceManager.PushTagCallback() {
+ pushService.addAlias(sn, new CommonCallback() {
@Override
- public void setPushTag(String tag) {
- Set tagSets = new HashSet<>();
- if (!TextUtils.isEmpty(tag)) {
- tagSets.add(tag);
- }
- JGYUtils.getInstance().getAppPlatform(new JGYUtils.GetAppPlatformCallback() {
- @Override
- public void AppPlatform(int platform) {
- if (platform == JGYUtils.MTKPlatform) {
- tagSets.add(JGYUtils.MTKTag);
- } else if (platform == JGYUtils.ZhanruiPlatform) {
- tagSets.add(JGYUtils.ZhanruiTag);
- } else if (platform == JGYUtils.CubePlatform) {
- tagSets.add(JGYUtils.CubeTag);
- } else if (platform == JGYUtils.MTK11Platform) {
- tagSets.add(JGYUtils.MTK11Tag);
- } else if (platform == JGYUtils.TeclastP20sPlatform) {
- tagSets.add(JGYUtils.TeclastP20sTag);
- }
- }
- });
- Log.e(TAG, "setPushTag: " + tagSets);
- NetInterfaceManager.getInstance().clearAndAppendTags(tagSets);
+ public void onSuccess(String s) {
+ Log.e("AliyunPush", "add alias " + sn + " success\n");
+ }
+
+ @Override
+ public void onFailed(String errorCode, String errorMsg) {
+ Log.e("AliyunPush", "add alias " + sn + " failed." +
+ "errorCode: " + errorCode + ", errorMsg:" + errorMsg + "\n");
}
});
}
@Override
- public void onFail(Object data, int errCode, String msg) {
- Log.e("TPush", "注册失败,错误码:" + errCode + ",错误信息:" + msg);
+ public void onFailed(String errorCode, String errorMessage) {
+ Log.e("AliyunPush", "init cloudchannel failed -- errorcode:" + errorCode + " -- errorMessage:" + errorMessage);
}
});
}
@@ -371,6 +353,27 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
TimeTask task = new TimeTask();
task.execute("ntp.aliyun.com");
mPresenter.getLockedState();
+
+ PackageManager pm = getPackageManager();
+ try {
+ Log.e(TAG, "initView: " + pm.getApplicationEnabledSetting("com.teclast.update"));
+ pm.setApplicationEnabledSetting("com.teclast.update", PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
+ Log.e(TAG, "onCreate: enable com.teclast.update");
+ } catch (Exception e) {
+ Log.e(TAG, "onCreate: setApplicationEnabledSetting = " + e.getMessage());
+ }
+ if ("V1.01_20230519".equalsIgnoreCase(Build.DISPLAY)) {
+ Log.e(TAG, "onCreate: enable");
+ Intent intent = new Intent();
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setClassName("com.teclast.update", "com.teclast.update.GoogleOtaClient");
+ try {
+ startActivity(intent);
+ } catch (Exception e) {
+ Log.e(TAG, "onCreate: startActivity = " + e.getMessage());
+ }
+ }
+
// RoleManager mRm = getSystemService(RoleManager.class);
// mRm.addOnRoleHoldersChangedListenerAsUser(new Executor() {
// @Override
@@ -436,6 +439,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
JGYUtils.getInstance().writeAppPackageList();
// notificationManager = NotificationManagerCompat.from(this);
// createNotificationChannel();
+// aliyunPushInit();
}
@Override
@@ -956,8 +960,8 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
mPresenter.getFirstConnect();
mPresenter.getStudesInfo();
mPresenter.getDeveloper();
- mPresenter.sendMacAddress();
}
+ mPresenter.sendMacAddress();
}
/**
@@ -972,6 +976,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
Log.e(TAG, "setDisableSetting: ");
//设置系统管控
SysSettingUtils.setDisableSetting(this);
+ JGYUtils.getInstance().writeAppPackageList();
}
mPresenter.getSystemSettingBegin();
}
diff --git a/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java b/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java
index f2cab20..2dd13e7 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java
@@ -731,17 +731,28 @@ public class ApkUtils {
this.add("com.android.email");//电子邮件
this.add("com.android.calendar");//日历
-
+ this.add("com.tencent.wework");
+ this.add("com.tencent.mm");
+ this.add("cn.wps.moffice_eng");
+ this.add("com.baidu.BaiduMap");
}};
//桌面app
public static List desktopAPP = new ArrayList() {{
-// this.add("com.aoleyunos.dop1");
-// this.add("com.aoleyunos.dop2");
- this.add("com.uiuios.jgy1");
- this.add("com.uiuios.jgy2");
- this.add("com.android.uiuios");
- this.add("com.shoufei.aole");
+ this.add("com.aoleyunos.dop1");
+ this.add("com.aoleyunos.dop2");
+ this.add("com.aoleyunos.dop3");
+ this.add("com.aoleyunos.dop4");
+ this.add("com.aoleyunos.dop5");
+ this.add("com.aoleyunos.dop6");
+ this.add("com.aoleyunos.dop7");
+ this.add("com.aoleyunos.dop8");
+ this.add("com.aoleyunos.dop9");
+ this.add("com.aoleyunos.dop10");
+// this.add("com.uiuios.jgy1");
+// this.add("com.uiuios.jgy2");
+// this.add("com.android.uiuios");
+// this.add("com.shoufei.aole");
}};
public static List aoleyunAPP = new ArrayList() {{
@@ -939,7 +950,7 @@ public class ApkUtils {
this.add("com.wyt.tongbuyouxue");
this.add("com.qi.wyt.setting");
this.add("air.wyt.modloader");
- this.add("com.google.android.inputmethod.pinyin");
+// this.add("com.google.android.inputmethod.pinyin");
this.add("com.android.calculator2");
this.add("com.qi.TFSystem");
this.add("com.qi.appstore");
@@ -979,14 +990,73 @@ public class ApkUtils {
this.add("com.shoufei.aole");
this.add("com.ygyb.yischool");
+
+ this.add("com.tencent.wework");
+ this.add("com.tencent.mm");
+ this.add("cn.wps.moffice_eng");
+ this.add("com.baidu.BaiduMap");
}};
+ public static Set jxwApp = new HashSet() {{
+ this.add("air.com.zhihuiyoujiao.flashplayer");
+ this.add("com.example.arithmeticformula");
+ this.add("com.example.elementcycleapp");
+ this.add("com.example.pianpangbushou");
+ this.add("com.iflytek.cyber.iot.show.core");
+ this.add("com.iflytek.speechcloud");
+ this.add("com.jxw.bihuamingcheng");
+ this.add("com.jxw.bishunguize");
+ this.add("com.jxw.characterlearning");
+ this.add("com.jxw.dmxcy");
+ this.add("com.jxw.englishsoundmark");
+ this.add("com.jxw.examsystem");
+ this.add("com.jxw.game");
+ this.add("com.jxw.gb.zwpg");
+ this.add("com.jxw.handwrite");
+ this.add("com.jxw.jinfangyici");
+ this.add("com.jxw.jxwbook");
+ this.add("com.jxw.jxwcalculator");
+ this.add("com.jxw.laboratory");
+ this.add("com.jxw.learnchinesepinyin");
+ this.add("com.jxw.letterstudynew");
+ this.add("com.jxw.liancichengju");
+ this.add("com.jxw.mskt.video");
+ this.add("com.jxw.newyouer.video");
+ this.add("com.jxw.online_study");
+ this.add("com.jxw.question");
+ this.add("com.jxw.schultegrid");
+ this.add("com.jxw.singsound");
+ this.add("com.jxw.studydigital");
+ this.add("com.jxw.teacher.video");
+ this.add("com.jxw.wuweijidanci");
+ this.add("com.jxw.youer.video");
+ this.add("com.jxw.yuwenxiezuo");
+ this.add("com.jxw.yyhb");
+ this.add("com.jxw.zncd");
+ this.add("com.oirsdfg89.flg");
+ this.add("com.study.flashplayer");
+ this.add("com.tech.translate");
+
+ this.add("com.uiui.zybrowser");
+ this.add("com.uiui.zysn");
+ this.add("com.jxw.launcher");
+ this.add("com.uiui.zyappstore");
+ this.add("com.uiui.zy");
+ this.add("com.uiui.zyos");
+
+ this.add("com.teclast.zyos");
+ this.add("com.teclast.zybrowser");
+ this.add("com.teclast.zyappstore");
+ this.add("com.teclast.zy");
+ }};
+
+
public static void showAllAPP(Context context) {
PackageManager pm = context.getPackageManager();
// 查询所有已经安装的应用程序
List packages = pm.getInstalledPackages(PackageManager.COMPONENT_ENABLED_STATE_ENABLED | PackageManager.COMPONENT_ENABLED_STATE_DISABLED);
for (PackageInfo packageInfo : packages) {
-
+ Log.i(TAG, "showAllAPP: " + packageInfo.packageName);
//如果是自带可以卸载的,除开不需要管控的
if (canremove_systemapp.contains(packageInfo.packageName)
&& !show_canremove_systemapp.contains(packageInfo.packageName)) {
@@ -1197,6 +1267,13 @@ public class ApkUtils {
this.add("com.aoleyunos.dop1");
this.add("com.aoleyunos.dop2");
this.add("com.aoleyunos.dop3");
+ this.add("com.aoleyunos.dop4");
+ this.add("com.aoleyunos.dop5");
+ this.add("com.aoleyunos.dop6");
+ this.add("com.aoleyunos.dop7");
+ this.add("com.aoleyunos.dop8");
+ this.add("com.aoleyunos.dop9");
+ this.add("com.aoleyunos.dop10");
this.add("com.jiepier.filemanager");
this.add("com.calendar.uiui");
this.add("com.notepad.uiui");
@@ -1205,6 +1282,7 @@ public class ApkUtils {
this.add("com.uiui.speed");
}};
+
public static String getRunningAppInfo(Context context) {
// ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
// List infoList = activityManager.getRunningServices(Integer.MAX_VALUE);
@@ -1215,8 +1293,8 @@ public class ApkUtils {
Log.e(TAG, "getRunningAppInfo: " + topPkg);
for (PackageInfo packageInfo : packages) {
String packageName = packageInfo.packageName;
- //排除桌面app和出厂自带app
- if (desktopAPP.contains(packageName) || factoryapp.contains(packageName)) {
+ //排除出厂自带app
+ if (factoryapp.contains(packageName)) {
continue;
}
//排除所有系统应用,不显示
@@ -1302,11 +1380,9 @@ public class ApkUtils {
}
-
public static long getPackageSize(Context context, String filePath) {
long size = new File(filePath).length();
return size;
}
-
-}
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/aoleyun/sn/utils/FlowInfo.java b/app/src/main/java/com/aoleyun/sn/utils/FlowInfo.java
index dc5ea89..855caa0 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/FlowInfo.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/FlowInfo.java
@@ -2,11 +2,6 @@ package com.aoleyun.sn.utils;
import android.graphics.drawable.Drawable;
-import androidx.annotation.NonNull;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonParser;
-
import java.io.Serializable;
public class FlowInfo implements Serializable {
diff --git a/app/src/main/java/com/aoleyun/sn/utils/ForegroundAppUtil.java b/app/src/main/java/com/aoleyun/sn/utils/ForegroundAppUtil.java
index d46e528..2916a90 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/ForegroundAppUtil.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/ForegroundAppUtil.java
@@ -10,8 +10,6 @@ import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
-import com.tencent.mmkv.MMKV;
-
import java.util.List;
public class ForegroundAppUtil {
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 9d2c0a4..65887d9 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java
@@ -93,6 +93,7 @@ import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.Executor;
import java.util.function.Consumer;
import java.util.function.Predicate;
@@ -116,6 +117,8 @@ public class JGYUtils {
public static final int ZhanruiPlatform = 3;
public static final int MTK11Platform = 5;
public static final int TeclastP20sPlatform = 6;
+ public static final int AH6016Platform = 9;
+ public static final int ZR6016Platform = 10;
public static final String Other = "其他";
public static final String MTKTag = "MTK";
@@ -123,6 +126,9 @@ public class JGYUtils {
public static final String ZhanruiTag = "展锐";
public static final String MTK11Tag = "MTK11";
public static final String TeclastP20sTag = "P20S";
+ public static final String AH6016Tag = "AH6016";
+ public static final String ZR6016Tag = "ZR6016";
+
private CacheHelper cacheHelper;
@@ -186,6 +192,12 @@ public class JGYUtils {
} else if (TeclastP20sTag.equalsIgnoreCase(platform)) {
Log.i(TAG, "checkAppPlatform: " + "P20S");
return TeclastP20sPlatform;
+ } else if (AH6016Tag.equalsIgnoreCase(platform)) {
+ Log.i(TAG, "checkAppPlatform: " + "AH6016");
+ return AH6016Platform;
+ } else if (ZR6016Tag.equalsIgnoreCase(platform)) {
+ Log.i(TAG, "checkAppPlatform: " + "ZR6016");
+ return ZR6016Platform;
} else {
Log.i(TAG, "checkAppPlatform: " + "没有数据");
return UnknowPlatform;
@@ -217,6 +229,10 @@ public class JGYUtils {
getAppPlatformCallback.AppPlatform(MTK11Platform);
} else if (TeclastP20sTag.equalsIgnoreCase(platform)) {
getAppPlatformCallback.AppPlatform(TeclastP20sPlatform);
+ } else if (AH6016Tag.equalsIgnoreCase(platform)) {
+ getAppPlatformCallback.AppPlatform(AH6016Platform);
+ } else if (ZR6016Tag.equalsIgnoreCase(platform)) {
+ getAppPlatformCallback.AppPlatform(ZR6016Platform);
} else {
getAppPlatformCallback.AppPlatform(UnknowPlatform);
}
@@ -228,12 +244,16 @@ public class JGYUtils {
return MTKTag;
} else if ("ZhanRui".equalsIgnoreCase(platform)) {
return ZhanruiTag;
- } else if ("ZhanRuiCube".equalsIgnoreCase(platform)) {
+ } else if (CubeTag.equalsIgnoreCase(platform)) {
return CubeTag;
- } else if ("MTK11".equalsIgnoreCase(platform)) {
+ } else if (MTK11Tag.equalsIgnoreCase(platform)) {
return MTK11Tag;
- } else if ("P20S".equalsIgnoreCase(platform)) {
+ } else if (TeclastP20sTag.equalsIgnoreCase(platform)) {
return TeclastP20sTag;
+ } else if (AH6016Tag.equalsIgnoreCase(platform)) {
+ return AH6016Tag;
+ } else if (ZR6016Tag.equalsIgnoreCase(platform)) {
+ return ZR6016Tag;
} else {
return Other;
}
@@ -1102,6 +1122,7 @@ public class JGYUtils {
this.add("com.aoleyun.os");
this.add("com.aoleyunos.dop1");
this.add("com.aoleyunos.dop2");
+ this.add("com.aoleyunos.dop3");
this.add("com.aoleyun.info");
this.add("com.calculator.uiui");
this.add("com.notepad.uiui");
@@ -1119,6 +1140,8 @@ public class JGYUtils {
pkgSet.addAll(ApkUtils.desktopAPP);
pkgSet.addAll(ApkUtils.aoleyunAPP);
pkgSet.addAll(ApkUtils.aihuaApp);
+ pkgSet.addAll(ApkUtils.jxwApp);
+
pkgSet.removeIf(TextUtils::isEmpty);
String aole_app_forbid = String.join(",", pkgSet);
Log.e(TAG, "writeAppPackageList: " + aole_app_forbid);
@@ -1127,7 +1150,12 @@ public class JGYUtils {
}
public void writeAppPackageList() {
- String aole_app_forbid = String.join(",", defaultPackages);
+ HashSet pkgSet = new HashSet<>(defaultPackages);
+ pkgSet.addAll(ApkUtils.desktopAPP);
+ pkgSet.addAll(ApkUtils.aoleyunAPP);
+ pkgSet.addAll(ApkUtils.aihuaApp);
+ pkgSet.addAll(ApkUtils.jxwApp);
+ String aole_app_forbid = String.join(",", pkgSet);
Log.e(TAG, "writeAppPackageList: " + aole_app_forbid);
Settings.System.putString(crv, CommonConfig.AOLE_ACTION_APP_FORBID, aole_app_forbid);
}
@@ -1295,10 +1323,10 @@ public class JGYUtils {
String app_url = jsonObject.get("app_url").getAsString();
String app_package = jsonObject.get("app_package").getAsString();
int app_version_code = jsonObject.get("app_version_code").getAsInt();
- if (ApkUtils.desktopAPP.get(0).equals(app_package)) {
- ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(1));
- } else {
- ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(0));
+ Set desktop = new HashSet<>(ApkUtils.desktopAPP);
+ desktop.remove(app_package);
+ for (String s : desktop) {
+ ApkUtils.UninstallAPP(mContext, s);
}
PackageInfo info = null;
PackageManager packageManager = mContext.getPackageManager();
@@ -1310,6 +1338,7 @@ public class JGYUtils {
Log.e("fht", "installDesktop: " + e.getMessage());
}
if (null != info) {
+ packageManager.setApplicationEnabledSetting(app_package, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
long versionCode;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
versionCode = info.getLongVersionCode();
@@ -1385,6 +1414,9 @@ public class JGYUtils {
if (ApkUtils.aihuaApp.contains(packageName)) {
continue;
}
+ if (ApkUtils.jxwApp.contains(packageName)) {
+ continue;
+ }
if (PackageNames.DEVICE_INFO.equals(packageName) || PackageNames.APPSTORE.equals(packageName)
) {
continue;
@@ -1426,11 +1458,20 @@ public class JGYUtils {
this.add("com.aoleyun.os");
this.add("com.aoleyunos.dop1");
this.add("com.aoleyunos.dop2");
+ this.add("com.aoleyunos.dop3");
//aihua
this.add("com.android.mms");
this.add("com.android.fmradio");
this.add("com.mediatek.filemanager");
+
+ this.add("com.teclast.update");
+ this.add("com.google.android.apps.nbu.files");
+
+ this.add("com.tencent.wework");
+ this.add("com.tencent.mm");
+ this.add("cn.wps.moffice_eng");
+ this.add("com.baidu.BaiduMap");
}};
/**
@@ -1612,6 +1653,8 @@ public class JGYUtils {
Settings.System.putInt(crv, CommonConfig.AOLE_ACTION_DEVELOPER_OPTIONS, state);
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.ZhanruiPlatform
|| JGYUtils.getInstance().checkAppPlatform() == JGYUtils.CubePlatform
+ || JGYUtils.getInstance().checkAppPlatform() == JGYUtils.AH6016Platform
+ || JGYUtils.getInstance().checkAppPlatform() == JGYUtils.ZR6016Platform
) {
Settings.Global.putInt(crv, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, state == 1 ? 0 : 1);
Settings.Global.putInt(crv, Settings.Global.ADB_ENABLED, state == 1 ? 0 : 1);
@@ -2149,7 +2192,7 @@ public class JGYUtils {
public void setDefaultDesktop(String pkg, String className) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
-// setRoleHolderAsUser(mContext, pkg);
+ setRoleHolderAsUser(mContext, pkg);
Log.e(TAG, "setDefaultDesktop: setRoleHolderAsUser");
} else {
//爱华设置,暂时屏蔽
diff --git a/app/src/main/java/com/aoleyun/sn/utils/NetworkUtils.java b/app/src/main/java/com/aoleyun/sn/utils/NetworkUtils.java
index 1591b76..2a2d440 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/NetworkUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/NetworkUtils.java
@@ -7,13 +7,10 @@ import android.net.ConnectivityManager;
import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
import android.os.Build;
-import android.telephony.CellInfo;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
-import java.util.List;
-
/**
* @author fanhuitong
*/
diff --git a/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java b/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java
index 59adac7..6db0187 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java
@@ -17,6 +17,7 @@ import com.aoleyun.sn.comm.JGYActions;
import com.aoleyun.sn.gson.GsonUtils;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
import java.util.ArrayList;
import java.util.List;
@@ -51,8 +52,9 @@ public class SysSettingUtils {
setIcon(context, jsonObject);
setCanReset(context, jsonObject);
setAutoTime(context, jsonObject);
- JsonObject navJson = jsonObject.get("setting_nav").getAsJsonObject();
- SPUtils.put(context, JGYActions.ACTION_STATUSBAR_STATUS, jsonObject.get("setting_nav").toString());
+ String navJsonString = jsonObject.get("setting_nav").getAsString();
+ JsonObject navJson = JsonParser.parseString(navJsonString).getAsJsonObject();
+ SPUtils.put(context, JGYActions.ACTION_STATUSBAR_STATUS, navJsonString);
setStatusBar(context, navJson);
setBrowserInput(context, jsonObject);
// TODO: 2022/4/11 不是酷比定制的会报错,无法抛出异常
@@ -101,6 +103,7 @@ public class SysSettingUtils {
setAutoTime(context, 0);
setBrowserInput(context, 0);
JGYUtils.getInstance().setDeveloperOptions(0);
+ setStatusBar(context, 0);
}
private static void setPhoneList(Context context, int state) {
@@ -166,7 +169,15 @@ public class SysSettingUtils {
boolean aole_usb_choose = Settings.System.putString(context.getContentResolver(), "aole_usb_choose", "usb_charge");
Log.e(TAG, "aole_usb_choose:" + aole_usb_choose);
String usbStatus = CommonConfig.AOLE_ACTION_USB_USB_CHARGE;
- Intent usbIntent = new Intent(usbStatus).setPackage("com.android.settings");
+ if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.AH6016Platform) {
+ usbStatus = CommonConfig.AOLE_ACTION_USB_USB_MTP;
+ }
+ Intent usbIntent = new Intent(usbStatus);
+ if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.TeclastP20sPlatform
+ || JGYUtils.getInstance().checkAppPlatform() == JGYUtils.AH6016Platform
+ ) {
+ usbIntent.setPackage("com.android.settings");
+ }
context.sendBroadcast(usbIntent);
} catch (NoClassDefFoundError | Exception e) {
Log.e(TAG, "setUSBstate: " + e.getMessage());
@@ -195,8 +206,9 @@ public class SysSettingUtils {
} else {
boolean aole_usb_choose = Settings.System.putString(context.getContentResolver(), "aole_usb_choose", setting_usb);
Log.e("setUSBstate", "aole_usb_choose: " + aole_usb_choose);
- String usbStatus = CommonConfig.AOLE_ACTION_USB_USB_CHARGE;
+ String usbStatus;
switch (setting_usb) {
+ default:
case "usb_charge":
usbStatus = CommonConfig.AOLE_ACTION_USB_USB_CHARGE;
break;
@@ -206,9 +218,13 @@ public class SysSettingUtils {
case "usb_midi":
usbStatus = CommonConfig.AOLE_ACTION_USB_USB_MIDI;
break;
- default:
}
- Intent usbIntent = new Intent(usbStatus).setPackage("com.android.settings");
+ Intent usbIntent = new Intent(usbStatus);
+ if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.TeclastP20sPlatform
+ || JGYUtils.getInstance().checkAppPlatform() == JGYUtils.AH6016Platform
+ ) {
+ usbIntent.setPackage("com.android.settings");
+ }
context.sendBroadcast(usbIntent);
}
}
diff --git a/app/src/main/java/com/aoleyun/sn/utils/Utils.java b/app/src/main/java/com/aoleyun/sn/utils/Utils.java
index ac71b50..806e071 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/Utils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/Utils.java
@@ -50,9 +50,7 @@ import androidx.annotation.VisibleForTesting;
import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.R;
-import com.aoleyun.sn.base.BaseApplication;
import com.aoleyun.sn.comm.CommonConfig;
-import com.aoleyun.sn.network.NetInterfaceManager;
import com.arialyy.aria.core.Aria;
import com.blankj.utilcode.util.FileUtils;
import com.google.gson.JsonObject;
@@ -62,8 +60,6 @@ import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
-import com.squareup.moshi.Json;
-import com.tencent.mmkv.MMKV;
import java.io.BufferedReader;
import java.io.DataOutputStream;
@@ -75,7 +71,6 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.Reader;
-import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.Inet4Address;
import java.net.InetAddress;
@@ -1189,14 +1184,21 @@ public class Utils {
* @param jsonObject
*/
public static void ariaDownload(Context context, String url, JsonObject jsonObject) {
+ Log.e(TAG, "ariaDownload: " + jsonObject);
String fileName = getFileNamefromURL(url);
- String urlMD5 = jsonObject.get("MD5").getAsString();
+ String urlMD5 = "";
+ if (jsonObject.get("MD5") == null) {
+ if (jsonObject.get("app_md5") != null)
+ urlMD5 = jsonObject.get("app_md5").getAsString();
+ } else {
+ if (jsonObject.get("MD5") != null)
+ urlMD5 = jsonObject.get("MD5").getAsString();
+ }
Log.e("ariaDownload", "urlMD5=" + urlMD5);
String p = JGYUtils.getInstance().getDownLoadPath();
File file = new File(JGYUtils.getInstance().getDownLoadPath() + fileName);
if (file.exists() && !file.isDirectory()) {
String filenameMD5 = getMD5fromFileName(url);
-
String fileMD5 = FileUtils.getFileMD5ToString(file);
Log.e("ariaDownload", "filenameMD5=" + filenameMD5);
Log.e("ariaDownload", "fileMD5=" + fileMD5);
@@ -1210,7 +1212,6 @@ public class Utils {
.ignoreFilePathOccupy()
.setExtendField(jsonObject.toString())
.create(); //启动下载}
-// }
}
} else {
Aria.download(context)
@@ -1755,6 +1756,8 @@ public class Utils {
|| JGYUtils.getInstance().checkAppPlatform() == JGYUtils.MTKPlatform
|| JGYUtils.getInstance().checkAppPlatform() == JGYUtils.MTK11Platform
|| JGYUtils.getInstance().checkAppPlatform() == JGYUtils.TeclastP20sPlatform
+ || JGYUtils.getInstance().checkAppPlatform() == JGYUtils.AH6016Platform
+ || JGYUtils.getInstance().checkAppPlatform() == JGYUtils.ZR6016Platform
) {
return Utils.getProperty("ro.build.display.id", "获取失败");
} else {
diff --git a/app/tpns-configs.json b/app/tpns-configs.json
deleted file mode 100644
index 153fd58..0000000
--- a/app/tpns-configs.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "tpns": {
- "access_id": "1500026372",
- "access_key": "AR7A1L5M0LPH"
- },
- "com.aoleyun.sn": {
- "channel": {
- "enable": true
- }
- },
- "debug": false,
- "version": "1.2.7.1-release",
- "upgrade": true
-}
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 88df504..2904269 100644
--- a/build.gradle
+++ b/build.gradle
@@ -11,7 +11,6 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.4'
- classpath "com.tencent.android.tpns:tpnsplugin:1.8.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files