diff --git a/app/build.gradle b/app/build.gradle
index f53b140..39b0939 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -79,15 +79,15 @@ android {
AH6016 {
flavorDimensions "default"
- versionCode 8
- versionName "1.7"
+ versionCode 9
+ versionName "1.8"
buildConfigField "String", "platform", '"AH6016"'
}
G10Z {
flavorDimensions "default"
- versionCode 8
- versionName "1.7"
+ versionCode 9
+ versionName "1.8"
buildConfigField "String", "platform", '"ZR6016"'
}
@@ -109,9 +109,9 @@ android {
Huaruian {
flavorDimensions "default"
- versionCode 9
- versionName "1.0.8"
- buildConfigField "String", "platform", '"MTK11"'
+ versionCode 12
+ versionName "1.1.1"
+ buildConfigField "String", "platform", '"ZR6016"'
}
Teclast {
@@ -439,6 +439,8 @@ dependencies {
implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8'
//MMKV
implementation 'com.tencent:mmkv-static:1.2.13'
+ //bugly
+ implementation 'com.tencent.bugly:crashreport:4.1.9.2'
//工具类
implementation 'com.blankj:utilcodex:1.31.0'
//Aria
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index aa754de..51e316b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -95,44 +95,44 @@
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -148,27 +150,27 @@
-
-
+
+
-
-
+
+
-
-
+
+
@@ -180,16 +182,16 @@
@@ -207,7 +209,7 @@
@@ -224,7 +226,7 @@
@@ -237,11 +239,11 @@
@@ -298,7 +300,7 @@
@@ -311,22 +313,22 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
mView.setPublicIp(ip));
@@ -146,6 +156,29 @@ public class MainAPresenter implements MainAContact.Presenter {
}
}
+ @Override
+ public void getDefaultDesktop() {
+ Log.e(TAG, "getDefaultDesktop: ");
+ if (JGYUtils.isOfficialVersion() || !JGYUtils.getInstance().getDeviceIsLocked()) {
+ Log.e(TAG, "getDefaultDesktop: "+"Device unLocked");
+ mView.getDefaultDesktopFinish();
+ } else {
+ int aihuaUnlock = Settings.System.getInt(mContext.getContentResolver(), CommonConfig.AIHUA_UNLOCK, 0);
+ if (JGYUtils.getInstance().isAihuaFramwwork() && aihuaUnlock == 1) {
+ Log.e(TAG, "getDefaultDesktop: "+"Device aihua");
+ mView.getDefaultDesktopFinish();
+ } else {
+ NetInterfaceManager.getInstance()
+ .getDefaultDesktop(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
+ @Override
+ public void onComplete() {
+ mView.getDefaultDesktopFinish();
+ }
+ });
+ }
+ }
+ }
+
private void checkUpdateInfo() {
NetInterfaceManager.getInstance()
.getUpdateApi()
diff --git a/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java b/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java
index 7e903b4..d68a789 100644
--- a/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java
+++ b/app/src/main/java/com/aoleyun/sn/activity/main/MainActivity.java
@@ -78,10 +78,20 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
TextView tv_name;
@BindView(R.id.tv_batch)
TextView tv_batch;
+ @BindView(R.id.cl_student)
+ ConstraintLayout cl_student;
@BindView(R.id.tv_number)
TextView tv_number;
+ @BindView(R.id.cl_serial)
+ ConstraintLayout cl_serial;
+ @BindView(R.id.cl_class)
+ ConstraintLayout cl_class;
@BindView(R.id.tv_class)
TextView tv_class;
+ @BindView(R.id.cl_number_name)
+ ConstraintLayout cl_number_name;
+ @BindView(R.id.tv_number_name)
+ TextView tv_number_name;
@BindView(R.id.tv_model)
TextView tv_model;
@BindView(R.id.cl_ota)
@@ -116,26 +126,6 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
@BindView(R.id.tv_bind_time)
TextView tv_bind_time;
-// @BindView(R.id.tv_class_name)
-// TextView tv_class_name;
-// @BindView(R.id.tv_number_name)
-// TextView tv_number_name;
-// @BindView(R.id.chkupd)
-// Button bt_checkupdate;
- // @BindView(R.id.checkupdate)
-// ConstraintLayout checkupdate;
-// @BindView(R.id.iv_locked)
-// ImageView iv_locked;
-// @BindView(R.id.layout_class)
-// ConstraintLayout layout_class;
-// @BindView(R.id.layout_number)
-// ConstraintLayout layout_number;
-// @BindView(R.id.layout_name)
-// ConstraintLayout layout_name;
-// @BindView(R.id.cl_imei)
-// ConstraintLayout cl_imei;
-
-
@OnClick({R.id.iv_back, R.id.tv_title})
public void onClick(View view) {
switch (view.getId()) {
@@ -197,7 +187,26 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
} else {
tv_signal.setText("未连接");
}
-// setStoreUpdateListener(bt_checkupdate);
+ if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.AH6016Platform) {
+ cl_student.setVisibility(View.GONE);
+ cl_serial.setVisibility(View.VISIBLE);
+ cl_class.setVisibility(View.GONE);
+ cl_number_name.setVisibility(View.VISIBLE);
+ String sn = Utils.getSn();
+ if (!TextUtils.isEmpty(sn)) {
+ if (sn.length() > 4) {
+ tv_number_name.setText(sn.substring(sn.length() - 4));
+ } else {
+ tv_number_name.setText(sn);
+ }
+ }
+ } else {
+ cl_student.setVisibility(View.VISIBLE);
+ cl_serial.setVisibility(View.GONE);
+ cl_class.setVisibility(View.VISIBLE);
+ cl_number_name.setVisibility(View.GONE);
+ }
+ // setStoreUpdateListener(bt_checkupdate);
registerReceiver();
}
@@ -358,6 +367,7 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
setBatchText("", View.GONE);
SysSettingUtils.setEnableSetting(this);
}
+ mMainAPresenter.getEBagCode();
mMainAPresenter.getQrCode(loocked);
}
@@ -408,6 +418,11 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
SPUtils.put(this, CommonConfig.ADMIN_ID, studesInfo.getAdmin_id());
}
+ @Override
+ public void getEBagCodeFinish() {
+
+ }
+
@Override
public void setPublicIp(String ip) {
Log.e(TAG, "setPublicIp: " + ip);
@@ -473,7 +488,12 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
@Override
public void checkTestUpdateFinish() {
+ mMainAPresenter.getDefaultDesktop();
+ }
+ @Override
+ public void getDefaultDesktopFinish() {
+ Log.e(TAG, "getDefaultDesktopFinish: ");
}
private void showUpdateDialog(JsonObject jsonObject) {
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 f7ae458..264e8e4 100644
--- a/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java
+++ b/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java
@@ -23,8 +23,17 @@ 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.bugly.crashreport.CrashReport;
import com.tencent.mmkv.MMKV;
+import java.util.concurrent.TimeUnit;
+
+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;
+
public class BaseApplication extends MultiDexApplication {
private static final String TAG = BaseApplication.class.getSimpleName();
@@ -45,7 +54,13 @@ public class BaseApplication extends MultiDexApplication {
String rootDir = MMKV.initialize(this);
Log.e(TAG, "mmkv root: " + rootDir);
+ CrashReport.initCrashReport(getApplicationContext(), "b16b3c7f1a", false);
+ CrashReport.setDeviceModel(this, Utils.getSerial(this));
+
PushManager.init(this);
+ initRegisterObservable();
+ initAliasObservable();
+ initTagObservable();
aliyunPushInit();
ToastUtil.init(this);
@@ -91,6 +106,52 @@ public class BaseApplication extends MultiDexApplication {
});
}
+ interface OnRegisterResult {
+ void onResult(String code);
+ }
+
+ private static OnRegisterResult mOnRegisterResult;
+
+ private void initRegisterObservable() {
+ Log.e(TAG, "initTagObservable: ");
+ Observable.create(new ObservableOnSubscribe() {
+ @Override
+ public void subscribe(ObservableEmitter emitter) {
+ mOnRegisterResult = new OnRegisterResult() {
+ @Override
+ public void onResult(String code) {
+ Log.e("initRegisterObservable", "onResult: " + code);
+ emitter.onNext(code);
+ }
+ };
+ }
+ }).throttleLast(60, TimeUnit.SECONDS)
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(String code) {
+ Log.e("initRegisterObservable", "onNext: " + code);
+ Log.e("initRegisterObservable", "onNext: 重新注册aliyunPush");
+ aliyunPushInit();
+ }
+
+ @Override
+ public void onError(Throwable e) {
+
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+
private void aliyunPushInit() {
PushServiceFactory.init(this);
final CloudPushService pushService = PushServiceFactory.getCloudPushService();
@@ -106,17 +167,60 @@ public class BaseApplication extends MultiDexApplication {
@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);
+ mOnRegisterResult.onResult(errorCode);
}
});
}
+ interface OnAliasResult {
+ void onResult(String code);
+ }
+
+ private static OnAliasResult mOnAliasResult;
+
+ private void initAliasObservable() {
+ Log.e(TAG, "initAliasObservable: ");
+ Observable.create(new ObservableOnSubscribe() {
+ @Override
+ public void subscribe(ObservableEmitter emitter) throws Exception {
+ mOnAliasResult = new OnAliasResult() {
+ @Override
+ public void onResult(String code) {
+ Log.e("initAliasObservable", "onResult: " + code);
+ emitter.onNext(code);
+ }
+ };
+ }
+ }).throttleLast(60, TimeUnit.SECONDS)
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(String code) {
+ Log.e("initAliasObservable", "onNext: " + code);
+ switch (code){
+ case "PUSH_20101":
+ aliyunPushInit();
+ default:
+ setAlias();
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
private void setAlias() {
final CloudPushService pushService = PushServiceFactory.getCloudPushService();
String sn = Utils.getSerial(BaseApplication.this);
@@ -133,13 +237,7 @@ public class BaseApplication extends MultiDexApplication {
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);
+ mOnAliasResult.onResult(errorCode);
}
});
pushService.addAlias(sn, new CommonCallback() {
@@ -152,15 +250,56 @@ public class BaseApplication extends MultiDexApplication {
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);
+ mOnAliasResult.onResult(errorCode);
}
});
}
+ public static void onTagOperatorResult(String code) {
+ onTagResult.onResult(code);
+ }
+
+ private static OnTagResult onTagResult;
+
+ interface OnTagResult {
+ void onResult(String code);
+ }
+
+ private static void initTagObservable() {
+ Log.e(TAG, "initTagObservable: ");
+ Observable.create(new ObservableOnSubscribe() {
+ @Override
+ public void subscribe(ObservableEmitter emitter) {
+ onTagResult = new OnTagResult() {
+ @Override
+ public void onResult(String code) {
+ Log.e("initTagObservable", "onResult: " + code);
+ emitter.onNext(code);
+ }
+ };
+ }
+ }).throttleLast(60, TimeUnit.SECONDS)
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(String code) {
+ Log.e("initTagObservable", "onNext: " + code);
+ NetInterfaceManager.getInstance().setPushTags();
+ }
+
+ @Override
+ public void onError(Throwable e) {
+
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
}
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 73ca140..4adba2b 100644
--- a/app/src/main/java/com/aoleyun/sn/comm/CommonConfig.java
+++ b/app/src/main/java/com/aoleyun/sn/comm/CommonConfig.java
@@ -31,8 +31,11 @@ public class CommonConfig {
*/
public final static String DEVICES_FRIST_START = "DEVICES_FRIST_START";
+ /*是否激活*/
+ public static final String UIUI_ACTIVATION_KEY = "uiui_activation";
/*保存激活码*/
public static final String ACTIVATIONBEAN_CODE_KEY = "UIUI_ACTIVATIONBEAN_CODE";
+
/*保存的应用版本号*/
public final static String SN_VERSIONCODE = "SN_VERSIONCODE";
/*重启标识*/
@@ -57,6 +60,7 @@ public class CommonConfig {
public final static String GET_DEVICES_TAG_LASTTIME = "Aoleyun_devices_tag_last_time";
+
/**
* 管控系统指令
*/
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 0063822..e802b22 100644
--- a/app/src/main/java/com/aoleyun/sn/manager/ConnectManager.java
+++ b/app/src/main/java/com/aoleyun/sn/manager/ConnectManager.java
@@ -10,8 +10,8 @@ import com.tencent.mmkv.MMKV;
public class ConnectManager {
private static final String TAG = ConnectManager.class.getSimpleName();
-
- public static final long ONE_MINUTES_TIME = 60 * 1000;
+ public static final long ONE_MILLISECOND = 1000;
+ public static final long ONE_MINUTES_TIME = 60 * ONE_MILLISECOND;
public static final long FIFTEEN_MINUTES_TIME = ONE_MINUTES_TIME * 15;
public static final long HALF_HOUR_TIME = FIFTEEN_MINUTES_TIME * 2;
public static final long ONE_HOUR_TIME = HALF_HOUR_TIME * 2;
@@ -107,7 +107,7 @@ public class ConnectManager {
Log.e(TAG, "isNeedConnect: key = " + key + "\ttime = " + lastTime);
long intervalTime = getConnectModeTime(connectMode);
//防止一分钟内重复请求
- boolean refresh = nowTime - lastTime > intervalTime && nowTime - lastTime > ONE_MINUTES_TIME;
+ boolean refresh = nowTime - lastTime > intervalTime && nowTime - lastTime > ONE_MILLISECOND * 5;
Log.e(TAG, "isNeedConnect: " + refresh);
return refresh;
}
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 99fa6cf..9bef667 100644
--- a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java
+++ b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java
@@ -18,6 +18,7 @@ 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.base.BaseApplication;
import com.aoleyun.sn.bean.AppAttr;
import com.aoleyun.sn.bean.AppID;
import com.aoleyun.sn.bean.AppLimit;
@@ -55,6 +56,7 @@ import com.aoleyun.sn.manager.ConnectMode;
import com.aoleyun.sn.network.api.GetWhoisApi;
import com.aoleyun.sn.network.api.get.CheckTestUpdateApi;
import com.aoleyun.sn.network.api.get.DefaultAppApi;
+import com.aoleyun.sn.network.api.get.DesktopsDiyUpdateApi;
import com.aoleyun.sn.network.api.get.GetDesktopApi;
import com.aoleyun.sn.network.api.get.GetDeveloperApi;
import com.aoleyun.sn.network.api.get.GetPushTagsApi;
@@ -507,6 +509,13 @@ public class NetInterfaceManager {
.observeOn(AndroidSchedulers.mainThread());
}
+ public Observable> getDesktopsDiyUpdate() {
+ return mRetrofit.create(DesktopsDiyUpdateApi.class)
+ .getDesktopsDiyUpdate(Utils.getSerial(mContext))
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread());
+ }
+
public Observable getBatchObservable() {
return mRetrofit.create(GetBatchApi.class)
.getBatch(Utils.getSerial(mContext))
@@ -710,7 +719,7 @@ public class NetInterfaceManager {
synchronized public void checkAoleyunUpdate(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) {
ConnectMode connectMode = ConnectMode.ONE_HOUR;
if (refresh) {
- connectMode = ConnectMode.ONE_MINUTE;
+ connectMode = ConnectMode.DEFAULT;
}
if (ConnectManager.getInstance().isNeedConnect(UrlAddress.CHECK_UPDATE, connectMode)) {
checkAoleyunUpdate(lifecycle, callback);
@@ -835,9 +844,9 @@ public class NetInterfaceManager {
* 获取灰度测试更新
*/
public void checkTestUpdate(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_SN_APP_TEST, connectMode)) {
checkTestUpdate(lifecycle, callback);
@@ -987,9 +996,9 @@ public class NetInterfaceManager {
}
public void getDefaultDesktop(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_DESKTOP, connectMode)) {
getDefaultDesktop(lifecycle, callback);
@@ -1011,33 +1020,70 @@ public class NetInterfaceManager {
}
public void getDefaultDesktop(BehaviorSubject lifecycle, onCompleteCallback callback) {
- getDesktopObservable()
+ Observable.zip(getDesktopObservable(), getDesktopsDiyUpdate(), new BiFunction, BaseResponse, List>() {
+ @Override
+ public List apply(BaseResponse forceDownloadDataBaseResponse, BaseResponse forceDownloadDataBaseResponse2) throws Throwable {
+ List forceDownloadDataList = new ArrayList<>();
+ if (forceDownloadDataBaseResponse.code == 200) {
+ forceDownloadDataList.add(forceDownloadDataBaseResponse.data);
+ }
+ if (forceDownloadDataBaseResponse2.code == 200) {
+ forceDownloadDataList.add(forceDownloadDataBaseResponse2.data);
+ }
+ return forceDownloadDataList;
+ }
+ })
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(getDefaultDesktopObserver(callback));
}
public void getDefaultDesktop(onCompleteCallback callback) {
- getDesktopObservable()
+ Observable.zip(getDesktopObservable(), getDesktopsDiyUpdate(), new BiFunction, BaseResponse, List>() {
+ @Override
+ public List apply(BaseResponse forceDownloadDataBaseResponse, BaseResponse forceDownloadDataBaseResponse2) throws Throwable {
+ List forceDownloadDataList = new ArrayList<>();
+ if (forceDownloadDataBaseResponse.code == 200) {
+ forceDownloadDataList.add(forceDownloadDataBaseResponse.data);
+ }
+ if (forceDownloadDataBaseResponse2.code == 200) {
+ forceDownloadDataList.add(forceDownloadDataBaseResponse2.data);
+ }
+ return forceDownloadDataList;
+ }
+ })
.subscribe(getDefaultDesktopObserver(callback));
}
public void getDefaultDesktop() {
- getDesktopObservable()
+ Observable.zip(getDesktopObservable(), getDesktopsDiyUpdate(), new BiFunction, BaseResponse, List>() {
+ @Override
+ public List apply(BaseResponse forceDownloadDataBaseResponse, BaseResponse forceDownloadDataBaseResponse2) throws Throwable {
+ List forceDownloadDataList = new ArrayList<>();
+ if (forceDownloadDataBaseResponse.code == 200) {
+ forceDownloadDataList.add(forceDownloadDataBaseResponse.data);
+ }
+ if (forceDownloadDataBaseResponse2.code == 200) {
+ forceDownloadDataList.add(forceDownloadDataBaseResponse2.data);
+ }
+ return forceDownloadDataList;
+ }
+ })
.subscribe(getDefaultDesktopObserver(null));
}
- public Observer> getDefaultDesktopObserver(onCompleteCallback callback) {
- return new Observer>() {
+ public Observer> getDefaultDesktopObserver(onCompleteCallback callback) {
+ return new Observer>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("getDefaultDesktop", "onSubscribe: ");
}
@Override
- public void onNext(@NonNull BaseResponse baseResponse) {
+ public void onNext(@NonNull List baseResponse) {
Log.e("getDefaultDesktop", "onNext: " + baseResponse);
- if (baseResponse.code == OK) {
- ForceDownloadData desktopInfo = baseResponse.data;
+ if (baseResponse.size() != 0) {
+ // TODO: 2023/8/14 不会存在两个桌面的情况
+ ForceDownloadData desktopInfo = baseResponse.get(0);
String jsonString = GsonUtils.toJSONString(desktopInfo);
JsonObject data = GsonUtils.getJsonObject(jsonString);
cacheHelper.put(UrlAddress.GET_DESKTOP, jsonString);
@@ -1048,7 +1094,8 @@ public class NetInterfaceManager {
cacheHelper.put(UrlAddress.GET_DESKTOP, "");
// String whiteList = Settings.System.getString(mContext.getContentResolver(), JGYActions.ACTION_JGY_SHORTCUTLIST);
for (String s : ApkUtils.desktopAPP) {
- ApkUtils.UninstallAPP(mContext, s);
+ if (!BuildConfig.DEBUG)
+ ApkUtils.UninstallAPP(mContext, s);
Log.e("getDefaultDesktop", "UninstallAPP: " + s);
}
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.AH6016Platform) {
@@ -1061,8 +1108,6 @@ public class NetInterfaceManager {
setDefaultDesktop("com.aoleyunos.dop3");
}
}
-
-
}
@Override
@@ -1680,7 +1725,7 @@ public class NetInterfaceManager {
public void getEBagCode(boolean refresh, BehaviorSubject lifecycle, onCompleteCallback callback) {
ConnectMode connectMode = ConnectMode.HALF_DAY;
if (refresh) {
- connectMode = ConnectMode.SIX_HOUR;
+ connectMode = ConnectMode.DEFAULT;
}
if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_EBAG_CODE, connectMode)) {
getEBagCode(lifecycle, callback);
@@ -1717,9 +1762,11 @@ public class NetInterfaceManager {
cacheHelper.put(UrlAddress.GET_EBAG_CODE, GsonUtils.toJSONString(eBagCode));
String ebagCode = eBagCode.getEbagCode();
SPUtils.put(mContext, "ebagCode", ebagCode);
+ Settings.Global.putInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 1);
} else {
cacheHelper.put(UrlAddress.GET_EBAG_CODE, "");
Log.e("getEBagCode", "onNext: " + baseResponse.data);
+ Settings.Global.putInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
}
}
@@ -2198,6 +2245,7 @@ public class NetInterfaceManager {
public void onFailed(String errorCode, String errorMsg) {
Log.e("clearAndAppendTags", "bind tag " + Arrays.toString(tag) + " failed." +
"errorCode: " + errorCode + ", errorMsg:" + errorMsg + "\n");
+ BaseApplication.onTagOperatorResult(errorCode);
}
});
}
diff --git a/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java b/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java
index 31d9f12..6fc5c45 100644
--- a/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java
+++ b/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java
@@ -111,6 +111,9 @@ public class UrlAddress {
public static final String GET_LOGO_IMG = "Sn/getLogoImg";
/*获取默认桌面升级*/
public static final String GET_DESKTOP = "Sn/getSnDesktop";
+ /*获取DIY桌面升级*/
+ public static final String GET_DESKTOPS_DIY_UPDATE = "Sn/getDesktopsDiyUpdate";
+
/*获取系统默认程序*/
public static final String GET_DEFAULT_APP = "app/getDefaultApp";
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/get/DesktopsDiyUpdateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/get/DesktopsDiyUpdateApi.java
new file mode 100644
index 0000000..5434ee7
--- /dev/null
+++ b/app/src/main/java/com/aoleyun/sn/network/api/get/DesktopsDiyUpdateApi.java
@@ -0,0 +1,16 @@
+package com.aoleyun.sn.network.api.get;
+
+import com.aoleyun.sn.bean.BaseResponse;
+import com.aoleyun.sn.bean.ForceDownloadData;
+import com.aoleyun.sn.network.UrlAddress;
+
+import io.reactivex.rxjava3.core.Observable;
+import retrofit2.http.GET;
+import retrofit2.http.Query;
+
+public interface DesktopsDiyUpdateApi {
+ @GET(UrlAddress.GET_DESKTOPS_DIY_UPDATE)
+ Observable> getDesktopsDiyUpdate(
+ @Query("sn") String sn
+ );
+}
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 a645ac6..57e5ee7 100644
--- a/app/src/main/java/com/aoleyun/sn/push/PushManager.java
+++ b/app/src/main/java/com/aoleyun/sn/push/PushManager.java
@@ -1120,8 +1120,13 @@ public class PushManager {
String ebagCode = jsonObject.get("ebagCode").getAsString();
if (TextUtils.isEmpty(ebagCode)) {
Log.e(TAG, "setEbagCode: " + "ebagCode is empty");
+ SPUtils.put(mContext, "ebagCode", "");
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.ACTIVATIONBEAN_CODE_KEY, "");
+ Settings.Global.putInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
} else {
SPUtils.put(mContext, "ebagCode", ebagCode);
+ Settings.System.putString(mContext.getContentResolver(), CommonConfig.ACTIVATIONBEAN_CODE_KEY, ebagCode);
+ Settings.Global.putInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 1);
}
}
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 92f94e7..6d6bbbe 100644
--- a/app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java
+++ b/app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java
@@ -48,6 +48,7 @@ public class NewAppReceiver extends BroadcastReceiver {
switch (action) {
case Intent.ACTION_PACKAGE_ADDED:
state = "安装了:";
+ checkDefaultDesktop(packageName);
break;
case Intent.ACTION_PACKAGE_REPLACED:
// JGYUtils.getInstance().cleanLauncher3Cache();
@@ -74,6 +75,12 @@ public class NewAppReceiver extends BroadcastReceiver {
newAppListener.setNewAppListener(packageName);
}
+ private void checkDefaultDesktop(String pkg) {
+ if (ApkUtils.desktopAPP.contains(pkg)) {
+ ApkUtils.openApp(mContext, pkg);
+ }
+ }
+
public interface NewAppListener {
void setNewAppListener(String packageName);
}
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 aeb4a91..b9a49ac 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
@@ -355,10 +355,12 @@ public class MainSPresenter implements MainSContact.Presenter {
public void getDefaultDesktop() {
Log.e(TAG, "getDefaultDesktop: ");
if (JGYUtils.isOfficialVersion() || !JGYUtils.getInstance().getDeviceIsLocked()) {
+ Log.e(TAG, "getDefaultDesktop: "+"Device unLocked");
mView.getDefaultDesktopFinish();
} else {
int aihuaUnlock = Settings.System.getInt(mContext.getContentResolver(), CommonConfig.AIHUA_UNLOCK, 0);
if (JGYUtils.getInstance().isAihuaFramwwork() && aihuaUnlock == 1) {
+ Log.e(TAG, "getDefaultDesktop: "+"Device aihua");
mView.getDefaultDesktopFinish();
} else {
NetInterfaceManager.getInstance()
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 65887d9..7d696e8 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java
@@ -626,16 +626,16 @@ public class JGYUtils {
if (whiteList == null || whiteList.size() == 0) {
SPUtils.put(context, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
- Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
+// Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
} else {
String net_not = String.join(",", whiteList);
SPUtils.put(context, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, net_not);
Log.e(TAG, "setAppNetwork: net_not = " + net_not);
List filterList = whiteList.stream().filter(s -> !ApkUtils.isAvailable(context, s)).collect(Collectors.toList());
if (filterList.size() == 0) {
- Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
+// Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
} else {
- Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
+// Settings.System.putString(contentResolver, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
}
Log.e(TAG, "setAppNetwork: filterList = " + filterList);
}
@@ -658,9 +658,9 @@ public class JGYUtils {
List whiteList = new ArrayList<>(Arrays.asList(whiteString.split(",")));
List filterList = whiteList.stream().filter(s -> !ApkUtils.isAvailable(mContext, s)).collect(Collectors.toList());
if (filterList.size() == 0) {
- Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
+// Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, "");
} else {
- Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
+// Settings.System.putString(crv, CommonConfig.AOLE_ACTION_NETWORK_ALLOW, String.join(",", filterList));
}
Log.e(TAG, "updateNetworkWhiteList: " + filterList);
}
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 6db0187..5352875 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/SysSettingUtils.java
@@ -756,7 +756,7 @@ public class SysSettingUtils {
int state = 1;
try {
state = jsonObject.get("setting_browserInput").getAsInt();
- Log.e(TAG, "setBrowserInput: " + state);
+ Log.e(TAG, "setBrowserInput: setting_browserInput = " + state);
String json = jsonObject.get("setting_browserInput").getAsString();
if (TextUtils.isEmpty(json)) {
state = 1;
@@ -771,6 +771,19 @@ public class SysSettingUtils {
} else {
Settings.System.putInt(context.getContentResolver(), "qch_Browser_input", 0);
}
+
+ try {
+ int is_browser_network;
+ if (TextUtils.isEmpty(jsonObject.get("is_browser_network").getAsString())) {
+ is_browser_network = 0;
+ } else {
+ is_browser_network = jsonObject.get("is_browser_network").getAsInt();
+ }
+ Log.e(TAG, "setBrowserInput: is_browser_network = " + is_browser_network);
+ Settings.Global.putInt(context.getContentResolver(), "is_browser_network", is_browser_network);
+ } catch (Exception e) {
+ Log.e(TAG, "setBrowserInput: e: " + e.getMessage());
+ }
}
/**
@@ -781,5 +794,6 @@ public class SysSettingUtils {
*/
private static void setBrowserInput(Context context, int state) {
Settings.System.putInt(context.getContentResolver(), "qch_Browser_input", 0);
+ Settings.Global.putInt(context.getContentResolver(), "is_browser_network", changeNum(state));
}
}
diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml
index b14e974..a63a028 100644
--- a/app/src/main/res/layout-land/activity_main.xml
+++ b/app/src/main/res/layout-land/activity_main.xml
@@ -216,6 +216,7 @@
app:layout_constraintStart_toEndOf="@+id/constraintLayout6" />
-
+ app:layout_constraintTop_toTopOf="parent" />
+
+
+
+
+
+
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
-
+
+
+
+
+
+
+
@@ -692,9 +739,9 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:text="@string/binding_time"
- android:visibility="gone"
android:textColor="@color/text_gray"
android:textSize="@dimen/sp_10"
+ android:visibility="gone"
app:layout_constraintEnd_toEndOf="@+id/iv_qrcode"
app:layout_constraintStart_toStartOf="@+id/iv_qrcode"
app:layout_constraintTop_toBottomOf="@+id/iv_qrcode" />