version:1.4

update:2021-10-21 10:14:40
fix:
add:增加浏览器桌面检测升级,修复重复请求
This commit is contained in:
2021-12-03 14:33:03 +08:00
parent 768519e14e
commit 34fa9fcdb7
70 changed files with 3189 additions and 1503 deletions

View File

@@ -1,7 +1,5 @@
package com.aoleyun.sn.activity;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.app.AlertDialog;
@@ -11,26 +9,21 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.R;
import com.aoleyun.sn.base.BaseActivity;
import com.aoleyun.sn.service.MainService;
import com.aoleyun.sn.utils.ApkUtils;
import com.aoleyun.sn.utils.ExampleUtil;
import com.aoleyun.sn.utils.JGYUtils;
import com.aoleyun.sn.utils.Logutils;
import com.aoleyun.sn.utils.SaveListUtils;
import com.aoleyun.sn.utils.SysSettingUtils;
import com.aoleyun.sn.utils.ToastUtil;
@@ -38,21 +31,9 @@ import com.aoleyun.sn.utils.Utils;
import com.blankj.utilcode.util.NetworkUtils;
import com.google.gson.JsonObject;
import java.util.concurrent.TimeUnit;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import cn.jpush.android.api.JPushInterface;
import io.reactivex.Observable;
import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.Observer;
import io.reactivex.Scheduler;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import pl.droidsonroids.gif.GifImageView;
public class CheckNetActivity extends BaseActivity implements MainContact.MainView, NetworkUtils.OnNetworkStatusChangedListener {
@@ -68,6 +49,8 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
TextView tv_2;
@BindView(R.id.tv_3)
TextView tv_3;
@BindView(R.id.bt_confirm)
Button bt_confirm;
private static final String TAG = CheckNetActivity.class.getSimpleName();
private MainPresenter mPresenter;
@@ -112,26 +95,31 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
mPresenter.attachView(this);
mPresenter.setProvider(this);
JGYUtils.startServices(CheckNetActivity.this);
Logutils.e(TAG, "initView: " + "start request");
mPresenter.getFirstConnect();
Log.e(TAG, "initView: " + "start request");
NetworkUtils.registerNetworkStatusChangedListener(this);
getDevicesInfo();
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Resut resut = (Resut) msg.obj;
if (resut.Times == 10) {
if (isAvailable == true || runTimes == 10) {
if (resut.isAvailable) {
giv_1.setImageResource(R.drawable.successful);
giv_1.setImageResource(R.drawable.succeed);
} else {
giv_1.setImageResource(R.drawable.failed);
}
mPresenter.getLockedState();
}
}
};
checkNetworkIsAvailable();
bt_confirm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MainService.mPresenter.getLockedState();
finish();
}
});
}
private static class Resut {
@@ -147,6 +135,7 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
runTimes++;
Log.e("initView", "run: " + "" + runTimes + "次检测网络");
if (NetworkUtils.isAvailable()) {
isAvailable = true;
Resut resut = new Resut();
resut.Times = runTimes;
resut.isAvailable = true;
@@ -173,48 +162,6 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
}).start();
}
private void getDevicesInfo() {
String sn = Utils.getSerial();
checkSNError(sn);
String macaddr = Utils.getAndroid10MAC(this);
if (TextUtils.isEmpty(macaddr)) {
} else {
mPresenter.getQRImage(macaddr);
}
Logutils.e(TAG, "getDevicesInfo: CustomVersion: " + Utils.getCustomVersion());
Logutils.e(TAG, "getDevicesInfo: RomVersion: " + Utils.getRomVersion());
}
private void checkSNError(String sn) {
//sn长度12位
if (sn.length() != 12) {
showSNErrorDialog("设备SN号码格式错误");
} else {
Logutils.e(TAG, "checkSNError: " + sn);
}
//检查平台和sn是否对应
if (JGYUtils.getInstance().checkSNPlatform(sn) != JGYUtils.getInstance().checkAppPlatform()) {
showSNErrorDialog("SN数据与平台不符请联系管理员");
}
//设置极光推送标签
JGYUtils.getInstance().getAppPlatform(platform -> mPresenter.setJpushPlatformTags(platform));
}
private void showSNErrorDialog(String content) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(content);
builder.setTitle("注意:");
builder.setIcon(R.mipmap.ic_launcher);
builder.setCancelable(true);
//设置正面按钮
builder.setPositiveButton("确定", (dialog, which) -> dialog.dismiss());
AlertDialog dialog = builder.create(); //创建AlertDialog对象
if (!this.isFinishing() && !dialog.isShowing()) {
dialog.show();
}
}
//执行所有接口耗时
long timeMillis;
@@ -222,11 +169,10 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
public void initData() {
JPushInterface.init(this);
registerMessageReceiver();
Logutils.e("getMacAddress", Utils.getAndroid10MAC(this));
Log.e("getMacAddress", Utils.getAndroid10MAC(this));
timeMillis = SystemClock.elapsedRealtime();
startService(new Intent(CheckNetActivity.this, MainService.class));
mPresenter.getLockedState();
mPresenter.getStudesInfo();
// mPresenter.getStudesInfo();
}
@Override
@@ -250,6 +196,11 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
public void setNameText(String text, int visibility) {
}
@Override
public void setHead(String url) {
}
/**
* @param loocked 后台1是锁定底层0是锁定
*/
@@ -283,7 +234,7 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
*/
@Override
public void setFirstConnect(boolean state) {
Logutils.e(TAG, "isFirstConnect: " + "end request");
Log.e(TAG, "isFirstConnect: " + "end request");
if (state) {
mPresenter.setDisableSetting();
} else {
@@ -292,52 +243,67 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
}
@Override
public void sendMACFinished() {
public void sendMACFinish() {
mPresenter.updateDeviceInfo();
}
@Override
public void updateDeviceInfoFinished() {
public void updateDeviceInfoFinish() {
mPresenter.getSnTimeControl();
}
@Override
public void getSnTimeControlFinished() {
public void getSnTimeControlFinish() {
mPresenter.getEBagCode();
}
@Override
public void getEBagCodeFinished() {
public void getEBagCodeFinish() {
}
@Override
public void setAliasFinished() {
public void setAliasFinish() {
mPresenter.checkStoreUpdate();
}
@Override
public void setJpushPlatformTagsFinished() {
public void setJpushPlatformTagsFinish() {
}
@Override
public void checkStoreUpdateFinished() {
public void checkStoreUpdateFinish() {
mPresenter.checkInfoUpdate();
}
@Override
public void checkInfoUpdateFinished() {
public void checkInfoUpdateFinish() {
mPresenter.checkDesktopUpdate();
}
@Override
public void checkDesktopUpdateFinish() {
mPresenter.checkNotifyUpdate();
}
@Override
public void checkNotifyUpdateFinish() {
mPresenter.checkBrowserUpdate();
}
@Override
public void checkBrowserUpdateFinish() {
mPresenter.checkTestUpdate();
}
@Override
public void checkTestUpdateFinished() {
public void buttonCheckUpdateFinish(boolean update, JsonObject jsonObject) {
}
@Override
public void buttonCheckUpdateFinished(boolean update, JsonObject jsonObject) {
public void checkTestUpdateFinish() {
}
@@ -346,7 +312,14 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
* 设备可以没有批次,但是没有批次相当于没有数据了,就不执行下面的请求了
*/
@Override
public void setTagsFinished(boolean noTag) {
public void setTagsFinish(boolean noTag) {
if (mPresenter.isRequestSucceeded()) {
giv_2.setImageResource(R.drawable.succeed);
giv_3.setImageResource(R.drawable.succeed);
} else {
giv_2.setImageResource(R.drawable.failed);
giv_3.setImageResource(R.drawable.failed);
}
if (noTag) {
Log.e(TAG, "setTagsFinished: " + "not set tag");
netWorkIsRunning = false;
@@ -386,89 +359,106 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
}
@Override
public void getAppLimitFinished(String packageList) {
public void getAppLimitFinish(String packageList) {
mPresenter.getDeviceBatch(packageList);
}
@Override
public void getDeviceBatchFinished() {
public void getDeviceBatchFinish() {
mPresenter.getForceDownload();
}
@Override
public void getForceDownloadFinished() {
public void getForceDownloadFinish() {
mPresenter.getBrowserList();
}
@Override
public void getBrowserListFinished(String whitelist) {
public void getBrowserListFinish(String whitelist) {
mPresenter.getBrowserBookmarks(whitelist);
}
@Override
public void getBrowserBookmarksFinished() {
public void getBrowserBookmarksFinish() {
mPresenter.getBrowserWhiteList();
mPresenter.getDesktopIcon();
}
@Override
public void getDesktopIconFinished() {
public void getDesktopIconFinish() {
mPresenter.getAppAutoStartUpdateAndNet();
}
@Override
public void getAppAutoStartUpdateAndNetFinished() {
public void getAppAutoStartUpdateAndNetFinish() {
mPresenter.getAppIDControl();
}
@Override
public void getAppIDControlFinished() {
public void getAppIDControlFinish() {
mPresenter.setAppinsideWeb();
}
@Override
public void setAppinsideWebFinished() {
public void setAppinsideWebFinish() {
mPresenter.setSystemSetting();
}
@Override
public void setSystemSettingFinished() {
public void setSystemSettingFinish() {
mPresenter.getDefaultApp();
}
@Override
public void setDefaultAppFinished() {
public void setDefaultAppFinish() {
mPresenter.getROMApp();
}
@Override
public void getROMAppFinished() {
public void getROMAppFinish() {
mPresenter.getDeveloper();
}
@Override
public void getDeveloperFinished() {
public void getDeveloperFinish() {
mPresenter.setLogoImg();
}
@Override
public void setLogoImgFinished() {
public void setLogoImgFinish() {
mPresenter.setTopApp();
}
@Override
public void setTopAppFinished() {
public void setTopAppFinish() {
mPresenter.getDefaultDesktop();
}
@Override
public void getDefaultDesktopFinished() {
public void getDefaultDesktopFinish() {
netWorkIsRunning = false;
if (mPresenter.isRequestSucceeded()) {
giv_2.setImageResource(R.drawable.succeed);
giv_3.setImageResource(R.drawable.succeed);
} else {
giv_2.setImageResource(R.drawable.failed);
giv_3.setImageResource(R.drawable.failed);
}
Log.e(TAG, "SettingFinished: " + (SystemClock.elapsedRealtime() - timeMillis) + " ms");
}
@Override
public void setScreenLockStateFinished(boolean locked, String tips) {
public void setPoweroffTime() {
}
@Override
public void setWiFiPasswd() {
}
@Override
public void setScreenLockStateFinish(boolean locked, String tips) {
}
@@ -493,6 +483,7 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
mPresenter.detachView();
JGYUtils.startServices(CheckNetActivity.this);
NetworkUtils.unregisterNetworkStatusChangedListener(this);
MainService.mPresenter.getLockedState();
}
@Override
@@ -515,52 +506,6 @@ public class CheckNetActivity extends BaseActivity implements MainContact.MainVi
}
}
private void setStoreUpdateListener(View view) {
ObservableOnSubscribe<View> mObservableOnSubscribe = new ObservableOnSubscribe<View>() {
@Override
public void subscribe(@NonNull ObservableEmitter<View> emitter) throws Exception {
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (updateApp) {
ToastUtil.show("你已经检查过更新,请稍后再试");
} else {
emitter.onNext(view);
}
}
});
}
};
Observer<View> mObserver = new Observer<View>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Logutils.e("mObserver", "onSubscribe");
}
@Override
public void onNext(@NonNull View view) {
Logutils.e("mObserver", "onNext");
ToastUtil.show("正在检查更新");
}
@Override
public void onError(@NonNull Throwable e) {
Logutils.e("mObserver", "onError");
onComplete();
}
@Override
public void onComplete() {
Logutils.e("mObserver", "onComplete");
}
};
Observable.create(mObservableOnSubscribe)
.throttleFirst(10, TimeUnit.SECONDS)
//这句很关键这是RxJava中的操作符在规定时间内观察者不在接收被观察者发送的事件
.subscribe(mObserver);
}
//jiguang
public void registerMessageReceiver() {
mMessageReceiver = new CheckNetActivity.MessageReceiver();