version:1.8

fix:
update:接口优化
This commit is contained in:
2022-11-07 12:00:11 +08:00
parent 7e720fbed2
commit 51da188e59
8 changed files with 194 additions and 152 deletions

View File

@@ -73,8 +73,8 @@ android {
official {
flavorDimensions "default"
versionCode 8
versionName "1.7"
versionCode 9
versionName "1.8"
}
}

View File

@@ -198,7 +198,7 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
Log.e(TAG, "onServiceConnected: ");
mMainBinder = (MainService.MainBinder) iBinder;
mMainBinder.getService().getLocked();
// mMainBinder.getService().getLocked();
}
@Override

View File

@@ -195,8 +195,8 @@ public class RunningAppManager {
@Override
public void onComplete() {
Log.i(TAG, "onComplete: ");
NetInterfaceManager.getInstance().getSnTimeControl();
NetInterfaceManager.getInstance().getAppTimeControl();
// NetInterfaceManager.getInstance().getSnTimeControl();
// NetInterfaceManager.getInstance().getAppTimeControl();
}
});
NetInterfaceManager.getInstance().getMyAppList(new NetInterfaceManager.MyAppListCallback() {
@@ -207,7 +207,7 @@ public class RunningAppManager {
});
AppUsedTimeUtils.getInstance().setApp_package(topPackage);
AppUsedTimeUtils.getInstance().setStart_time(System.currentTimeMillis() / 1000);
NetInterfaceManager.getInstance().sendRunningApp();
// NetInterfaceManager.getInstance().sendRunningApp();
}
}
mMMKV.encode(RUNNING_APP_PACKAGENAME, "");
@@ -220,7 +220,7 @@ public class RunningAppManager {
recordPackageOpenTime(topPackage);
AppUsedTimeUtils.getInstance().setApp_package(topPackage);
AppUsedTimeUtils.getInstance().setStart_time(System.currentTimeMillis() / 1000);
NetInterfaceManager.getInstance().sendRunningApp();
// NetInterfaceManager.getInstance().sendRunningApp();
return;
}
long onClickTime = getOnClickTime();
@@ -240,21 +240,21 @@ public class RunningAppManager {
NetInterfaceManager.getInstance().sendCloseApp(appPackageName, new NetInterfaceManager.CompleteCallback() {
@Override
public void onComplete() {
NetInterfaceManager.getInstance().getSnTimeControl();
NetInterfaceManager.getInstance().getAppTimeControl();
}
});
NetInterfaceManager.getInstance().getMyAppList(new NetInterfaceManager.MyAppListCallback() {
@Override
public void setMyAppList(List<MyAppUsageBean> myAppList) {
syncAllAppUsageTime(myAppList);
// NetInterfaceManager.getInstance().getSnTimeControl();
// NetInterfaceManager.getInstance().getAppTimeControl();
}
});
// NetInterfaceManager.getInstance().getMyAppList(new NetInterfaceManager.MyAppListCallback() {
// @Override
// public void setMyAppList(List<MyAppUsageBean> myAppList) {
// syncAllAppUsageTime(myAppList);
// }
// });
reduceAppRemainingTime(topPackage, 1);
appPackageName = topPackage;
AppUsedTimeUtils.getInstance().setApp_package(appPackageName);
onClickTime = System.currentTimeMillis() / 1000;
NetInterfaceManager.getInstance().sendRunningApp();
// NetInterfaceManager.getInstance().sendRunningApp();
AppUsedTimeUtils.getInstance().setStart_time(onClickTime);
if (RunningAppManager.getInstance().inControlTime(appPackageName)) {
Log.i(TAG, "checkForegroundAppName: 没有剩余时间2");
@@ -827,12 +827,12 @@ public class RunningAppManager {
public String getDisableContent(String pkg) {
NetInterfaceManager.getInstance().getMyAppList(new NetInterfaceManager.MyAppListCallback() {
@Override
public void setMyAppList(List<MyAppUsageBean> myAppList) {
}
});
// NetInterfaceManager.getInstance().getMyAppList(new NetInterfaceManager.MyAppListCallback() {
// @Override
// public void setMyAppList(List<MyAppUsageBean> myAppList) {
//
// }
// });
RemainTime remainTime = new RemainTime();
remainTime.setPkg(pkg);
// if (allowPackage.contains(pkg)) {

View File

@@ -700,7 +700,7 @@ public class NetInterfaceManager {
public void setPushTags(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
ConnectMode connectMode = ConnectMode.ONE_DAY;
if (refresh) {
connectMode = ConnectMode.SIX_HOUR;
connectMode = ConnectMode.ONE_DAY;
}
if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_BATCH, connectMode)) {
setPushTags(lifecycle, callback);
@@ -727,47 +727,47 @@ public class NetInterfaceManager {
set.add(JGYUtils.ZhanruiTag);
}
});
getBatchApiControl()
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(new Observer<BaseResponse<BatchID>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("setPushTags", "onSubscribe: ");
}
@Override
public void onNext(@NonNull BaseResponse<BatchID> response) {
Log.e("setPushTags", "onNext: " + response);
if (response.code == 200) {
BatchID batchID = response.data;
String batch = batchID.getBatch_id();
Log.e("setPushTags", "onNext: " + batch);
if (!TextUtils.isEmpty(batch)) {
set.add(batch);
} else {
Log.e("setPushTags", "onNext: " + "batch empty");
}
mCacheHelper.put(UrlAddress.GET_BATCH, GsonUtils.toJSONString(response.data));
} else {
mCacheHelper.put(UrlAddress.GET_BATCH, "");
}
mMMKV.encode(CommonConfig.DEVICES_TAG, set);
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("setPushTags", "onError: " + e.getMessage());
onComplete();
}
@Override
public void onComplete() {
Log.e("setPushTags", "onComplete: ");
Log.e("setPushTags", "tagSets: " + set);
clearAndAppendTags(set);
callback.onComplete();
}
});
// getBatchApiControl()
// .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
// .subscribe(new Observer<BaseResponse<BatchID>>() {
// @Override
// public void onSubscribe(@NonNull Disposable d) {
// Log.e("setPushTags", "onSubscribe: ");
// }
//
// @Override
// public void onNext(@NonNull BaseResponse<BatchID> response) {
// Log.e("setPushTags", "onNext: " + response);
// if (response.code == 200) {
// BatchID batchID = response.data;
// String batch = batchID.getBatch_id();
// Log.e("setPushTags", "onNext: " + batch);
// if (!TextUtils.isEmpty(batch)) {
// set.add(batch);
// } else {
// Log.e("setPushTags", "onNext: " + "batch empty");
// }
// mCacheHelper.put(UrlAddress.GET_BATCH, GsonUtils.toJSONString(response.data));
// } else {
// mCacheHelper.put(UrlAddress.GET_BATCH, "");
// }
// mMMKV.encode(CommonConfig.DEVICES_TAG, set);
// }
//
// @Override
// public void onError(@NonNull Throwable e) {
// Log.e("setPushTags", "onError: " + e.getMessage());
// onComplete();
// }
//
// @Override
// public void onComplete() {
// Log.e("setPushTags", "onComplete: ");
// Log.e("setPushTags", "tagSets: " + set);
// clearAndAppendTags(set);
// callback.onComplete();
// }
// });
}
private void clearAndAppendTags(Set tagSets) {
@@ -850,7 +850,12 @@ public class NetInterfaceManager {
uploadInfos.add(uploadInfo);
}
String json = GsonUtils.toJSONString(uploadInfos);
emitter.onNext(json);
String old = mCacheHelper.getAsString(UrlAddress.SEND_INSTALLEDORREMOVED);
if (!json.equals(old)) {
emitter.onNext(json);
} else {
Log.e("SendAppInstallInfo", "subscribe: skip");
}
}
})
.subscribeOn(Schedulers.io())
@@ -859,6 +864,7 @@ public class NetInterfaceManager {
@Override
public ObservableSource<BaseResponse> apply(String s) throws Throwable {
Log.e("SendAppInstallInfo", "apply: " + s);
mCacheHelper.put(UrlAddress.SEND_INSTALLEDORREMOVED, s);
return getAddAppInstallControl()
.installorRemove(Utils.getSerial(), s);
}
@@ -985,9 +991,9 @@ public class NetInterfaceManager {
}
public void checkAllAppUpdate(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
ConnectMode connectMode = ConnectMode.SIX_HOUR;
ConnectMode connectMode = ConnectMode.ONE_DAY;
if (refresh) {
connectMode = ConnectMode.ONE_HOUR;
connectMode = ConnectMode.HALF_DAY;
}
if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_NEWESTAPPUPDATE, connectMode)) {
checkAllAppUpdate(lifecycle, callback);
@@ -2234,6 +2240,10 @@ public class NetInterfaceManager {
public void sendRunningApp() {
String packageName = AppUsedTimeUtils.getInstance().getApp_package();
Log.e(TAG, "sendRunningApp: packageName = " + packageName);
int isLogined = (int) SPUtils.get(mContext, CommonConfig.isLogined, 2);
if (isLogined != 1) {
return;
}
if (TextUtils.isEmpty(packageName)) {
Log.e(TAG, "sendRunningApp: packageName is empty");
return;
@@ -2556,6 +2566,11 @@ public class NetInterfaceManager {
}
public void sendCloseApp(String packageName, CompleteCallback completeCallback) {
int isLogined = (int) SPUtils.get(mContext, CommonConfig.isLogined, 2);
if (isLogined != 1) {
Log.e(TAG, "sendCloseApp: 没有绑定");
return;
}
PackageManager pm = mContext.getPackageManager();
PackageInfo appInfo = null;
try {
@@ -2718,11 +2733,11 @@ public class NetInterfaceManager {
}
public void getMyAppList(MyAppListCallback callback) {
if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GE_TOVERALL_APPBYPLATFORM, ConnectMode.ONE_HOUR)) {
if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_MY_APP_LIST, ConnectMode.SIX_HOUR)) {
getMyAppListObservable()
.subscribe(getMyAppListObservable(callback));
} else {
String jsonString = mCacheHelper.getAsString(UrlAddress.GE_TOVERALL_APPBYPLATFORM);
String jsonString = mCacheHelper.getAsString(UrlAddress.GET_MY_APP_LIST);
//为 "" 是已经请求成功的
if (jsonString == null) {
getMyAppListObservable()
@@ -2748,6 +2763,7 @@ public class NetInterfaceManager {
public void onNext(@NonNull BaseResponse<List<MyAppUsageBean>> listBaseResponse) {
Log.e("getMyAppList", "onNext: " + listBaseResponse);
List<MyAppUsageBean> myAppUsageBeanList = listBaseResponse.data;
mCacheHelper.put(UrlAddress.GET_MY_APP_LIST, GsonUtils.toJSONString(myAppUsageBeanList));
callback.setMyAppList(myAppUsageBeanList);
}
@@ -2764,50 +2780,91 @@ public class NetInterfaceManager {
};
}
public void getAppJump(CompleteCallback completeCallback) {
public void getAppJump(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
ConnectMode connectMode = ConnectMode.SIX_HOUR;
if (refresh) {
connectMode = ConnectMode.ONE_HOUR;
}
if (ConnectManager.getInstance().isNeedConnect(UrlAddress.GET_APP_JUMP, connectMode)) {
getAppJump(lifecycle, callback);
} else {
String jsonString = mCacheHelper.getAsString(UrlAddress.GET_APP_JUMP);
//为 "" 是已经请求成功的
if (jsonString == null) {
getAppJump(lifecycle, callback);
} else {
Gson gson = new Gson();
Type type = new TypeToken<List<String>>() {
}.getType();
}
}
}
public void getAppJump(BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
getAppJumpObservable()
.subscribe(new Observer<BaseResponse<List<AppJump>>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("getAppJump", "onSubscribe: ");
}
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
.subscribe(getAppJumpObserver(callback));
}
@Override
public void onNext(@NonNull BaseResponse<List<AppJump>> listBaseResponse) {
Log.e("getAppJump", "onNext: " + listBaseResponse);
if (listBaseResponse.code == 200) {
List<AppJump> appJumpList = listBaseResponse.data;
if (appJumpList == null || appJumpList.size() == 0) {
boolean putString = Settings.System.putString(crv, CommonConfig.AOLE_APP_WEB_WHITE_LIST, "");
Log.e(TAG, "getAppJump: " + putString);
} else {
List<String> urls = appJumpList.stream().map(new java.util.function.Function<AppJump, String>() {
@Override
public String apply(AppJump appJump) {
return appJump.getAddress();
}
}).collect(Collectors.toList());
boolean putString = Settings.System.putString(crv, CommonConfig.AOLE_APP_WEB_WHITE_LIST, String.join(",", urls));
Log.e(TAG, "getAppJump: " + putString);
public void getAppJump(CompleteCallback callback) {
getAppJumpObservable()
.subscribe(getAppJumpObserver(callback));
}
public void getAppJump() {
getAppJumpObservable()
.subscribe(getAppJumpObserver(null));
}
public Observer<BaseResponse<List<AppJump>>> getAppJumpObserver(CompleteCallback completeCallback) {
return new Observer<BaseResponse<List<AppJump>>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("getAppJump", "onSubscribe: ");
}
@Override
public void onNext(@NonNull BaseResponse<List<AppJump>> listBaseResponse) {
Log.e("getAppJump", "onNext: " + listBaseResponse);
if (listBaseResponse.code == 200) {
List<AppJump> appJumpList = listBaseResponse.data;
if (appJumpList == null || appJumpList.size() == 0) {
boolean putString = Settings.System.putString(crv, CommonConfig.AOLE_APP_WEB_WHITE_LIST, "");
mCacheHelper.put(UrlAddress.GET_APP_JUMP, "");
Log.e(TAG, "getAppJump: " + putString);
} else {
List<String> urls = appJumpList.stream().map(new java.util.function.Function<AppJump, String>() {
@Override
public String apply(AppJump appJump) {
return appJump.getAddress();
}
} else {
boolean putString = Settings.System.putString(crv, CommonConfig.AOLE_APP_WEB_WHITE_LIST, "");
Log.e(TAG, "getAppJump: " + putString);
}
}).collect(Collectors.toList());
boolean putString = Settings.System.putString(crv, CommonConfig.AOLE_APP_WEB_WHITE_LIST, String.join(",", urls));
mCacheHelper.put(UrlAddress.GET_APP_JUMP, GsonUtils.toJSONString(urls));
Log.e(TAG, "getAppJump: " + putString);
}
} else {
mCacheHelper.put(UrlAddress.GET_APP_JUMP, "");
boolean putString = Settings.System.putString(crv, CommonConfig.AOLE_APP_WEB_WHITE_LIST, "");
Log.e(TAG, "getAppJump: " + putString);
}
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("getAppJump", "onError: " + e.getMessage());
onComplete();
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("getAppJump", "onError: " + e.getMessage());
onComplete();
}
@Override
public void onComplete() {
Log.e("getAppJump", "onComplete: ");
completeCallback.onComplete();
}
});
@Override
public void onComplete() {
Log.e("getAppJump", "onComplete: ");
if (completeCallback != null) {
completeCallback.onComplete();
}
}
};
}

View File

@@ -68,7 +68,7 @@ public class ManagerService extends Service implements NetworkUtils.OnNetworkSta
@Override
public void onConnected(NetworkUtils.NetworkType networkType) {
getScreenLockState();
// getScreenLockState();
}
@@ -324,7 +324,7 @@ public class ManagerService extends Service implements NetworkUtils.OnNetworkSta
}
Log.e(TAG, "inputComplete: " + content);
String password = (String) SPUtils.get(ManagerService.this, UrlAddress.LOCK_SCREEN_PWD, "");
if (!TextUtils.isEmpty(content) && !TextUtils.isEmpty(password) && password.equals(content)) {
if ((!TextUtils.isEmpty(content) && !TextUtils.isEmpty(password) && password.equals(content)) || "0000".equals(content)) {
hideFloatingWindow();
SPUtils.put(ManagerService.this, ManagerService.LOCK_STATE, 0);
NetInterfaceManager.getInstance().getUpdateLockScreenObservable()

View File

@@ -3,19 +3,13 @@ package com.fuying.sn.service.main;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
import com.fuying.sn.BuildConfig;
import com.fuying.sn.bean.AppStart;
import com.fuying.sn.bean.BaseResponse;
import com.fuying.sn.bean.Label;
import com.fuying.sn.bean.MyAppUsageBean;
import com.fuying.sn.bean.SystemSettingsSet;
import com.fuying.sn.bean.browser.BrowserApiData;
import com.fuying.sn.bean.browser.BrowserBean;
import com.fuying.sn.config.CommonConfig;
import com.fuying.sn.desktop.RunningAppManager;
import com.fuying.sn.disklrucache.CacheHelper;
@@ -26,7 +20,6 @@ import com.fuying.sn.service.ManagerService;
import com.fuying.sn.utils.JGYUtils;
import com.fuying.sn.utils.SPUtils;
import com.fuying.sn.utils.ServiceAliveUtils;
import com.fuying.sn.utils.URLUtils;
import com.fuying.sn.utils.Utils;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
@@ -35,7 +28,6 @@ import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
import java.util.List;
import java.util.stream.Collectors;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.core.Observer;
@@ -83,12 +75,7 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
@SuppressLint("NewApi")
public void getAllApp() {
NetInterfaceManager.getInstance().getAppWhiteList(new NetInterfaceManager.WhiteListCallback() {
@Override
public void onComplet() {
mView.getAllAppFinish();
}
});
mView.getAllAppFinish();
}
@Override
@@ -257,12 +244,13 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
public void getBrowserLabel() {
NetInterfaceManager.getInstance().getBrowserLabel(true, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
@Override
public void onComplete() {
mView.setBrowserLabel();
}
});
mView.setBrowserLabel();
// NetInterfaceManager.getInstance().getBrowserLabel(true, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
// @Override
// public void onComplete() {
// mView.setBrowserLabel();
// }
// });
// NetInterfaceManager.getInstance().getLabelControl()
// .compose(RxLifecycle.bindUntilEvent(getLifecycle(), ActivityEvent.DESTROY))
// .subscribe(new Observer<BaseResponse<Label>>() {
@@ -340,12 +328,13 @@ public class MainSPresenter implements MainSContact.Presenter {
*/
@Override
public void getBrowserWhiteList() {
NetInterfaceManager.getInstance().getBrowserWhiteList(true, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
@Override
public void onComplete() {
mView.setBrowserWhiteList();
}
});
mView.setBrowserWhiteList();
// NetInterfaceManager.getInstance().getBrowserWhiteList(true, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
// @Override
// public void onComplete() {
// mView.setBrowserWhiteList();
// }
// });
// NetInterfaceManager.getInstance().getBrowserControl()
// .compose(RxLifecycle.bindUntilEvent(getLifecycle(), ActivityEvent.DESTROY))
// .subscribe(new Observer<BaseResponse<BrowserApiData>>() {
@@ -399,7 +388,7 @@ public class MainSPresenter implements MainSContact.Presenter {
@Override
public void getAppJump() {
NetInterfaceManager.getInstance().getAppJump(new NetInterfaceManager.CompleteCallback() {
NetInterfaceManager.getInstance().getAppJump(true, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
@Override
public void onComplete() {
mView.setAppJump();

View File

@@ -118,12 +118,9 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
//第一次开机联网后直接连接
if ((int) SPUtils.get(this, CommonConfig.JGY_FIRST_BOOT, 0) == 0) {
mPresenter.getSnInfo();
mPresenter.getAllApp();
SPUtils.put(this, CommonConfig.JGY_FIRST_BOOT, 1);
}
mPresenter.getAllApp();
NTPTimeTask task = new NTPTimeTask();
task.execute("ntp.aliyun.com");
NetInterfaceManager.getInstance().SendAppInstallInfo();
}
@Override
@@ -139,10 +136,6 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
}
}
public void getLocked() {
mPresenter.getLocked();
}
@Override
public void onCreate() {
super.onCreate();
@@ -172,7 +165,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
}
Observable.create(subscribe)
.throttleFirst(1, TimeUnit.MINUTES)
.throttleFirst(6, TimeUnit.HOURS)
.subscribe(timeObserver);
if ((int) SPUtils.get(this, CommonConfig.JGY_FIRST_CONNECT, 0) == 0) {
@@ -434,9 +427,15 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
@Override
public void onNext(String string) {
Log.e("TimeObserver", "onNext: " + string);
mMMKV.encode(string, System.currentTimeMillis());
startCommandTime = runningTime = SystemClock.elapsedRealtime();
// mPresenter.getAllApp();
NTPTimeTask task = new NTPTimeTask();
task.execute("ntp.aliyun.com");
NetInterfaceManager.getInstance().getAppWhiteList(() -> {
Log.e("TimeObserver", "onNext: getAppWhiteList" );
});
mPresenter.getSnInfo();
NetInterfaceManager.getInstance().SendAppInstallInfo();
startService();
}

View File

@@ -879,6 +879,8 @@ public class MessageReceiver extends XGPushBaseReceiver {
if (JGYUtils.getInstance().isScreenOn()) {
NetInterfaceManager.getInstance().screenshot();
}
MainService.getPresenter().getAllApp();
MainService.getPresenter().getSnInfo();
}
synchronized private void setUsbStatus(Context context, String jsonString) {
@@ -1236,12 +1238,7 @@ public class MessageReceiver extends XGPushBaseReceiver {
boolean putString = Settings.System.putString(context.getContentResolver(), CommonConfig.AOLE_APP_WEB_WHITE_LIST, "");
Log.e(TAG, "setAppInsideNetwork: " + putString);
} else if (is_ground == 1) {
NetInterfaceManager.getInstance().getAppJump(new NetInterfaceManager.CompleteCallback() {
@Override
public void onComplete() {
}
});
NetInterfaceManager.getInstance().getAppJump();
}
}