diff --git a/app/build.gradle b/app/build.gradle
index 9c35a2f..4769ee9 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,4 +1,6 @@
-apply plugin: 'com.android.application'
+plugins {
+ id 'com.android.application'
+}
static def appName() {
return "FLYSN"
@@ -12,7 +14,7 @@ android {
namespace "com.fuying.sn"
compileSdkVersion 29
- buildToolsVersion "29.0.3"
+ buildToolsVersion "36.0.0"
defaultConfig {
minSdkVersion 26
@@ -59,17 +61,25 @@ android {
buildConfigField "String", "ROOT_URL", '"https://fxyapi.17hxg.com/android/"'
buildConfigField "String", "SCREEN_URL", '"https://fxyapi.17hxg.com:3018/wm/is_online"'
// buildConfigField "String", "WEBSOCKET_URL", '"wss://47.111.23.154:3018"'
+ manifestPlaceholders = [
+ ALIYUN_PUSH_KEY: "335685739",
+ ALIYUN_PUSH_SECRET: "713e04b35a6249fc979e3d1f74ad59fd"
+ ]
}
official {
flavorDimensions "default"
- versionCode 89
- versionName "3.4.9"
+ versionCode 92
+ versionName "3.5.1"
applicationId "com.fuying.sn"
buildConfigField "String", "ROOT_URL", '"https://as.fuyingy.com/android/"'
buildConfigField "String", "SCREEN_URL", '"https://as.fuyingy.com:3018/wm/is_online"'
// buildConfigField "String", "WEBSOCKET_URL", '"wss://47.111.23.154:3018"'
+ manifestPlaceholders = [
+ ALIYUN_PUSH_KEY: "335596359",
+ ALIYUN_PUSH_SECRET: "9995cad535ee42e99d299b3f0e18fcc6"
+ ]
}
}
@@ -532,7 +542,7 @@ dependencies {
//Java WebSocket
implementation "org.java-websocket:Java-WebSocket:1.5.3"
//MMKV
- implementation 'com.tencent:mmkv-static:1.2.13'
+ implementation 'com.tencent:mmkv-static:2.4.0'
//bugly
implementation 'com.tencent.bugly:crashreport:4.1.9.2'
// //腾讯移动推送 TPNS
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a804d45..cd2e493 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -269,12 +269,12 @@
+ android:value="${ALIYUN_PUSH_KEY}" />
+ android:value="${ALIYUN_PUSH_SECRET}" />
\ No newline at end of file
diff --git a/app/src/main/java/com/fuying/sn/manager/time/TimeManager.java b/app/src/main/java/com/fuying/sn/manager/time/TimeManager.java
index a6367de..aeb9e65 100644
--- a/app/src/main/java/com/fuying/sn/manager/time/TimeManager.java
+++ b/app/src/main/java/com/fuying/sn/manager/time/TimeManager.java
@@ -292,7 +292,7 @@ public class TimeManager {
AppTimeControlInfo appInfo = mAppTimeControlMap.get(pkg);
if (appInfo == null) {
Log.w(TAG, "appCanRun: Application [" + pkg + "] is not in the controlled list. Blocking by default.");
- Toaster.show("应用已被禁用");
+ Toaster.show("获取应用设置失败");
return false;
}
@@ -543,6 +543,7 @@ public class TimeManager {
@Override
public void onNext(@NonNull BaseResponse> response) {
+ Log.e(TAG, "getAppTimeControlInfo onNext: " + response);
if (response.code == 200 && response.data != null) {
List list = response.data;
mAppTimeControlMap = list.stream().collect(Collectors.toMap(AppTimeControlInfo::getApp_package, Function.identity(), (v1, v2) -> v1));
@@ -604,4 +605,22 @@ public class TimeManager {
public void setGetSnTimeControlInfoSuccessful(boolean successful) {
this.mGetSnTimeControlInfoSuccessful = successful;
}
+
+ public Map getAppTimeControlMap() {
+ return mAppTimeControlMap;
+ }
+
+ public void setAppTimeControlMap(Map appTimeControlMap) {
+ mAppTimeControlMap = appTimeControlMap;
+ }
+
+ public Map getRemainingTimeMap() {
+ return mRemainingTimeMap;
+ }
+
+ public void setRemainingTimeMap(Map remainingTimeMap) {
+ mRemainingTimeMap = remainingTimeMap;
+ }
+
+
}
diff --git a/app/src/main/java/com/fuying/sn/network/NetInterfaceManager.java b/app/src/main/java/com/fuying/sn/network/NetInterfaceManager.java
index 3722c56..31a9d0d 100644
--- a/app/src/main/java/com/fuying/sn/network/NetInterfaceManager.java
+++ b/app/src/main/java/com/fuying/sn/network/NetInterfaceManager.java
@@ -135,7 +135,7 @@ public class NetInterfaceManager {
private CacheHelper mCacheHelper;
//超时时间
- private static final int timeOut = 5;
+ private static final int timeOut = 15;
// 缓存文件最大限制大小20M
private static final long cacheSize = 1024 * 1024 * 64;
@@ -391,6 +391,7 @@ public class NetInterfaceManager {
.observeOn(AndroidSchedulers.mainThread());
}
+ @Deprecated
public Observable> getMachineTimeControlObservable() {
return getSettingsApi()
.getSnTimeControl(Utils.getSerial())
@@ -2487,17 +2488,20 @@ public class NetInterfaceManager {
return mCacheHelper.getAsString(UrlAddress.GET_SN_TIME_CONTROL);
}
+ @Deprecated
public void getMachineTimeControl(BehaviorSubject lifecycle, CompleteCallback callback) {
getMachineTimeControlObservable()
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(getMachineTimeControlObserver(callback));
}
+ @Deprecated
public void getMachineTimeControl(CompleteCallback callback) {
getMachineTimeControlObservable()
.subscribe(getMachineTimeControlObserver(callback));
}
+ @Deprecated
public void getMachineTimeControl() {
getMachineTimeControlObservable()
.subscribe(getMachineTimeControlObserver(null));
@@ -3350,18 +3354,77 @@ public class NetInterfaceManager {
TimeManager.getInstance().setSnTimeControlInfo(null);
}
TimeManager.getInstance().setGetSnTimeControlInfoSuccessful(true);
+
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("getSnTimeControl", "onError: ");
+ onComplete();
}
@Override
public void onComplete() {
Log.e("getSnTimeControlObserver", "onComplete: ");
+ if (callback != null) {
+ callback.onComplete();
+ }
}
};
}
+ public void getAppTimeControlInfo(BehaviorSubject lifecycle, CompleteCallback callback) {
+ getAppTimeControlInfoObservable()
+ .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
+ .subscribe(getAppTimeControlInfoObserver(callback));
+ }
+
+ public void getAppTimeControlInfo(CompleteCallback callback) {
+ getAppTimeControlInfoObservable()
+ .subscribe(getAppTimeControlInfoObserver(callback));
+ }
+
+ public void getAppTimeControlInfo() {
+ getAppTimeControlInfoObservable()
+ .subscribe(getAppTimeControlInfoObserver(null));
+ }
+
+ private Observer>> getAppTimeControlInfoObserver(CompleteCallback callback) {
+ return new Observer>>() {
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ Log.e("getAppTimeControlInfo", "onSubscribe: ");
+ }
+
+ @Override
+ public void onNext(@NonNull BaseResponse> response) {
+ Log.e("getAppTimeControlInfo", "onNext: " + response);
+ if (response.code == 200) {
+ List list = response.data;
+ Map appTimeControlMap = list.stream().collect(Collectors.toMap(AppTimeControlInfo::getApp_package, java.util.function.Function.identity(), (v1, v2) -> v1));
+ Map remainingTimeMap = list.stream().collect(Collectors.toMap(AppTimeControlInfo::getApp_package, AppTimeControlInfo::getToday_time, (v1, v2) -> v1));
+ TimeManager.getInstance().setAppTimeControlMap(appTimeControlMap);
+ TimeManager.getInstance().setRemainingTimeMap(remainingTimeMap);
+ }else if (response.code == 400) {
+ Log.e("getSnTimeControl", "onNext: Too frequent");
+ } else {
+
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ Log.e("getAppTimeControlInfo", "onError: ");
+ onComplete();
+ }
+
+ @Override
+ public void onComplete() {
+ Log.e("getAppTimeControlInfo", "onComplete: ");
+ if (callback != null) {
+ callback.onComplete();
+ }
+ }
+ };
+ }
}
diff --git a/app/src/main/java/com/fuying/sn/receiver/APKinstallReceiver.java b/app/src/main/java/com/fuying/sn/receiver/APKinstallReceiver.java
index af1e6b0..0cc6525 100644
--- a/app/src/main/java/com/fuying/sn/receiver/APKinstallReceiver.java
+++ b/app/src/main/java/com/fuying/sn/receiver/APKinstallReceiver.java
@@ -9,6 +9,7 @@ import android.util.Log;
import com.fuying.sn.config.CommonConfig;
import com.fuying.sn.manager.ControlManager;
+import com.fuying.sn.manager.time.TimeManager;
import com.fuying.sn.network.NetInterfaceManager;
import com.fuying.sn.utils.CacheUtils;
import com.fuying.sn.utils.JgyUtils;
@@ -107,6 +108,7 @@ public class APKinstallReceiver extends BroadcastReceiver {
}
NetInterfaceManager.getInstance().SendAppInstallInfo();
// NetInterfaceManager.getInstance().getAppAndWhite();
+ TimeManager.getInstance().getTimeControl();
}
@Override
diff --git a/app/src/main/java/com/fuying/sn/service/ManagerService.java b/app/src/main/java/com/fuying/sn/service/ManagerService.java
index 36c3180..e6455f6 100644
--- a/app/src/main/java/com/fuying/sn/service/ManagerService.java
+++ b/app/src/main/java/com/fuying/sn/service/ManagerService.java
@@ -208,10 +208,10 @@ public class ManagerService extends Service implements NetworkUtils.OnNetworkSta
public static final String LOCK_STATE = "SCRENN_LOOCKED_STATE";
private void showFloatingWindow(String name) {
- if (BuildConfig.DEBUG) {
- Log.e(TAG, "showFloatingWindow: debug mode skip");
- return;
- }
+// if (BuildConfig.DEBUG) {
+// Log.e(TAG, "showFloatingWindow: debug mode skip");
+// return;
+// }
if (Settings.canDrawOverlays(this)) {
// 获取WindowManager服务
if (null == windowManager) {
diff --git a/app/src/main/java/com/fuying/sn/service/main/MainSPresenter.java b/app/src/main/java/com/fuying/sn/service/main/MainSPresenter.java
index e60c8ba..a17b8f2 100644
--- a/app/src/main/java/com/fuying/sn/service/main/MainSPresenter.java
+++ b/app/src/main/java/com/fuying/sn/service/main/MainSPresenter.java
@@ -326,6 +326,13 @@ public class MainSPresenter implements MainSContact.Presenter {
mView.setAppTimeControl();
}
});
+ NetInterfaceManager.getInstance().getAppTimeControlInfo(getLifecycle(), new NetInterfaceManager.CompleteCallback() {
+ @Override
+ public void onComplete() {
+ mView.setAppTimeControl();
+ }
+ });
+
}
@Override
@@ -336,6 +343,12 @@ public class MainSPresenter implements MainSContact.Presenter {
mView.setSnTimeControl();
}
});
+ NetInterfaceManager.getInstance().getSnTimeControl(getLifecycle(), new NetInterfaceManager.CompleteCallback() {
+ @Override
+ public void onComplete() {
+ mView.setSnTimeControl();
+ }
+ });
}
@Override
diff --git a/app/src/main/java/com/fuying/sn/service/main/MainService.java b/app/src/main/java/com/fuying/sn/service/main/MainService.java
index e08862a..6e95f10 100644
--- a/app/src/main/java/com/fuying/sn/service/main/MainService.java
+++ b/app/src/main/java/com/fuying/sn/service/main/MainService.java
@@ -28,6 +28,7 @@ import com.fuying.sn.config.CommonConfig;
import com.fuying.sn.desktop.RunningAppManager;
import com.fuying.sn.manager.AmapManager;
import com.fuying.sn.manager.ControlManager;
+import com.fuying.sn.manager.time.TimeManager;
import com.fuying.sn.network.NetInterfaceManager;
import com.fuying.sn.network.UrlAddress;
import com.fuying.sn.rlog.LogDBManager;
@@ -96,6 +97,7 @@ public class MainService extends BaseRxService implements MainSContact.MainView,
NetInterfaceManager.getInstance().getAppWhiteList(() -> {
Log.e("onConnected", "onNext: getAppWhiteList");
});
+ TimeManager.getInstance().getTimeControl();
mPresenter.getSnInfo();
mPresenter.getAppAndWhite();
NetInterfaceManager.getInstance().updateAdminInfo();