version:1.4
update:2021-10-21 10:14:40 fix: add:增加浏览器桌面检测升级,修复重复请求
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user