diff --git a/app/build.gradle b/app/build.gradle
index 6d917ed..5d47e34 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -83,8 +83,8 @@ android {
MTKnewly {
flavorDimensions "default"
- versionCode 6
- versionName "1.5"
+ versionCode 7
+ versionName "1.6"
/*********************************极光推送************************************/
manifestPlaceholders = [
XG_ACCESS_ID : "1500026372",
@@ -299,7 +299,7 @@ dependencies {
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
- implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
+ implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
@@ -312,22 +312,24 @@ dependencies {
//Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
- implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
+ implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'
//RxJava
- implementation 'io.reactivex.rxjava2:rxjava:2.2.12'
- implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
+ implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
+ implementation 'io.reactivex.rxjava3:rxjava:3.0.0'
//生命周期管理
- implementation 'com.trello.rxlifecycle2:rxlifecycle:2.2.2'
- implementation 'com.trello.rxlifecycle2:rxlifecycle-android:2.2.2'
- implementation 'com.trello.rxlifecycle2:rxlifecycle-components:2.2.2'
+ implementation 'com.trello.rxlifecycle4:rxlifecycle:4.0.2'
+ implementation 'com.trello.rxlifecycle4:rxlifecycle-android:4.0.2'
+ implementation 'com.trello.rxlifecycle4:rxlifecycle-components:4.0.2'
+ implementation 'com.trello.rxlifecycle4:rxlifecycle-components-preference:4.0.2'
+ implementation 'com.trello.rxlifecycle4:rxlifecycle-android-lifecycle:4.0.2'
//implementation "com.uber.autodispose:autodispose:1.3.0"
//implementation "com.uber.autodispose:autodispose-android-archcomponents:1.3.0"
//Google
- implementation 'com.google.code.gson:gson:2.8.7'
- implementation 'com.google.zxing:core:3.3.0'
+ implementation 'com.google.code.gson:gson:2.9.0'
+ implementation 'com.google.zxing:core:3.4.1'
//图片加载框架
- implementation 'com.github.bumptech.glide:glide:4.11.0'
- annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
+ implementation 'com.github.bumptech.glide:glide:4.13.0'
+ annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0'
//fastjson
implementation 'com.alibaba:fastjson:1.2.79'
//极光推送
@@ -336,39 +338,39 @@ dependencies {
//高德地图定位
implementation 'com.amap.api:location:5.1.0'
//MMKV
- implementation 'com.tencent:mmkv-static:1.2.11'
+ implementation 'com.tencent:mmkv-static:1.2.12'
//腾讯移动推送 TPNS
implementation 'com.tencent.tpns:tpns:1.3.1.1-release'
- //RxHttp
- implementation 'com.github.liujingxing.rxhttp:rxhttp:2.6.5'
- //implementation 'com.squareup.okhttp3:okhttp:4.9.1' //rxhttp v2.2.2版本起,需要手动依赖okhttp
- annotationProcessor 'com.github.liujingxing.rxhttp:rxhttp-compiler:2.6.5'
- //生成RxHttp类,纯Java项目,请使用annotationProcessor代替kapt
- implementation 'com.github.liujingxing.rxlife:rxlife-coroutine:2.1.0' //管理协程生命周期,页面销毁,关闭请求
- //rxjava2 (RxJava2/Rxjava3二选一,使用asXxx方法时必须)
- //implementation 'io.reactivex.rxjava2:rxjava:2.2.8'
- //implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
- implementation 'com.github.liujingxing.rxlife:rxlife-rxjava2:2.1.0' //管理RxJava2生命周期,页面销毁,关闭请求
+// //RxHttp
+// implementation 'com.github.liujingxing.rxhttp:rxhttp:2.6.5'
+// //implementation 'com.squareup.okhttp3:okhttp:4.9.1' //rxhttp v2.2.2版本起,需要手动依赖okhttp
+// annotationProcessor 'com.github.liujingxing.rxhttp:rxhttp-compiler:2.6.5'
+// //生成RxHttp类,纯Java项目,请使用annotationProcessor代替kapt
+// implementation 'com.github.liujingxing.rxlife:rxlife-coroutine:2.1.0' //管理协程生命周期,页面销毁,关闭请求
+// //rxjava2 (RxJava2/Rxjava3二选一,使用asXxx方法时必须)
+// //implementation 'io.reactivex.rxjava2:rxjava:2.2.8'
+// //implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
+// implementation 'com.github.liujingxing.rxlife:rxlife-rxjava2:2.1.0' //管理RxJava2生命周期,页面销毁,关闭请求
//工具类
- implementation 'com.blankj:utilcodex:1.30.6'
+ implementation 'com.blankj:utilcodex:1.31.0'
//Aria
implementation 'com.arialyy.aria:core:3.8.15'
annotationProcessor 'com.arialyy.aria:compiler:3.8.15'
//压缩文件解压
- implementation 'org.zeroturnaround:zt-zip:1.13'
+ implementation 'org.zeroturnaround:zt-zip:1.14'
//更换字体框架
implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
//Java WebSocket
- implementation "org.java-websocket:Java-WebSocket:1.4.1"
+ implementation "org.java-websocket:Java-WebSocket:1.5.2"
//状态栏透明
- implementation 'com.gitee.zackratos:UltimateBarX:0.7.1'
+ implementation 'com.gitee.zackratos:UltimateBarX:0.8.0'
// // 基础依赖包,必须要依赖
// implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
// // fragment快速实现(可选)
// implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'
// // kotlin扩展(可选)
// implementation 'com.gyf.immersionbar:immersionbar-ktx:3.0.0'
- implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.23'
+ implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.24'
}
preBuild {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index df1b551..9237531 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,9 +4,10 @@
coreApp="true"
package="com.aoleyun.sn"
android:sharedUserId="android.uid.system">
+
-
+
@@ -130,6 +131,15 @@
+
+
+
+
+
+
+
-
-->
-
+
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 b212df8..b889eb4 100644
--- a/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java
+++ b/app/src/main/java/com/aoleyun/sn/activity/SplashActivity.java
@@ -79,7 +79,7 @@ public class SplashActivity extends AppCompatActivity {
private void initView() {
if (BuildConfig.DEBUG) {
JGYUtils.getInstance().cleanBackgroundMemory();
- NetInterfaceManager.getInstance().uploadLogFile();
+// NetInterfaceManager.getInstance().uploadLogFile();
bt_log = findViewById(R.id.bt_log);
bt_log.setVisibility(View.VISIBLE);
bt_log.setOnClickListener(view -> {
@@ -157,7 +157,7 @@ public class SplashActivity extends AppCompatActivity {
Log.e(TAG, "debugTest: " + e.getMessage());
}
- Utils.getPublicIP(this);
+// Utils.getPublicIP(this);
Utils.obtainWifiInfo(this);
Log.e("getLocalIP", "set: " + Utils.getIPAddress(this));
// WiFiUtils.getInstance().connectWifiPws("七彩宏云","colorfulyun.com");
diff --git a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetActivity.java b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetActivity.java
index d738b5f..1b57395 100644
--- a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetActivity.java
+++ b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetActivity.java
@@ -1,40 +1,36 @@
package com.aoleyun.sn.activity.checknet;
-import android.app.AlertDialog;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.DialogInterface;
import android.content.Intent;
-import android.content.IntentFilter;
-import android.graphics.Bitmap;
-import android.os.Handler;
-import android.os.Message;
import android.os.SystemClock;
import android.util.Log;
import android.view.KeyEvent;
-import android.view.View;
import android.widget.Button;
import android.widget.TextView;
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
-
import com.aoleyun.sn.R;
import com.aoleyun.sn.base.BaseActivity;
import com.aoleyun.sn.service.main.MainService;
-import com.aoleyun.sn.utils.ExampleUtil;
import com.aoleyun.sn.utils.JGYUtils;
import com.aoleyun.sn.utils.SaveListUtils;
import com.aoleyun.sn.utils.SysSettingUtils;
import com.aoleyun.sn.utils.ToastUtil;
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 io.reactivex.rxjava3.annotations.NonNull;
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
import pl.droidsonroids.gif.GifImageView;
public class CheckNetActivity extends BaseActivity implements CheckNetContact.MainView, NetworkUtils.OnNetworkStatusChangedListener {
+ private static final String TAG = CheckNetActivity.class.getSimpleName();
+
@BindView(R.id.giv_1)
GifImageView giv_1;
@BindView(R.id.giv_2)
@@ -50,20 +46,8 @@ public class CheckNetActivity extends BaseActivity implements CheckNetContact.Ma
@BindView(R.id.bt_confirm)
Button bt_confirm;
- private static final String TAG = CheckNetActivity.class.getSimpleName();
- private CheckNetPresenter mPresenter;
-
+ private CheckNetPresenter mCheckNetPresenter;
private boolean netWorkIsRunning = false;
- private boolean updateApp = false;
-
- //for receive customer msg from jpush server
- private MessageReceiver mMessageReceiver;
- public static final String MESSAGE_RECEIVED_ACTION = "com.aoleyun.sn.MESSAGE_RECEIVED_ACTION";
- public static final String KEY_TITLE = "title";
- public static final String KEY_MESSAGE = "message";
- public static final String KEY_EXTRAS = "extras";
-
- private static Handler mHandler;
@Override
public void onDisconnected() {
@@ -74,8 +58,9 @@ public class CheckNetActivity extends BaseActivity implements CheckNetContact.Ma
public void onConnected(NetworkUtils.NetworkType networkType) {
Log.e("OnNetworkStatusChanged", "onConnected: ");
timeMillis = SystemClock.elapsedRealtime();
+ giv_1.setImageResource(R.drawable.succeed);
//直接获取数据
- mPresenter.getLockedState();
+ mCheckNetPresenter.getLockedState();
}
@Override
@@ -83,82 +68,82 @@ public class CheckNetActivity extends BaseActivity implements CheckNetContact.Ma
return R.layout.activity_checknet;
}
- boolean isAvailable = false;
- int runTimes = 0;
-
@Override
public void initView() {
ButterKnife.bind(this);
- mPresenter = new CheckNetPresenter(this);
- mPresenter.attachView(this);
- mPresenter.setProvider(this);
+ mCheckNetPresenter = new CheckNetPresenter(this);
+ mCheckNetPresenter.attachView(this);
+ mCheckNetPresenter.setProvider(this);
+ mCheckNetPresenter.setLifecycle(lifecycleSubject);
JGYUtils.startServices(CheckNetActivity.this);
Log.e(TAG, "initView: " + "start request");
NetworkUtils.registerNetworkStatusChangedListener(this);
- mHandler = new Handler() {
+ checkNetworkIsAvailable(new NetworkInfo() {
@Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- Resut resut = (Resut) msg.obj;
- if (isAvailable == true || runTimes == 10) {
- if (resut.isAvailable) {
+ public void isAvailable(boolean available) {
+ runOnUiThread(() -> {
+ if (available) {
giv_1.setImageResource(R.drawable.succeed);
+ mCheckNetPresenter.getLockedState();
} 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();
+ });
}
});
- mPresenter.getFirstConnect();
+ bt_confirm.setOnClickListener(view -> finish());
+ mCheckNetPresenter.getFirstConnect();
}
- private static class Resut {
- int Times;
- boolean isAvailable;
+ interface NetworkInfo {
+ void isAvailable(boolean available);
}
- private void checkNetworkIsAvailable() {
- new Thread(new Runnable() {
- @Override
- public void run() {
- while (!isAvailable && runTimes < 10) {
- runTimes++;
- Log.e("initView", "run: " + "第" + runTimes + "次检测网络");
- if (NetworkUtils.isAvailable()) {
- isAvailable = true;
- Resut resut = new Resut();
- resut.Times = runTimes;
- resut.isAvailable = true;
- Message message = new Message();
- message.obj = resut;
- mHandler.sendMessage(message);
- } else {
- Resut resut = new Resut();
- resut.Times = runTimes;
- resut.isAvailable = false;
- Message message = new Message();
- message.obj = resut;
- mHandler.sendMessage(message);
+ private Disposable mDisposable;
+
+ private void checkNetworkIsAvailable(NetworkInfo networkInfo) {
+ /**
+ * start: 开始数值
+ * count: 输出值的个数
+ * initialDelay: 延迟多少秒执行
+ * period: 间隔多久执行一次
+ * TimeUnit: 单位设置,NANOSECONDS(纳秒),MICROSECONDS(微秒),MILLISECONDS(毫秒),SECONDS(秒),MINUTES(分钟),HOURS(小时),DAYS(天)
+ */
+ Observable.intervalRange(1, 10, 0, 1500, TimeUnit.MILLISECONDS)
+ .observeOn(Schedulers.io())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ mDisposable = d;
+ Log.e("checkNetworkIsAvailable", "onSubscribe: ");
}
- try {
- synchronized (this) {
- wait(1200);
+
+ @Override
+ public void onNext(@NonNull Long aLong) {
+ Log.e("checkNetworkIsAvailable", "onNext: " + "第" + aLong + "次检测网络");
+ if (NetworkUtils.isAvailable()) {
+ Log.e("checkNetworkIsAvailable", "onNext: " + "网络连接成功");
+ networkInfo.isAvailable(true);
+ if (mDisposable != null && !mDisposable.isDisposed()) {
+ mDisposable.dispose();
+ }
+ } else {
+ Log.e("checkNetworkIsAvailable", "onNext: " + "网络无连接");
}
- } catch (InterruptedException e) {
- e.printStackTrace();
}
- }
- }
- }).start();
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("checkNetworkIsAvailable", "onError: " + e.getMessage());
+ onComplete();
+ }
+
+ @Override
+ public void onComplete() {
+ networkInfo.isAvailable(NetworkUtils.isAvailable());
+ Log.e("checkNetworkIsAvailable", "onComplete: ");
+ }
+ });
}
//执行所有接口耗时
@@ -166,36 +151,8 @@ public class CheckNetActivity extends BaseActivity implements CheckNetContact.Ma
@Override
public void initData() {
-// JPushInterface.init(this);
- registerMessageReceiver();
Log.e("getMacAddress", Utils.getAndroid10MAC(this));
timeMillis = SystemClock.elapsedRealtime();
- startService(new Intent(CheckNetActivity.this, MainService.class));
-// mPresenter.getStudesInfo();
- }
-
- /**
- * @param loocked 后台1是锁定,底层0是锁定
- */
- @Override
- public void setLockedState(boolean loocked) {
- //发送设备mac地址和信息
- mPresenter.sendMACAddress();
- //设置极光推送别名
- mPresenter.setJpushAlias();
- if (loocked) {
- if (netWorkIsRunning || MainService.netWorkIsRunning) {
- //如果正在执行,不执行
- return;
- }
- SaveListUtils.getList();
- //获取系统管控
- mPresenter.setPushTags();
- netWorkIsRunning = true;
- } else {
- netWorkIsRunning = false;
- SysSettingUtils.setEnableSetting(this);
- }
}
/**
@@ -207,25 +164,26 @@ public class CheckNetActivity extends BaseActivity implements CheckNetContact.Ma
public void setFirstConnect(boolean state) {
Log.e(TAG, "isFirstConnect: " + "end request");
if (state) {
- mPresenter.setDisableSetting();
+ mCheckNetPresenter.setDisableSetting();
} else {
}
}
+
@Override
public void sendMACFinish() {
- mPresenter.updateDeviceInfo();
+ mCheckNetPresenter.updateDeviceInfo();
}
@Override
public void updateDeviceInfoFinish() {
- mPresenter.getSnTimeControl();
+ mCheckNetPresenter.getSnTimeControl();
}
@Override
public void getSnTimeControlFinish() {
- mPresenter.getEBagCode();
+ mCheckNetPresenter.getEBagCode();
}
@Override
@@ -233,44 +191,34 @@ public class CheckNetActivity extends BaseActivity implements CheckNetContact.Ma
}
- @Override
- public void setAliasFinish() {
- mPresenter.checkStoreUpdate();
- }
-
@Override
public void setJpushPlatformTagsFinish() {
-
+ mCheckNetPresenter.checkStoreUpdate();
}
@Override
public void checkStoreUpdateFinish() {
- mPresenter.checkInfoUpdate();
+ mCheckNetPresenter.checkInfoUpdate();
}
@Override
public void checkInfoUpdateFinish() {
- mPresenter.checkDesktopUpdate();
+ mCheckNetPresenter.checkDesktopUpdate();
}
@Override
public void checkDesktopUpdateFinish() {
- mPresenter.checkNotifyUpdate();
+ mCheckNetPresenter.checkNotifyUpdate();
}
@Override
public void checkNotifyUpdateFinish() {
- mPresenter.checkBrowserUpdate();
+ mCheckNetPresenter.checkBrowserUpdate();
}
@Override
public void checkBrowserUpdateFinish() {
- mPresenter.checkTestUpdate();
- }
-
- @Override
- public void buttonCheckUpdateFinish(boolean update, JsonObject jsonObject) {
-
+ mCheckNetPresenter.checkTestUpdate();
}
@Override
@@ -278,141 +226,137 @@ public class CheckNetActivity extends BaseActivity implements CheckNetContact.Ma
}
+ /**
+ * @param loocked 后台1是锁定,底层0是锁定
+ */
+ @Override
+ public void setLockedState(boolean loocked) {
+ Log.e(TAG, "setLockedState: " + loocked);
+ //发送设备mac地址和信息
+ mCheckNetPresenter.sendMACAddress();
+ if (loocked) {
+ if (netWorkIsRunning) {
+ //如果正在执行,不执行
+ return;
+ }
+ SaveListUtils.getList();
+ //获取系统管控
+ mCheckNetPresenter.setPushTags();
+ netWorkIsRunning = true;
+ } else {
+ netWorkIsRunning = false;
+ SysSettingUtils.setEnableSetting(this);
+ }
+ }
+
/**
* @param noTag 为空,没有,错误都返回true
* 设备可以没有批次,但是没有批次相当于没有数据了,就不执行下面的请求了
*/
@Override
public void setTagsFinish(boolean noTag) {
- if (mPresenter.isRequestSucceeded()) {
+ if (mCheckNetPresenter.isRequestSucceeded()) {
+ Log.e(TAG, "setTagsFinish: " + mCheckNetPresenter.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;
Log.e(TAG, "SettingFinished: " + (SystemClock.elapsedRealtime() - timeMillis) + " ms");
} else {
- mPresenter.getSystemSettingbegin();
+ mCheckNetPresenter.getSystemSettingbegin();
}
}
- private void showDialog(JsonObject jsonObject) {
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setTitle("更新:");
- builder.setMessage("检测到有新版本,是否更新?");
- builder.setIcon(R.mipmap.ic_launcher);
- builder.setCancelable(true);
- //设置正面按钮
- builder.setPositiveButton("更新", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- JGYUtils.getInstance().installAPK(jsonObject);
- dialog.dismiss();
- }
- });
- //设置反面按钮
- builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- });
- builder.show();
- }
-
@Override
public void getSystemSettingbegin() {
- mPresenter.getAppLimit();
+ mCheckNetPresenter.getAppLimit();
}
@Override
public void getAppLimitFinish(String packageList) {
- mPresenter.getDeviceBatch(packageList);
+ mCheckNetPresenter.getDeviceBatch(packageList);
}
@Override
public void getDeviceBatchFinish() {
- mPresenter.getForceDownload();
+ mCheckNetPresenter.getForceDownload();
}
@Override
public void getForceDownloadFinish() {
- mPresenter.getBrowserList();
+ mCheckNetPresenter.getBrowserList();
}
@Override
public void getBrowserListFinish(String whitelist) {
- mPresenter.getBrowserBookmarks(whitelist);
+ mCheckNetPresenter.getBrowserBookmarks(whitelist);
}
@Override
public void getBrowserBookmarksFinish() {
- mPresenter.getBrowserWhiteList();
- mPresenter.getDesktopIcon();
+ mCheckNetPresenter.getBrowserWhiteList();
+ mCheckNetPresenter.getDesktopIcon();
}
@Override
public void getDesktopIconFinish() {
- mPresenter.getAppAutoStartUpdateAndNet();
+ mCheckNetPresenter.getAppAutoStartUpdateAndNet();
}
@Override
public void getAppAutoStartUpdateAndNetFinish() {
- mPresenter.getAppIDControl();
+ mCheckNetPresenter.getAppIDControl();
}
@Override
public void getAppIDControlFinish() {
- mPresenter.setAppinsideWeb();
+ mCheckNetPresenter.setAppinsideWeb();
}
@Override
public void setAppinsideWebFinish() {
- mPresenter.setSystemSetting();
+ mCheckNetPresenter.setSystemSetting();
}
@Override
public void setSystemSettingFinish() {
- mPresenter.getDefaultApp();
+ mCheckNetPresenter.getDefaultApp();
}
@Override
public void setDefaultAppFinish() {
- mPresenter.getROMApp();
+ mCheckNetPresenter.getROMApp();
}
@Override
public void getROMAppFinish() {
- mPresenter.getDeveloper();
+ mCheckNetPresenter.getDeveloper();
}
@Override
public void getDeveloperFinish() {
- mPresenter.setLogoImg();
+ mCheckNetPresenter.setLogoImg();
}
@Override
public void setLogoImgFinish() {
- mPresenter.setTopApp();
+ mCheckNetPresenter.setTopApp();
}
@Override
public void setTopAppFinish() {
- mPresenter.getDefaultDesktop();
+ mCheckNetPresenter.getDefaultDesktop();
}
@Override
public void getDefaultDesktopFinish() {
netWorkIsRunning = false;
- if (mPresenter.isRequestSucceeded()) {
- giv_2.setImageResource(R.drawable.succeed);
+ if (mCheckNetPresenter.isRequestSucceeded()) {
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");
@@ -433,28 +377,12 @@ public class CheckNetActivity extends BaseActivity implements CheckNetContact.Ma
}
- @Override
- protected void onStop() {
- super.onStop();
- }
-
- @Override
- protected void onPause() {
- super.onPause();
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- }
-
@Override
protected void onDestroy() {
super.onDestroy();
- mPresenter.detachView();
+ mCheckNetPresenter.detachView();
JGYUtils.startServices(CheckNetActivity.this);
NetworkUtils.unregisterNetworkStatusChangedListener(this);
- MainService.mPresenter.getLockedState();
}
@Override
@@ -476,32 +404,4 @@ public class CheckNetActivity extends BaseActivity implements CheckNetContact.Ma
finish();
}
}
-
- //jiguang
- public void registerMessageReceiver() {
- mMessageReceiver = new CheckNetActivity.MessageReceiver();
- IntentFilter filter = new IntentFilter();
- filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
- filter.addAction(MESSAGE_RECEIVED_ACTION);
- LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, filter);
- }
-
- public static class MessageReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- try {
- if (MESSAGE_RECEIVED_ACTION.equals(intent.getAction())) {
- String messge = intent.getStringExtra(KEY_MESSAGE);
- String extras = intent.getStringExtra(KEY_EXTRAS);
- StringBuilder showMsg = new StringBuilder();
- showMsg.append(KEY_MESSAGE + " : " + messge + "\n");
- if (!ExampleUtil.isEmpty(extras)) {
- showMsg.append(KEY_EXTRAS + " : " + extras + "\n");
- }
- }
- } catch (Exception e) {
-
- }
- }
- }
}
diff --git a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetContact.java b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetContact.java
index 9d47f63..bd7265c 100644
--- a/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetContact.java
+++ b/app/src/main/java/com/aoleyun/sn/activity/checknet/CheckNetContact.java
@@ -1,20 +1,15 @@
package com.aoleyun.sn.activity.checknet;
-import android.graphics.Bitmap;
-import android.view.View;
-
-import com.google.gson.JsonObject;
import com.aoleyun.sn.base.BasePresenter;
import com.aoleyun.sn.base.BaseView;
public class CheckNetContact {
public interface Presenter extends BasePresenter {
- //获取设备锁定状态
- void getLockedState();
- //是否第一次联网
+ //1.是否第一次联网
void getFirstConnect();
- //关闭所有功能
+ //1.关闭所有功能
void setDisableSetting();
+
//发送mac地址
void sendMACAddress();
//更新设备信息
@@ -23,8 +18,6 @@ public class CheckNetContact {
void getSnTimeControl();
//获取电子书包激活码
void getEBagCode();
- //设置击关推送别名
- void setJpushAlias();
//设置极光推送平台标签
void setJpushPlatformTags(int platform);
//获取应用市场更新
@@ -37,11 +30,11 @@ public class CheckNetContact {
void checkNotifyUpdate();
//获取浏览器升级
void checkBrowserUpdate();
- //手动获取设备信息更新
- void buttonCheckUpdate(View view);
//获取测试应用更新
void checkTestUpdate();
//开始
+ //2.获取设备锁定状态
+ void getLockedState();
//设置极光推送标签
void setPushTags();
//获取开发者选项
@@ -92,10 +85,9 @@ public class CheckNetContact {
}
public interface MainView extends BaseView {
- //获取设备锁定状态
- void setLockedState(boolean loocked);
- //是否第一次联网
+ //1.是否第一次联网
void setFirstConnect(boolean state);
+
//发送mac地址
void sendMACFinish();
//更新设备信息
@@ -104,8 +96,6 @@ public class CheckNetContact {
void getSnTimeControlFinish();
//获取电子书包激活码
void getEBagCodeFinish();
- //设置击关推送别名
- void setAliasFinish();
//设置极光推送平台标签
void setJpushPlatformTagsFinish();
//获取应用市场更新
@@ -118,11 +108,11 @@ public class CheckNetContact {
void checkNotifyUpdateFinish();
//获取浏览器升级
void checkBrowserUpdateFinish();
- //手动获取设备信息更新
- void buttonCheckUpdateFinish(boolean update, JsonObject jsonObject);
//获取测试应用更新
void checkTestUpdateFinish();
//开始
+ //2.获取设备锁定状态
+ void setLockedState(boolean loocked);
//设置极光推送标签
void setTagsFinish(boolean noTag);
//获取开发者选项结束
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 bbb544c..42e04c5 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
@@ -1,14 +1,11 @@
package com.aoleyun.sn.activity.checknet;
-import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
-import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
-import android.view.View;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@@ -47,8 +44,9 @@ 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.rxlifecycle2.LifecycleProvider;
-import com.trello.rxlifecycle2.android.ActivityEvent;
+import com.trello.rxlifecycle4.LifecycleProvider;
+import com.trello.rxlifecycle4.RxLifecycle;
+import com.trello.rxlifecycle4.android.ActivityEvent;
import java.io.IOException;
import java.lang.reflect.Type;
@@ -57,16 +55,15 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.annotations.NonNull;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.annotations.NonNull;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
+import io.reactivex.rxjava3.subjects.BehaviorSubject;
import okhttp3.ResponseBody;
/**
- * MainActivity和MainService 的 Presenter
- *
* @author jgy
*/
public class CheckNetPresenter implements CheckNetContact.Presenter {
@@ -90,12 +87,23 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
return provider;
}
+ private BehaviorSubject lifecycle;
+
+ public void setLifecycle(BehaviorSubject lifecycle) {
+ this.lifecycle = lifecycle;
+ }
+
+ public BehaviorSubject getLifecycle() {
+ return lifecycle;
+ }
+
public CheckNetPresenter(Context context) {
this.mContext = context;
Log.e(TAG, "MainPresenter: " + context.getClass());
}
public boolean isRequestSucceeded() {
+ Log.e(TAG, "isRequestSucceeded: " + requestSucceeded);
return requestSucceeded;
}
@@ -109,74 +117,6 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
this.mView = null;
}
- private long lastgetLockedTime;
- private long one_minute = 1000 * 60;
-
- @Override
- public void getLockedState() {
- MMKV mmkv = MMKV.defaultMMKV();
- lastgetLockedTime = mmkv.decodeLong(CheckNetPresenter.GET_SETTING_FINISH_TIME);
- Log.e(TAG, "getLockedState: " + lastgetLockedTime);
- if (System.currentTimeMillis() - lastgetLockedTime < one_minute) {
- Log.e(TAG, "getLockedState: lastgetLockedTime = " + lastgetLockedTime);
- return;
- }
-
-// lastgetLockedTime = System.currentTimeMillis();
- NetInterfaceManager.getInstance()
- .getDevicesLockedStateObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(@NonNull Disposable d) {
- Log.e(TAG + ":" + "getLockedState", "onSubscribe: ");
- }
-
- @Override
- public void onNext(@NonNull BaseResponse response) {
- requestSucceeded = true;
- Log.e(TAG + ":" + "getLockedState", "onNext: " + JSONObject.toJSONString(response));
- if (response.code == OK) {
- JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject();
- int locked = jsonObject.get("lock").getAsInt();
- Log.e(TAG + ":" + "getLockedState", "locked: " + locked);
- int oldState = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0);
- Log.e(TAG + ":" + "getLockedState", "qch_unlock_ipad: " + oldState);
- //后台1是锁定,底层0是锁定
- SPUtils.put(mContext, CommonConfig.JGY_FIRST_CONNECT, 1);
- if (locked == 1) {
- if (oldState == 1) {
- Log.e(TAG + ":" + "getLockedState", "onNext: " + "state changed , reset devices");
- Utils.doMasterClear(mContext);
- }
- Settings.System.putInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0);
- } else {
-// SysSettingUtils.setEnableSetting(mContext);
- Settings.System.putInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 1);
- }
- mView.setLockedState(locked == 1);
- } else if (response.code == -300) {
- mView.setLockedState(false);
- Log.e(TAG + ":" + "getLockedState", "locked: " + false);
- }
-
- }
-
- @Override
- public void onError(@NonNull Throwable e) {
- Log.e(TAG + ":" + "getLockedState", "onError: " + e.getMessage());
- int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0);
- Log.e(TAG + ":" + "getLockedState", "locked: " + locked);
- mView.setLockedState(locked == 0);
- }
-
- @Override
- public void onComplete() {
- Log.e(TAG + ":" + "getLockedState", "onComplete: ");
- }
- });
- }
-
/**
* 第一次连接
*/
@@ -194,7 +134,8 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
SysSettingUtils.setDisableSetting(mContext);
}
-
+ private long lastgetLockedTime;
+ private long one_minute = 1000 * 60;
private long lastSendMACTime;
@Override
@@ -213,7 +154,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
NetInterfaceManager.getInstance()
.sendMACAddressObservable()
.observeOn(Schedulers.io())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -252,58 +193,29 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
mView.updateDeviceInfoFinish();
return;
}
- updateDevicesInfo(mContext);
- mView.updateDeviceInfoFinish();
+ NetInterfaceManager.getInstance().updateDeviceInfo(new NetInterfaceManager.ObserverCallback() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(BaseResponse response) {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+
+ }
+
+ @Override
+ public void onComplete() {
+ mView.updateDeviceInfoFinish();
+ }
+ });
}
- @SuppressLint("NewApi")
- synchronized private void updateDevicesInfo(Context context) {
- String address = String.valueOf(SPUtils.get(context, "AmapAddress", "-"));
- if ("-".equals(address)) {
- address = (String) SPUtils.get(context, "AmapError", "-");
- }
- String longitude = String.valueOf(SPUtils.get(context, "longitude", "0"));
- String latitude = String.valueOf(SPUtils.get(context, "latitude", "0"));
- JsonObject jsonObject = new JsonObject();
- jsonObject.addProperty("address", address);
- jsonObject.addProperty("longitude", longitude);
- jsonObject.addProperty("latitude", latitude);
- String add = jsonObject.toString();
- Log.e(TAG, "updateDevicesInfo: " + add);
- NetInterfaceManager.getInstance().getUpdateDeviceInfo()
- .updateDeviceInfo(
- Utils.getSerial(),
- NetInterfaceManager.HTTP_KEY,
- Utils.getMachine(context),
- Utils.getHardware(context),
- add)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(@NonNull Disposable d) {
- Log.e(TAG + ":" + "updateDevicesInfo", "onSubscribe: ");
- }
-
- @Override
- public void onNext(@NonNull BaseResponse baseResponse) {
- requestSucceeded = true;
- Log.e(TAG + ":" + "updateDevicesInfo", "onNext: " + baseResponse);
- }
-
- @Override
- public void onError(@NonNull Throwable e) {
- Log.e(TAG + ":" + "updateDevicesInfo", "onError: " + e.getMessage());
- onComplete();
- }
-
- @Override
- public void onComplete() {
- Log.e(TAG + ":" + "updateDevicesInfo", "onComplete: ");
- }
- });
- }
@Override
public void getSnTimeControl() {
@@ -313,7 +225,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
}
NetInterfaceManager.getInstance()
.getSnTimeObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -364,7 +276,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
public void getEBagCode() {
NetInterfaceManager.getInstance()
.getEBagCodeControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
@@ -400,15 +312,41 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
}
@Override
- public void setJpushAlias() {
- mView.setAliasFinish();
+ public void getLockedState() {
+ MMKV mmkv = MMKV.defaultMMKV();
+ lastgetLockedTime = mmkv.decodeLong(CheckNetPresenter.GET_SETTING_FINISH_TIME);
+ Log.e(TAG, "getLockedState: " + lastgetLockedTime);
+ NetInterfaceManager.getInstance()
+ .getLockedState(lifecycle, new NetInterfaceManager.ObserverCallback() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(BaseResponse response) {
+
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e(TAG, "onComplete: ");
+ int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_LOCKED);
+ Log.e(TAG + ":" + "getLockedState", "locked: " + locked);
+ mView.setLockedState(locked == JGYActions.FRAME_CODE_LOCKED);
+ }
+ });
}
@Override
public void setPushTags() {
NetInterfaceManager.getInstance()
.getJpushTagsObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -462,12 +400,12 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
@Override
public void onError(@NonNull Throwable e) {
Log.e(TAG + ":" + "setPushTags", "onError: " + e.getMessage());
- mView.setTagsFinish(true);
onComplete();
}
@Override
public void onComplete() {
+ mView.setTagsFinish(true);
Log.e(TAG + ":" + "setPushTags", "onComplete: ");
}
});
@@ -478,15 +416,6 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
mView.setJpushPlatformTagsFinish();
}
-// private void setTag(Set set) {
-// TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
-// tagAliasBean.action = ACTION_SET;
-// sequence++;
-// tagAliasBean.tags = set;
-// tagAliasBean.isAliasAction = false;
-// TagAliasOperatorHelper.getInstance().handleAction(mContext, sequence, tagAliasBean);
-// }
-
@Override
public void checkStoreUpdate() {
checkUpdateStore();
@@ -499,7 +428,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
JGYUtils.getInstance().checkAppPlatform())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -542,7 +471,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
JGYUtils.getInstance().checkAppPlatform())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -583,7 +512,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
JGYUtils.getInstance().checkAppPlatform())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -624,7 +553,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
JGYUtils.getInstance().checkAppPlatform())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -665,7 +594,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
JGYUtils.getInstance().checkAppPlatform())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -698,70 +627,6 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
});
}
- long buttonCheckUpdateTime = 0;
-
- @Override
- public void buttonCheckUpdate(View view) {
-// if ((System.currentTimeMillis() - buttonCheckUpdateTime) < 10000) {
-// buttonCheckUpdateTime = System.currentTimeMillis();
-// ToastUtil.show("正在检查更新");
-// } else {
-// ToastUtil.show("你已经过检查,请稍后再来");
-// }
- checkUpdateInfo();
- }
-
- private void checkUpdateInfo() {
- NetInterfaceManager.getInstance()
- .getUpdateApi()
- .getUpdate(BuildConfig.APPLICATION_ID,
- JGYUtils.getInstance().checkAppPlatform())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(@NonNull Disposable d) {
- Log.e(TAG + ":" + "checkUpdateInfo", "onSubscribe: ");
- }
-
- @Override
- public void onNext(@NonNull BaseResponse response) {
- requestSucceeded = true;
- Log.e(TAG + ":" + "checkUpdateInfo", "onNext: " + response);
- if (response.code == OK) {
- JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject();
- long versionCode = jsonObject.get("version_code").getAsLong();
- PackageManager pm = mContext.getPackageManager();
- PackageInfo info = null;
- try {
- info = pm.getPackageInfo(BuildConfig.APPLICATION_ID, 0);
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- if (null == info || info.versionCode < versionCode) {
- mView.buttonCheckUpdateFinish(true, jsonObject);
- } else {
- mView.buttonCheckUpdateFinish(false, null);
- }
- } else {
- mView.buttonCheckUpdateFinish(false, null);
- }
- }
-
- @Override
- public void onError(@NonNull Throwable e) {
- Log.e(TAG + ":" + "checkUpdateInfo", "onError: " + e.getMessage());
- onComplete();
- }
-
- @Override
- public void onComplete() {
- Log.e(TAG + ":" + "checkUpdateInfo", "onComplete: ");
- }
- });
- }
-
/**
* 获取灰度测试更新
*/
@@ -769,7 +634,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
public void checkTestUpdate() {
NetInterfaceManager.getInstance()
.getTestUpdateObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>>() {
@Override
public void onSubscribe(Disposable d) {
@@ -815,7 +680,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
public void getAppLimit() {
NetInterfaceManager.getInstance()
.getAppLimitObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -928,7 +793,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
public void getForceDownload() {
NetInterfaceManager.getInstance()
.getForceDownloadObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1051,7 +916,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
// NetInterfaceManager.getInstance()
// .getBrowserListSettingObservable()
// .observeOn(Schedulers.io())
-// .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+// .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
// .subscribe(new Observer>() {
// @Override
// public void onSubscribe(@NonNull Disposable d) {
@@ -1113,7 +978,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
// NetInterfaceManager.getInstance()
// .getBrowserListSettingObservable()
// .observeOn(Schedulers.io())
-// .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+// .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
// .subscribe(new Observer>() {
// @Override
// public void onSubscribe(@NonNull Disposable d) {
@@ -1317,7 +1182,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
NetInterfaceManager.getInstance()
.getDesktopIconObservable()
.observeOn(Schedulers.io())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1380,7 +1245,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
.getAppAutoStartUpdateAndNetObservable()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1417,7 +1282,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
NetInterfaceManager.getInstance()
.getAppIDControlObservable()
.observeOn(Schedulers.io())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1486,7 +1351,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
NetInterfaceManager.getInstance()
.getSystemSettingObservable()
.observeOn(Schedulers.io())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1544,7 +1409,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
public void getDefaultApp() {
NetInterfaceManager.getInstance()
.getDefaultAppApi()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>() {
@Override
public void onSubscribe(Disposable d) {
@@ -1589,7 +1454,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
.getROMApp(NetInterfaceManager.HTTP_KEY, customVersion)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
@@ -1629,7 +1494,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
public void getDeveloper() {
NetInterfaceManager.getInstance()
.getDeveloperControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
@@ -1677,7 +1542,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
}
NetInterfaceManager.getInstance()
.getLogoImgObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1727,7 +1592,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
}
NetInterfaceManager.getInstance()
.getTopAppControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
@@ -1782,7 +1647,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
}
NetInterfaceManager.getInstance()
.getScreenLockObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1831,7 +1696,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
}
NetInterfaceManager.getInstance()
.getDesktopObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1887,7 +1752,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
public void getPoweroffTime() {
NetInterfaceManager.getInstance()
.getPoweroffTimeControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>>() {
@Override
public void onSubscribe(Disposable d) {
@@ -1924,7 +1789,7 @@ public class CheckNetPresenter implements CheckNetContact.Presenter {
@Override
public void getWiFiPasswd() {
NetInterfaceManager.getInstance().getWiFiControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>>() {
@Override
public void onSubscribe(Disposable d) {
diff --git a/app/src/main/java/com/aoleyun/sn/activity/main/MainAPresenter.java b/app/src/main/java/com/aoleyun/sn/activity/main/MainAPresenter.java
index a3ea173..1da2365 100644
--- a/app/src/main/java/com/aoleyun/sn/activity/main/MainAPresenter.java
+++ b/app/src/main/java/com/aoleyun/sn/activity/main/MainAPresenter.java
@@ -14,25 +14,23 @@ import com.aoleyun.sn.bean.StudentsInfo;
import com.aoleyun.sn.comm.CommonConfig;
import com.aoleyun.sn.comm.JGYActions;
import com.aoleyun.sn.network.NetInterfaceManager;
-import com.aoleyun.sn.utils.AES.CXAESUtil;
import com.aoleyun.sn.utils.JGYUtils;
import com.aoleyun.sn.utils.SPUtils;
-import com.aoleyun.sn.utils.Utils;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import com.tencent.mmkv.MMKV;
-import com.trello.rxlifecycle2.LifecycleProvider;
-import com.trello.rxlifecycle2.android.ActivityEvent;
+import com.trello.rxlifecycle4.RxLifecycle;
+import com.trello.rxlifecycle4.android.ActivityEvent;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.annotations.NonNull;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.annotations.NonNull;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
+import io.reactivex.rxjava3.subjects.BehaviorSubject;
/**
- * MainActivity和MainService 的 Presenter
+ * MainActivity 的 Presenter
*
* @author jgy
*/
@@ -50,14 +48,14 @@ public class MainAPresenter implements MainAContact.Presenter {
private final static int NOTFOUND = -300;
- private LifecycleProvider provider;
+ private BehaviorSubject lifecycle;
- public void setProvider(LifecycleProvider provider) {
- this.provider = provider;
+ public void setLifecycle(BehaviorSubject lifecycle) {
+ this.lifecycle = lifecycle;
}
- public LifecycleProvider getProvider() {
- return provider;
+ public BehaviorSubject getLifecycle() {
+ return lifecycle;
}
public MainAPresenter(Context context) {
@@ -83,20 +81,20 @@ public class MainAPresenter implements MainAContact.Presenter {
@Override
public void getQRImage(String mac) {
- Log.e(TAG, "getQRImage: " + mac);
- JsonObject jsonObject = new JsonObject();
- jsonObject.addProperty("sn", Utils.getSerial());
- jsonObject.addProperty("mac", mac);
- String json = jsonObject.toString();
- String content = mac;
- try {
- content = CXAESUtil.encrypt(getAeskey(), json);
- Log.e(TAG, "getQRImage: " + content);
- } catch (Exception e) {
- Log.e(TAG, "getQRImage: " + e.getMessage());
- e.printStackTrace();
- }
- mView.setQRImage(JGYUtils.getInstance().createQRImage(content, 300, 300));
+// Log.e(TAG, "getQRImage: " + mac);
+// JsonObject jsonObject = new JsonObject();
+// jsonObject.addProperty("sn", Utils.getSerial());
+// jsonObject.addProperty("mac", mac);
+// String json = jsonObject.toString();
+// String content = mac;
+// try {
+// content = CXAESUtil.encrypt(getAeskey(), json);
+// Log.e(TAG, "getQRImage: " + content);
+// } catch (Exception e) {
+// Log.e(TAG, "getQRImage: " + e.getMessage());
+// e.printStackTrace();
+// }
+// mView.setQRImage(JGYUtils.getInstance().createQRImage(content, 300, 300));
}
/**
@@ -107,7 +105,7 @@ public class MainAPresenter implements MainAContact.Presenter {
setState();
NetInterfaceManager.getInstance()
.getStudesInfoObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -228,42 +226,34 @@ public class MainAPresenter implements MainAContact.Presenter {
}
private long lastgetLockedTime;
-
private long one_minute = 1000 * 60;
@Override
public void getLockedState() {
- MMKV mmkv = MMKV.defaultMMKV();
- lastgetLockedTime = mmkv.decodeLong(MainAPresenter.GET_SETTING_FINISH_TIME);
- Log.e(TAG, "getLockedState: " + lastgetLockedTime);
- if (System.currentTimeMillis() - lastgetLockedTime < one_minute) {
- Log.e(TAG, "getLockedState: lastgetLockedTime = " + lastgetLockedTime);
- return;
- }
+ NetInterfaceManager.getInstance()
+ .getLockedState(lifecycle, new NetInterfaceManager.ObserverCallback() {
+ @Override
+ public void onSubscribe(Disposable d) {
- NetInterfaceManager.getInstance().getLockedState(provider, new NetInterfaceManager.ObserverCallback() {
- @Override
- public void onSubscribe(Disposable d) {
+ }
- }
+ @Override
+ public void onNext(BaseResponse response) {
- @Override
- public void onNext(BaseResponse response) {
+ }
- }
+ @Override
+ public void onError(Throwable e) {
+ }
- @Override
- public void onError(Throwable e) {
- }
-
- @Override
- public void onComplete() {
- Log.e(TAG, "onComplete: ");
- int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_LOCKED);
- Log.e(TAG + ":" + "getLockedState", "locked: " + locked);
- mView.setLockedState(locked == JGYActions.FRAME_CODE_LOCKED);
- }
- });
+ @Override
+ public void onComplete() {
+ Log.e(TAG, "onComplete: ");
+ int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_LOCKED);
+ Log.e(TAG + ":" + "getLockedState", "locked: " + locked);
+ mView.setLockedState(locked == JGYActions.FRAME_CODE_LOCKED);
+ }
+ });
}
@Override
@@ -278,7 +268,7 @@ public class MainAPresenter implements MainAContact.Presenter {
JGYUtils.getInstance().checkAppPlatform())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
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 e972dca..b1358e5 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
@@ -24,9 +24,7 @@ import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.R;
import com.aoleyun.sn.activity.requestlog.RequestLogActivity;
import com.aoleyun.sn.base.BaseActivity;
-import com.aoleyun.sn.rlog.LogDBManager;
import com.aoleyun.sn.service.main.MainService;
-import com.aoleyun.sn.utils.ApkUtils;
import com.aoleyun.sn.utils.ExampleUtil;
import com.aoleyun.sn.utils.JGYUtils;
import com.aoleyun.sn.utils.SaveListUtils;
@@ -42,13 +40,13 @@ import java.util.concurrent.TimeUnit;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.annotations.NonNull;
-import io.reactivex.disposables.Disposable;
+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;
public class MainActivity extends BaseActivity implements MainAContact.MainView, NetworkUtils.OnNetworkStatusChangedListener {
private static final String TAG = MainActivity.class.getSimpleName();
@@ -155,7 +153,7 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
ButterKnife.bind(this);
mPresenter = new MainAPresenter(this);
mPresenter.attachView(this);
- mPresenter.setProvider(this);
+ mPresenter.setLifecycle(lifecycleSubject);
JGYUtils.startServices(MainActivity.this);
Log.e(TAG, "initView: " + "start request");
NetworkUtils.registerNetworkStatusChangedListener(this);
@@ -270,7 +268,7 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
@Override
public void setHead(String url) {
if (TextUtils.isEmpty(url)) {
- head.setImageDrawable(getDrawable(R.drawable.head));
+ Glide.with(head).load(getDrawable(R.drawable.head)).into(head);
} else {
Glide.with(head).load(url).into(head);
}
diff --git a/app/src/main/java/com/aoleyun/sn/activity/requestlog/RequestLogActivity.java b/app/src/main/java/com/aoleyun/sn/activity/requestlog/RequestLogActivity.java
index e7cdc15..0816602 100644
--- a/app/src/main/java/com/aoleyun/sn/activity/requestlog/RequestLogActivity.java
+++ b/app/src/main/java/com/aoleyun/sn/activity/requestlog/RequestLogActivity.java
@@ -58,7 +58,7 @@ public class RequestLogActivity extends BaseActivity implements RequestLogContac
ButterKnife.bind(this);
mPresenter = new RequestLogPresenter(this);
mPresenter.attachView(this);
- mPresenter.setProvider(this);
+ mPresenter.setLifecycle(lifecycleSubject);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mAdapter = new RequestLogAdapter();
mRecyclerView.setAdapter(mAdapter);
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 f02cff1..a0b4a6e 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
@@ -11,6 +11,7 @@ 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;
@@ -37,7 +38,7 @@ public class RequestLogAdapter extends RecyclerView.Adapter lifecycle;
- private LifecycleProvider provider;
- public void setProvider(LifecycleProvider provider) {
- this.provider = provider;
+ public void setLifecycle(BehaviorSubject lifecycle) {
+ this.lifecycle = lifecycle;
}
- public LifecycleProvider getProvider() {
- return provider;
+ public BehaviorSubject getLifecycle() {
+ return lifecycle;
}
+
public RequestLogPresenter(Context context) {
this.mContext = context;
}
diff --git a/app/src/main/java/com/aoleyun/sn/base/BaseActivity.java b/app/src/main/java/com/aoleyun/sn/base/BaseActivity.java
index b7c23bc..e3340c2 100644
--- a/app/src/main/java/com/aoleyun/sn/base/BaseActivity.java
+++ b/app/src/main/java/com/aoleyun/sn/base/BaseActivity.java
@@ -2,13 +2,28 @@ package com.aoleyun.sn.base;
import android.os.Bundle;
+import androidx.annotation.CallSuper;
+import androidx.annotation.CheckResult;
+import androidx.annotation.ContentView;
+import androidx.annotation.LayoutRes;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
import com.aoleyun.sn.R;
-import com.trello.rxlifecycle2.components.support.RxAppCompatActivity;
+import com.trello.rxlifecycle4.LifecycleProvider;
+import com.trello.rxlifecycle4.LifecycleTransformer;
+import com.trello.rxlifecycle4.RxLifecycle;
+import com.trello.rxlifecycle4.android.ActivityEvent;
+import com.trello.rxlifecycle4.android.RxLifecycleAndroid;
import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
-public abstract class BaseActivity extends RxAppCompatActivity {
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.subjects.BehaviorSubject;
+
+public abstract class BaseActivity extends AppCompatActivity implements LifecycleProvider {
+ public final BehaviorSubject lifecycleSubject = BehaviorSubject.create();
+
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -32,11 +47,6 @@ public abstract class BaseActivity extends RxAppCompatActivity {
.apply();
}
- @Override
- protected void onDestroy() {
- super.onDestroy();
- }
-
/**
* 设置布局
*/
@@ -52,4 +62,70 @@ public abstract class BaseActivity extends RxAppCompatActivity {
* 初始化数据
*/
public abstract void initData();
+
+
+ public BaseActivity() {
+ super();
+ }
+
+ @ContentView
+ public BaseActivity(@LayoutRes int contentLayoutId) {
+ super(contentLayoutId);
+ }
+
+ @Override
+ @NonNull
+ @CheckResult
+ public final Observable lifecycle() {
+ return lifecycleSubject.hide();
+ }
+
+ @Override
+ @NonNull
+ @CheckResult
+ public final LifecycleTransformer bindUntilEvent(@NonNull ActivityEvent event) {
+ return RxLifecycle.bindUntilEvent(lifecycleSubject, event);
+ }
+
+ @Override
+ @NonNull
+ @CheckResult
+ public final LifecycleTransformer bindToLifecycle() {
+ return RxLifecycleAndroid.bindActivity(lifecycleSubject);
+ }
+
+ @Override
+ @CallSuper
+ protected void onStart() {
+ super.onStart();
+ lifecycleSubject.onNext(ActivityEvent.START);
+ }
+
+ @Override
+ @CallSuper
+ protected void onResume() {
+ super.onResume();
+ lifecycleSubject.onNext(ActivityEvent.RESUME);
+ }
+
+ @Override
+ @CallSuper
+ protected void onPause() {
+ lifecycleSubject.onNext(ActivityEvent.PAUSE);
+ super.onPause();
+ }
+
+ @Override
+ @CallSuper
+ protected void onStop() {
+ lifecycleSubject.onNext(ActivityEvent.STOP);
+ super.onStop();
+ }
+
+ @Override
+ @CallSuper
+ protected void onDestroy() {
+ lifecycleSubject.onNext(ActivityEvent.DESTROY);
+ super.onDestroy();
+ }
}
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 ed83afa..82264b6 100644
--- a/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java
+++ b/app/src/main/java/com/aoleyun/sn/base/BaseApplication.java
@@ -11,17 +11,15 @@ import androidx.multidex.MultiDexApplication;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.aoleyun.sn.bean.BaseResponse;
-import com.aoleyun.sn.rlog.LogDBManager;
-import com.aoleyun.sn.utils.WiFiUtils;
-import com.arialyy.aria.core.Aria;
-import com.arialyy.aria.core.download.DownloadEntity;
import com.aoleyun.sn.BuildConfig;
+import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.manager.AmapManager;
+import com.aoleyun.sn.manager.ConnectManager;
import com.aoleyun.sn.manager.FileManager;
-import com.aoleyun.sn.network.NetInterfaceManager;
import com.aoleyun.sn.network.HTTPInterface;
+import com.aoleyun.sn.network.NetInterfaceManager;
import com.aoleyun.sn.network.UrlAddress;
+import com.aoleyun.sn.rlog.LogDBManager;
import com.aoleyun.sn.statistics.AppInformation;
import com.aoleyun.sn.statistics.StatisticsInfo;
import com.aoleyun.sn.utils.ApkUtils;
@@ -29,7 +27,10 @@ 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.arialyy.aria.core.download.DownloadEntity;
import com.tencent.android.tpush.XGIOperateCallback;
import com.tencent.android.tpush.XGPushConfig;
import com.tencent.android.tpush.XGPushManager;
@@ -42,13 +43,13 @@ import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+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;
@@ -97,6 +98,7 @@ public class BaseApplication extends MultiDexApplication {
XAPKUtils.init(this);
LogDBManager.init(this);
FileManager.init(this);
+ ConnectManager.init(this);
AmapManager.init(this);
AmapManager.getInstance().initAmap();
diff --git a/app/src/main/java/com/aoleyun/sn/jpush/MyJPushReceiver.java b/app/src/main/java/com/aoleyun/sn/jpush/MyJPushReceiver.java
index 91074ca..39cd3df 100644
--- a/app/src/main/java/com/aoleyun/sn/jpush/MyJPushReceiver.java
+++ b/app/src/main/java/com/aoleyun/sn/jpush/MyJPushReceiver.java
@@ -18,19 +18,19 @@ import android.util.Log;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.aoleyun.sn.R;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.RemoteDebug;
-import com.aoleyun.sn.R;
import com.aoleyun.sn.comm.CommonConfig;
import com.aoleyun.sn.comm.JGYActions;
-import com.aoleyun.sn.utils.CacheUtils;
-import com.aoleyun.sn.utils.JGYUtils;
-import com.aoleyun.sn.network.NetInterfaceManager;
import com.aoleyun.sn.network.HTTPInterface;
+import com.aoleyun.sn.network.NetInterfaceManager;
import com.aoleyun.sn.service.main.MainService;
import com.aoleyun.sn.utils.ApkUtils;
+import com.aoleyun.sn.utils.CacheUtils;
import com.aoleyun.sn.utils.CmdUtil;
import com.aoleyun.sn.utils.ForegroundAppUtil;
+import com.aoleyun.sn.utils.JGYUtils;
import com.aoleyun.sn.utils.MySQLData;
import com.aoleyun.sn.utils.SPUtils;
import com.aoleyun.sn.utils.SaveListUtils;
@@ -46,13 +46,13 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+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.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
@@ -718,99 +718,6 @@ public class MyJPushReceiver extends BroadcastReceiver {
}
}
- public void screenshot(String s) {
- JSONObject jSONObject = JSON.parseObject(s);
- long createTime = jSONObject.getLong("createTime");
- if (createTime != 0) {
- Log.e("createTime", String.valueOf(createTime));
- doscreenshot(createTime);
- }
- }
-
- public void doscreenshot(final long time) {
- Observable.create(new ObservableOnSubscribe() {
- @Override
- public void subscribe(ObservableEmitter e) throws Exception {
- String filepath = mContext.getExternalFilesDir("db").getAbsolutePath();
- int n = CmdUtil.execute("screencap -p " + filepath + File.separator + time + ".db").code;
- e.onNext(n);
- }
- }).subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
-
- }
-
- @Override
- public void onNext(Integer integer) {
- if (integer == 0) {
- uplaodImage(time);
- } else {
- Log.e("doss", "失败");
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("doss", "Throwable=" + e.getMessage());
- }
-
- @Override
- public void onComplete() {
-
- }
- });
- }
-
- private void uplaodImage(long time) {
- String filepath = mContext.getExternalFilesDir("db").getAbsolutePath();
-// String filepath = mContext.getFileStreamPath("screenshot").getAbsolutePath();
- //放在app内部data下面
- File file = new File(filepath + File.separator + time + ".db");
- //不要直接使用常用图片格式
- if (!file.exists()) {
- Log.e("uplaodImage", "File does not exists");
- return;
- }
- //设置图片格式
-// RequestBody requestFile = RequestBody.create(MediaType.parse("image/jpg"), file);
- //File转RequestBody
- MediaType mediaType = MediaType.Companion.parse("image/png");
- RequestBody fileBody = RequestBody.Companion.create(file, mediaType);
- //设置一个file文件
- MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), fileBody);
- Map params = new HashMap<>();
- params.put("sn", Utils.getSerial());
- params.put("createtime", String.valueOf(time));
- NetInterfaceManager.getInstance().getScreenshotApi()
- .sendScreenshot(params, body)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("uplaodImage", "onSubscribe: ");
- }
-
- @Override
- public void onNext(BaseResponse baseResponse) {
- Log.e("uplaodImage", "onNext: " + baseResponse.msg);
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("uplaodImage", "onError: " + e.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e("uplaodImage", "onComplete: ");
- }
- });
- }
-
private void getTimeControl(Context context, String extras) {
HTTPInterface.getSnTimeControl(context);
}
diff --git a/app/src/main/java/com/aoleyun/sn/manager/ConnectManager.java b/app/src/main/java/com/aoleyun/sn/manager/ConnectManager.java
new file mode 100644
index 0000000..e8739fd
--- /dev/null
+++ b/app/src/main/java/com/aoleyun/sn/manager/ConnectManager.java
@@ -0,0 +1,81 @@
+package com.aoleyun.sn.manager;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.util.Log;
+
+import com.aoleyun.sn.utils.TimeUtils;
+import com.tencent.mmkv.MMKV;
+
+public class ConnectManager {
+ private static final String TAG = ConnectManager.class.getSimpleName();
+
+ /*重启后连接成功的时间*/
+ public static final String REBOOT_LAST_ONNECT_TIME = "reboot_last_connect_time";
+ /*WiFi连接后连接成功的时间*/
+ public static final String WIFI_LAST_CONNECT_TIME = "WiFi_last_connect_time";
+ /*打开设备信息连接成功的时间*/
+ public static final String OPENINFO_LAST_ONNECT_TIME = "opneinfo_last_connect_time";
+
+
+ @SuppressLint("StaticFieldLeak")
+ private static ConnectManager sInstance;
+ private Context mContext;
+ private MMKV mMMKV = MMKV.defaultMMKV();
+
+ private ConnectManager(Context context) {
+ if (context == null) {
+ throw new RuntimeException("Context is NULL");
+ }
+ this.mContext = context;
+
+ }
+
+ public static void init(Context context) {
+ if (sInstance == null) {
+ Log.e(TAG, "init: ");
+ sInstance = new ConnectManager(context);
+ }
+ }
+
+ public static ConnectManager getInstance() {
+ if (sInstance == null) {
+ throw new IllegalStateException("You must be init ConnectManager first");
+ }
+ return sInstance;
+ }
+
+
+ /**
+ * @return 今天重启后是否连接
+ */
+ public boolean isRebootFistConnect() {
+ long time = mMMKV.decodeLong(REBOOT_LAST_ONNECT_TIME, 0);
+ return !TimeUtils.isTodayTime(time);
+ }
+
+ /**
+ * @return 今天WiFi连接是否有连接
+ */
+ public boolean isWiFiFistConnect() {
+ long time = mMMKV.decodeLong(WIFI_LAST_CONNECT_TIME, 0);
+ return !TimeUtils.isTodayTime(time);
+ }
+
+ /**
+ * @return 今天打开设备信息后是否连接
+ */
+ public boolean isOpenInfoFistConnect() {
+ long time = mMMKV.decodeLong(OPENINFO_LAST_ONNECT_TIME, 0);
+ return !TimeUtils.isTodayTime(time);
+ }
+
+ /**
+ * @param WiFiAlias
+ * @return 今天切换WiFi后是否连接
+ */
+ public boolean isWiFiCutoverFistConnect(String WiFiAlias) {
+ long time = mMMKV.decodeLong(WiFiAlias, 0);
+ return !TimeUtils.isTodayTime(time);
+ }
+}
diff --git a/app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java b/app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java
index 3929bf2..6ad8355 100644
--- a/app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java
+++ b/app/src/main/java/com/aoleyun/sn/network/HTTPInterface.java
@@ -12,42 +12,40 @@ import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
-
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.aoleyun.sn.base.BaseApplication;
+import com.aoleyun.sn.bean.AppListInfo;
+import com.aoleyun.sn.bean.Appground;
+import com.aoleyun.sn.bean.BaseResponse;
+import com.aoleyun.sn.bean.BrowserBookmarks;
+import com.aoleyun.sn.bean.BrowserData;
+import com.aoleyun.sn.bean.ForceDownloadBean;
+import com.aoleyun.sn.bean.ForceDownloadData;
+import com.aoleyun.sn.bean.NetAndLaunchBean;
import com.aoleyun.sn.bean.PoweroffBean;
import com.aoleyun.sn.bean.SnRunLog;
import com.aoleyun.sn.bean.WiFiAlias;
import com.aoleyun.sn.comm.JGYActions;
import com.aoleyun.sn.network.api.newapi.GetPublicIPApi;
+import com.aoleyun.sn.network.api.newapi.SnTimeControlApi;
+import com.aoleyun.sn.network.api.newapi.TopAppControlApi;
import com.aoleyun.sn.service.LogcatService;
+import com.aoleyun.sn.service.main.MainService;
+import com.aoleyun.sn.utils.ApkUtils;
+import com.aoleyun.sn.utils.CacheUtils;
+import com.aoleyun.sn.utils.ForegroundAppUtil;
+import com.aoleyun.sn.utils.JGYUtils;
+import com.aoleyun.sn.utils.SPUtils;
+import com.aoleyun.sn.utils.TimeUtils;
+import com.aoleyun.sn.utils.URLUtils;
+import com.aoleyun.sn.utils.Utils;
import com.aoleyun.sn.utils.WiFiUtils;
import com.arialyy.aria.core.Aria;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
-import com.aoleyun.sn.base.BaseApplication;
-import com.aoleyun.sn.bean.AppListInfo;
-import com.aoleyun.sn.bean.BrowserBookmarks;
-import com.aoleyun.sn.bean.BrowserData;
-import com.aoleyun.sn.bean.ForceDownloadBean;
-import com.aoleyun.sn.bean.ForceDownloadData;
-import com.aoleyun.sn.utils.CacheUtils;
-import com.aoleyun.sn.utils.JGYUtils;
-import com.aoleyun.sn.utils.URLUtils;
-import com.aoleyun.sn.bean.Appground;
-import com.aoleyun.sn.bean.BaseResponse;
-import com.aoleyun.sn.bean.NetAndLaunchBean;
-import com.aoleyun.sn.network.api.newapi.SnTimeControlApi;
-import com.aoleyun.sn.network.api.newapi.TopAppControlApi;
-import com.aoleyun.sn.network.api.newapi.UpdateDeviceInfoApi;
-import com.aoleyun.sn.service.main.MainService;
-import com.aoleyun.sn.utils.ApkUtils;
-import com.aoleyun.sn.utils.ForegroundAppUtil;
-import com.aoleyun.sn.utils.SPUtils;
-import com.aoleyun.sn.utils.TimeUtils;
-import com.aoleyun.sn.utils.Utils;
import com.tencent.android.tpush.XGIOperateCallback;
import com.tencent.android.tpush.XGPushManager;
import com.tencent.mmkv.MMKV;
@@ -59,14 +57,14 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.annotations.NonNull;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.annotations.NonNull;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
import okhttp3.ResponseBody;
import retrofit2.Retrofit;
-import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
+import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
//import static com.aoleyun.sn.jpush.TagAliasOperatorHelper.ACTION_SET;
@@ -837,10 +835,10 @@ public class HTTPInterface {
.client(NetInterfaceManager.getInstance().getOkHttpClient())
.baseUrl(UrlAddress.SHOUHU_CITYJSON)
.addConverterFactory(GsonConverterFactory.create())
- .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
+ .addCallAdapterFactory(RxJava3CallAdapterFactory.create())
.build();
- GetPublicIPApi getPublicIPApi = retrofit.create(GetPublicIPApi.class);
- getPublicIPApi.getJpushTags()
+ retrofit.create(GetPublicIPApi.class)
+ .getPublicIP()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer() {
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 5645123..0fbcb28 100644
--- a/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java
+++ b/app/src/main/java/com/aoleyun/sn/network/NetInterfaceManager.java
@@ -3,6 +3,7 @@ package com.aoleyun.sn.network;
import android.annotation.SuppressLint;
import android.content.Context;
import android.provider.Settings;
+import android.text.TextUtils;
import android.util.Log;
import com.alibaba.fastjson.JSONObject;
@@ -72,25 +73,34 @@ import com.aoleyun.sn.utils.Utils;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import com.trello.rxlifecycle2.LifecycleProvider;
-import com.trello.rxlifecycle2.android.ActivityEvent;
+import com.tencent.android.tpush.XGIOperateCallback;
+import com.tencent.android.tpush.XGPushManager;
+import com.tencent.mmkv.MMKV;
+import com.trello.rxlifecycle4.LifecycleProvider;
+import com.trello.rxlifecycle4.RxLifecycle;
+import com.trello.rxlifecycle4.android.ActivityEvent;
import org.jetbrains.annotations.NotNull;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Observable;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.annotations.NonNull;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+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.schedulers.Schedulers;
+import io.reactivex.rxjava3.subjects.BehaviorSubject;
import okhttp3.Cache;
import okhttp3.Interceptor;
import okhttp3.MediaType;
@@ -102,7 +112,7 @@ import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
import retrofit2.Retrofit;
-import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
+import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
public class NetInterfaceManager {
@@ -113,8 +123,15 @@ public class NetInterfaceManager {
private Context mContext;
private Retrofit mRetrofit;
private OkHttpClient okHttpClient;
+ private MMKV mMMKV = MMKV.defaultMMKV();
private final ConcurrentHashMap requestIdsMap = new ConcurrentHashMap<>();
+
+ private static final long ONE_MINUTE_TIME = 60 * 1000;
+ private static final long TEN_MINUTE_TIME = ONE_MINUTE_TIME * 10;
+ private static final long HALF_HOUR_TIME = TEN_MINUTE_TIME * 3;
+ private static final long ONE_HOUR_TIME = HALF_HOUR_TIME * 2;
+
//超时时间
private static int timeOut = 5;
// 缓存文件最大限制大小20M
@@ -126,58 +143,6 @@ public class NetInterfaceManager {
private NetInterfaceManager(Context context) {
this.mContext = context;
if (okHttpClient == null) {
- Interceptor myHttpInterceptor = new Interceptor() {
- @NotNull
- @Override
- public Response intercept(@NotNull Chain chain) throws IOException {
- Request request = chain.request();
- String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString());
- Response response = chain.proceed(request); //准备返回Response
-// try {
-// response.close();
-// response = chain.proceed(request);
-// } catch (Exception e) {
-// //异常的返回也是完成Http请求。在这里移除请求登记
-// if (!TextUtils.isEmpty(e.toString()) && e.toString().contains(NetInterfaceManager.CUSTOM_REPEAT_REQ_PROTOCOL)) {
-// Log.e("REPEAT-REQUEST", "intercept: " + e.getMessage());
-// Log.e("REPEAT-REQUEST", "移除请求1:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
-// } else {
-// requestIdsMap.remove(requestKey);
-// }
-// throw e;
-// }
- synchronized (requestIdsMap) {
- requestIdsMap.remove(requestKey); //在这里移除正常的请求登记
- Log.e("REPEAT-REQUEST", "移除请求2:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
- }
- return response;
- }
- };
- Interceptor mRequestInterceptor = new Interceptor() {
- @NotNull
- @Override
- public Response intercept(@NotNull Chain chain) throws IOException {
- Request request = chain.request();
- //拦截处理重复的HTTP 请求,类似 防止快速点击按钮去重 可以不去处理了,全局统一处理
- String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString());
- synchronized (requestIdsMap) {
- if (requestIdsMap.get(requestKey) == null) {
-// Log.e("REPEAT-REQUEST", "intercept: " + requestIdsMap);
- requestIdsMap.put(requestKey, System.currentTimeMillis());
- Log.e("REPEAT-REQUEST", "注册请求:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
- } else {
- //如果是重复的请求,抛出一个自定义的错误,这个错误大家根据自己的业务定义吧
- Log.e("REPEAT-REQUEST", "重复请求:" + requestKey + " --- " + Thread.currentThread().getName() + " URL = " + request.url());
- return new Response.Builder()
- .protocol(Protocol.get(CUSTOM_REPEAT_REQ_PROTOCOL))
- .request(request) //multi thread
- .build();
- }
- }
- Response response = chain.proceed(request);
- return response;
- }
- };
Interceptor interceptor = new Interceptor() {
@NotNull
@Override
@@ -217,8 +182,6 @@ public class NetInterfaceManager {
builder.readTimeout(timeOut, TimeUnit.SECONDS);// 设置读取数据超时时间
builder.retryOnConnectionFailure(true);// 设置进行连接失败重试
builder.addInterceptor(interceptor);
-// builder.addInterceptor(myHttpInterceptor);
-// builder.addNetworkInterceptor(mRequestInterceptor);
// 设置缓存文件路径
String cacheDirectory = mContext.getExternalCacheDir().getAbsolutePath() + "/OkHttpCache";
@@ -232,7 +195,7 @@ public class NetInterfaceManager {
.client(okHttpClient)
.baseUrl(BuildConfig.ROOT_URL)
.addConverterFactory(GsonConverterFactory.create())
- .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
+ .addCallAdapterFactory(RxJava3CallAdapterFactory.create())
.build();
}
}
@@ -592,10 +555,17 @@ public class NetInterfaceManager {
void onComplete();
}
- public void getLockedState(LifecycleProvider provider, ObserverCallback callback) {
+ private static final String GET_LOCKED_STATE_TIME = "getLockedState_key";
+
+ public void getLockedState(BehaviorSubject provider, ObserverCallback callback) {
+ long lastTime = mMMKV.decodeLong(GET_LOCKED_STATE_TIME, 0);
+ if (System.currentTimeMillis() - ONE_MINUTE_TIME < lastTime) {
+ callback.onComplete();
+ return;
+ }
NetInterfaceManager.getInstance()
.getDevicesLockedStateObservable()
- .compose(provider.bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(provider, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -605,6 +575,7 @@ public class NetInterfaceManager {
@Override
public void onNext(@NonNull BaseResponse response) {
+ mMMKV.encode(GET_LOCKED_STATE_TIME, System.currentTimeMillis());
Log.e(TAG + ":" + "getLockedState", "onNext: " + response);
if (response.code == OK) {
JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject();
@@ -646,9 +617,78 @@ public class NetInterfaceManager {
});
}
+ public void setPushTags(BehaviorSubject provider, ObserverCallback callback) {
+ NetInterfaceManager.getInstance()
+ .getJpushTagsObservable()
+ .compose(RxLifecycle.bindUntilEvent(provider, ActivityEvent.DESTROY))
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ Log.e(TAG + ":" + "setPushTags", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse response) {
+ if (response.code == OK) {
+ JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject();
+ String batch = jsonObject.get("batch").getAsString();
+ Log.e(TAG + ":" + "setPushTags", "onNext: " + batch);
+ if (!TextUtils.isEmpty(batch)) {
+ Set set = new HashSet();
+ set.add(batch);
+ JGYUtils.getInstance().getAppPlatform(new JGYUtils.GetAppPlatformCallback() {
+ @Override
+ public void AppPlatform(int platform) {
+ if (platform == JGYUtils.MTKPlatform) {
+ set.add(JGYUtils.MTKTag);
+ } else if (platform == JGYUtils.ZhanruiPlatform) {
+ set.add(JGYUtils.ZhanruiTag);
+ }
+ }
+ });
+ Set tagsSet = new HashSet<>(set);
+ XGPushManager.clearAndAppendTags(mContext, "clearAndAppendTags :" + System.currentTimeMillis(), tagsSet, 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);
+ }
+ });
+// setTag(set);
+ } else {
+ Log.e(TAG + ":" + "setPushTags", "onNext: " + "batch empty");
+ }
+ } else {
+ Log.e(TAG + ":" + "setPushTags", "onNext: " + response.toString());
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e(TAG + ":" + "setPushTags", "onError: " + e.getMessage());
+ onComplete();
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e(TAG + ":" + "setPushTags", "onComplete: ");
+ }
+ });
+ }
+
+ private static final String UPDATE_DEVICEINFO_TIME = "updateDeviceInfo_key";
@SuppressLint("NewApi")
public void updateDeviceInfo(ObserverCallback callback) {
+ long lastTime = mMMKV.decodeLong(UPDATE_DEVICEINFO_TIME, 0);
+ if (System.currentTimeMillis() - TEN_MINUTE_TIME < lastTime) {
+ callback.onComplete();
+ return;
+ }
String address = String.valueOf(SPUtils.get(mContext, "AmapAddress", "-"));
if ("-".equals(address)) {
address = (String) SPUtils.get(mContext, "AmapError", "-");
@@ -677,6 +717,7 @@ public class NetInterfaceManager {
@Override
public void onNext(BaseResponse baseResponse) {
+ mMMKV.encode(UPDATE_DEVICEINFO_TIME, System.currentTimeMillis());
callback.onNext(baseResponse);
Log.e("updateDeviceInfo", "上传的结果" + baseResponse.toString());
}
@@ -772,4 +813,6 @@ public class NetInterfaceManager {
}
});
}
+
+
}
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 832ca79..1117548 100644
--- a/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java
+++ b/app/src/main/java/com/aoleyun/sn/network/UrlAddress.java
@@ -2,14 +2,12 @@ package com.aoleyun.sn.network;
import com.aoleyun.sn.BuildConfig;
-import rxhttp.wrapper.annotation.DefaultDomain;
/**
* @author Administrator
*/
public class UrlAddress {
/*根网址*/
- @DefaultDomain
public static final String HTTP_TAG_HEAD_NEW = BuildConfig.ROOT_URL;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/AppLimitApi.java b/app/src/main/java/com/aoleyun/sn/network/api/AppLimitApi.java
index 4b3dcee..4957838 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/AppLimitApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/AppLimitApi.java
@@ -2,7 +2,7 @@ package com.aoleyun.sn.network.api;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/DeselectIDApi.java b/app/src/main/java/com/aoleyun/sn/network/api/DeselectIDApi.java
index c4bd34e..4ac6b1d 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/DeselectIDApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/DeselectIDApi.java
@@ -1,6 +1,6 @@
package com.aoleyun.sn.network.api;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/ForceDownloadApi.java b/app/src/main/java/com/aoleyun/sn/network/api/ForceDownloadApi.java
index ba36e6c..bbb4fed 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/ForceDownloadApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/ForceDownloadApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api;
import com.aoleyun.sn.bean.ForceDownloadBean;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/NetAndLaunchApi.java b/app/src/main/java/com/aoleyun/sn/network/api/NetAndLaunchApi.java
index d4928aa..16d5f1b 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/NetAndLaunchApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/NetAndLaunchApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api;
import com.aoleyun.sn.bean.NetAndLaunchBean;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/SystemSettingApi.java b/app/src/main/java/com/aoleyun/sn/network/api/SystemSettingApi.java
index ef86092..7945200 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/SystemSettingApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/SystemSettingApi.java
@@ -1,6 +1,6 @@
package com.aoleyun.sn.network.api;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/UploadAppInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/UploadAppInfoApi.java
index 1b4791e..ca02502 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/UploadAppInfoApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/UploadAppInfoApi.java
@@ -2,8 +2,7 @@ package com.aoleyun.sn.network.api;
import com.aoleyun.sn.bean.BaseResponse;
-import io.reactivex.Observable;
-import okhttp3.ResponseBody;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/AppinsideWebApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/AppinsideWebApi.java
index de9a774..22bb826 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/AppinsideWebApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/AppinsideWebApi.java
@@ -7,7 +7,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.List;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserBookmarksApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserBookmarksApi.java
index 64e46aa..20b387f 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserBookmarksApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserBookmarksApi.java
@@ -4,7 +4,7 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.BrowserBookmarks;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserListApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserListApi.java
index 1e2361c..72908ba 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserListApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/BrowserListApi.java
@@ -4,7 +4,7 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.BrowserData;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckTestUpdateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckTestUpdateApi.java
index a07271f..6f61e72 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckTestUpdateApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckTestUpdateApi.java
@@ -6,7 +6,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.List;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckUpdateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckUpdateApi.java
index badc346..b5095a1 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckUpdateApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/CheckUpdateApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/CustomROMAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/CustomROMAppApi.java
index 7a5a5c9..ea1a016 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/CustomROMAppApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/CustomROMAppApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/DefaultAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/DefaultAppApi.java
index 522484e..c6dcd2f 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/DefaultAppApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/DefaultAppApi.java
@@ -4,7 +4,7 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.DefaultApp;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/DesktopIconApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/DesktopIconApi.java
index 0f4528a..4c14fef 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/DesktopIconApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/DesktopIconApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/DevicesLockedStateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/DevicesLockedStateApi.java
index ccd4154..9ccf53e 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/DevicesLockedStateApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/DevicesLockedStateApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAllAppApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAllAppApi.java
index ef41849..ee14628 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAllAppApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAllAppApi.java
@@ -6,7 +6,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.List;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAppLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAppLogApi.java
index e34ce06..0e79ae0 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAppLogApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetAppLogApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetBatchApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetBatchApi.java
index 03cf47e..b382f0a 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetBatchApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetBatchApi.java
@@ -1,6 +1,6 @@
package com.aoleyun.sn.network.api.newapi;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDesktopApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDesktopApi.java
index 87e841e..08f93af 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDesktopApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDesktopApi.java
@@ -2,7 +2,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+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/newapi/GetDeveloperApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDeveloperApi.java
index 1536946..9b947b8 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDeveloperApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetDeveloperApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetEBagCodeApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetEBagCodeApi.java
index fc2fd50..6e4f020 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetEBagCodeApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetEBagCodeApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetJpushTagsApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetJpushTagsApi.java
index c21f321..85551ff 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetJpushTagsApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetJpushTagsApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetLockStateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetLockStateApi.java
index 7671696..b607c3c 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetLockStateApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetLockStateApi.java
@@ -1,6 +1,6 @@
package com.aoleyun.sn.network.api.newapi;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPoweroffApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPoweroffApi.java
index f6b68d1..59542a1 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPoweroffApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPoweroffApi.java
@@ -6,7 +6,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.List;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPublicIPApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPublicIPApi.java
index 832f098..531d37c 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPublicIPApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetPublicIPApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.GET;
import retrofit2.http.Query;
@@ -17,5 +17,5 @@ import retrofit2.http.Query;
*/
public interface GetPublicIPApi {
@GET(UrlAddress.SHOUHU_CITYJSON)
- Observable getJpushTags();
+ Observable getPublicIP();
}
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetSnRunLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetSnRunLogApi.java
index 197d108..f1f2066 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetSnRunLogApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetSnRunLogApi.java
@@ -4,7 +4,7 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.SnRunLog;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadIsLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadIsLogApi.java
index 638bbe7..2272121 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadIsLogApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadIsLogApi.java
@@ -6,7 +6,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.Map;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import okhttp3.MultipartBody;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadLogApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadLogApi.java
index b2cf45c..c53c768 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadLogApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetUploadLogApi.java
@@ -6,7 +6,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.Map;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import okhttp3.MultipartBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetWiFiAliasApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetWiFiAliasApi.java
index 6b6e09c..6a14f6f 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetWiFiAliasApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/GetWiFiAliasApi.java
@@ -7,7 +7,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.List;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/LogoImgApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/LogoImgApi.java
index d9e84bc..94d2435 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/LogoImgApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/LogoImgApi.java
@@ -4,7 +4,7 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.LogoImg;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/MACAddressApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/MACAddressApi.java
index 3161d98..b09988d 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/MACAddressApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/MACAddressApi.java
@@ -5,7 +5,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.io.File;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/NewAppinsideWebApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/NewAppinsideWebApi.java
index f36aa05..721d309 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/NewAppinsideWebApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/NewAppinsideWebApi.java
@@ -4,7 +4,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/ScreenLockStateApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/ScreenLockStateApi.java
index fd79f40..9926e43 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/ScreenLockStateApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/ScreenLockStateApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadInfoApi.java
index 8c61f7a..9868ab1 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadInfoApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadInfoApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadTimesApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadTimesApi.java
index 501a13e..0fb9362 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadTimesApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendDownloadTimesApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendRestoreTimesApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendRestoreTimesApi.java
index fdb122c..81b06b3 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendRestoreTimesApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendRestoreTimesApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenStatusApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenStatusApi.java
index 0ddeffb..28144c5 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenStatusApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenStatusApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.BuildConfig;
import com.aoleyun.sn.bean.BaseResponse;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenshotApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenshotApi.java
index 79b3763..389ffb8 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenshotApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SendScreenshotApi.java
@@ -5,7 +5,7 @@ import com.aoleyun.sn.network.UrlAddress;
import java.util.Map;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import okhttp3.MultipartBody;
import retrofit2.http.Field;
import retrofit2.http.Multipart;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SnTimeControlApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SnTimeControlApi.java
index 222727c..dadf226 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/SnTimeControlApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/SnTimeControlApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/StudentsInfosApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/StudentsInfosApi.java
index 06915cd..0609b44 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/StudentsInfosApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/StudentsInfosApi.java
@@ -4,7 +4,7 @@ import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.bean.StudentsInfo;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/TopAppControlApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/TopAppControlApi.java
index 503e277..d13c395 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/TopAppControlApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/TopAppControlApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
diff --git a/app/src/main/java/com/aoleyun/sn/network/api/newapi/UpdateDeviceInfoApi.java b/app/src/main/java/com/aoleyun/sn/network/api/newapi/UpdateDeviceInfoApi.java
index e6b3fda..af11853 100644
--- a/app/src/main/java/com/aoleyun/sn/network/api/newapi/UpdateDeviceInfoApi.java
+++ b/app/src/main/java/com/aoleyun/sn/network/api/newapi/UpdateDeviceInfoApi.java
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.network.UrlAddress;
-import io.reactivex.Observable;
+import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
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 1e2ae27..a758194 100644
--- a/app/src/main/java/com/aoleyun/sn/receiver/BootReceiver.java
+++ b/app/src/main/java/com/aoleyun/sn/receiver/BootReceiver.java
@@ -13,18 +13,19 @@ 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;
+import com.aoleyun.sn.utils.TimeUtils;
import com.aoleyun.sn.utils.Utils;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Observable;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.disposables.Disposable;
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.core.ObservableOnSubscribe;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
public class BootReceiver extends BroadcastReceiver {
private static String TAG = BootReceiver.class.getSimpleName() + ":myappstore";
- public static final String BOOT_COMPLETED = "com.aoleyun.sn.intent.action.BOOT_COMPLETED";
+ public static final String BOOT_COMPLETED = "aoleyun.intent.action.BOOT_COMPLETED";
static {
getLockedState();
@@ -43,7 +44,7 @@ public class BootReceiver extends BroadcastReceiver {
public void onNext(Long aLong) {
Log.e("getLockedState", "onNext: ");
if (MainService.mPresenter != null) {
- MainService.mPresenter.getLockedState();
+// MainService.mPresenter.getLockedState();
Log.e("getLockedState", "mPresenter: " + "getLockedState");
} else {
Log.e("getLockedState", "mPresenter is NULL");
@@ -76,10 +77,10 @@ public class BootReceiver extends BroadcastReceiver {
break;
case Intent.ACTION_BOOT_COMPLETED:
if ((int) SPUtils.get(context, CommonConfig.FIRST_STARTUP, 0) == 0) {
- LogDBManager.getInstance().creatRebootLog("首次启动", Utils.transferLongToDate(System.currentTimeMillis()));
+ LogDBManager.getInstance().creatRebootLog("首次启动", TimeUtils.transferLongToDate(System.currentTimeMillis()));
SPUtils.put(context, CommonConfig.FIRST_STARTUP, 1);
} else {
- LogDBManager.getInstance().creatRebootLog("设备重启", Utils.transferLongToDate(System.currentTimeMillis()));
+ LogDBManager.getInstance().creatRebootLog("设备重启", TimeUtils.transferLongToDate(System.currentTimeMillis()));
}
Intent intent1 = new Intent(context, CheckNetActivity.class);
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
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 30309ad..3061c85 100644
--- a/app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java
+++ b/app/src/main/java/com/aoleyun/sn/receiver/NewAppReceiver.java
@@ -21,11 +21,11 @@ import com.aoleyun.sn.utils.SaveListUtils;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.Observer;
-import io.reactivex.annotations.NonNull;
-import io.reactivex.disposables.Disposable;
+import io.reactivex.rxjava3.annotations.NonNull;
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.core.ObservableEmitter;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
public class NewAppReceiver extends BroadcastReceiver {
private static final String TAG = NewAppReceiver.class.getSimpleName();
@@ -71,9 +71,7 @@ public class NewAppReceiver extends BroadcastReceiver {
ApkUtils.addShortcut(context);
ApkUtils.RemoveTask(context, packageName);
}
- Intent bootIntent = new Intent(BootReceiver.BOOT_COMPLETED);
- bootIntent.setComponent(new ComponentName(PackageNames.APPSTORE, PackageNames.APP_STORE_BOOTRECEIVER));
- context.sendBroadcast(bootIntent);
+ JGYUtils.getInstance().wakeUpAppstore();
//启动教官壹
}
newAppListener.setNewAppListener(packageName);
@@ -134,7 +132,7 @@ public class NewAppReceiver extends BroadcastReceiver {
HTTPInterface.getAppLimit(mContext);
// HTTPInterface.getAppinsideWeb(mContext, () -> Log.e(TAG, "onNext: setAPPinsideWebsite"));
String oldDesktop = (String) SPUtils.get(mContext, "default_launcher", "");
- if (s.equals(oldDesktop)){
+ if (s.equals(oldDesktop)) {
ApkUtils.openPackage(mContext, s);
}
}
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 3df81da..6d1ffcf 100644
--- a/app/src/main/java/com/aoleyun/sn/rlog/LogBean.java
+++ b/app/src/main/java/com/aoleyun/sn/rlog/LogBean.java
@@ -1,5 +1,6 @@
package com.aoleyun.sn.rlog;
+import com.aoleyun.sn.utils.TimeUtils;
import com.aoleyun.sn.utils.Utils;
import java.io.Serializable;
@@ -64,7 +65,7 @@ public class LogBean implements Serializable {
public String toLogString() {
return "执行代码:" + code
- + ",时间: " + Utils.transferLongToDate(timestamp)
+ + ",时间: " + TimeUtils.transferLongToDate(timestamp)
+ ",事件: " + event
+ ",操作: " + operate
+ ",内容: " + content
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 0c7209f..f3db556 100644
--- a/app/src/main/java/com/aoleyun/sn/service/GuardService.java
+++ b/app/src/main/java/com/aoleyun/sn/service/GuardService.java
@@ -21,47 +21,47 @@ import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.amap.api.location.AMapLocationClient;
+import com.aoleyun.sn.BuildConfig;
+import com.aoleyun.sn.KeepAliveConnection;
+import com.aoleyun.sn.base.BaseApplication;
import com.aoleyun.sn.bean.BaseResponse;
import com.aoleyun.sn.comm.CommonConfig;
import com.aoleyun.sn.comm.PackageNames;
+import com.aoleyun.sn.manager.AmapManager;
+import com.aoleyun.sn.network.HTTPInterface;
+import com.aoleyun.sn.network.NetInterfaceManager;
+import com.aoleyun.sn.network.api.newapi.GetLockStateApi;
import com.aoleyun.sn.network.api.newapi.SendScreenStatusApi;
+import com.aoleyun.sn.receiver.BootReceiver;
+import com.aoleyun.sn.receiver.NewAppReceiver;
import com.aoleyun.sn.rlog.LogDBManager;
import com.aoleyun.sn.service.main.MainService;
+import com.aoleyun.sn.utils.ApkUtils;
+import com.aoleyun.sn.utils.JGYUtils;
+import com.aoleyun.sn.utils.SPUtils;
+import com.aoleyun.sn.utils.ServiceAliveUtils;
+import com.aoleyun.sn.utils.ToastUtil;
+import com.aoleyun.sn.utils.Utils;
+import com.aoleyun.sn.utils.XAPKUtils;
import com.arialyy.annotations.Download;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
import com.arialyy.aria.core.task.DownloadTask;
-import com.aoleyun.sn.BuildConfig;
-import com.aoleyun.sn.manager.AmapManager;
-import com.aoleyun.sn.network.HTTPInterface;
-import com.aoleyun.sn.network.api.newapi.GetLockStateApi;
-import com.aoleyun.sn.receiver.BootReceiver;
-import com.aoleyun.sn.receiver.NewAppReceiver;
-import com.aoleyun.sn.utils.JGYUtils;
-import com.aoleyun.sn.utils.SPUtils;
-import com.aoleyun.sn.utils.XAPKUtils;
-import com.aoleyun.sn.KeepAliveConnection;
-import com.aoleyun.sn.base.BaseApplication;
-import com.aoleyun.sn.network.NetInterfaceManager;
-import com.aoleyun.sn.utils.ApkUtils;
-import com.aoleyun.sn.utils.ServiceAliveUtils;
-import com.aoleyun.sn.utils.ToastUtil;
-import com.aoleyun.sn.utils.Utils;
import java.io.IOException;
import java.util.List;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+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.ResponseBody;
import retrofit2.Retrofit;
-import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
+import retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
@@ -247,29 +247,17 @@ public class GuardService extends Service {
aMapLocationClient.stopLocation();
aMapLocationClient.startLocation();
getLockState("2", String.valueOf(time));
-// if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.ZhanruiPlatform) {
-// String statusbarStatus = "qch_hide_statusBar";
-// Intent navIntent = new Intent(statusbarStatus).setPackage("com.android.systemui");
-// context.sendBroadcast(navIntent);
-// }
sendScreenStatus(1);
}
break;
case Intent.ACTION_SCREEN_OFF: {
- HTTPInterface.getAppLimit(GuardService.this);
+// HTTPInterface.getAppLimit(GuardService.this);
long time = System.currentTimeMillis();
getLockState("1", String.valueOf(time));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- Intent intent1 = new Intent(BootReceiver.BOOT_COMPLETED);
- intent1.setComponent(new ComponentName(PackageNames.APPSTORE, PackageNames.APP_STORE_BOOTRECEIVER));
- sendBroadcast(intent1);
+ JGYUtils.getInstance().wakeUpAppstore();
JGYUtils.getInstance().deleteScreenshots();
}
-// if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.ZhanruiPlatform) {
-// String statusbarStatus = "qch_show_statusBar";
-// Intent navIntent = new Intent(statusbarStatus).setPackage("com.android.systemui");
-// context.sendBroadcast(navIntent);
-// }
sendScreenStatus(2);
}
break;
@@ -322,7 +310,7 @@ public class GuardService extends Service {
.client(NetInterfaceManager.getInstance().getOkHttpClient())
.baseUrl(BuildConfig.SCREEN_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
- .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
+ .addCallAdapterFactory(RxJava3CallAdapterFactory.create())
.build();
SendScreenStatusApi sendScreenStatusApi = retrofit.create(SendScreenStatusApi.class);
sendScreenStatusApi.sendScreenStatus(NetInterfaceManager.HTTP_KEY, Utils.getSerial(), status)
@@ -355,8 +343,9 @@ public class GuardService extends Service {
if (JGYUtils.isOfficialVersion()) {
return;
}
- GetLockStateApi getLockState = NetInterfaceManager.getInstance().getLockState();
- getLockState.getLockState(Utils.getSerial(), status, time)
+ NetInterfaceManager.getInstance()
+ .getLockState()
+ .getLockState(Utils.getSerial(), status, time)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer() {
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 cc82c6a..3eee198 100644
--- a/app/src/main/java/com/aoleyun/sn/service/LogcatService.java
+++ b/app/src/main/java/com/aoleyun/sn/service/LogcatService.java
@@ -25,10 +25,10 @@ import java.util.Date;
import java.util.HashMap;
import java.util.Map;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
diff --git a/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java b/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java
index 2932e4d..3023154 100644
--- a/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java
+++ b/app/src/main/java/com/aoleyun/sn/service/main/MainSContact.java
@@ -1,6 +1,5 @@
package com.aoleyun.sn.service.main;
-import android.graphics.Bitmap;
import android.view.View;
import com.aoleyun.sn.base.BasePresenter;
@@ -9,12 +8,10 @@ import com.google.gson.JsonObject;
public class MainSContact {
public interface Presenter extends BasePresenter {
- //设置二维码
- void getQRImage(String mac);
//获取学生信息
void getStudesInfo();
//获取设备锁定状态
- void getLockedState();
+ void getLockedState(String key);
//是否第一次联网
void getFirstConnect();
//关闭所有功能
@@ -27,7 +24,7 @@ public class MainSContact {
void getSnTimeControl();
//获取电子书包激活码
void getEBagCode();
- //设置击关推送别名
+ //设置极光推送别名
void setJpushAlias();
//设置极光推送平台标签
void setJpushPlatformTags(int platform);
@@ -96,18 +93,6 @@ public class MainSContact {
}
public interface MainView extends BaseView {
- //获取二维码
- void setQRImage(Bitmap qrImage);
- //设置批次信息
- void setBatchText(String text, int visibility);
- //设置班级信息
- void setClassText(String text, int visibility);
- //设置学号信息
- void setNumberText(String text, int visibility);
- //设置姓名信息
- void setNameText(String text, int visibility);
- //设置头像
- void setHead(String url);
//获取设备锁定状态
void setLockedState(boolean loocked);
//是否第一次联网
@@ -120,7 +105,7 @@ public class MainSContact {
void getSnTimeControlFinish();
//获取电子书包激活码
void getEBagCodeFinish();
- //设置击关推送别名
+ //设置极光推送别名
void setAliasFinish();
//设置极光推送平台标签
void setJpushPlatformTagsFinish();
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 503185a..d416b29 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
@@ -48,8 +48,8 @@ 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.rxlifecycle2.LifecycleProvider;
-import com.trello.rxlifecycle2.android.ActivityEvent;
+import com.trello.rxlifecycle4.RxLifecycle;
+import com.trello.rxlifecycle4.android.ActivityEvent;
import java.io.IOException;
import java.lang.reflect.Type;
@@ -58,11 +58,12 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.annotations.NonNull;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.annotations.NonNull;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
+import io.reactivex.rxjava3.schedulers.Schedulers;
+import io.reactivex.rxjava3.subjects.BehaviorSubject;
import okhttp3.ResponseBody;
//import static com.aoleyun.sn.jpush.TagAliasOperatorHelper.ACTION_SET;
@@ -77,6 +78,8 @@ public class MainSPresenter implements MainSContact.Presenter {
private static final String TAG = MainSPresenter.class.getSimpleName();
private MainSContact.MainView mView;
private Context mContext;
+ private MMKV mMMKV = MMKV.defaultMMKV();
+
public static final String GET_SETTING_FINISH_TIME = "GET_SETTING_FINISH_TIME";
@@ -85,14 +88,14 @@ public class MainSPresenter implements MainSContact.Presenter {
private final String DEFAULT_INFO = "暂无信息";
private final int OK = 200;
- private LifecycleProvider provider;
+ private BehaviorSubject lifecycle;
- public void setProvider(LifecycleProvider provider) {
- this.provider = provider;
+ public void setLifecycle(BehaviorSubject lifecycle) {
+ this.lifecycle = lifecycle;
}
- public LifecycleProvider getProvider() {
- return provider;
+ public BehaviorSubject getLifecycle() {
+ return lifecycle;
}
public MainSPresenter(Context context) {
@@ -114,35 +117,14 @@ public class MainSPresenter implements MainSContact.Presenter {
this.mView = null;
}
- String key = "0123456789ABCDEF";
-
- @Override
- public void getQRImage(String mac) {
- Log.e(TAG, "getQRImage: " + mac);
- JsonObject jsonObject = new JsonObject();
- jsonObject.addProperty("sn", Utils.getSerial());
- jsonObject.addProperty("mac", mac);
- String json = jsonObject.toString();
- String content = mac;
- try {
- content = CXAESUtil.encrypt(key, json);
- Log.e(TAG, "getQRImage: " + content);
- } catch (Exception e) {
- Log.e(TAG, "getQRImage: " + e.getMessage());
- e.printStackTrace();
- }
- mView.setQRImage(JGYUtils.getInstance().createQRImage(content, 300, 300));
- }
-
/**
* 通过sn获取用户信息
*/
@Override
public void getStudesInfo() {
- setState();
NetInterfaceManager.getInstance()
.getStudesInfoObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -160,38 +142,28 @@ public class MainSPresenter implements MainSContact.Presenter {
String batch = studentsInfoBaseResponse.data.getBatch();
String head_img = studentsInfoBaseResponse.data.getHead_img();
if (TextUtils.isEmpty(sno)) {
- mView.setNumberText("", View.GONE);
SPUtils.put(mContext, CommonConfig.STUDENT_ID, DEFAULT_INFO);
} else {
- mView.setNumberText(sno, View.VISIBLE);
SPUtils.put(mContext, CommonConfig.STUDENT_ID, sno);
}
if (TextUtils.isEmpty(realname)) {
- mView.setNameText("", View.GONE);
SPUtils.put(mContext, CommonConfig.REALNAME, DEFAULT_INFO);
} else {
- mView.setNameText(realname, View.VISIBLE);
SPUtils.put(mContext, CommonConfig.REALNAME, realname);
}
if (TextUtils.isEmpty(classes)) {
- mView.setClassText("", View.GONE);
SPUtils.put(mContext, CommonConfig.CLASS_NAME, DEFAULT_INFO);
} else {
- mView.setClassText(classes, View.VISIBLE);
SPUtils.put(mContext, CommonConfig.CLASS_NAME, classes);
}
if (TextUtils.isEmpty(batch)) {
- mView.setBatchText("", View.GONE);
SPUtils.put(mContext, CommonConfig.BATCH_NAME, DEFAULT_INFO);
} else {
- mView.setBatchText(batch, View.VISIBLE);
SPUtils.put(mContext, CommonConfig.BATCH_NAME, batch);
}
if (TextUtils.isEmpty(head_img)) {
- mView.setHead("");
SPUtils.put(mContext, CommonConfig.HEAD_IMG, "");
} else {
- mView.setHead(head_img);
SPUtils.put(mContext, CommonConfig.HEAD_IMG, head_img);
}
@@ -207,76 +179,21 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
public void onError(@NonNull Throwable e) {
Log.e(TAG + ":" + "getStudesInfo", "onError: " + e.getMessage());
- setState();
onComplete();
}
@Override
public void onComplete() {
- //如果是解锁状态就隐藏,锁定就显示缓存
- if (Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0) == 1) {
- mView.setNumberText("", View.GONE);
- mView.setNameText("", View.GONE);
- mView.setClassText("", View.GONE);
- mView.setBatchText("", View.GONE);
- }
Log.e(TAG + ":" + "getStudesInfo", "onComplete: ");
}
});
}
- private void setState() {
- String batch = (String) SPUtils.get(mContext, CommonConfig.BATCH_NAME, DEFAULT_INFO);
- if (TextUtils.isEmpty(batch) || batch.equalsIgnoreCase(DEFAULT_INFO)) {
- mView.setBatchText("", View.GONE);
- } else {
- mView.setBatchText(batch, View.VISIBLE);
- }
-
- String classes = (String) SPUtils.get(mContext, CommonConfig.CLASS_NAME, DEFAULT_INFO);
- if (TextUtils.isEmpty(classes) || classes.equalsIgnoreCase(DEFAULT_INFO)) {
- mView.setClassText("", View.GONE);
- } else {
- mView.setClassText(classes, View.VISIBLE);
- }
-
- String sno = (String) SPUtils.get(mContext, CommonConfig.STUDENT_ID, DEFAULT_INFO);
- if (TextUtils.isEmpty(sno) || sno.equalsIgnoreCase(DEFAULT_INFO)) {
- mView.setNumberText("", View.GONE);
- } else {
- mView.setNumberText(sno, View.VISIBLE);
- }
- String realname = (String) SPUtils.get(mContext, CommonConfig.REALNAME, DEFAULT_INFO);
- if (TextUtils.isEmpty(realname) || realname.equalsIgnoreCase(DEFAULT_INFO)) {
- mView.setNameText("", View.GONE);
- } else {
- mView.setNameText(realname, View.VISIBLE);
- }
- String head_img = (String) SPUtils.get(mContext, CommonConfig.HEAD_IMG, DEFAULT_INFO);
- if (TextUtils.isEmpty(head_img) || head_img.equalsIgnoreCase(DEFAULT_INFO)) {
- mView.setHead("");
- } else {
- mView.setHead(head_img);
- }
- }
-
- private long lastgetLockedTime;
- private long one_minute = 1000 * 60;
-
@Override
- public void getLockedState() {
- MMKV mmkv = MMKV.defaultMMKV();
- lastgetLockedTime = mmkv.decodeLong(MainSPresenter.GET_SETTING_FINISH_TIME);
- Log.e(TAG, "getLockedState: " + lastgetLockedTime);
- if (System.currentTimeMillis() - lastgetLockedTime < one_minute) {
- Log.e(TAG, "getLockedState: lastgetLockedTime = " + lastgetLockedTime);
- return;
- }
-
-// lastgetLockedTime = System.currentTimeMillis();
+ public void getLockedState(String key) {
NetInterfaceManager.getInstance()
.getDevicesLockedStateObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -285,6 +202,7 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
public void onNext(@NonNull BaseResponse response) {
+ mMMKV.encode(key, System.currentTimeMillis());
requestSucceeded = true;
Log.e(TAG + ":" + "getLockedState", "onNext: " + JSONObject.toJSONString(response));
if (response.code == OK) {
@@ -302,7 +220,6 @@ public class MainSPresenter implements MainSContact.Presenter {
}
Settings.System.putInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0);
} else {
-// SysSettingUtils.setEnableSetting(mContext);
Settings.System.putInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 1);
}
mView.setLockedState(locked == 1);
@@ -326,7 +243,6 @@ public class MainSPresenter implements MainSContact.Presenter {
Log.e(TAG + ":" + "getLockedState", "onComplete: ");
}
});
-// lastgetLockedTime = System.currentTimeMillis();
}
/**
@@ -367,7 +283,7 @@ public class MainSPresenter implements MainSContact.Presenter {
NetInterfaceManager.getInstance()
.sendMACAddressObservable()
.observeOn(Schedulers.io())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -406,57 +322,27 @@ public class MainSPresenter implements MainSContact.Presenter {
mView.updateDeviceInfoFinish();
return;
}
- updateDevicesInfo(mContext);
- mView.updateDeviceInfoFinish();
- }
+ NetInterfaceManager.getInstance().updateDeviceInfo(new NetInterfaceManager.ObserverCallback() {
+ @Override
+ public void onSubscribe(Disposable d) {
- @SuppressLint("NewApi")
- synchronized private void updateDevicesInfo(Context context) {
- String address = String.valueOf(SPUtils.get(context, "AmapAddress", "-"));
- if ("-".equals(address)) {
- address = (String) SPUtils.get(context, "AmapError", "-");
- }
- String longitude = String.valueOf(SPUtils.get(context, "longitude", "0"));
- String latitude = String.valueOf(SPUtils.get(context, "latitude", "0"));
- JsonObject jsonObject = new JsonObject();
- jsonObject.addProperty("address", address);
- jsonObject.addProperty("longitude", longitude);
- jsonObject.addProperty("latitude", latitude);
- String add = jsonObject.toString();
- Log.e(TAG, "updateDevicesInfo: " + add);
- NetInterfaceManager.getInstance().getUpdateDeviceInfo()
- .updateDeviceInfo(
- Utils.getSerial(),
- NetInterfaceManager.HTTP_KEY,
- Utils.getMachine(context),
- Utils.getHardware(context),
- add)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(@NonNull Disposable d) {
- Log.e(TAG + ":" + "updateDevicesInfo", "onSubscribe: ");
- }
+ }
- @Override
- public void onNext(@NonNull BaseResponse baseResponse) {
- requestSucceeded = true;
- Log.e(TAG + ":" + "updateDevicesInfo", "onNext: " + baseResponse);
- }
+ @Override
+ public void onNext(BaseResponse response) {
+ requestSucceeded = true;
+ }
- @Override
- public void onError(@NonNull Throwable e) {
- Log.e(TAG + ":" + "updateDevicesInfo", "onError: " + e.getMessage());
- onComplete();
- }
+ @Override
+ public void onError(Throwable e) {
- @Override
- public void onComplete() {
- Log.e(TAG + ":" + "updateDevicesInfo", "onComplete: ");
- }
- });
+ }
+
+ @Override
+ public void onComplete() {
+ mView.updateDeviceInfoFinish();
+ }
+ });
}
@Override
@@ -467,7 +353,7 @@ public class MainSPresenter implements MainSContact.Presenter {
}
NetInterfaceManager.getInstance()
.getSnTimeObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -518,7 +404,7 @@ public class MainSPresenter implements MainSContact.Presenter {
public void getEBagCode() {
NetInterfaceManager.getInstance()
.getEBagCodeControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
@@ -555,30 +441,14 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
public void setJpushAlias() {
-// JPushInterface.init(mContext);
-// SetAlias();
-// String rid = JPushInterface.getRegistrationID(mContext);
-// if (!TextUtils.isEmpty(rid)) {
-// Log.e(TAG + ":" + "setJpushAlias", "RegId:" + rid);
-// }
-// JPushInterface.getAlias(mContext, new Random().nextInt(100));
mView.setAliasFinish();
}
-// private void SetAlias() {
-// TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
-// tagAliasBean.action = ACTION_SET;
-// sequence++;
-// tagAliasBean.alias = Utils.getSerial();
-// tagAliasBean.isAliasAction = true;
-// TagAliasOperatorHelper.getInstance().handleAction(mContext, sequence, tagAliasBean);
-// }
-
@Override
public void setPushTags() {
NetInterfaceManager.getInstance()
.getJpushTagsObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -648,15 +518,6 @@ public class MainSPresenter implements MainSContact.Presenter {
mView.setJpushPlatformTagsFinish();
}
-// private void setTag(Set set) {
-// TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
-// tagAliasBean.action = ACTION_SET;
-// sequence++;
-// tagAliasBean.tags = set;
-// tagAliasBean.isAliasAction = false;
-// TagAliasOperatorHelper.getInstance().handleAction(mContext, sequence, tagAliasBean);
-// }
-
@Override
public void checkStoreUpdate() {
checkUpdateStore();
@@ -669,7 +530,7 @@ public class MainSPresenter implements MainSContact.Presenter {
JGYUtils.getInstance().checkAppPlatform())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -712,7 +573,7 @@ public class MainSPresenter implements MainSContact.Presenter {
JGYUtils.getInstance().checkAppPlatform())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -753,7 +614,7 @@ public class MainSPresenter implements MainSContact.Presenter {
JGYUtils.getInstance().checkAppPlatform())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -794,7 +655,7 @@ public class MainSPresenter implements MainSContact.Presenter {
JGYUtils.getInstance().checkAppPlatform())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -835,7 +696,7 @@ public class MainSPresenter implements MainSContact.Presenter {
JGYUtils.getInstance().checkAppPlatform())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -868,68 +729,9 @@ public class MainSPresenter implements MainSContact.Presenter {
});
}
- long buttonCheckUpdateTime = 0;
-
@Override
public void buttonCheckUpdate(View view) {
-// if ((System.currentTimeMillis() - buttonCheckUpdateTime) < 10000) {
-// buttonCheckUpdateTime = System.currentTimeMillis();
-// ToastUtil.show("正在检查更新");
-// } else {
-// ToastUtil.show("你已经过检查,请稍后再来");
-// }
- checkUpdateInfo();
- }
- private void checkUpdateInfo() {
- NetInterfaceManager.getInstance()
- .getUpdateApi()
- .getUpdate(BuildConfig.APPLICATION_ID,
- JGYUtils.getInstance().checkAppPlatform())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(@NonNull Disposable d) {
- Log.e(TAG + ":" + "checkUpdateInfo", "onSubscribe: ");
- }
-
- @Override
- public void onNext(@NonNull BaseResponse response) {
- requestSucceeded = true;
- Log.e(TAG + ":" + "checkUpdateInfo", "onNext: " + response);
- if (response.code == OK) {
- JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject();
- long versionCode = jsonObject.get("version_code").getAsLong();
- PackageManager pm = mContext.getPackageManager();
- PackageInfo info = null;
- try {
- info = pm.getPackageInfo(BuildConfig.APPLICATION_ID, 0);
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- if (null == info || info.versionCode < versionCode) {
- mView.buttonCheckUpdateFinish(true, jsonObject);
- } else {
- mView.buttonCheckUpdateFinish(false, null);
- }
- } else {
- mView.buttonCheckUpdateFinish(false, null);
- }
- }
-
- @Override
- public void onError(@NonNull Throwable e) {
- Log.e(TAG + ":" + "checkUpdateInfo", "onError: " + e.getMessage());
- onComplete();
- }
-
- @Override
- public void onComplete() {
- Log.e(TAG + ":" + "checkUpdateInfo", "onComplete: ");
- }
- });
}
/**
@@ -939,7 +741,7 @@ public class MainSPresenter implements MainSContact.Presenter {
public void checkTestUpdate() {
NetInterfaceManager.getInstance()
.getTestUpdateObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>>() {
@Override
public void onSubscribe(Disposable d) {
@@ -985,7 +787,7 @@ public class MainSPresenter implements MainSContact.Presenter {
public void getAppLimit() {
NetInterfaceManager.getInstance()
.getAppLimitObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1037,60 +839,11 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
public void getDeviceBatch(String packageList) {
-// if (JGYUtils.isOfficialVersion() || TextUtils.isEmpty(packageList)) {
-// mView.getDeviceBatchFinished();
-// return;
-// }
int locked = Settings.System.getInt(mContext.getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, 0);
Log.e(TAG, "getDeviceBatch: " + locked);
if (locked == 0) {
-// NetInterfaceManager.getInstance()
-// .getBatchObservable()
-// .observeOn(Schedulers.io())
-// .subscribe(new Observer() {
-// @Override
-// public void onSubscribe(@NonNull Disposable d) {
-// Log.e(TAG+":"+"getDeviceBatch", "onSubscribe: ");
-// }
-//
-// @Override
-// public void onNext(@NonNull ResponseBody responseBody) {
-// Log.e(TAG+":"+"getDeviceBatch", "onNext: ");
-// try {
-// String respons = responseBody.string();
-// JSONObject jsonObject = JSON.parseObject(respons);
-// int code = jsonObject.getInteger("code");
-// if (code == OK) {
-// String data = jsonObject.getString("data");
-// List batchList = JSON.parseArray(data, Batch.class);
-// if (null != batchList && batchList.size() > 1) {
-// Log.e(TAG+":"+"getDeviceBatch", "onNext: " + "deleteOtherApp");
-// if (!BuildConfig.DEBUG) {
JGYUtils.getInstance().deleteOtherApp();
-// }
-// } else {
-// Log.e(TAG+":"+"getDeviceBatch", "批次为空");
-// Log.e(TAG+":"+"getDeviceBatch", "onNext: respons:" + respons);
-// }
-// }
-// } catch (IOException e) {
-// e.printStackTrace();
-// }
-// }
-//
-// @Override
-// public void onError(@NonNull Throwable e) {
-// Log.e(TAG+":"+"getDeviceBatch", "onError: " + e.getMessage());
-// onComplete();
-// }
-//
-// @Override
-// public void onComplete() {
-// Log.e(TAG+":"+"getDeviceBatch", "onComplete: ");
mView.getDeviceBatchFinish();
-// }
-// });
- // mView.getDeviceBatchFinished();
}
}
@@ -1098,7 +851,7 @@ public class MainSPresenter implements MainSContact.Presenter {
public void getForceDownload() {
NetInterfaceManager.getInstance()
.getForceDownloadObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1147,286 +900,14 @@ public class MainSPresenter implements MainSContact.Presenter {
});
}
- // TODO: 2021/6/8 使用现有代码会影响浏览器主页管控
-// @Override
-// public void getBrowserList() {
-//// if (JGYUtils.isOfficialVersion()) {
-// SetBrowserList();
-//// } else {
-//// NewSetBrowserList();
-//// }
-// }
-
@Override
public void getBrowserList() {
-// NetInterfaceManager.getInstance()
- //// .getBrowserListSettingObservable()
- //// .observeOn(Schedulers.io())
- //// .subscribe(new Observer>() {
- //// @Override
- //// public void onSubscribe(@NonNull Disposable d) {
- //// Log.e(TAG + ":" + "getBrowserList", "onSubscribe: ");
- //// }
- ////
- //// @Override
- //// public void onNext(@NonNull BaseResponse browserDataBaseResponse) {
- //// Log.e(TAG + ":" + "getBrowserList", "onNext: ");
- //// if (browserDataBaseResponse.code == OK) {
- //// String white = browserDataBaseResponse.data.getWhite();
- ////
- //// if (!TextUtils.isEmpty(white)) {
- //// String homePage = Settings.System.getString(mContext.getContentResolver(), "homepagURL");
- //// if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) {
- //// white += "," + homePage;
- //// }
- //// boolean whiteList = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", white);
- //// Log.e(TAG + ":" + "getBrowserList", "setBrowserList white: " + white + ":" + whiteList);
- //// mView.getBrowserListFinished(white);
- //// } else {
- //// Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", " ");
- //// mView.getBrowserListFinished("");
- //// }
- //// String black = browserDataBaseResponse.data.getBlack();
- //// if (!TextUtils.isEmpty(black)) {
- //// boolean blackList = Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", black);
- //// Log.e(TAG + ":" + "getBrowserList", "setBrowserList black: " + black + ":" + blackList);
- //// } else {
- //// Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " ");
- //// }
- //// } else {
- //// mView.getBrowserListFinished("");
- //// }
- //// }
- ////
- //// @Override
- //// public void onError(@NonNull Throwable e) {
- //// Log.e(TAG + ":" + "getBrowserList", "onError: " + e.getMessage());
- //// String whiteURLList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray");
- //// Log.e(TAG + ":" + "getBrowserList", "whiteURLList: " + whiteURLList);
- //// mView.getBrowserListFinished(whiteURLList);
- //// onComplete();
- //// }
- ////
- //// @Override
- //// public void onComplete() {
- //// Log.e(TAG + ":" + "getBrowserList", "onComplete: ");
- //// }
- //// });
- // //获取书签后会获取黑白名单
Log.e(TAG, "getBrowserList: ");
mView.getBrowserListFinish("");
}
-// private void NewSetBrowserList() {
-// NetInterfaceManager.getInstance()
-// .getBrowserListSettingObservable()
-// .observeOn(Schedulers.io())
-// .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
-// .subscribe(new Observer>() {
-// @Override
-// public void onSubscribe(@NonNull Disposable d) {
-// Log.e(TAG + ":" + "NewSetBrowserList", "onSubscribe: ");
-// }
-//
-// @Override
-// public void onNext(@NonNull BaseResponse browserDataBaseResponse) {
-// Log.e(TAG + ":" + "NewSetBrowserList", "onNext: ");
-// if (browserDataBaseResponse.code == OK) {
-// String white = browserDataBaseResponse.data.getWhite();
-// String black = browserDataBaseResponse.data.getBlack();
-// if (!TextUtils.isEmpty(white) && !TextUtils.isEmpty(black)) {
-// Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0);
-// Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", " ");
-// //黑白名单同时存在时由以前的逻辑管控
-// boolean whiteList = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", white);
-// Log.e(TAG + ":" + "setBrowserList", "setBrowserList white: " + white + ":" + whiteList);
-// boolean blackList = Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", black);
-// Log.e(TAG + ":" + "setBrowserList", "setBrowserList black: " + black + ":" + blackList);
-// mView.getBrowserListFinished(white);
-// } else if (TextUtils.isEmpty(white)) {
-// //设置黑名单
-// Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 1);
-// Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", black);
-// //白名单为空由新的管控执行
-// mView.getBrowserListFinished("");
-// Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " ");
-// } else if (TextUtils.isEmpty(black)) {
-// Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0);
-// Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", " ");
-// //黑名单为空由旧的管控执行
-// mView.getBrowserListFinished(white);
-// Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " ");
-// }
-// } else {
-// //所有置空
-// Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0);
-// Settings.System.putString(mContext.getContentResolver(), "BlackBrowserArray", " ");
-// mView.getBrowserListFinished("");
-// Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " ");
-// }
-// }
-//
-// @Override
-// public void onError(@NonNull Throwable e) {
-// Log.e(TAG + ":" + "NewSetBrowserList", "onError: " + e.getMessage());
-// onComplete();
-// }
-//
-// @Override
-// public void onComplete() {
-// Log.e(TAG + ":" + "NewSetBrowserList", "onComplete: ");
-// }
-// });
-// }
-
-// private void SetBrowserList() {
-// NetInterfaceManager.getInstance()
-// .getBrowserListSettingObservable()
-// .observeOn(Schedulers.io())
-// .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
-// .subscribe(new Observer>() {
-// @Override
-// public void onSubscribe(@NonNull Disposable d) {
-// Log.e(TAG + ":" + "SetBrowserList", "onSubscribe: ");
-// }
-//
-// @Override
-// public void onNext(@NonNull BaseResponse browserDataBaseResponse) {
-// Settings.System.putInt(mContext.getContentResolver(), "qch_website_isBlackWebUrl", 0);
-// Log.e(TAG + ":" + "SetBrowserList", "onNext: ");
-// if (browserDataBaseResponse.code == OK) {
-// //白名单
-// String white = browserDataBaseResponse.data.getWhite();
-// if (!TextUtils.isEmpty(white)) {
-// String homePage = Settings.System.getString(mContext.getContentResolver(), "homepagURL");
-// if (!TextUtils.isEmpty(homePage) && !white.contains(homePage)) {
-// white += "," + homePage;
-// }
-// boolean whiteList = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", white);
-// Log.e(TAG + ":" + "SetBrowserList", "setBrowserList white: " + white + " :" + whiteList);
-// String black = Settings.System.getString(mContext.getContentResolver(), "qch_webblack_url");
-// Log.e(TAG + ":" + "SetBrowserList", "getBrowserList black: " + black);
-// mView.getBrowserListFinished(white);
-// } else {
-// Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", " ");
-// mView.getBrowserListFinished("");
-// }
-// //黑名单
-// String black = browserDataBaseResponse.data.getBlack();
-// if (!TextUtils.isEmpty(black)) {
-// boolean blackList = Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", black);
-// Log.e(TAG + ":" + "SetBrowserList", "setBrowserList black: " + black + " :" + blackList);
-// String whiteList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray");
-// Log.e(TAG + ":" + "SetBrowserList", "getBrowserList white: " + whiteList);
-// } else {
-// Settings.System.putString(mContext.getContentResolver(), "qch_webblack_url", " ");
-// }
-// } else {
-// mView.getBrowserListFinished("");
-// }
-// }
-//
-// @Override
-// public void onError(@NonNull Throwable e) {
-// Log.e(TAG + ":" + "SetBrowserList", "onError: " + e.getMessage());
-// String whiteURLList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray");
-// Log.e(TAG + ":" + "SetBrowserList", "whiteURLList: " + whiteURLList);
-// mView.getBrowserListFinished(whiteURLList);
-// }
-//
-// @Override
-// public void onComplete() {
-// Log.e(TAG + ":" + "SetBrowserList", "onComplete: ");
-// }
-// });
-// }
-
@Override
public void getBrowserBookmarks(String whitelist) {
-// Log.e(TAG, "getBrowserBookmarks: " + "whitelist: " + whitelist);
-// List whiteLists = Arrays.asList(whitelist.split(","));
-// NetInterfaceManager.getInstance()
-// .getBrowserBookmarksObservable()
-// .observeOn(Schedulers.io())
-// .subscribe(new Observer>() {
-// @Override
-// public void onSubscribe(@NonNull Disposable d) {
-// Log.e(TAG+":"+"getBrowserBookmarks", "onSubscribe: ");
-// }
-//
-// @Override
-// public void onNext(@NonNull BaseResponse browserBookmarksBaseResponse) {
-// Log.e(TAG+":"+"getBrowserBookmarks", "onNext: ");
-// StringBuilder whiteString = new StringBuilder(whitelist);
-// if (browserBookmarksBaseResponse.code == OK) {
-// //主页不包含白名单添加进去
-// String homepagURL = browserBookmarksBaseResponse.data.getHomepage();
-//// boolean home = Settings.System.putString(mContext.getContentResolver(), "homepagURL", homepagURL);
-//// Log.e(TAG+":"+"getBrowserBookmarks", "onNext: homepagURL: save homepagURL = " + homepagURL);
-// if (whiteLists.size() <= 0 || !whiteLists.contains(homepagURL)) {
-// whiteString.append(",").append(homepagURL);
-// Log.e(TAG+":"+"getBrowserBookmarks ", "homepagURL: " + homepagURL);
-// boolean white = Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", whiteString.toString());
-// Log.e(TAG+":"+"getBrowserBookmarks", "onNext: homepagURL: add to whiteList = " + whiteString + "write: " + white);
-// }
-// //主页
-// Intent homepag = new Intent("qch_app_brower_homepage");
-// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
-// homepag.setPackage("com.android.settings")
-// .setPackage("com.android.browser");
-// }
-// if (!TextUtils.isEmpty(homepagURL)) {
-// homepag.putExtra("homepage", homepagURL);
-// } else {
-// homepag.putExtra("homepage", "Invalid");
-// }
-// mContext.sendBroadcast(homepag);
-//
-// //书签
-// String labelpage = browserBookmarksBaseResponse.data.getLabelpage();
-// Intent websiteBookMark = new Intent("qch_app_brower_website");
-// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
-// websiteBookMark.setPackage("com.android.settings")
-// .setPackage("com.android.browser");
-// }
-// if (!TextUtils.isEmpty(labelpage)) {
-// websiteBookMark.putExtra("websiteBookMark", labelpage);
-// } else {
-// websiteBookMark.putExtra("websiteBookMark", "Invalid");
-// }
-// mContext.sendBroadcast(websiteBookMark);
-// } else {
-// Intent intent1 = new Intent("qch_app_brower_homepage");
-// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
-// intent1.setPackage("com.android.settings")
-// .setPackage("com.android.browser");
-// }
-// intent1.putExtra("homepage", "Invalid");
-// mContext.sendBroadcast(intent1);
-//
-// Settings.System.putString(mContext.getContentResolver(), "homepagURL", "");
-// Intent intent2 = new Intent("qch_app_brower_website");
-// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
-// intent2.setPackage("com.android.settings")
-// .setPackage("com.android.browser");
-// }
-// intent2.putExtra("websiteBookMark", "Invalid");
-// mContext.sendBroadcast(intent2);
-// }
-// }
-//
-// @Override
-// public void onError(@NonNull Throwable e) {
-// Log.e(TAG+":"+"getBrowserBookmarks", "onError: " + e.getMessage());
-// onComplete();
-// }
-//
-// @Override
-// public void onComplete() {
-// Log.e(TAG+":"+"getBrowserBookmarks", "onComplete: ");
-// mView.getBrowserBookmarksFinished();
-// }
-// });
HTTPInterface.getHomePageBookmarks(mContext, new HTTPInterface.BookmarksCallback() {
@Override
public void onSubscribe() {
@@ -1447,15 +928,6 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
public void onComplete() {
Log.e(TAG + ":" + "getBrowserBookmarks", "onComplete: ");
-// String homepagURL = Settings.System.getString(mContext.getContentResolver(), "homepagURL");
-// HashSet hashSet = new HashSet<>(Arrays.asList(whitelist.split(",")));
-// hashSet.add(homepagURL);
-// String DeselectBrowserArray = String.join(",", hashSet);
-// if (Utils.isEmpty(DeselectBrowserArray)) {
-// Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", " ");
-// } else {
-// Settings.System.putString(mContext.getContentResolver(), "DeselectBrowserArray", DeselectBrowserArray);
-// }
if (mView != null) {
mView.getBrowserBookmarksFinish();
}
@@ -1487,7 +959,7 @@ public class MainSPresenter implements MainSContact.Presenter {
NetInterfaceManager.getInstance()
.getDesktopIconObservable()
.observeOn(Schedulers.io())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1551,7 +1023,7 @@ public class MainSPresenter implements MainSContact.Presenter {
.getAppAutoStartUpdateAndNetObservable()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1588,7 +1060,7 @@ public class MainSPresenter implements MainSContact.Presenter {
NetInterfaceManager.getInstance()
.getAppIDControlObservable()
.observeOn(Schedulers.io())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1657,7 +1129,7 @@ public class MainSPresenter implements MainSContact.Presenter {
NetInterfaceManager.getInstance()
.getSystemSettingObservable()
.observeOn(Schedulers.io())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1715,7 +1187,7 @@ public class MainSPresenter implements MainSContact.Presenter {
public void getDefaultApp() {
NetInterfaceManager.getInstance()
.getDefaultAppApi()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>() {
@Override
public void onSubscribe(Disposable d) {
@@ -1760,7 +1232,7 @@ public class MainSPresenter implements MainSContact.Presenter {
.getROMApp(NetInterfaceManager.HTTP_KEY, customVersion)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
@@ -1800,7 +1272,7 @@ public class MainSPresenter implements MainSContact.Presenter {
public void getDeveloper() {
NetInterfaceManager.getInstance()
.getDeveloperControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
@@ -1848,7 +1320,7 @@ public class MainSPresenter implements MainSContact.Presenter {
}
NetInterfaceManager.getInstance()
.getLogoImgObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -1898,7 +1370,7 @@ public class MainSPresenter implements MainSContact.Presenter {
}
NetInterfaceManager.getInstance()
.getTopAppControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
@@ -1953,7 +1425,7 @@ public class MainSPresenter implements MainSContact.Presenter {
}
NetInterfaceManager.getInstance()
.getScreenLockObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -2002,7 +1474,7 @@ public class MainSPresenter implements MainSContact.Presenter {
}
NetInterfaceManager.getInstance()
.getDesktopObservable()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
@@ -2058,7 +1530,7 @@ public class MainSPresenter implements MainSContact.Presenter {
public void getPoweroffTime() {
NetInterfaceManager.getInstance()
.getPoweroffTimeControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>>() {
@Override
public void onSubscribe(Disposable d) {
@@ -2067,14 +1539,14 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
public void onNext(BaseResponse> listBaseResponse) {
+ requestSucceeded = true;
Log.e("getPoweroffTime", "onNext: " + listBaseResponse);
- MMKV mmkv = MMKV.defaultMMKV();
if (listBaseResponse.code == 200) {
List poweroffBeanList = listBaseResponse.data;
String poweroffTime = new Gson().toJson(poweroffBeanList);
- mmkv.encode("poweroffTime", poweroffTime);
+ mMMKV.encode("poweroffTime", poweroffTime);
} else {
- mmkv.encode("PoweroffTime", "");
+ mMMKV.encode("PoweroffTime", "");
}
}
@@ -2095,7 +1567,7 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
public void getWiFiPasswd() {
NetInterfaceManager.getInstance().getWiFiControl()
- .compose(getProvider().bindUntilEvent(ActivityEvent.DESTROY))
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer>>() {
@Override
public void onSubscribe(Disposable d) {
@@ -2107,11 +1579,11 @@ public class MainSPresenter implements MainSContact.Presenter {
Log.e("getWiFiPasswd", "onNext: ");
if (listBaseResponse.code == 200) {
WiFiUtils.saveWiFiPasswd(listBaseResponse.data);
- MMKV.defaultMMKV().encode("WiFiPassword", JsonParser.parseString(new Gson().toJson(listBaseResponse.data)).toString());
+ mMMKV.encode("WiFiPassword", JsonParser.parseString(new Gson().toJson(listBaseResponse.data)).toString());
} else {
Log.e("getWiFiPasswd", "onNext: msg = " + listBaseResponse.msg);
WiFiUtils.saveWiFiPasswd(listBaseResponse.data);
- MMKV.defaultMMKV().encode("WiFiPassword", "");
+ mMMKV.encode("WiFiPassword", "");
}
}
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 72dc50a..a3a1c75 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
@@ -42,6 +42,7 @@ import com.aoleyun.sn.bean.PoweroffBean;
import com.aoleyun.sn.comm.CommonConfig;
import com.aoleyun.sn.comm.JGYActions;
import com.aoleyun.sn.comm.PackageNames;
+import com.aoleyun.sn.manager.ConnectManager;
import com.aoleyun.sn.network.NetInterfaceManager;
import com.aoleyun.sn.receiver.BootReceiver;
import com.aoleyun.sn.rlog.LogDBManager;
@@ -59,11 +60,11 @@ import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.tencent.mmkv.MMKV;
-import com.trello.rxlifecycle2.LifecycleProvider;
-import com.trello.rxlifecycle2.LifecycleTransformer;
-import com.trello.rxlifecycle2.RxLifecycle;
-import com.trello.rxlifecycle2.android.ActivityEvent;
-import com.trello.rxlifecycle2.android.RxLifecycleAndroid;
+import com.trello.rxlifecycle4.LifecycleProvider;
+import com.trello.rxlifecycle4.LifecycleTransformer;
+import com.trello.rxlifecycle4.RxLifecycle;
+import com.trello.rxlifecycle4.android.ActivityEvent;
+import com.trello.rxlifecycle4.android.RxLifecycleAndroid;
import java.lang.reflect.Type;
import java.text.SimpleDateFormat;
@@ -73,17 +74,19 @@ import java.util.HashSet;
import java.util.List;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.subjects.BehaviorSubject;
+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.subjects.BehaviorSubject;
public class MainService extends Service implements MainSContact.MainView, NetworkUtils.OnNetworkStatusChangedListener, LifecycleProvider {
+ private static final String TAG = MainService.class.getSimpleName();
+ private String connectKey;
+
@SuppressLint("StaticFieldLeak")
public static MainSPresenter mPresenter;
- private static final String TAG = MainService.class.getSimpleName();
public static boolean netWorkIsRunning = false;
private MMKV mMMKV = MMKV.defaultMMKV();
@@ -96,9 +99,33 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
@Override
public void onConnected(NetworkUtils.NetworkType networkType) {
ToastUtil.betaShow("网络已连接");
- Log.e("OnNetworkStatusChanged", "onConnected: " + Utils.getWifiAlias(this));
- start.onstar(SystemClock.elapsedRealtime());
+ String WiFiAlias = Utils.getWifiAlias(this);
+ Log.e("OnNetworkStatusChanged", "onConnected: " + WiFiAlias);
Utils.getPublicIP(this);
+ if (ConnectManager.getInstance().isWiFiFistConnect()) {
+ start.onstar(ConnectManager.WIFI_LAST_CONNECT_TIME);
+ } else {
+ if (ConnectManager.getInstance().isWiFiCutoverFistConnect(WiFiAlias)) {
+ start.onstar(WiFiAlias);
+ }
+ }
+ }
+
+ private final BehaviorSubject lifecycleSubject = BehaviorSubject.create();
+
+ @Override
+ public Observable lifecycle() {
+ return lifecycleSubject.hide();
+ }
+
+ @Override
+ public LifecycleTransformer bindUntilEvent(ActivityEvent event) {
+ return RxLifecycle.bindUntilEvent(lifecycleSubject, event);
+ }
+
+ @Override
+ public LifecycleTransformer bindToLifecycle() {
+ return RxLifecycleAndroid.bindActivity(lifecycleSubject);
}
private WifiReceiver mWifiReceiver;
@@ -134,7 +161,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if (info.getState().equals(NetworkInfo.State.DISCONNECTED)) {
Log.e(TAG, "wifi断开");
- LogDBManager.getInstance().creatNetChangeLog("wifi断开", Utils.transferLongToDate(System.currentTimeMillis()));
+ LogDBManager.getInstance().creatNetChangeLog("wifi断开", TimeUtils.transferLongToDate(System.currentTimeMillis()));
} else if (info.getState().equals(NetworkInfo.State.CONNECTED)) {
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
@@ -145,13 +172,14 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
Log.e(TAG, "连接到网络 " + newSSID);
if (!oldSSID.equals(newSSID)) {
LogDBManager.getInstance().creatNetChangeLog("", oldSSID + " change to: " + newSSID);
- runningTime = SystemClock.elapsedRealtime();
//直接获取数据
- mPresenter.getLockedState();
+ if (ConnectManager.getInstance().isWiFiCutoverFistConnect(newSSID)) {
+ start.onstar(newSSID);
+ }
} else {
LogDBManager.getInstance().creatNetChangeLog("接入WiFi",
"connect to: " + newSSID + " time: "
- + Utils.transferLongToDate(System.currentTimeMillis()));
+ + TimeUtils.transferLongToDate(System.currentTimeMillis()));
}
mMMKV.encode("WiFiSSID", Utils.getWifiAlias(context));
}
@@ -170,48 +198,32 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
}
}
- private final BehaviorSubject lifecycleSubject = BehaviorSubject.create();
-
- @Override
- public Observable lifecycle() {
- return lifecycleSubject.hide();
- }
-
- @Override
- public LifecycleTransformer bindUntilEvent(ActivityEvent event) {
- return RxLifecycle.bindUntilEvent(lifecycleSubject, event);
- }
-
- @Override
- public LifecycleTransformer bindToLifecycle() {
- return RxLifecycleAndroid.bindActivity(lifecycleSubject);
- }
private interface Start {
- void onstar(long time);
+ void onstar(String key);
}
private Start start;
- private ObservableOnSubscribe subscribe = new ObservableOnSubscribe() {
+ private ObservableOnSubscribe subscribe = new ObservableOnSubscribe() {
@Override
- public void subscribe(ObservableEmitter emitter) throws Exception {
+ public void subscribe(ObservableEmitter emitter) throws Exception {
start = emitter::onNext;
}
};
- private Observer timeObserver = new Observer() {
+ private Observer timeObserver = new Observer() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
- public void onNext(Long aLong) {
- Log.e("TimeObserver", "onNext: " + aLong);
- startCommandTime = runningTime = SystemClock.elapsedRealtime();
+ public void onNext(String string) {
+ connectKey = string;
+ Log.e("TimeObserver", "onNext: " + string);
mPresenter.getFirstConnect();
- mPresenter.getLockedState();
+ mPresenter.getLockedState(string);
}
@Override
@@ -237,10 +249,17 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
@Override
public void onCreate() {
super.onCreate();
+ Log.e(TAG, "onCreate: ");
lifecycleSubject.onNext(ActivityEvent.CREATE);
mPresenter = new MainSPresenter(this);
mPresenter.attachView(this);
- mPresenter.setProvider(this);
+ mPresenter.setLifecycle(lifecycleSubject);
+ Observable.create(subscribe)
+ .throttleFirst(1, TimeUnit.MINUTES)
+ .subscribe(timeObserver);
+ Observable.create(timeChangedSubscribe)
+ .throttleFirst(3, TimeUnit.HOURS)
+ .subscribe(timeChangedObserver);
if ((int) SPUtils.get(this, CommonConfig.JGY_FIRST_CONNECT, 0) == 0) {
// TODO: 2021/5/26 待底层修改,临时解决办法
Log.e(TAG, "onCreate: " + "Disable All Settings");
@@ -250,29 +269,29 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
if (oldVersionCode < BuildConfig.VERSION_CODE) {
Log.e(TAG, "onCreate: " + "upgrade successful");
} else {
- mPresenter.getFirstConnect();
- mPresenter.getLockedState();
+ if (ConnectManager.getInstance().isRebootFistConnect()) {
+ start.onstar(ConnectManager.REBOOT_LAST_ONNECT_TIME);
+ }
}
SPUtils.put(this, CommonConfig.SN_VERSIONCODE, BuildConfig.VERSION_CODE);
registerReceivers();
NetworkUtils.registerNetworkStatusChangedListener(this);
addShortcut();
- Observable.create(subscribe)
- .throttleFirst(3, TimeUnit.HOURS)
- .subscribe(timeObserver);
- Observable.create(timeChangedSubscribe)
- .throttleFirst(3, TimeUnit.HOURS)
- .subscribe(timeChangedObserver);
// cleanLauncherCache();
timeChangedStart.onstar(System.currentTimeMillis());
setStatusbar();
//发送设备mac地址和信息
- mPresenter.sendMACAddress();
setFloatingWindow(this);
createNotificationChannel();
sendSimpleNotification();
}
+ @Override
+ public int onStartCommand(Intent intent, int flags, int startId) {
+ JGYUtils.getInstance().wakeUpAppstore();
+ return START_STICKY;
+ }
+
@Override
public void onDestroy() {
super.onDestroy();
@@ -282,24 +301,6 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
mPresenter.detachView();
}
- //执行所有请求的时间
- long runningTime;
-
- //MainService上次执行时间
- long startCommandTime = 0;
-
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- Intent bootIntent = new Intent(BootReceiver.BOOT_COMPLETED);
- bootIntent.setComponent(new ComponentName(PackageNames.APPSTORE, PackageNames.APP_STORE_BOOTRECEIVER));
- sendBroadcast(bootIntent);
-// mPresenter.getFirstConnect();
-// mPresenter.getLockedState();
- start.onstar(SystemClock.elapsedRealtime());
- Log.e(TAG, "onStartCommand: " + (SystemClock.elapsedRealtime() - startCommandTime) + "ms");
- return START_STICKY;
- }
-
private void createNotificationChannel() {
// Create the NotificationChannel, but only on API 26+ because
// the NotificationChannel class is new and not in the support library
@@ -703,36 +704,6 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
}
}
- @Override
- public void setQRImage(Bitmap qrImage) {
-
- }
-
- @Override
- public void setBatchText(String text, int visibility) {
-
- }
-
- @Override
- public void setClassText(String text, int visibility) {
-
- }
-
- @Override
- public void setNumberText(String text, int visibility) {
-
- }
-
- @Override
- public void setNameText(String text, int visibility) {
-
- }
-
- @Override
- public void setHead(String url) {
-
- }
-
@Override
public void setLockedState(boolean loocked) {
Log.e(TAG, "netWorkIsRunning: " + netWorkIsRunning);
@@ -865,7 +836,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
if (noTag) {
Log.e(TAG, "setTagsFinished: " + "not set tag");
netWorkIsRunning = false;
- Log.e(TAG, "SettingFinished: " + (SystemClock.elapsedRealtime() - runningTime) + " ms");
+ Log.e(TAG, "SettingFinished: " + (SystemClock.elapsedRealtime()) + " ms");
} else {
mPresenter.getSystemSettingbegin();
}
@@ -967,7 +938,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
public void setWiFiPasswd() {
MMKV.defaultMMKV().encode(MainAPresenter.GET_SETTING_FINISH_TIME, System.currentTimeMillis());
netWorkIsRunning = false;
- Log.e(TAG, "SettingFinished: " + (SystemClock.elapsedRealtime() - runningTime) + " ms");
+ Log.e(TAG, "SettingFinished: " + (SystemClock.elapsedRealtime()) + " ms");
}
@Override
diff --git a/app/src/main/java/com/aoleyun/sn/tpush/MessageReceiver.java b/app/src/main/java/com/aoleyun/sn/tpush/MessageReceiver.java
index 078f179..c8131a8 100644
--- a/app/src/main/java/com/aoleyun/sn/tpush/MessageReceiver.java
+++ b/app/src/main/java/com/aoleyun/sn/tpush/MessageReceiver.java
@@ -69,13 +69,13 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+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.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
@@ -591,7 +591,7 @@ public class MessageReceiver extends XGPushBaseReceiver {
case GET_DEVICES_INFO:
ToastUtil.betaShow("收到管控:获取设备信息");
if (MainService.mPresenter != null) {
- MainService.mPresenter.getLockedState();
+ MainService.mPresenter.getLockedState("XGPush");
MainService.mPresenter.sendMACAddress();
Log.e(TAG, "mPresenter: " + "getLockedState");
} else {
@@ -713,7 +713,7 @@ public class MessageReceiver extends XGPushBaseReceiver {
Log.e(TAG, "setHomepagtag: " + e.getMessage());
}
if (MainService.mPresenter != null) {
- MainService.mPresenter.getLockedState();
+ MainService.mPresenter.getLockedState("XGPush_RESTORE");
Log.e("getLockedState", "mPresenter: " + "getLockedState");
} else {
Log.e("getLockedState", "mPresenter is NULL");
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 3b04a32..a678fb9 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/ApkUtils.java
@@ -18,27 +18,21 @@ import android.net.Uri;
import android.os.Binder;
import android.os.Build;
import android.provider.Settings;
+import android.text.TextUtils;
+import android.util.Log;
import androidx.annotation.RequiresApi;
import androidx.core.content.FileProvider;
-import android.text.TextUtils;
-import android.text.format.Formatter;
-import android.util.Log;
-import android.view.View;
-import android.widget.Toast;
-
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.aoleyun.sn.BuildConfig;
+import com.aoleyun.sn.bean.UploadAppInfo;
import com.aoleyun.sn.comm.JGYActions;
import com.aoleyun.sn.comm.PackageNames;
import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
import com.google.gson.Gson;
-import com.aoleyun.sn.BuildConfig;
-import com.aoleyun.sn.R;
-import com.aoleyun.sn.bean.UploadAppInfo;
-import com.aoleyun.sn.network.NetInterfaceManager;
import java.io.BufferedReader;
import java.io.DataOutputStream;
@@ -58,14 +52,13 @@ import java.util.function.Predicate;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
-import okhttp3.ResponseBody;
+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;
public class ApkUtils {
private static String TAG = ApkUtils.class.getSimpleName();
@@ -1166,7 +1159,7 @@ public class ApkUtils {
uploadAppInfo.setApp_name(packageInfo.applicationInfo.loadLabel(context.getPackageManager()).toString());
uploadAppInfo.setPackage_name(packageInfo.packageName);
Log.e("getRunningAppInfo", "getRunningAppInfo:" + packageInfo.packageName);
- String firstInstallTime = Utils.transferLongToDate(packageInfo.lastUpdateTime);
+ String firstInstallTime = TimeUtils.transferLongToDate(packageInfo.lastUpdateTime);
uploadAppInfo.setInstall_time(firstInstallTime);
uploadAppInfo.setVersionCode(String.valueOf(packageInfo.versionCode));
uploadAppInfo.setState(0);
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 1bdaccb..aa87efe 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/JGYUtils.java
@@ -35,6 +35,7 @@ import com.alibaba.fastjson.JSONObject;
import com.aoleyun.sn.comm.CommonConfig;
import com.aoleyun.sn.comm.JGYActions;
import com.aoleyun.sn.comm.PackageNames;
+import com.aoleyun.sn.receiver.BootReceiver;
import com.blankj.utilcode.util.FileUtils;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
@@ -1936,4 +1937,23 @@ public class JGYUtils {
}
+ public static final String PACKAGE_DEVICEINFO = "com.aoleyun.sn";
+ public static final String PACKAGE_APPSTORE = "com.aoleyun.appstore";
+
+ public static final String CLASS_DEVICEINFO = "com.aoleyun.sn.receiver.BootReceiver";
+ public static final String CLASS_APPSTORE = "com.aoleyun.appstore.receiver.BootReceiver";
+
+ public void wakeUpDeviceInfo() {
+ //启动设备信息
+ Intent bootIntent = new Intent(BootReceiver.BOOT_COMPLETED);
+ bootIntent.setComponent(new ComponentName(PACKAGE_DEVICEINFO, CLASS_DEVICEINFO));
+ mContext.sendBroadcast(bootIntent);
+ }
+
+ public void wakeUpAppstore() {
+ //启动应用市场
+ Intent bootIntent = new Intent(BootReceiver.BOOT_COMPLETED);
+ bootIntent.setComponent(new ComponentName(PACKAGE_APPSTORE, CLASS_APPSTORE));
+ mContext.sendBroadcast(bootIntent);
+ }
}
diff --git a/app/src/main/java/com/aoleyun/sn/utils/TimeUtils.java b/app/src/main/java/com/aoleyun/sn/utils/TimeUtils.java
index 5cc4645..58040bd 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/TimeUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/TimeUtils.java
@@ -4,7 +4,9 @@ import android.content.Context;
import android.content.Intent;
import androidx.annotation.NonNull;
+import androidx.annotation.RequiresApi;
+import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
@@ -15,6 +17,9 @@ import com.aoleyun.sn.service.main.MainService;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.Date;
/**
@@ -52,6 +57,10 @@ public class TimeUtils {
return false;
}
+ /**
+ * @return 获取今日0点时间戳
+ * 没有管时区问题
+ */
private static long getZeroTiemstamp() {
long nowTime = System.currentTimeMillis();
long dayMillisecond = 60 * 60 * 24 * 1000;
@@ -60,6 +69,22 @@ public class TimeUtils {
return zeroTime;
}
+ @RequiresApi(api = Build.VERSION_CODES.O)
+ public static boolean isTodayTime(long timeStamp) {
+ String time = transferLongToDate(timeStamp);
+ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ LocalDateTime localTime = LocalDateTime.parse(time, dtf);
+ LocalDateTime startTime = LocalDate.now().atTime(0, 0, 0);
+ LocalDateTime endTime = LocalDate.now().atTime(23, 59, 59);
+ return localTime.isAfter(startTime) && localTime.isBefore(endTime);
+ }
+
+ public static String transferLongToDate(Long millSec) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ Date date = new Date(millSec);
+ return sdf.format(date);
+ }
+
private static long getLoopTime(String timestamp) {
//"15:34:39"
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
diff --git a/app/src/main/java/com/aoleyun/sn/utils/URLUtils.java b/app/src/main/java/com/aoleyun/sn/utils/URLUtils.java
index e075ab9..8b5f61b 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/URLUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/URLUtils.java
@@ -15,13 +15,13 @@ import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+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.OkHttpClient;
import okhttp3.Request;
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 62cb2ce..f9181fc 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/Utils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/Utils.java
@@ -33,10 +33,6 @@ import android.os.Environment;
import android.os.StatFs;
import android.os.SystemClock;
import android.provider.Settings;
-
-import androidx.annotation.RequiresApi;
-import androidx.annotation.VisibleForTesting;
-
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.text.format.Formatter;
@@ -49,7 +45,13 @@ import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.Toast;
+import androidx.annotation.RequiresApi;
+import androidx.annotation.VisibleForTesting;
+
import com.alibaba.fastjson.JSONObject;
+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.HTTPInterface;
import com.arialyy.aria.core.Aria;
@@ -60,9 +62,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.aoleyun.sn.BuildConfig;
-import com.aoleyun.sn.R;
-import com.aoleyun.sn.base.BaseApplication;
import java.io.BufferedReader;
import java.io.DataOutputStream;
@@ -98,13 +97,13 @@ import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+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 static android.content.Context.WIFI_SERVICE;
@@ -774,17 +773,6 @@ public class Utils {
}
}
-
- public static String transferLongToDate(Long millSec) {
-
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
- Date date = new Date(millSec);
-
- return sdf.format(date);
-
- }
-
public static Bitmap createQRImage(String content, int widthPix, int heightPix) {
try {
// if (content == null || "".equals(content)) {
diff --git a/app/src/main/java/com/aoleyun/sn/utils/XAPKUtils.java b/app/src/main/java/com/aoleyun/sn/utils/XAPKUtils.java
index 6b541ca..4041017 100644
--- a/app/src/main/java/com/aoleyun/sn/utils/XAPKUtils.java
+++ b/app/src/main/java/com/aoleyun/sn/utils/XAPKUtils.java
@@ -11,14 +11,14 @@ import android.util.Log;
import androidx.annotation.RequiresApi;
+import com.aoleyun.sn.bean.Expansions;
+import com.aoleyun.sn.bean.SplitApks;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
-import com.aoleyun.sn.bean.Expansions;
-import com.aoleyun.sn.bean.SplitApks;
import org.zeroturnaround.zip.ZipUtil;
@@ -34,13 +34,13 @@ import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
-import io.reactivex.Observable;
-import io.reactivex.ObservableEmitter;
-import io.reactivex.ObservableOnSubscribe;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
+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;
/**
* @author Administrator
diff --git a/app/src/main/res/layout-land/activity_request_log.xml b/app/src/main/res/layout-land/activity_request_log.xml
index 7911f36..31ec48c 100644
--- a/app/src/main/res/layout-land/activity_request_log.xml
+++ b/app/src/main/res/layout-land/activity_request_log.xml
@@ -5,4 +5,127 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+