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" />