增加投屏开关,发送正在运行app,app内部开关
This commit is contained in:
@@ -2,14 +2,11 @@ package com.uiui.sn.activity.main;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.trello.rxlifecycle4.RxLifecycle;
|
||||
import com.trello.rxlifecycle4.android.ActivityEvent;
|
||||
import com.uiui.sn.bean.AppInfo;
|
||||
import com.uiui.sn.bean.BaseResponse;
|
||||
import com.uiui.sn.bean.SnInfo;
|
||||
import com.uiui.sn.config.CommonConfig;
|
||||
@@ -20,9 +17,7 @@ import com.uiui.sn.utils.CXAESUtil;
|
||||
import com.uiui.sn.utils.Utils;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.rxjava3.core.Observer;
|
||||
import io.reactivex.rxjava3.disposables.Disposable;
|
||||
import io.reactivex.rxjava3.subjects.BehaviorSubject;
|
||||
|
||||
@@ -132,7 +127,7 @@ public class MainAPresenter implements MainAContact.Presenter {
|
||||
|
||||
@Override
|
||||
public void getForceInstall() {
|
||||
NetInterfaceManager.getInstance().getForceInstall(false, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
NetInterfaceManager.getInstance().getForceInstall(false, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.e("getForceInstall", "onComplete: ");
|
||||
@@ -143,7 +138,7 @@ public class MainAPresenter implements MainAContact.Presenter {
|
||||
|
||||
@Override
|
||||
public void getOverallApp() {
|
||||
NetInterfaceManager.getInstance().getOverallApp(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
NetInterfaceManager.getInstance().getOverallApp(true, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.setOverallApp();
|
||||
|
||||
@@ -12,6 +12,7 @@ public class MyAppUsageBean implements Serializable {
|
||||
|
||||
int id;
|
||||
String app_name;
|
||||
String app_package;
|
||||
String app_img;
|
||||
String class_name;
|
||||
long use_time;//s
|
||||
@@ -32,6 +33,14 @@ public class MyAppUsageBean implements Serializable {
|
||||
this.app_name = app_name;
|
||||
}
|
||||
|
||||
public String getApp_package() {
|
||||
return app_package;
|
||||
}
|
||||
|
||||
public void setApp_package(String app_package) {
|
||||
this.app_package = app_package;
|
||||
}
|
||||
|
||||
public String getApp_img() {
|
||||
return app_img;
|
||||
}
|
||||
|
||||
@@ -38,9 +38,10 @@ public class CommonConfig {
|
||||
public final static String AOLE_ACTION_USB_USB_MTP = "aole_action_usb_usb_mtp";
|
||||
/*USB模式-MIDI*/
|
||||
public final static String AOLE_ACTION_USB_USB_MIDI = "aole_action_usb_usb_midi";
|
||||
|
||||
/*投屏开关*/
|
||||
public final static String AOLE_ACTION_SCREEN_SHARE = "aole_app_screen_share";
|
||||
|
||||
/*内部黑名单*/
|
||||
public final static String AOLE_APP_WEB_WHITE_LIST ="app_web_white_list";
|
||||
/*应用安装白名单*/
|
||||
public final static String AOLE_ACTION_APP_FORBID = "aole_app_forbid";
|
||||
/*强制安装应用,禁止卸载*/
|
||||
|
||||
@@ -40,6 +40,7 @@ import com.uiui.sn.disklrucache.CacheHelper;
|
||||
import com.uiui.sn.gson.GsonUtils;
|
||||
import com.uiui.sn.network.NetInterfaceManager;
|
||||
import com.uiui.sn.network.UrlAddress;
|
||||
import com.uiui.sn.utils.AppUsedTimeUtils;
|
||||
import com.uiui.sn.utils.JGYUtils;
|
||||
import com.uiui.sn.utils.ToastUtil;
|
||||
|
||||
@@ -57,8 +58,6 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -187,10 +186,12 @@ public class RunningAppManager {
|
||||
Log.i(TAG, "checkForegroundAppName: topPackage = " + topPackage);
|
||||
String appPackageName = getAppPackageName();
|
||||
Log.d(TAG, "checkForegroundAppName: appPackageName = " + appPackageName);
|
||||
if (allowPackage.contains(topPackage)) {
|
||||
if (allowPackage.contains(topPackage)) {//排除在外的包名都写入空值
|
||||
if (!TextUtils.isEmpty(appPackageName)) {
|
||||
if (!topPackage.equals(appPackageName)) {
|
||||
NetInterfaceManager.getInstance().sendCloseApp(appPackageName, new NetInterfaceManager.onCompleteCallback() {
|
||||
//切换出去了
|
||||
Log.i(TAG, "checkForegroundAppName: 切换应用1:" + topPackage);
|
||||
NetInterfaceManager.getInstance().sendCloseApp(appPackageName, new NetInterfaceManager.CompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.i(TAG, "onComplete: ");
|
||||
@@ -198,14 +199,28 @@ public class RunningAppManager {
|
||||
NetInterfaceManager.getInstance().getAppTimeControl();
|
||||
}
|
||||
});
|
||||
NetInterfaceManager.getInstance().getMyAppList(new NetInterfaceManager.MyAppListCallback() {
|
||||
@Override
|
||||
public void setMyAppList(List<MyAppUsageBean> myAppList) {
|
||||
syncAllAppUsageTime(myAppList);
|
||||
}
|
||||
});
|
||||
AppUsedTimeUtils.getInstance().setApp_package(topPackage);
|
||||
AppUsedTimeUtils.getInstance().setStart_time(System.currentTimeMillis() / 1000);
|
||||
NetInterfaceManager.getInstance().sendRunningApp();
|
||||
}
|
||||
}
|
||||
mMMKV.encode(RUNNING_APP_PACKAGENAME, "");
|
||||
Log.d(TAG, "checkForegroundAppName: allow: " + topPackage);
|
||||
return;
|
||||
}
|
||||
//如果appPackageName 为空则topPackage是才打开
|
||||
if (TextUtils.isEmpty(appPackageName)) {
|
||||
Log.d(TAG, "checkForegroundAppName: open: " + topPackage);
|
||||
recordPackageOpenTime(topPackage);
|
||||
AppUsedTimeUtils.getInstance().setApp_package(topPackage);
|
||||
AppUsedTimeUtils.getInstance().setStart_time(System.currentTimeMillis() / 1000);
|
||||
NetInterfaceManager.getInstance().sendRunningApp();
|
||||
return;
|
||||
}
|
||||
long onClickTime = getOnClickTime();
|
||||
@@ -221,17 +236,26 @@ public class RunningAppManager {
|
||||
reduceAppRemainingTime(topPackage, 1);
|
||||
}
|
||||
} else {
|
||||
Log.i(TAG, "checkForegroundAppName: 切换应用:" + topPackage);
|
||||
NetInterfaceManager.getInstance().sendCloseApp(appPackageName, new NetInterfaceManager.onCompleteCallback() {
|
||||
Log.i(TAG, "checkForegroundAppName: 切换应用2:" + topPackage);
|
||||
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);
|
||||
}
|
||||
});
|
||||
reduceAppRemainingTime(topPackage, 1);
|
||||
appPackageName = topPackage;
|
||||
AppUsedTimeUtils.getInstance().setApp_package(appPackageName);
|
||||
onClickTime = System.currentTimeMillis() / 1000;
|
||||
NetInterfaceManager.getInstance().sendRunningApp();
|
||||
AppUsedTimeUtils.getInstance().setStart_time(onClickTime);
|
||||
if (RunningAppManager.getInstance().inControlTime(appPackageName)) {
|
||||
Log.i(TAG, "checkForegroundAppName: 没有剩余时间2");
|
||||
removeTask(topPackage);
|
||||
@@ -289,10 +313,13 @@ public class RunningAppManager {
|
||||
long time = System.currentTimeMillis();
|
||||
String finaWayDate = sdf.format(time);
|
||||
if ("00:00:00".equals(finaWayDate)) {
|
||||
//清除数据保证及时性
|
||||
mMMKV.encode(RemainingTimeMap, "");
|
||||
mMMKV.encode(GlobalUsageTimeMap, "");
|
||||
mMMKV.encode(AllApplUsageTimeMap, "");
|
||||
mRemainingTimeMap.clear();
|
||||
mGlobalUsageTime.clear();
|
||||
mAllAppUsageTime.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -457,16 +484,25 @@ public class RunningAppManager {
|
||||
}
|
||||
|
||||
/*同步所有应用使用时间*/
|
||||
public void synvAllAppUsageTime(List<MyAppUsageBean> myAppList) {
|
||||
public void syncAllAppUsageTime(List<MyAppUsageBean> myAppList) {
|
||||
if (myAppList == null || myAppList.size() == 0) {
|
||||
mAllAppUsageTime.clear();
|
||||
} else {
|
||||
// mAllAppUsageTime.clear();
|
||||
for (MyAppUsageBean bean : myAppList) {
|
||||
if (TextUtils.isEmpty(bean.getApp_package())) {
|
||||
continue;
|
||||
}
|
||||
AppUsageTime appUsageTime = new AppUsageTime();
|
||||
appUsageTime.setPkg(bean.getApp_name());
|
||||
appUsageTime.setPkg(bean.getApp_package());
|
||||
appUsageTime.setAppName(bean.getApp_name());
|
||||
appUsageTime.setUsageTime(bean.getUse_time());
|
||||
mAllAppUsageTime.put(bean.getApp_package(), appUsageTime);
|
||||
}
|
||||
}
|
||||
String singleString = GsonUtils.toJSONString(mAllAppUsageTime);
|
||||
mMMKV.encode(AllApplUsageTimeMap, singleString);
|
||||
Log.e(TAG, "syncAllAppUsageTime: " + mAllAppUsageTime);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -600,7 +636,7 @@ public class RunningAppManager {
|
||||
if (TextUtils.isEmpty(pkg)) {
|
||||
return "未知";
|
||||
}
|
||||
String jsonString = mCacheHelper.getAsString(UrlAddress.GET_ALL_PACKAGE);
|
||||
String jsonString = mMMKV.decodeString(UrlAddress.GET_ALL_PACKAGE, "");
|
||||
if (!TextUtils.isEmpty(jsonString)) {
|
||||
Type type = new TypeToken<List<AppInfo>>() {
|
||||
}.getType();
|
||||
@@ -784,6 +820,12 @@ public class RunningAppManager {
|
||||
|
||||
|
||||
public String getDisableContent(String pkg) {
|
||||
NetInterfaceManager.getInstance().getMyAppList(new NetInterfaceManager.MyAppListCallback() {
|
||||
@Override
|
||||
public void setMyAppList(List<MyAppUsageBean> myAppList) {
|
||||
|
||||
}
|
||||
});
|
||||
RemainTime remainTime = new RemainTime();
|
||||
remainTime.setPkg(pkg);
|
||||
// if (allowPackage.contains(pkg)) {
|
||||
@@ -944,9 +986,12 @@ public class RunningAppManager {
|
||||
public int compare(AppUsageTime o1, AppUsageTime o2) {
|
||||
if (o1.getUsageTime() > o2.getUsageTime()) {
|
||||
return 1;
|
||||
} else {
|
||||
} else if (o1.getUsageTime() == o2.getUsageTime()) {
|
||||
return 0;
|
||||
} else if (o1.getUsageTime() < o2.getUsageTime()) {
|
||||
return -1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
});
|
||||
if (tempTime < allTime) {
|
||||
@@ -1343,15 +1388,6 @@ public class RunningAppManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void checkTopAppPackageName() {
|
||||
String topPackage = getTopActivityInfo();
|
||||
Log.i(TAG, "onReceive: " + topPackage);
|
||||
// Log.i(TAG, "onReceive: getWeekDay: " + getWeekDay());
|
||||
// Log.i(TAG, "onReceive: getWeekDayString: " + getWeekDayString());
|
||||
// Log.i(TAG, "onReceive: inWeekDay: " + inWeekDay());
|
||||
}
|
||||
|
||||
|
||||
private String getTopActivityInfo() {
|
||||
ActivityManager manager = ((ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE));
|
||||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
|
||||
@@ -2,11 +2,13 @@ package com.uiui.sn.desktop;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.uiui.sn.disklrucache.CacheHelper;
|
||||
import com.uiui.sn.gson.GsonUtils;
|
||||
import com.uiui.sn.network.UrlAddress;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
@@ -35,6 +37,14 @@ public class TimeControlManager {
|
||||
}
|
||||
this.mContext = context;
|
||||
this.mCacheHelper = new CacheHelper(context);
|
||||
String appTimeControlJson = mCacheHelper.getAsString(UrlAddress.GET_APP_TIME_CONTROL);
|
||||
if (!TextUtils.isEmpty(appTimeControlJson)) {
|
||||
Gson gson = new Gson();
|
||||
Type type = new TypeToken<List<AppTimeControl>>() {
|
||||
}.getType();
|
||||
List<AppTimeControl> appTimeControls = gson.fromJson(appTimeControlJson, type);
|
||||
setAppTimeControlMap(appTimeControls);
|
||||
}
|
||||
}
|
||||
|
||||
public static void init(Context context) {
|
||||
@@ -50,7 +60,7 @@ public class TimeControlManager {
|
||||
return mTimeControlManager;
|
||||
}
|
||||
|
||||
public HashMap<String, AppTimeControl> getAppTimeControlMap(){
|
||||
public HashMap<String, AppTimeControl> getAppTimeControlMap() {
|
||||
return mAppTimeControlMap;
|
||||
}
|
||||
|
||||
@@ -81,7 +91,6 @@ public class TimeControlManager {
|
||||
* @return
|
||||
*/
|
||||
public MachineControl getGlobalMachineControl() {
|
||||
Log.e(TAG, "getGlobalMachineControl: ");
|
||||
if (mGlobalMachineControl == null) {
|
||||
String jsonString = mCacheHelper.getAsString(UrlAddress.GET_SN_TIME_CONTROL);
|
||||
//为 "" 是已经请求成功的
|
||||
|
||||
@@ -72,6 +72,7 @@ public class ControlManager {
|
||||
SystemSettings systemSettings = GsonUtils.toJavaObject(jsonString, SystemSettings.class);
|
||||
if (null != systemSettings) {
|
||||
setUSBstate(systemSettings);
|
||||
setScreenShared(systemSettings);
|
||||
// ControlPanelManager.getInstance().setUsbStatus(systemSettings.getSetting_usb());
|
||||
setPhoneList(systemSettings);
|
||||
setBluetooth(systemSettings);
|
||||
@@ -126,6 +127,7 @@ public class ControlManager {
|
||||
public void setDisableSetting() {
|
||||
Log.e("setDisableSetting", "Close all settings: ");
|
||||
setUSBstate(1);
|
||||
setScreenShared(1);
|
||||
setPhoneList(1);
|
||||
setBluetooth(0);
|
||||
setHotspot(0);
|
||||
@@ -201,7 +203,7 @@ public class ControlManager {
|
||||
}
|
||||
Intent usbIntent = new Intent(usbStatus).setPackage("com.android.settings");
|
||||
// if (!BuildConfig.DEBUG)
|
||||
mContext.sendBroadcast(usbIntent);
|
||||
mContext.sendBroadcast(usbIntent);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -791,16 +793,16 @@ public class ControlManager {
|
||||
|
||||
private void setScreenShared(SystemSettings settings) {
|
||||
int projection_screen = settings.getProjection_screen();
|
||||
setScreenShared(projection_screen);
|
||||
setScreenShared(changeNum(projection_screen));
|
||||
}
|
||||
|
||||
private void setScreenShared(int state) {
|
||||
Settings.System.putInt(mResolver, "projection_screen", state);
|
||||
public void setScreenShared(int state) {
|
||||
Settings.System.putInt(mResolver, CommonConfig.AOLE_ACTION_SCREEN_SHARE, state);
|
||||
}
|
||||
|
||||
private void setHotPoint(SystemSettings settings) {
|
||||
int hot_point = settings.getHot_point();
|
||||
setScreenShared(hot_point);
|
||||
setHotPoint(hot_point);
|
||||
}
|
||||
|
||||
private void setHotPoint(int state) {
|
||||
@@ -873,4 +875,6 @@ public class ControlManager {
|
||||
private void closeSettingsApp() {
|
||||
JGYUtils.getInstance().killBackgroundProcesses("com.android.settings");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.trello.rxlifecycle4.RxLifecycle;
|
||||
import com.trello.rxlifecycle4.android.ActivityEvent;
|
||||
import com.uiui.sn.BuildConfig;
|
||||
import com.uiui.sn.bean.AppInfo;
|
||||
import com.uiui.sn.bean.AppJump;
|
||||
import com.uiui.sn.bean.AppStart;
|
||||
import com.uiui.sn.bean.MyAppUsageBean;
|
||||
import com.uiui.sn.bean.OverallAppBean;
|
||||
@@ -486,6 +487,13 @@ public class NetInterfaceManager {
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse<List<AppJump>>> getAppJumpObservable() {
|
||||
return getAppJumpControl()
|
||||
.getSNJump(Utils.getSerial())
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* execution
|
||||
@@ -567,7 +575,7 @@ public class NetInterfaceManager {
|
||||
void onComplete();
|
||||
}
|
||||
|
||||
public interface onCompleteCallback {
|
||||
public interface CompleteCallback {
|
||||
void onComplete();
|
||||
}
|
||||
|
||||
@@ -664,7 +672,7 @@ public class NetInterfaceManager {
|
||||
* @param lifecycle
|
||||
* @param callback
|
||||
*/
|
||||
public void setPushTags(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void setPushTags(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
ConnectMode connectMode = ConnectMode.SIX_HOUR;
|
||||
if (refresh) {
|
||||
connectMode = ConnectMode.ONE_HOUR;
|
||||
@@ -685,7 +693,7 @@ public class NetInterfaceManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void setPushTags(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void setPushTags(BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
Set set = new HashSet();
|
||||
JGYUtils.getInstance().getAppPlatform(platform -> {
|
||||
if (platform == JGYUtils.MTKPlatform) {
|
||||
@@ -951,7 +959,7 @@ public class NetInterfaceManager {
|
||||
|
||||
}
|
||||
|
||||
public void checkAllAppUpdate(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void checkAllAppUpdate(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
ConnectMode connectMode = ConnectMode.SIX_HOUR;
|
||||
if (refresh) {
|
||||
connectMode = ConnectMode.ONE_HOUR;
|
||||
@@ -974,7 +982,7 @@ public class NetInterfaceManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void checkAllAppUpdate(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void checkAllAppUpdate(BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
Observable.zip(
|
||||
getUpdateObservable(BuildConfig.APPLICATION_ID),
|
||||
getUpdateObservable(JGYUtils.PACKAGE_APPSTORE),
|
||||
@@ -1030,7 +1038,7 @@ public class NetInterfaceManager {
|
||||
});
|
||||
}
|
||||
|
||||
public void checkFXYAppUpdate(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void checkFXYAppUpdate(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
ConnectMode connectMode = ConnectMode.SIX_HOUR;
|
||||
if (refresh) {
|
||||
connectMode = ConnectMode.ONE_HOUR;
|
||||
@@ -1053,7 +1061,7 @@ public class NetInterfaceManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void checkFXYAppUpdate(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void checkFXYAppUpdate(BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
Observable.zip(
|
||||
getUpdateObservable(JGYUtils.gkwxhd),
|
||||
getUpdateObservable(JGYUtils.fuxiaoying),
|
||||
@@ -1171,7 +1179,7 @@ public class NetInterfaceManager {
|
||||
}
|
||||
}
|
||||
|
||||
private void getCloudLessonSetting(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
private void getCloudLessonSetting(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
ConnectMode connectMode = ConnectMode.ONE_HOUR;
|
||||
if (refresh) {
|
||||
connectMode = ConnectMode.DEFAULT;
|
||||
@@ -1193,7 +1201,7 @@ public class NetInterfaceManager {
|
||||
}
|
||||
}
|
||||
|
||||
private void getCloudLessonSetting(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
private void getCloudLessonSetting(BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
getCloudLessonSettingApiControl()
|
||||
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
||||
.subscribe(new Observer<BaseResponse<CloudLessonSetting>>() {
|
||||
@@ -1865,7 +1873,7 @@ public class NetInterfaceManager {
|
||||
Log.e("getAllappPackage", "onNext: " + listBaseResponse);
|
||||
List<AppInfo> appInfoList = listBaseResponse.data;
|
||||
if (null != appInfoList && appInfoList.size() != 0) {
|
||||
mCacheHelper.put(UrlAddress.GET_ALL_PACKAGE, appInfoList.toString());
|
||||
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, GsonUtils.toJSONString(appInfoList));
|
||||
HashSet<String> allAppPkg = new HashSet<>();
|
||||
for (AppInfo appInfo : appInfoList) {
|
||||
allAppPkg.add(appInfo.getApp_package());
|
||||
@@ -1875,11 +1883,11 @@ public class NetInterfaceManager {
|
||||
ApkUtils.writeAppPackageList(mContext, allPkgSet);
|
||||
getAppStart(appInfoList);
|
||||
} else {
|
||||
mCacheHelper.put(UrlAddress.GET_ALL_PACKAGE, "");
|
||||
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, "");
|
||||
ApkUtils.writeAppPackageList(mContext, "");
|
||||
}
|
||||
} else {
|
||||
mCacheHelper.put(UrlAddress.GET_ALL_PACKAGE, "");
|
||||
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, "");
|
||||
ApkUtils.writeAppPackageList(mContext, "");
|
||||
}
|
||||
}
|
||||
@@ -1896,7 +1904,7 @@ public class NetInterfaceManager {
|
||||
});
|
||||
}
|
||||
|
||||
public void getForceInstall(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void getForceInstall(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
ConnectMode connectMode = ConnectMode.ONE_DAY;
|
||||
if (refresh) {
|
||||
connectMode = ConnectMode.ONE_HOUR;
|
||||
@@ -1919,13 +1927,13 @@ public class NetInterfaceManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void getForceInstall(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void getForceInstall(BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
getForceInstallControl()
|
||||
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
||||
.subscribe(getForceInstallObserver(callback));
|
||||
}
|
||||
|
||||
public void getForceInstall(onCompleteCallback callback) {
|
||||
public void getForceInstall(CompleteCallback callback) {
|
||||
getForceInstallControl()
|
||||
.subscribe(getForceInstallObserver(callback));
|
||||
}
|
||||
@@ -1935,7 +1943,7 @@ public class NetInterfaceManager {
|
||||
.subscribe(getForceInstallObserver(null));
|
||||
}
|
||||
|
||||
private Observer<BaseResponse<List<AppInfo>>> getForceInstallObserver(onCompleteCallback callback) {
|
||||
private Observer<BaseResponse<List<AppInfo>>> getForceInstallObserver(CompleteCallback callback) {
|
||||
return new Observer<BaseResponse<List<AppInfo>>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
@@ -2108,12 +2116,12 @@ public class NetInterfaceManager {
|
||||
}
|
||||
|
||||
public void sendRunningApp() {
|
||||
String packageName = AppUsedTimeUtils.getInstance().getAppPackageName();
|
||||
long time = AppUsedTimeUtils.getInstance().getStartTime();
|
||||
String packageName = AppUsedTimeUtils.getInstance().getApp_package();
|
||||
long time = AppUsedTimeUtils.getInstance().getStart_time();
|
||||
JsonObject jsonObject = new JsonObject();
|
||||
jsonObject.addProperty("app_package", packageName);
|
||||
jsonObject.addProperty("version_name", ApkUtils.getAPPVersionName(mContext, packageName));
|
||||
jsonObject.addProperty("start_time", time / 1000);
|
||||
jsonObject.addProperty("start_time", time);
|
||||
String jsonString = jsonObject.toString();
|
||||
Log.e(TAG, "sendRunningApp: " + jsonString);
|
||||
getRunningAppObservable(jsonString)
|
||||
@@ -2259,7 +2267,7 @@ public class NetInterfaceManager {
|
||||
public static final String APP_TIME_CONTROL_UPDATE = "APP_TIME_CONTROL_UPDATE";
|
||||
public static final String SN_TIME_CONTROL_UPDATE = "SN_TIME_CONTROL_UPDATE";
|
||||
|
||||
public void getAppTimeControl(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void getAppTimeControl(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
ConnectMode connectMode = ConnectMode.ONE_MINUTE;
|
||||
if (refresh) {
|
||||
connectMode = ConnectMode.DEFAULT;
|
||||
@@ -2275,7 +2283,8 @@ public class NetInterfaceManager {
|
||||
Gson gson = new Gson();
|
||||
Type type = new TypeToken<List<AppTimeControl>>() {
|
||||
}.getType();
|
||||
List<AppTimeControl> appInfos = gson.fromJson(jsonString, type);
|
||||
List<AppTimeControl> appTimeControls = gson.fromJson(jsonString, type);
|
||||
TimeControlManager.getInstance().setAppTimeControlMap(appTimeControls);
|
||||
callback.onComplete();
|
||||
}
|
||||
}
|
||||
@@ -2285,13 +2294,13 @@ public class NetInterfaceManager {
|
||||
return mCacheHelper.getAsString(UrlAddress.GET_APP_TIME_CONTROL);
|
||||
}
|
||||
|
||||
public void getAppTimeControl(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void getAppTimeControl(BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
getAppTimeControlObservable()
|
||||
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
||||
.subscribe(getAppTimeControlObserver(callback));
|
||||
}
|
||||
|
||||
public void getAppTimeControl(onCompleteCallback callback) {
|
||||
public void getAppTimeControl(CompleteCallback callback) {
|
||||
getAppTimeControlObservable()
|
||||
.subscribe(getAppTimeControlObserver(callback));
|
||||
}
|
||||
@@ -2301,7 +2310,7 @@ public class NetInterfaceManager {
|
||||
.subscribe(getAppTimeControlObserver(null));
|
||||
}
|
||||
|
||||
private Observer<BaseResponse<List<AppTimeControl>>> getAppTimeControlObserver(onCompleteCallback callback) {
|
||||
private Observer<BaseResponse<List<AppTimeControl>>> getAppTimeControlObserver(CompleteCallback callback) {
|
||||
return new Observer<BaseResponse<List<AppTimeControl>>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
@@ -2345,7 +2354,7 @@ public class NetInterfaceManager {
|
||||
}
|
||||
|
||||
|
||||
public void getSnTimeControl(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void getSnTimeControl(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
ConnectMode connectMode = ConnectMode.ONE_MINUTE;
|
||||
if (refresh) {
|
||||
connectMode = ConnectMode.DEFAULT;
|
||||
@@ -2371,13 +2380,13 @@ public class NetInterfaceManager {
|
||||
return mCacheHelper.getAsString(UrlAddress.GET_SN_TIME_CONTROL);
|
||||
}
|
||||
|
||||
public void getSnTimeControl(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void getSnTimeControl(BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
getMachineTimeControlObservable()
|
||||
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
||||
.subscribe(getSnTimeControlObserver(callback));
|
||||
}
|
||||
|
||||
public void getSnTimeControl(onCompleteCallback callback) {
|
||||
public void getSnTimeControl(CompleteCallback callback) {
|
||||
getMachineTimeControlObservable()
|
||||
.subscribe(getSnTimeControlObserver(callback));
|
||||
}
|
||||
@@ -2387,7 +2396,7 @@ public class NetInterfaceManager {
|
||||
.subscribe(getSnTimeControlObserver(null));
|
||||
}
|
||||
|
||||
public Observer<BaseResponse<MachineControl>> getSnTimeControlObserver(onCompleteCallback callback) {
|
||||
public Observer<BaseResponse<MachineControl>> getSnTimeControlObserver(CompleteCallback callback) {
|
||||
return new Observer<BaseResponse<MachineControl>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
@@ -2425,7 +2434,7 @@ public class NetInterfaceManager {
|
||||
};
|
||||
}
|
||||
|
||||
public void sendCloseApp(String packageName, onCompleteCallback completeCallback) {
|
||||
public void sendCloseApp(String packageName, CompleteCallback completeCallback) {
|
||||
PackageManager pm = mContext.getPackageManager();
|
||||
PackageInfo appInfo = null;
|
||||
try {
|
||||
@@ -2464,7 +2473,7 @@ public class NetInterfaceManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void getOverallApp(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void getOverallApp(boolean refresh, BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
ConnectMode connectMode = ConnectMode.ONE_MINUTE;
|
||||
if (refresh) {
|
||||
connectMode = ConnectMode.DEFAULT;
|
||||
@@ -2486,13 +2495,13 @@ public class NetInterfaceManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void getOverallApp(BehaviorSubject<ActivityEvent> lifecycle, onCompleteCallback callback) {
|
||||
public void getOverallApp(BehaviorSubject<ActivityEvent> lifecycle, CompleteCallback callback) {
|
||||
getOverallAppObservable()
|
||||
.compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY))
|
||||
.subscribe(getOverallAppObserver(callback));
|
||||
}
|
||||
|
||||
public void getOverallApp(onCompleteCallback callback) {
|
||||
public void getOverallApp(CompleteCallback callback) {
|
||||
getOverallAppObservable()
|
||||
.subscribe(getOverallAppObserver(callback));
|
||||
}
|
||||
@@ -2502,7 +2511,7 @@ public class NetInterfaceManager {
|
||||
.subscribe(getOverallAppObserver(null));
|
||||
}
|
||||
|
||||
public Observer<BaseResponse<List<OverallAppBean>>> getOverallAppObserver(onCompleteCallback callback) {
|
||||
public Observer<BaseResponse<List<OverallAppBean>>> getOverallAppObserver(CompleteCallback callback) {
|
||||
return new Observer<BaseResponse<List<OverallAppBean>>>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
@@ -2580,7 +2589,7 @@ public class NetInterfaceManager {
|
||||
}
|
||||
}
|
||||
|
||||
interface MyAppListCallback {
|
||||
public interface MyAppListCallback {
|
||||
void setMyAppList(List<MyAppUsageBean> myAppList);
|
||||
}
|
||||
|
||||
@@ -2611,4 +2620,49 @@ public class NetInterfaceManager {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void getAppJump(CompleteCallback completeCallback) {
|
||||
getAppJumpObservable()
|
||||
.subscribe(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, "");
|
||||
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);
|
||||
}
|
||||
} else {
|
||||
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 onComplete() {
|
||||
Log.e("getAppJump", "onComplete: ");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.util.Log;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.uiui.sn.BuildConfig;
|
||||
import com.uiui.sn.IGetInfoInterface;
|
||||
import com.uiui.sn.bean.MyAppUsageBean;
|
||||
import com.uiui.sn.config.CommonConfig;
|
||||
import com.uiui.sn.desktop.RunningAppManager;
|
||||
import com.uiui.sn.network.NetInterfaceManager;
|
||||
|
||||
@@ -19,9 +19,11 @@ public class MainSContact {
|
||||
void setSystemSettings();
|
||||
void setBrowserLabel();
|
||||
void setBrowserWhiteList();
|
||||
void setAppJump();
|
||||
void setAppStart();
|
||||
void setAppTimeControl();
|
||||
void setSnTimeControl();
|
||||
void setMyAppList();
|
||||
void setScreenLock();
|
||||
}
|
||||
|
||||
@@ -50,12 +52,16 @@ public class MainSContact {
|
||||
void getBrowserLabel();
|
||||
//获取浏览器黑白名单
|
||||
void getBrowserWhiteList();
|
||||
//获取内部网址管控
|
||||
void getAppJump();
|
||||
//应用自启
|
||||
void getAppStart();
|
||||
//获取时间管控
|
||||
void getAppTimeControl();
|
||||
//获取整机管控
|
||||
void getSnTimeControl();
|
||||
//获取所有应用使用时间
|
||||
void getMyAppList();
|
||||
//获取锁屏管控
|
||||
void getScreenLock();
|
||||
|
||||
|
||||
@@ -10,17 +10,19 @@ import android.util.Log;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.trello.rxlifecycle4.RxLifecycle;
|
||||
import com.trello.rxlifecycle4.android.ActivityEvent;
|
||||
import com.uiui.sn.bean.AppInfo;
|
||||
import com.uiui.sn.bean.AppStart;
|
||||
import com.uiui.sn.bean.BaseResponse;
|
||||
import com.uiui.sn.bean.Label;
|
||||
import com.uiui.sn.bean.SystemSettings;
|
||||
import com.uiui.sn.bean.MyAppUsageBean;
|
||||
import com.uiui.sn.bean.SystemSettingsSet;
|
||||
import com.uiui.sn.bean.browser.BrowserApiData;
|
||||
import com.uiui.sn.bean.browser.BrowserBean;
|
||||
import com.uiui.sn.config.CommonConfig;
|
||||
import com.uiui.sn.desktop.RunningAppManager;
|
||||
import com.uiui.sn.disklrucache.CacheHelper;
|
||||
import com.uiui.sn.manager.ControlManager;
|
||||
import com.uiui.sn.network.NetInterfaceManager;
|
||||
@@ -31,7 +33,6 @@ import com.uiui.sn.gson.GsonUtils;
|
||||
import com.uiui.sn.utils.JGYUtils;
|
||||
import com.uiui.sn.utils.SPUtils;
|
||||
import com.uiui.sn.utils.ServiceAliveUtils;
|
||||
import com.uiui.sn.utils.TimeUtils;
|
||||
import com.uiui.sn.utils.URLUtils;
|
||||
import com.uiui.sn.utils.Utils;
|
||||
|
||||
@@ -56,6 +57,7 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
private MainSContact.MainView mView;
|
||||
private Context mContext;
|
||||
private CacheHelper mCacheHelper;
|
||||
private MMKV mMMKV = MMKV.defaultMMKV();
|
||||
|
||||
public MainSPresenter(Context context) {
|
||||
this.mContext = context;
|
||||
@@ -123,7 +125,7 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
|
||||
@Override
|
||||
public void checkUpdate() {
|
||||
NetInterfaceManager.getInstance().checkAllAppUpdate(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
NetInterfaceManager.getInstance().checkAllAppUpdate(true, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.checkUpdateFinish();
|
||||
@@ -133,7 +135,7 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
|
||||
@Override
|
||||
public void checkFXYUpdate() {
|
||||
NetInterfaceManager.getInstance().checkFXYAppUpdate(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
NetInterfaceManager.getInstance().checkFXYAppUpdate(true, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.checkFXYUpdateFinish();
|
||||
@@ -160,10 +162,10 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
if (code == 200) {
|
||||
List<AppInfo> appInfoList = listBaseResponse.data;
|
||||
if (appInfoList == null || appInfoList.size() == 0) {
|
||||
mCacheHelper.put(UrlAddress.GET_ALL_PACKAGE, "");
|
||||
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, "");
|
||||
ApkUtils.writeAppPackageList(mContext, "");
|
||||
} else {
|
||||
mCacheHelper.put(UrlAddress.GET_ALL_PACKAGE, appInfoList.toString());
|
||||
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, GsonUtils.toJSONString(appInfoList));
|
||||
HashSet allPkgSet = new HashSet<String>();
|
||||
for (AppInfo pkg : appInfoList) {
|
||||
allPkgSet.add(pkg.getApp_package());
|
||||
@@ -176,7 +178,7 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
}
|
||||
JGYUtils.getInstance().deleteOtherApp();
|
||||
} else {
|
||||
mCacheHelper.put(UrlAddress.GET_ALL_PACKAGE, "");
|
||||
mMMKV.encode(UrlAddress.GET_ALL_PACKAGE, "");
|
||||
ApkUtils.writeAppPackageList(mContext, "");
|
||||
}
|
||||
}
|
||||
@@ -197,7 +199,7 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
|
||||
@Override
|
||||
public void getOverallApp() {
|
||||
NetInterfaceManager.getInstance().getOverallApp(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
NetInterfaceManager.getInstance().getOverallApp(true, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.setOverallApp();
|
||||
@@ -248,7 +250,7 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
|
||||
@Override
|
||||
public void getForceInstall() {
|
||||
NetInterfaceManager.getInstance().getForceInstall(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
NetInterfaceManager.getInstance().getForceInstall(true, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.setForceInstall();
|
||||
@@ -429,6 +431,16 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAppJump() {
|
||||
NetInterfaceManager.getInstance().getAppJump(new NetInterfaceManager.CompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.setAppJump();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAppStart() {
|
||||
NetInterfaceManager.getInstance()
|
||||
@@ -468,7 +480,7 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
|
||||
@Override
|
||||
public void getAppTimeControl() {
|
||||
NetInterfaceManager.getInstance().getAppTimeControl(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
NetInterfaceManager.getInstance().getAppTimeControl(true, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.setAppTimeControl();
|
||||
@@ -478,7 +490,7 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
|
||||
@Override
|
||||
public void getSnTimeControl() {
|
||||
NetInterfaceManager.getInstance().getSnTimeControl(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
NetInterfaceManager.getInstance().getSnTimeControl(true, getLifecycle(), new NetInterfaceManager.CompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.setSnTimeControl();
|
||||
@@ -486,6 +498,16 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getMyAppList() {
|
||||
NetInterfaceManager.getInstance().getMyAppList(new NetInterfaceManager.MyAppListCallback() {
|
||||
@Override
|
||||
public void setMyAppList(List<MyAppUsageBean> myAppList) {
|
||||
RunningAppManager.getInstance().syncAllAppUsageTime(myAppList);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getScreenLock() {
|
||||
NetInterfaceManager.getInstance()
|
||||
|
||||
@@ -15,6 +15,7 @@ import android.os.AsyncTask;
|
||||
import android.os.Binder;
|
||||
import android.os.IBinder;
|
||||
import android.os.SystemClock;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.blankj.utilcode.util.NetworkUtils;
|
||||
@@ -205,6 +206,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
||||
lifecycleSubject.onNext(ActivityEvent.DESTROY);
|
||||
NetworkUtils.unregisterNetworkStatusChangedListener(this);
|
||||
mPresenter.detachView();
|
||||
unregisterReceivers();
|
||||
}
|
||||
|
||||
public static MainSPresenter getPresenter() {
|
||||
@@ -229,7 +231,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
||||
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
|
||||
am.setTime(aLong);
|
||||
tPushInit();
|
||||
NetInterfaceManager.getInstance().setPushTags(true, lifecycleSubject, new NetInterfaceManager.onCompleteCallback() {
|
||||
NetInterfaceManager.getInstance().setPushTags(true, lifecycleSubject, new NetInterfaceManager.CompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.e("TimeTask", "onComplete: ");
|
||||
@@ -268,12 +270,23 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
||||
});
|
||||
}
|
||||
|
||||
private WifiReceiver mWifiReceiver;
|
||||
|
||||
private void registerReceivers() {
|
||||
registerWiFiReceiver();
|
||||
registerScreenReceiver();
|
||||
}
|
||||
|
||||
private void unregisterReceivers() {
|
||||
if (mWifiReceiver != null) {
|
||||
unregisterReceiver(mWifiReceiver);
|
||||
}
|
||||
if (mScreenReceiver != null) {
|
||||
unregisterReceiver(mScreenReceiver);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private WifiReceiver mWifiReceiver;
|
||||
|
||||
private void registerWiFiReceiver() {
|
||||
if (mWifiReceiver == null) {
|
||||
mWifiReceiver = new WifiReceiver();
|
||||
@@ -342,6 +355,49 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
||||
}
|
||||
}
|
||||
|
||||
private ScreenReceiver mScreenReceiver;
|
||||
|
||||
private void registerScreenReceiver() {
|
||||
if (mScreenReceiver == null) {
|
||||
mScreenReceiver = new ScreenReceiver();
|
||||
}
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
|
||||
filter.addAction(Intent.ACTION_USER_PRESENT);
|
||||
filter.addAction(Intent.ACTION_SCREEN_ON);
|
||||
filter.addAction(Intent.ACTION_SCREEN_OFF);
|
||||
filter.addAction(Intent.ACTION_USER_UNLOCKED);
|
||||
registerReceiver(mScreenReceiver, filter);
|
||||
}
|
||||
|
||||
private class ScreenReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
String action = intent.getAction();
|
||||
Log.e(TAG, "onReceive: " + action);
|
||||
if (TextUtils.isEmpty(action)) {
|
||||
Log.e(TAG, "onReceive: action is NULL");
|
||||
return;
|
||||
}
|
||||
switch (action) {
|
||||
case Intent.ACTION_USER_PRESENT:
|
||||
mPresenter.getAppTimeControl();
|
||||
break;
|
||||
case Intent.ACTION_SCREEN_ON:
|
||||
|
||||
break;
|
||||
case Intent.ACTION_SCREEN_OFF:
|
||||
|
||||
break;
|
||||
case Intent.ACTION_USER_UNLOCKED:
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private interface Start {
|
||||
void onstar(String key);
|
||||
}
|
||||
@@ -465,6 +521,11 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
||||
|
||||
@Override
|
||||
public void setBrowserWhiteList() {
|
||||
mPresenter.getAppJump();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAppJump() {
|
||||
mPresenter.getAppStart();
|
||||
}
|
||||
|
||||
@@ -480,6 +541,11 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
||||
|
||||
@Override
|
||||
public void setSnTimeControl() {
|
||||
mPresenter.getMyAppList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMyAppList() {
|
||||
mPresenter.getScreenLock();
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,6 @@ import com.uiui.sn.config.CommonConfig;
|
||||
import com.uiui.sn.dialog.CustomDialog;
|
||||
import com.uiui.sn.disklrucache.CacheHelper;
|
||||
import com.uiui.sn.manager.ControlManager;
|
||||
import com.uiui.sn.manager.ControlPanelManager;
|
||||
import com.uiui.sn.manager.DeviceManager;
|
||||
import com.uiui.sn.network.NetInterfaceManager;
|
||||
import com.uiui.sn.receiver.BootReceiver;
|
||||
@@ -466,7 +465,7 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
||||
//显示所有的admin应用
|
||||
private static final String JIGUANG_ADMIN_APP = "63";
|
||||
/*投屏开关*/
|
||||
private static final String SCRENN_SHARED = "74";
|
||||
private static final String SCREEN_SHARED = "74";
|
||||
/*移动热点开关*/
|
||||
private static final String HOT_SPOT = "75";
|
||||
/*桌面默认应用*/
|
||||
@@ -583,7 +582,7 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
||||
break;
|
||||
case JIGUANG_APP_WEBSITE:
|
||||
ToastUtil.debugShow("收到推送消息: app内部网址管控");
|
||||
// NetInterfaceManager.getInstance().getAppJump(context);
|
||||
setAppInsideNetwork(context, extras);
|
||||
break;
|
||||
case JIGUANG_REBOOT_DEVICES:
|
||||
ToastUtil.debugShow("收到推送消息: 重启");
|
||||
@@ -765,8 +764,9 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
||||
case JIGUANG_ADMIN_APP:
|
||||
setAdminApp(context, extras);
|
||||
break;
|
||||
case SCRENN_SHARED:
|
||||
case SCREEN_SHARED:
|
||||
ToastUtil.debugShow("收到推送消息: 投屏开关");
|
||||
setScreenShared(context, extras);
|
||||
break;
|
||||
case HOT_SPOT:
|
||||
ToastUtil.debugShow("收到推送消息: 热点开关");
|
||||
@@ -1229,6 +1229,22 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
||||
Log.e("setAppUpdate", Settings.System.getString(context.getContentResolver(), CommonConfig.AOLE_ACTION_APP_FORBID));
|
||||
}
|
||||
|
||||
private void setAppInsideNetwork(Context context, String extras) {
|
||||
JsonObject jsonObject = GsonUtils.getJsonObject(extras);
|
||||
int is_ground = jsonObject.get("is_ground").getAsInt();
|
||||
if (is_ground == 0) {
|
||||
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() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void setLock_screen(Context context, String jsonString) {
|
||||
int type = 0;
|
||||
JsonObject jSONObject = GsonUtils.getJsonObject(jsonString);
|
||||
@@ -1477,6 +1493,11 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
||||
String app_url = jsonObject.get("app_url").getAsString();
|
||||
}
|
||||
|
||||
private void setScreenShared(Context context, String extras) {
|
||||
JsonObject jsonObject = GsonUtils.getJsonObject(extras);
|
||||
int projection_screen = jsonObject.get("projection_screen").getAsInt();
|
||||
ControlManager.getInstance().setScreenShared(changeNum(projection_screen));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param context
|
||||
@@ -1553,4 +1574,6 @@ public class MessageReceiver extends XGPushBaseReceiver {
|
||||
JGYUtils.getInstance().restorrNetwork();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -25,12 +25,14 @@ public class AppUsedTimeUtils {
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
private static AppUsedTimeUtils sInstance;
|
||||
private Context mContext;
|
||||
private String app_package;
|
||||
private long start_time;
|
||||
|
||||
private AppTimeinfo appTimeinfo;
|
||||
// private AppTimeinfo appTimeinfo;
|
||||
|
||||
private AppUsedTimeUtils(Context context) {
|
||||
this.mContext = context;
|
||||
appTimeinfo = getAppTimeinfo();
|
||||
// appTimeinfo = getAppTimeinfo();
|
||||
}
|
||||
|
||||
public static void init(Context context) {
|
||||
@@ -46,75 +48,91 @@ public class AppUsedTimeUtils {
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
static class AppTimeinfo implements Serializable {
|
||||
private static final long serialVersionUID = 5373751133823666192L;
|
||||
|
||||
AppTimeinfo() {
|
||||
this.appPackageName = "";
|
||||
this.endTime = 0;
|
||||
this.startTime = 0;
|
||||
}
|
||||
|
||||
private String appPackageName;
|
||||
private long endTime;
|
||||
private long startTime;
|
||||
|
||||
public String getAppPackageName() {
|
||||
return appPackageName;
|
||||
}
|
||||
|
||||
public void setAppPackageName(String appPackageName) {
|
||||
this.appPackageName = appPackageName;
|
||||
}
|
||||
|
||||
public long getEndTime() {
|
||||
return endTime;
|
||||
}
|
||||
|
||||
public void setEndTime(long endTime) {
|
||||
this.endTime = endTime;
|
||||
}
|
||||
|
||||
public long getStartTime() {
|
||||
return startTime;
|
||||
}
|
||||
|
||||
public void setStartTime(long startTime) {
|
||||
this.startTime = startTime;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String toString() {
|
||||
return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString();
|
||||
}
|
||||
public String getApp_package() {
|
||||
return app_package;
|
||||
}
|
||||
|
||||
synchronized public String getAppPackageName() {
|
||||
appTimeinfo = getAppTimeinfo();
|
||||
return appTimeinfo.getAppPackageName();
|
||||
public void setApp_package(String app_package) {
|
||||
this.app_package = app_package;
|
||||
}
|
||||
|
||||
synchronized public long getStartTime() {
|
||||
appTimeinfo = getAppTimeinfo();
|
||||
return appTimeinfo.getStartTime();
|
||||
public long getStart_time() {
|
||||
return start_time;
|
||||
}
|
||||
|
||||
synchronized public long getEndTime() {
|
||||
appTimeinfo = getAppTimeinfo();
|
||||
return appTimeinfo.getEndTime();
|
||||
public void setStart_time(long start_time) {
|
||||
this.start_time = start_time;
|
||||
}
|
||||
|
||||
synchronized private AppTimeinfo getAppTimeinfo() {
|
||||
String jsonString = Settings.System.getString(mContext.getContentResolver(), "runningAppInfo");
|
||||
if (TextUtils.isEmpty(jsonString)) {
|
||||
return new AppTimeinfo();
|
||||
}
|
||||
Log.e(TAG, "getAppTimeinfo: " + jsonString);
|
||||
Type type = new TypeToken<AppTimeinfo>() {
|
||||
}.getType();
|
||||
Gson gson = new Gson();
|
||||
AppTimeinfo appTimeinfo = gson.fromJson(jsonString, type);
|
||||
return appTimeinfo;
|
||||
}
|
||||
// static class AppTimeinfo implements Serializable {
|
||||
// private static final long serialVersionUID = 5373751133823666192L;
|
||||
//
|
||||
// AppTimeinfo() {
|
||||
// this.appPackageName = "";
|
||||
// this.endTime = 0;
|
||||
// this.startTime = 0;
|
||||
// }
|
||||
//
|
||||
// private String appPackageName;
|
||||
// private long endTime;
|
||||
// private long startTime;
|
||||
//
|
||||
// public String getAppPackageName() {
|
||||
// return appPackageName;
|
||||
// }
|
||||
//
|
||||
// public void setAppPackageName(String appPackageName) {
|
||||
// this.appPackageName = appPackageName;
|
||||
// }
|
||||
//
|
||||
// public long getEndTime() {
|
||||
// return endTime;
|
||||
// }
|
||||
//
|
||||
// public void setEndTime(long endTime) {
|
||||
// this.endTime = endTime;
|
||||
// }
|
||||
//
|
||||
// public long getStartTime() {
|
||||
// return startTime;
|
||||
// }
|
||||
//
|
||||
// public void setStartTime(long startTime) {
|
||||
// this.startTime = startTime;
|
||||
// }
|
||||
//
|
||||
// @NonNull
|
||||
// @Override
|
||||
// public String toString() {
|
||||
// return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString();
|
||||
// }
|
||||
// }
|
||||
|
||||
// synchronized public String getAppPackageName() {
|
||||
// appTimeinfo = getAppTimeinfo();
|
||||
// return appTimeinfo.getAppPackageName();
|
||||
// }
|
||||
//
|
||||
// synchronized public long getStartTime() {
|
||||
// appTimeinfo = getAppTimeinfo();
|
||||
// return appTimeinfo.getStartTime();
|
||||
// }
|
||||
//
|
||||
// synchronized public long getEndTime() {
|
||||
// appTimeinfo = getAppTimeinfo();
|
||||
// return appTimeinfo.getEndTime();
|
||||
// }
|
||||
//
|
||||
// synchronized private AppTimeinfo getAppTimeinfo() {
|
||||
// String jsonString = Settings.System.getString(mContext.getContentResolver(), "runningAppInfo");
|
||||
// if (TextUtils.isEmpty(jsonString)) {
|
||||
// return new AppTimeinfo();
|
||||
// }
|
||||
// Log.e(TAG, "getAppTimeinfo: " + jsonString);
|
||||
// Type type = new TypeToken<AppTimeinfo>() {
|
||||
// }.getType();
|
||||
// Gson gson = new Gson();
|
||||
// AppTimeinfo appTimeinfo = gson.fromJson(jsonString, type);
|
||||
// return appTimeinfo;
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user