feat: 网络请求增加内存缓存,修改MainService为mvvm模式
This commit is contained in:
@@ -29,8 +29,8 @@ android {
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.aoleyun.sn"
|
||||
versionCode 214
|
||||
versionName "1.6.0427"
|
||||
versionCode 216
|
||||
versionName "1.6.0507"
|
||||
|
||||
//There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature.
|
||||
minSdkVersion 24
|
||||
|
||||
@@ -3,21 +3,19 @@ package com.aoleyun.sn.activity;
|
||||
import android.app.ActivityManager;
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.aoleyun.sn.BuildConfig;
|
||||
import com.aoleyun.sn.R;
|
||||
import com.aoleyun.sn.base.BaseDataBindingActivity;
|
||||
import com.aoleyun.sn.base.mvp.BaseMvpActivity;
|
||||
import com.aoleyun.sn.databinding.ActivityCleanupBinding;
|
||||
import com.aoleyun.sn.utils.ApkUtils;
|
||||
import com.aoleyun.sn.utils.AppUtil;
|
||||
import com.hjq.toast.Toaster;
|
||||
import com.king.view.circleprogressview.CircleProgressView;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.List;
|
||||
@@ -68,7 +66,7 @@ public class CleanupActivity extends BaseDataBindingActivity {
|
||||
}
|
||||
Toaster.show(String.format(getString(R.string.clear_app_size), pkgList.size()));
|
||||
refreshMemory();
|
||||
Handler.getMain().postDelayed(new Runnable() {
|
||||
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
finish();
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
@@ -65,7 +66,7 @@ public class SplashActivity extends AppCompatActivity {
|
||||
setContentView(R.layout.activity_home);
|
||||
initView();
|
||||
debugTest();
|
||||
new Handler().postDelayed(() -> {
|
||||
new Handler(Looper.getMainLooper()).postDelayed(() -> {
|
||||
startActivity(new Intent(SplashActivity.this, MainActivity.class));
|
||||
finish();
|
||||
// sendBroadcastStatus("0");
|
||||
|
||||
@@ -376,7 +376,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
public void onServiceConnected(ComponentName name, IBinder service) {
|
||||
Log.e(TAG, "onServiceConnected: ");
|
||||
mMainBinder = (MainService.MainBinder) service;
|
||||
mMainBinder.getService().mPresenter.getLockedState();
|
||||
mMainBinder.getService().mServiceModel.getLockedState();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -81,7 +81,7 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
* 通过sn获取用户信息
|
||||
*/
|
||||
public void getStudesInfo() {
|
||||
NetInterfaceManager.getInstance().getStudesInfo(true, getLifecycle(), new NetInterfaceManager.StudesInfoListener() {
|
||||
NetInterfaceManager.getInstance().getStudesInfo(getLifecycle(), new NetInterfaceManager.StudesInfoListener() {
|
||||
@Override
|
||||
public void setStudentsInfo(StudentsInfo studentsInfo) {
|
||||
mStudentsInfoData.setValue(studentsInfo);
|
||||
@@ -97,7 +97,7 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
public MutableLiveData<Boolean> mEBagCodeData = new MutableLiveData<>();
|
||||
|
||||
public void getEBagCode() {
|
||||
NetInterfaceManager.getInstance().getEBagCode(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
NetInterfaceManager.getInstance().getEBagCode(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mEBagCodeData.setValue(Settings.Global.getInt(getCtx().getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0) == 1);
|
||||
@@ -186,7 +186,7 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
|
||||
public void checkAoleyunUpdate() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.checkAoleyunUpdate(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.checkAoleyunUpdate(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
@@ -197,7 +197,7 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
public void checkTestUpdate() {
|
||||
if (!JgyUtils.getInstance().tagEmpty()) {
|
||||
NetInterfaceManager.getInstance()
|
||||
.checkTestUpdate(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.checkTestUpdate(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
@@ -232,7 +232,7 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
|
||||
public void getDefaultApp() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getDefaultApp(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.getDefaultApp(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
|
||||
@@ -2,13 +2,11 @@ package com.aoleyun.sn.bean;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonParser;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
public class BaseResponse<T> implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 5468533687801294972L;
|
||||
@@ -17,6 +15,10 @@ public class BaseResponse<T> implements Serializable {
|
||||
public String msg;
|
||||
public T data;
|
||||
|
||||
public boolean isSuccess() {
|
||||
return code == 200;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String toString() {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -42,6 +42,8 @@ public class UrlAddress {
|
||||
public static final String GET_SN_APP_TEST = "Sn/getSnAppTest";
|
||||
/*强制安装应用 不允许卸载*/
|
||||
public static final String GET_FORCE_INSTALL_LIST = "forceinstall/index";
|
||||
/*分组应用强制安装*/
|
||||
public static final String GROUP_APP_INSTALL_LIST = "forceinstall/group-app";
|
||||
|
||||
/*电子围栏*/
|
||||
public static final String GET_SN_EFENCE = "android/sn/efence";
|
||||
@@ -57,8 +59,6 @@ public class UrlAddress {
|
||||
/*通过固件名获取内置应用*/
|
||||
@Deprecated
|
||||
public static final String GET_ROM_APP = "And/getFirmwareApp";
|
||||
/*分组应用强制安装*/
|
||||
public static final String GROUP_APP_INSTALL_LIST = "forceinstall/group-app";
|
||||
|
||||
/*获取应用升级自启*/
|
||||
public static final String NET_AND_LAUNCH_API = "automatic/get";
|
||||
|
||||
@@ -58,5 +58,4 @@ public interface DevicesStatusApi {
|
||||
@Field("type") int type
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -147,9 +147,9 @@ public interface UploadInfoApi {
|
||||
@Field("time") String time
|
||||
);
|
||||
|
||||
@Deprecated
|
||||
@FormUrlEncoded
|
||||
@POST(UrlAddress.SEND_DOWNLOAD_TIMES)
|
||||
@Deprecated
|
||||
Observable<BaseResponse> sendDownloadTimes(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn,
|
||||
|
||||
@@ -16,6 +16,7 @@ import android.media.MediaPlayer;
|
||||
import android.os.BatteryManager;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.PowerManager;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
@@ -35,13 +36,11 @@ import com.aoleyun.sn.bean.ScreenLockState;
|
||||
import com.aoleyun.sn.comm.CommonConfig;
|
||||
import com.aoleyun.sn.comm.JGYActions;
|
||||
import com.aoleyun.sn.dialog.CustomDialog;
|
||||
import com.aoleyun.sn.disklrucache.CacheHelper;
|
||||
import com.aoleyun.sn.gson.GsonUtils;
|
||||
import com.aoleyun.sn.gson.NullStringToEmptyAdapterFactory;
|
||||
import com.aoleyun.sn.manager.MapManager;
|
||||
import com.aoleyun.sn.network.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.RetryCallback;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
import com.aoleyun.sn.service.main.MainService;
|
||||
import com.aoleyun.sn.utils.ApkUtils;
|
||||
import com.aoleyun.sn.utils.BatteryUtils;
|
||||
@@ -96,8 +95,8 @@ import retrofit2.Response;
|
||||
public class PushManager {
|
||||
private static final String TAG = "PushManager";
|
||||
|
||||
public static final String ACTION_REFRESH_BINDING_STATUS = "RefreshBindingStatus";
|
||||
public static final String AOLEYUN_REFRESH_DESKTOP = "aoleyun_refresh_desktop_action";
|
||||
private static final String ACTION_REFRESH_BINDING_STATUS = "RefreshBindingStatus";
|
||||
private static final String AOLEYUN_REFRESH_DESKTOP = "aoleyun_refresh_desktop_action";
|
||||
|
||||
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
@@ -105,7 +104,6 @@ public class PushManager {
|
||||
private Context mContext;
|
||||
private PackageManager mPackageManager;
|
||||
private ContentResolver mResolver;
|
||||
private CacheHelper mCacheHelper;
|
||||
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
||||
|
||||
private PushManager(Context context) {
|
||||
@@ -114,7 +112,6 @@ public class PushManager {
|
||||
}
|
||||
this.mContext = context;
|
||||
this.mResolver = context.getContentResolver();
|
||||
this.mCacheHelper = new CacheHelper(context);
|
||||
this.mPackageManager = mContext.getPackageManager();
|
||||
}
|
||||
|
||||
@@ -320,7 +317,7 @@ public class PushManager {
|
||||
case MSG_INSTALL:
|
||||
Toaster.debugShow("收到管控:应用安装");
|
||||
doDownloadAndInstall(extras);
|
||||
Handler.getMain().postDelayed(new Runnable() {
|
||||
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
NetInterfaceManager.getInstance().getDesktopIcon();
|
||||
@@ -355,7 +352,7 @@ public class PushManager {
|
||||
downloadForceInstallApk(extras);
|
||||
break;
|
||||
case SET_HOMEPAG_TAG:
|
||||
Handler.getMain().postDelayed(new Runnable() {
|
||||
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
@@ -380,7 +377,7 @@ public class PushManager {
|
||||
break;
|
||||
case HIDE_DESKTOP_ICON:
|
||||
Toaster.debugShow("收到管控:隐藏应用设置");
|
||||
Handler.getMain().postDelayed(() -> {
|
||||
new Handler(Looper.getMainLooper()).postDelayed(() -> {
|
||||
//后台发送时数据库未改变,有时候可能获取到的数据时上一次的
|
||||
Log.e(TAG, "run: HIDE_DESKTOP_ICON ");
|
||||
NetInterfaceManager.getInstance().getDesktopIcon();
|
||||
@@ -732,7 +729,7 @@ public class PushManager {
|
||||
}
|
||||
}
|
||||
ApkUtils.UninstallAPP(mContext, pkg);
|
||||
Handler.getMain().postDelayed(new Runnable() {
|
||||
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
NetInterfaceManager.getInstance().getDesktopIcon();
|
||||
@@ -757,7 +754,7 @@ public class PushManager {
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "disableApp: " + e.getMessage());
|
||||
}
|
||||
Handler.getMain().postDelayed(() -> NetInterfaceManager.getInstance().getSnAppAttr(), 1234);
|
||||
new Handler(Looper.getMainLooper()).postDelayed(() -> NetInterfaceManager.getInstance().getSnAppAttr(), 1234);
|
||||
}
|
||||
|
||||
private void setLock_screen(int state, String name) {
|
||||
@@ -767,7 +764,6 @@ public class PushManager {
|
||||
ScreenLockState screenLockState = new ScreenLockState();
|
||||
screenLockState.setIs_screen_lock(state);
|
||||
screenLockState.setName(name);
|
||||
mCacheHelper.put(UrlAddress.GET_LOCK_SCREEN_STATE, GsonUtils.toJSONString(screenLockState));
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("name", name);
|
||||
if (state == 1) {
|
||||
@@ -1000,7 +996,7 @@ public class PushManager {
|
||||
JgyUtils.release(mWakeLock);
|
||||
if (createTime != 0) {
|
||||
Log.e("createTime", String.valueOf(createTime));
|
||||
Handler.getMain().postDelayed(new Runnable() {
|
||||
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
doscreenshot(createTime);
|
||||
@@ -1118,7 +1114,6 @@ public class PushManager {
|
||||
|
||||
private void getTopApp(String extras) {
|
||||
JsonObject jsonObject = GsonUtils.getJsonObject(extras);
|
||||
mCacheHelper.put(UrlAddress.GET_TOP_APP_CONTROL, extras);
|
||||
|
||||
String packageName = jsonObject.get("app_package").getAsString();
|
||||
if (TextUtils.isEmpty(packageName)) {
|
||||
|
||||
@@ -1,188 +0,0 @@
|
||||
package com.aoleyun.sn.service.main;
|
||||
|
||||
import com.aoleyun.sn.base.mvp.BasePresenter;
|
||||
import com.aoleyun.sn.base.mvp.BaseView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class MainSContact {
|
||||
public interface Presenter extends BasePresenter<MainView> {
|
||||
/*分支1*/
|
||||
/*获取设备锁定状态*/
|
||||
void getLockedState();
|
||||
/*设置极光推送标签*/
|
||||
void setPushTags();
|
||||
|
||||
|
||||
/*分支2 基本信息*/
|
||||
/*是否第一次联网*/
|
||||
void getFirstConnect();
|
||||
/*获取学生信息*/
|
||||
void getStudesInfo();
|
||||
|
||||
/*分支3 上传信息*/
|
||||
/*上传联网时间*/
|
||||
void sendNetwork(List<Long> time);
|
||||
/*发送mac地址*/
|
||||
void sendMacAddress();
|
||||
/*更新设备信息*/
|
||||
void updateDeviceInfo();
|
||||
/*上传安装的应用列表*/
|
||||
void sendInstalled();
|
||||
/*获取设备信息更新*/
|
||||
void checkAoleyunUpdate();
|
||||
/*获取测试应用更新*/
|
||||
void checkTestUpdate();
|
||||
|
||||
/*分支4 根据SN获取*/
|
||||
/*获取开发者选项*/
|
||||
void getDeveloper();
|
||||
/*获取自定义内置app*/
|
||||
void getRomApp();
|
||||
/*获取屏幕锁状态*/
|
||||
void getScreenLockState();
|
||||
/*电子围栏*/
|
||||
void geteFence();
|
||||
|
||||
/*分支5 根据批次获取*/
|
||||
/*获取设备后台设置*/
|
||||
void getSystemSettingBegin();
|
||||
/*获取可被写入的安装包名*/
|
||||
void getAppLimit();
|
||||
/*获取强制下载apk*/
|
||||
void getForceDownload();
|
||||
/*获取桌面*/
|
||||
void getDefaultDesktop();
|
||||
/*设置开机动画*/
|
||||
void setLogoImg();
|
||||
/*获取壁纸*/
|
||||
void getWallpaper();
|
||||
/*获取所有app详细信息*/
|
||||
void getAllAppList();
|
||||
/*获取浏览器书签设置管控*/
|
||||
void getBrowserBookmarks();
|
||||
/*设置白名单的url 单独*/
|
||||
void getBrowserWhiteList();
|
||||
/*获取应用图标桌面可见性管控*/
|
||||
void getDesktopIcon();
|
||||
/*获取应用自启升级和网络权限管理*/
|
||||
void getAppAutoStartUpdateAndNet();
|
||||
/*获取禁用app*/
|
||||
void getSnAppAttr();
|
||||
/*获取第三方应用子页面ID连网限制*/
|
||||
void getAppIdControl();
|
||||
/*获取第三方应用内部网页跳转屏蔽*/
|
||||
void setAppinsideWeb();
|
||||
/*获取系统其他管控设置*/
|
||||
void getSystemSetting();
|
||||
/*获取系统默认程序设置*/
|
||||
void getDefaultApp();
|
||||
/*应用霸屏*/
|
||||
void setTopApp();
|
||||
/*获取关机时间*/
|
||||
void getPoweroffTime();
|
||||
/*获取时间管控*/
|
||||
void getSnTimeControl();
|
||||
void getSnSetting();
|
||||
/*获取网课模式*/
|
||||
void getCloudLessonSettings();
|
||||
/*获取电子书包激活码*/
|
||||
void getEbagCode();
|
||||
/*获取学习应用*/
|
||||
void getExclusiveAdminApp();
|
||||
/*获取全局黑名单*/
|
||||
void getBlackList();
|
||||
/*获取全局白名单*/
|
||||
void getWhiteList();
|
||||
/*获取wifi密码*/
|
||||
void getWiFiPasswd();
|
||||
|
||||
}
|
||||
|
||||
public interface MainView extends BaseView {
|
||||
/*获取设备锁定状态*/
|
||||
void setLockedState(boolean loocked);
|
||||
/*设置极光推送标签*/
|
||||
void setTagsFinish(boolean noTag);
|
||||
|
||||
|
||||
/*是否第一次联网*/
|
||||
void setFirstConnect(boolean state);
|
||||
/*获取学生信息*/
|
||||
void setStudesInfo();
|
||||
|
||||
/*上传联网时间*/
|
||||
void sendNetworkFinish();
|
||||
/*发送mac地址*/
|
||||
void sendMacFinish();
|
||||
/*更新设备信息*/
|
||||
void updateDeviceInfoFinish();
|
||||
/*上传安装的应用列表*/
|
||||
void sendInstalledFinish();
|
||||
|
||||
/*获取设备信息更新*/
|
||||
void checkAoleyunUpdateFinish();
|
||||
/*获取测试应用更新*/
|
||||
void checkTestUpdateFinish();
|
||||
/*获取开发者选项结束*/
|
||||
void getDeveloperFinish();
|
||||
/*获取自定义内置app*/
|
||||
void getRomAppFinish();
|
||||
/*设置屏幕锁状态结束*/
|
||||
void setScreenLockStateFinish(boolean locked, String tips);
|
||||
/*获取电子围栏结束*/
|
||||
void geteFenceFinish();
|
||||
|
||||
/*设置设备后台设置*/
|
||||
void setSystemSetting();
|
||||
/*获取可被写入的安装包名结束*/
|
||||
void getAppLimitFinish();
|
||||
/*获取强制下载apk结束*/
|
||||
void getForceDownloadFinish();
|
||||
/*获取桌面结束*/
|
||||
void getDefaultDesktopFinish();
|
||||
/*设置开机动画*/
|
||||
void setLogoImgFinish();
|
||||
/*获取开机动画结束*/
|
||||
void getWallpaperFinish();
|
||||
/*获取所有app详细信息*/
|
||||
void getAllAppListFinish();
|
||||
/*获取浏览器书签设置管控结束*/
|
||||
void getBrowserBookmarksFinish();
|
||||
/*设置白名单的url 单独*/
|
||||
void setBrowserWhiteList();
|
||||
/*获取应用图标桌面可见性管控结束*/
|
||||
void getDesktopIconFinish();
|
||||
/*获取应用自启升级和网络权限管理结束*/
|
||||
void getAppAutoStartUpdateAndNetFinish();
|
||||
/*获取禁用app*/
|
||||
void getSnAppAttrFinish();
|
||||
/*获取第三方应用子页面ID连网限制结束*/
|
||||
void getAppIdControlFinish();
|
||||
/*获取第三方应用内部网页跳转屏蔽结束*/
|
||||
void setAppinsideWebFinish();
|
||||
/*获取系统其他管控设置结束*/
|
||||
void getSystemSettingFinish();
|
||||
/*获取系统默认程序设置*/
|
||||
void setDefaultAppFinish();
|
||||
/*获取应用霸屏结束*/
|
||||
void setTopAppFinish();
|
||||
/*获取关机时间*/
|
||||
void setPoweroffTime();
|
||||
/*获取时间管控*/
|
||||
void getSnTimeControlFinish();
|
||||
void getSnSettingFinish();
|
||||
void setCloudLessonSettings();
|
||||
/*获取电子书包激活码*/
|
||||
void getEbagCodeFinish(boolean activation);
|
||||
/*获取学习应用*/
|
||||
void getExclusiveAdminAppFinish();
|
||||
/*获取全局黑名单结束*/
|
||||
void getBlackListFinish();
|
||||
/*获取全局白名单结束*/
|
||||
void getWhiteListFinish();
|
||||
/*获取wifi密码结束*/
|
||||
void setWiFiPasswd();
|
||||
|
||||
}
|
||||
}
|
||||
@@ -45,6 +45,7 @@ import com.aoleyun.sn.R;
|
||||
import com.aoleyun.sn.activity.main.MainActivity;
|
||||
import com.aoleyun.sn.base.BaseService;
|
||||
import com.aoleyun.sn.bean.PoweroffBean;
|
||||
import com.aoleyun.sn.bean.ScreenLockState;
|
||||
import com.aoleyun.sn.comm.CommonConfig;
|
||||
import com.aoleyun.sn.comm.JGYActions;
|
||||
import com.aoleyun.sn.comm.PackageNames;
|
||||
@@ -67,8 +68,6 @@ import com.google.gson.JsonObject;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.hjq.toast.Toaster;
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.trello.rxlifecycle4.LifecycleProvider;
|
||||
import com.trello.rxlifecycle4.android.ActivityEvent;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -84,14 +83,14 @@ import io.reactivex.rxjava3.core.ObservableOnSubscribe;
|
||||
import io.reactivex.rxjava3.core.Observer;
|
||||
import io.reactivex.rxjava3.disposables.Disposable;
|
||||
|
||||
public class MainService extends BaseService implements MainSContact.MainView, NetworkUtils.OnNetworkStatusChangedListener, LifecycleProvider<ActivityEvent> {
|
||||
public class MainService extends BaseService implements NetworkUtils.OnNetworkStatusChangedListener {
|
||||
private static final String TAG = "MainService";
|
||||
|
||||
private static final String JXW_LAUNCHER = "com.wyt.wangkexueximvvm";
|
||||
|
||||
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
||||
|
||||
public MainSPresenter mPresenter;
|
||||
|
||||
private static final String JXW_LAUNCHER = "com.wyt.wangkexueximvvm";
|
||||
public MainServiceModel mServiceModel;
|
||||
|
||||
@Override
|
||||
public void onDisconnected() {
|
||||
@@ -111,7 +110,7 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
TimeTask task = new TimeTask();
|
||||
task.execute("ntp.aliyun.com");
|
||||
if (!checkAoleyunApp()) {
|
||||
mPresenter.checkAoleyunUpdate();
|
||||
mServiceModel.checkAoleyunUpdate();
|
||||
}
|
||||
}
|
||||
mInternetConnected.onConnected(WiFiAlias);
|
||||
@@ -128,7 +127,7 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
super.onPostExecute(aLong);
|
||||
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
|
||||
am.setTime(aLong);
|
||||
Handler.getMain().postDelayed(new Runnable() {
|
||||
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// aliyunPushInit();
|
||||
@@ -184,47 +183,26 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
});
|
||||
}
|
||||
|
||||
private InternetConnected mInternetConnected;
|
||||
|
||||
public interface InternetConnected {
|
||||
void onConnected(String alias);
|
||||
}
|
||||
|
||||
private final ObservableOnSubscribe<String> networkSubscribe = new ObservableOnSubscribe<String>() {
|
||||
@Override
|
||||
public void subscribe(ObservableEmitter emitter) throws Exception {
|
||||
mInternetConnected = new InternetConnected() {
|
||||
@Override
|
||||
public void onConnected(String alias) {
|
||||
Log.e(TAG, "networkSubscribe: onConnected " + alias);
|
||||
emitter.onNext(alias);
|
||||
private void checkAliyunPushStatus() {
|
||||
CloudPushService mPushService = PushServiceFactory.getCloudPushService();
|
||||
mPushService.checkPushChannelStatus(new CommonCallback() {
|
||||
@Override
|
||||
public void onSuccess(String response) {
|
||||
Log.e("checkAliyunPushStatus", "onSuccess: " + response);
|
||||
if ("on".equals(response)) {
|
||||
// 当前是打开状态
|
||||
} else {
|
||||
// 当前是关闭状态
|
||||
aliyunPushInit();
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private Observer<String> networkObserver = new Observer<String>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
Log.e("networkObserver", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(String action) {
|
||||
Log.e("networkObserver", "onNext: " + action);
|
||||
mPresenter.getLockedState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
Log.e("networkObserver", "onError: " + e.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.e("networkObserver", "onComplete: ");
|
||||
}
|
||||
};
|
||||
@Override
|
||||
public void onFailed(String errorCode, String errorMessage) {
|
||||
Log.e("checkAliyunPushStatus", "onFailed: errorCode = " + errorCode + " errorMessage = " + errorMessage);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private KillAppListener killAppListener;
|
||||
|
||||
@@ -275,164 +253,47 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
}
|
||||
};
|
||||
|
||||
private WifiReceiver mWifiReceiver;
|
||||
private InternetConnected mInternetConnected;
|
||||
|
||||
private void registerWiFiReceiver() {
|
||||
if (mWifiReceiver == null) {
|
||||
mWifiReceiver = new WifiReceiver();
|
||||
}
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.RSSI_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
|
||||
filter.addAction(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);
|
||||
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
|
||||
registerReceiver(mWifiReceiver, filter);
|
||||
public interface InternetConnected {
|
||||
void onConnected(String alias);
|
||||
}
|
||||
|
||||
public class WifiReceiver extends BroadcastReceiver {
|
||||
private static final String TAG = "wifiReceiver";
|
||||
|
||||
private final ObservableOnSubscribe<String> networkSubscribe = new ObservableOnSubscribe<String>() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
switch (intent.getAction()) {
|
||||
case WifiManager.RSSI_CHANGED_ACTION:
|
||||
Log.e(TAG, "wifi信号强度变化");
|
||||
break;
|
||||
//wifi连接上与否
|
||||
case WifiManager.NETWORK_STATE_CHANGED_ACTION:
|
||||
NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
|
||||
if (info.getState().equals(NetworkInfo.State.DISCONNECTED)) {
|
||||
Log.e(TAG, "wifi断开");
|
||||
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();
|
||||
//获取当前wifi名称
|
||||
String oldSSID = mMMKV.decodeString("WiFiSSID", "");
|
||||
Log.e(TAG, "oldSSID " + oldSSID);
|
||||
String newSSID = wifiInfo.getSSID();
|
||||
Log.e(TAG, "连接到网络 " + newSSID);
|
||||
if (!oldSSID.equals(newSSID)) {
|
||||
LogDBManager.getInstance().creatNetChangeLog("", oldSSID + " change to: " + newSSID);
|
||||
//直接获取数据
|
||||
} else {
|
||||
LogDBManager.getInstance().creatNetChangeLog("接入WiFi",
|
||||
"connect to: " + newSSID + " time: "
|
||||
+ TimeUtils.transferLongToDate(System.currentTimeMillis()));
|
||||
}
|
||||
mMMKV.encode("WiFiSSID", Utils.getWifiAlias(context));
|
||||
}
|
||||
break;
|
||||
//wifi打开与否
|
||||
case WifiManager.WIFI_STATE_CHANGED_ACTION:
|
||||
int wifistate = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_DISABLED);
|
||||
if (wifistate == WifiManager.WIFI_STATE_DISABLED) {
|
||||
Log.e(TAG, "系统关闭wifi");
|
||||
} else if (wifistate == WifiManager.WIFI_STATE_ENABLED) {
|
||||
Log.e(TAG, "系统开启wifi");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private RefreshReceiver mRefreshReceiver;
|
||||
|
||||
private void registerRefreshReceiver() {
|
||||
if (mRefreshReceiver == null) {
|
||||
mRefreshReceiver = new RefreshReceiver();
|
||||
}
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(RefreshReceiver.REFRESH_RECEIVER_ACTION);
|
||||
registerReceiver(mRefreshReceiver, filter);
|
||||
}
|
||||
|
||||
|
||||
public class RefreshReceiver extends BroadcastReceiver {
|
||||
public static final String REFRESH_RECEIVER_ACTION = "Receiver_Refresh_Action";
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
String action = intent.getAction();
|
||||
Log.e("RefreshReceiver", "onReceive: " + action);
|
||||
if (!TextUtils.isEmpty(action)) {
|
||||
NetInterfaceManager.clearAllCache();
|
||||
mPresenter.getLockedState();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private ScreenLockReceiver screenLockReceiver;
|
||||
|
||||
private void registerScreenLockReceiver() {
|
||||
if (null == screenLockReceiver) {
|
||||
screenLockReceiver = new ScreenLockReceiver();
|
||||
}
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
|
||||
filter.addAction(Intent.ACTION_SCREEN_ON);
|
||||
filter.addAction(Intent.ACTION_SCREEN_OFF);
|
||||
registerReceiver(screenLockReceiver, filter);
|
||||
}
|
||||
|
||||
private class ScreenLockReceiver 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: is NULL");
|
||||
return;
|
||||
}
|
||||
switch (action) {
|
||||
case Intent.ACTION_SCREEN_ON:
|
||||
checkAliyunPushStatus();
|
||||
break;
|
||||
case Intent.ACTION_SCREEN_OFF:
|
||||
killAppListener.killApp(action);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void checkAliyunPushStatus() {
|
||||
CloudPushService mPushService = PushServiceFactory.getCloudPushService();
|
||||
mPushService.checkPushChannelStatus(new CommonCallback() {
|
||||
@Override
|
||||
public void onSuccess(String response) {
|
||||
Log.e("checkAliyunPushStatus", "onSuccess: " + response);
|
||||
if ("on".equals(response)) {
|
||||
// 当前是打开状态
|
||||
} else {
|
||||
// 当前是关闭状态
|
||||
aliyunPushInit();
|
||||
public void subscribe(ObservableEmitter emitter) throws Exception {
|
||||
mInternetConnected = new InternetConnected() {
|
||||
@Override
|
||||
public void onConnected(String alias) {
|
||||
Log.e(TAG, "networkSubscribe: onConnected " + alias);
|
||||
emitter.onNext(alias);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public void onFailed(String errorCode, String errorMessage) {
|
||||
Log.e("checkAliyunPushStatus", "onFailed: errorCode = " + errorCode + " errorMessage = " + errorMessage);
|
||||
}
|
||||
});
|
||||
}
|
||||
private Observer<String> networkObserver = new Observer<String>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
Log.e("networkObserver", "onSubscribe: ");
|
||||
}
|
||||
|
||||
public MainService() {
|
||||
@Override
|
||||
public void onNext(String action) {
|
||||
Log.e("networkObserver", "onNext: " + action);
|
||||
mServiceModel.getLockedState();
|
||||
}
|
||||
|
||||
}
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
Log.e("networkObserver", "onError: " + e.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBinder onBind(Intent intent) {
|
||||
return mMainBinder;
|
||||
}
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.e("networkObserver", "onComplete: ");
|
||||
}
|
||||
};
|
||||
|
||||
public MainBinder mMainBinder = new MainBinder();
|
||||
|
||||
@@ -442,13 +303,19 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBinder onBind(Intent intent) {
|
||||
return mMainBinder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
Log.e(TAG, "onCreate: ");
|
||||
mPresenter = new MainSPresenter(this);
|
||||
mPresenter.attachView(this);
|
||||
mPresenter.setLifecycle(getLifecycleSubject());
|
||||
mServiceModel = new MainServiceModel(this);
|
||||
mServiceModel.setLifecycle(getLifecycleSubject());
|
||||
initLiveData();
|
||||
|
||||
if ("YX-T01".equalsIgnoreCase(Build.MODEL)) {
|
||||
JgyUtils.getInstance().setTongyiAppTop();
|
||||
}
|
||||
@@ -478,7 +345,7 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mPresenter.getLockedState();
|
||||
mServiceModel.getLockedState();
|
||||
}
|
||||
}, 20000);
|
||||
|
||||
@@ -583,7 +450,7 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
setStatusbar();
|
||||
setFloatingWindow();
|
||||
JgyUtils.getInstance().writeAppPackageList();
|
||||
notificationManager = NotificationManagerCompat.from(this);
|
||||
mNotificationManagerCompat = NotificationManagerCompat.from(this);
|
||||
createNotificationChannel();
|
||||
sendSimpleNotification();
|
||||
|
||||
@@ -610,6 +477,119 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
JgyUtils.getInstance().checkAoleyunApp();
|
||||
}
|
||||
|
||||
private void initLiveData() {
|
||||
mServiceModel.mLockedStateData.observe(this, new androidx.lifecycle.Observer<Boolean>() {
|
||||
@Override
|
||||
public void onChanged(Boolean loocked) {
|
||||
Log.e(TAG, "setLockedState: " + loocked);
|
||||
if (loocked) {
|
||||
Toaster.debugShow("设备已上锁");
|
||||
mServiceModel.setPushTags();
|
||||
ApkUtils.UninstallAPP(MainService.this, "com.joytv.live");
|
||||
ApkUtils.UninstallAPP(MainService.this, "com.tencent.android.qqdownloader");
|
||||
} else {
|
||||
Toaster.debugShow("设备已解锁");
|
||||
// notificationManager.cancel(NotificationID);
|
||||
JgyUtils.getInstance().writeAppPackageList();
|
||||
SysSettingUtils.setEnableSetting(MainService.this);
|
||||
}
|
||||
|
||||
//更新主页锁定状态
|
||||
Intent intent = new Intent(MainActivity.UPDATE_LOCKED_STATUS);
|
||||
sendBroadcast(intent);
|
||||
}
|
||||
});
|
||||
|
||||
mServiceModel.mTagData.observe(this, new androidx.lifecycle.Observer<String>() {
|
||||
@Override
|
||||
public void onChanged(String tag) {
|
||||
if (TextUtils.isEmpty(tag)) {
|
||||
//没有批次就没有管控
|
||||
Log.e(TAG, "setTagsFinish: not set tag");
|
||||
// SysSettingUtils.setEnableSetting(this);
|
||||
Settings.System.putString(getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, "");
|
||||
} else {
|
||||
mServiceModel.getForceDownload();
|
||||
mServiceModel.getWallpaper();
|
||||
mServiceModel.setLogoImg();
|
||||
mServiceModel.getAllAppList();
|
||||
mServiceModel.getBrowserBookmarks();
|
||||
mServiceModel.getDesktopIcon();
|
||||
mServiceModel.getAppAutoStartUpdateAndNet();
|
||||
mServiceModel.setAppinsideWeb();
|
||||
mServiceModel.getAppIdControl();
|
||||
mServiceModel.getSystemSetting();
|
||||
mServiceModel.getWiFiPasswd();
|
||||
mServiceModel.getDefaultApp();
|
||||
mServiceModel.getSnTimeControl();
|
||||
mServiceModel.setTopApp();
|
||||
mServiceModel.getBlackList();
|
||||
mServiceModel.getWhiteList();
|
||||
mServiceModel.getPoweroffTime();
|
||||
|
||||
}
|
||||
mServiceModel.getStudesInfo();
|
||||
mServiceModel.checkAoleyunUpdate();
|
||||
mServiceModel.checkTestUpdate();
|
||||
mServiceModel.getDeveloper();
|
||||
mServiceModel.getRomApp();
|
||||
mServiceModel.getScreenLockState();
|
||||
mServiceModel.geteFence();
|
||||
mServiceModel.getDefaultDesktop();
|
||||
|
||||
mServiceModel.sendMacAddress();
|
||||
mServiceModel.updateDeviceInfo();
|
||||
mServiceModel.sendInstalled();
|
||||
|
||||
mServiceModel.getSnAppAttr();
|
||||
mServiceModel.getAppLimit();
|
||||
mServiceModel.getCloudLessonSettings();
|
||||
|
||||
mServiceModel.getEbagCode();
|
||||
|
||||
//没绑定不请求
|
||||
mServiceModel.getSnSetting();
|
||||
}
|
||||
});
|
||||
|
||||
mServiceModel.mScreenLockStateData.observe(this, new androidx.lifecycle.Observer<ScreenLockState>() {
|
||||
@Override
|
||||
public void onChanged(ScreenLockState screenLockState) {
|
||||
if (screenLockState != null) {
|
||||
int screen_lock = screenLockState.getIs_screen_lock();
|
||||
String tips = screenLockState.getLock_content();
|
||||
if (screen_lock == 1) {
|
||||
if (!timelocked) {
|
||||
showFloatingWindow(tips);
|
||||
}
|
||||
screenlocked = true;
|
||||
SPUtils.put(MainService.this, "is_screen_lock", true);
|
||||
SPUtils.put(MainService.this, "screen_tips", tips);
|
||||
} else {
|
||||
if (!timelocked) {
|
||||
hideFloatingWindow();
|
||||
}
|
||||
screenlocked = false;
|
||||
SPUtils.put(MainService.this, "is_screen_lock", false);
|
||||
SPUtils.put(MainService.this, "screen_tips", "");
|
||||
}
|
||||
} else {
|
||||
if (!timelocked) {
|
||||
hideFloatingWindow();
|
||||
}
|
||||
screenlocked = false;
|
||||
SPUtils.put(MainService.this, "is_screen_lock", false);
|
||||
SPUtils.put(MainService.this, "screen_tips", "");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
private void deprecatedInit() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||
Log.e(TAG, "onStartCommand: ");
|
||||
@@ -629,7 +609,6 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
super.onDestroy();
|
||||
unRegisterReceivers();
|
||||
NetworkUtils.unregisterNetworkStatusChangedListener(this);
|
||||
mPresenter.detachView();
|
||||
}
|
||||
|
||||
// TODO: 2022/3/31 暂时不检测版本
|
||||
@@ -653,12 +632,12 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
channel.setDescription(CHANNEL_DESCRIPTION);
|
||||
// Register the channel with the system; you can't change the importance
|
||||
// or other notification behaviors after this
|
||||
notificationManager.createNotificationChannel(channel);
|
||||
mNotificationManagerCompat.createNotificationChannel(channel);
|
||||
}
|
||||
}
|
||||
|
||||
private NotificationManagerCompat notificationManager;
|
||||
private int NotificationID = 1;
|
||||
private NotificationManagerCompat mNotificationManagerCompat;
|
||||
private int mNotificationId = 1;
|
||||
|
||||
private void sendSimpleNotification() {
|
||||
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID)
|
||||
@@ -671,7 +650,7 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
.setPriority(NotificationCompat.PRIORITY_MAX);
|
||||
// notificationId is a unique int for each notification that you must define
|
||||
// notificationManager.notify(NotificationID, builder.build());
|
||||
startForeground(NotificationID, builder.build());
|
||||
startForeground(mNotificationId, builder.build());
|
||||
}
|
||||
|
||||
private void setStatusbar() {
|
||||
@@ -721,6 +700,133 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
}
|
||||
}
|
||||
|
||||
private WifiReceiver mWifiReceiver;
|
||||
|
||||
private void registerWiFiReceiver() {
|
||||
if (mWifiReceiver == null) {
|
||||
mWifiReceiver = new WifiReceiver();
|
||||
}
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.RSSI_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.NETWORK_IDS_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
|
||||
filter.addAction(WifiManager.CONFIGURED_NETWORKS_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);
|
||||
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
|
||||
registerReceiver(mWifiReceiver, filter);
|
||||
}
|
||||
|
||||
public class WifiReceiver extends BroadcastReceiver {
|
||||
private static final String TAG = "wifiReceiver";
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
switch (intent.getAction()) {
|
||||
case WifiManager.RSSI_CHANGED_ACTION:
|
||||
Log.e(TAG, "wifi信号强度变化");
|
||||
break;
|
||||
//wifi连接上与否
|
||||
case WifiManager.NETWORK_STATE_CHANGED_ACTION:
|
||||
NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
|
||||
if (info.getState().equals(NetworkInfo.State.DISCONNECTED)) {
|
||||
Log.e(TAG, "wifi断开");
|
||||
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();
|
||||
//获取当前wifi名称
|
||||
String oldSSID = mMMKV.decodeString("WiFiSSID", "");
|
||||
Log.e(TAG, "oldSSID " + oldSSID);
|
||||
String newSSID = wifiInfo.getSSID();
|
||||
Log.e(TAG, "连接到网络 " + newSSID);
|
||||
if (!oldSSID.equals(newSSID)) {
|
||||
LogDBManager.getInstance().creatNetChangeLog("", oldSSID + " change to: " + newSSID);
|
||||
//直接获取数据
|
||||
} else {
|
||||
LogDBManager.getInstance().creatNetChangeLog("接入WiFi",
|
||||
"connect to: " + newSSID + " time: "
|
||||
+ TimeUtils.transferLongToDate(System.currentTimeMillis()));
|
||||
}
|
||||
mMMKV.encode("WiFiSSID", Utils.getWifiAlias(context));
|
||||
}
|
||||
break;
|
||||
//wifi打开与否
|
||||
case WifiManager.WIFI_STATE_CHANGED_ACTION:
|
||||
int wifistate = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_DISABLED);
|
||||
if (wifistate == WifiManager.WIFI_STATE_DISABLED) {
|
||||
Log.e(TAG, "系统关闭wifi");
|
||||
} else if (wifistate == WifiManager.WIFI_STATE_ENABLED) {
|
||||
Log.e(TAG, "系统开启wifi");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private RefreshReceiver mRefreshReceiver;
|
||||
|
||||
private void registerRefreshReceiver() {
|
||||
if (mRefreshReceiver == null) {
|
||||
mRefreshReceiver = new RefreshReceiver();
|
||||
}
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(RefreshReceiver.REFRESH_RECEIVER_ACTION);
|
||||
registerReceiver(mRefreshReceiver, filter);
|
||||
}
|
||||
|
||||
public class RefreshReceiver extends BroadcastReceiver {
|
||||
public static final String REFRESH_RECEIVER_ACTION = "Receiver_Refresh_Action";
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
String action = intent.getAction();
|
||||
Log.e("RefreshReceiver", "onReceive: " + action);
|
||||
if (!TextUtils.isEmpty(action)) {
|
||||
NetInterfaceManager.clearAllCache();
|
||||
mServiceModel.getLockedState();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private ScreenLockReceiver screenLockReceiver;
|
||||
|
||||
private void registerScreenLockReceiver() {
|
||||
if (null == screenLockReceiver) {
|
||||
screenLockReceiver = new ScreenLockReceiver();
|
||||
}
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
|
||||
filter.addAction(Intent.ACTION_SCREEN_ON);
|
||||
filter.addAction(Intent.ACTION_SCREEN_OFF);
|
||||
registerReceiver(screenLockReceiver, filter);
|
||||
}
|
||||
|
||||
private class ScreenLockReceiver 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: is NULL");
|
||||
return;
|
||||
}
|
||||
switch (action) {
|
||||
case Intent.ACTION_SCREEN_ON:
|
||||
checkAliyunPushStatus();
|
||||
break;
|
||||
case Intent.ACTION_SCREEN_OFF:
|
||||
killAppListener.killApp(action);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static WindowManager windowManager;
|
||||
private View topView;
|
||||
boolean screenlocked = false;
|
||||
@@ -947,7 +1053,6 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
|
||||
private DisplayReceiver mDisplayReceiver;
|
||||
|
||||
|
||||
public void registerDisplayReceiver() {
|
||||
mDisplayReceiver = new DisplayReceiver();
|
||||
IntentFilter filter = new IntentFilter();
|
||||
@@ -964,7 +1069,6 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
public static final String READ_MODEL_ENABLED = "READ_MODEL_ENABLED";
|
||||
public static final String READ_MODEL_DISABLED = "READ_MODEL_DISABLED";
|
||||
|
||||
|
||||
private class DisplayReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
@@ -1043,7 +1147,6 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private interface TopApp {
|
||||
void open(Long time);
|
||||
}
|
||||
@@ -1080,7 +1183,6 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
private void registerInstallReceiver() {
|
||||
if (mInstallReceiver == null) {
|
||||
mInstallReceiver = new InstallReceiver();
|
||||
@@ -1143,301 +1245,4 @@ public class MainService extends BaseService implements MainSContact.MainView, N
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLockedState(boolean loocked) {
|
||||
Log.e(TAG, "setLockedState: " + loocked);
|
||||
if (loocked) {
|
||||
Toaster.debugShow("设备已上锁");
|
||||
mPresenter.setPushTags();
|
||||
ApkUtils.UninstallAPP(this, "com.joytv.live");
|
||||
ApkUtils.UninstallAPP(this, "com.tencent.android.qqdownloader");
|
||||
} else {
|
||||
Toaster.debugShow("设备已解锁");
|
||||
// notificationManager.cancel(NotificationID);
|
||||
JgyUtils.getInstance().writeAppPackageList();
|
||||
SysSettingUtils.setEnableSetting(this);
|
||||
}
|
||||
|
||||
//更新主页锁定状态
|
||||
Intent intent = new Intent(MainActivity.UPDATE_LOCKED_STATUS);
|
||||
sendBroadcast(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTagsFinish(boolean noTag) {
|
||||
if (noTag) {
|
||||
//没有批次就没有管控
|
||||
Log.e(TAG, "setTagsFinish: " + "not set tag");
|
||||
// mPresenter.getStudesInfo(true);
|
||||
mPresenter.checkAoleyunUpdate();
|
||||
// SysSettingUtils.setEnableSetting(this);
|
||||
Settings.System.putString(getContentResolver(), CommonConfig.AOLE_ACTION_FORCE_APP, "");
|
||||
mPresenter.getForceDownload();
|
||||
mPresenter.getAppLimit();
|
||||
} else {
|
||||
mPresenter.getFirstConnect();
|
||||
mPresenter.getStudesInfo();
|
||||
|
||||
mPresenter.getSystemSettingBegin();
|
||||
mPresenter.getAppLimit();
|
||||
mPresenter.getForceDownload();
|
||||
mPresenter.getDefaultDesktop();
|
||||
mPresenter.setLogoImg();
|
||||
mPresenter.getWallpaper();
|
||||
mPresenter.getAllAppList();
|
||||
mPresenter.getBrowserBookmarks();
|
||||
mPresenter.getBrowserWhiteList();
|
||||
mPresenter.getDesktopIcon();
|
||||
mPresenter.getAppAutoStartUpdateAndNet();
|
||||
mPresenter.getSnAppAttr();
|
||||
mPresenter.getAppIdControl();
|
||||
mPresenter.setAppinsideWeb();
|
||||
mPresenter.getSystemSetting();
|
||||
mPresenter.getDefaultApp();
|
||||
mPresenter.setTopApp();
|
||||
mPresenter.getPoweroffTime();
|
||||
mPresenter.getSnTimeControl();
|
||||
mPresenter.getSnSetting();
|
||||
mPresenter.getCloudLessonSettings();
|
||||
mPresenter.getEbagCode();
|
||||
mPresenter.getBlackList();
|
||||
mPresenter.getWhiteList();
|
||||
mPresenter.getWiFiPasswd();
|
||||
}
|
||||
mPresenter.sendMacAddress();
|
||||
mPresenter.updateDeviceInfo();
|
||||
mPresenter.sendInstalled();
|
||||
mPresenter.checkAoleyunUpdate();
|
||||
mPresenter.checkTestUpdate();
|
||||
|
||||
mPresenter.getDeveloper();
|
||||
mPresenter.getRomApp();
|
||||
mPresenter.getScreenLockState();
|
||||
mPresenter.geteFence();
|
||||
}
|
||||
|
||||
/**
|
||||
* 首次使用默认关闭所有功能
|
||||
*
|
||||
* @param state
|
||||
*/
|
||||
@Override
|
||||
public void setFirstConnect(boolean state) {
|
||||
Log.e(TAG, "isFirstConnect: " + "end request: " + state);
|
||||
if (state) {
|
||||
Log.e(TAG, "setDisableSetting: ");
|
||||
//设置系统管控
|
||||
SysSettingUtils.setDisableSetting(this);
|
||||
JgyUtils.getInstance().writeAppPackageList();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setStudesInfo() {
|
||||
Log.e(TAG, "setStudesInfo: " + "基本信息获取完毕");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendNetworkFinish() {
|
||||
Log.e(TAG, "sendNetworkFinish: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMacFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDeviceInfoFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendInstalledFinish() {
|
||||
Log.e(TAG, "sendInstalledFinish: ");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkAoleyunUpdateFinish() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkTestUpdateFinish() {
|
||||
Log.e(TAG, "checkTestUpdateFinish: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDeveloperFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getRomAppFinish() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setScreenLockStateFinish(boolean locked, String tips) {
|
||||
if (locked) {
|
||||
if (!timelocked) {
|
||||
showFloatingWindow(tips);
|
||||
}
|
||||
screenlocked = true;
|
||||
SPUtils.put(this, "is_screen_lock", true);
|
||||
SPUtils.put(this, "screen_tips", tips);
|
||||
} else {
|
||||
if (!timelocked) {
|
||||
hideFloatingWindow();
|
||||
}
|
||||
screenlocked = false;
|
||||
SPUtils.put(this, "is_screen_lock", false);
|
||||
SPUtils.put(this, "screen_tips", "");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void geteFenceFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSystemSetting() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAppLimitFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getForceDownloadFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDefaultDesktopFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLogoImgFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getWallpaperFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAllAppListFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getBrowserBookmarksFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBrowserWhiteList() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDesktopIconFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAppAutoStartUpdateAndNetFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSnAppAttrFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAppIdControlFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAppinsideWebFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSystemSettingFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDefaultAppFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTopAppFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPoweroffTime() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSnTimeControlFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSnSettingFinish() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCloudLessonSettings() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getEbagCodeFinish(boolean activation) {
|
||||
if (activation) {
|
||||
// mPresenter.getExclusiveAdminApp();
|
||||
Log.e(TAG, "getEBagCodeFinish: " + "已激活");
|
||||
} else {
|
||||
// mPresenter.getBlackList();
|
||||
Log.e(TAG, "getEBagCodeFinish: " + "未激活");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
public void getExclusiveAdminAppFinish() {
|
||||
Log.e(TAG, "getAdminAppFinish: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getBlackListFinish() {
|
||||
Log.e(TAG, "getBlackListFinish: ");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getWhiteListFinish() {
|
||||
Log.e(TAG, "getWhiteListFinish: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setWiFiPasswd() {
|
||||
Log.e(TAG, "setWiFiPasswd: ");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -6,19 +6,23 @@ import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
|
||||
import com.alibaba.sdk.android.push.CloudPushService;
|
||||
import com.alibaba.sdk.android.push.CommonCallback;
|
||||
import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
|
||||
import com.aoleyun.sn.bean.AdminAppInfo;
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.ScreenLockState;
|
||||
import com.aoleyun.sn.bean.StudentsInfo;
|
||||
import com.aoleyun.sn.comm.CommonConfig;
|
||||
import com.aoleyun.sn.comm.JGYActions;
|
||||
import com.aoleyun.sn.disklrucache.CacheHelper;
|
||||
import com.aoleyun.sn.network.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
import com.aoleyun.sn.utils.JgyUtils;
|
||||
import com.aoleyun.sn.utils.SPUtils;
|
||||
import com.aoleyun.sn.utils.SysSettingUtils;
|
||||
import com.aoleyun.sn.utils.URLUtils;
|
||||
import com.aoleyun.sn.utils.Utils;
|
||||
import com.hjq.toast.Toaster;
|
||||
@@ -33,25 +37,18 @@ import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
* MainService 的 Presenter
|
||||
*
|
||||
* @author jgy02
|
||||
*/
|
||||
public class MainSPresenter implements MainSContact.Presenter {
|
||||
private static final String TAG = "MainSPresenter";
|
||||
public class MainServiceModel extends ViewModel {
|
||||
private static final String TAG = "MainServiceModel";
|
||||
|
||||
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
||||
|
||||
private MainSContact.MainView mView;
|
||||
private Context mContext;
|
||||
private ContentResolver crv;
|
||||
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
||||
private CacheHelper cacheHelper;
|
||||
|
||||
private BehaviorSubject<ActivityEvent> lifecycle;
|
||||
|
||||
@@ -63,27 +60,14 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
return lifecycle;
|
||||
}
|
||||
|
||||
public MainSPresenter(Context context) {
|
||||
public MainServiceModel(Context context) {
|
||||
this.mContext = context;
|
||||
this.crv = mContext.getContentResolver();
|
||||
this.cacheHelper = new CacheHelper(mContext);
|
||||
Log.e(TAG, "MainSPresenter: " + context.getClass());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void attachView(@androidx.annotation.NonNull MainSContact.MainView view) {
|
||||
this.mView = view;
|
||||
}
|
||||
public MutableLiveData<Boolean> mLockedStateData = new MutableLiveData<>();
|
||||
|
||||
@Override
|
||||
public void detachView() {
|
||||
this.mView = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1
|
||||
*/
|
||||
@Override
|
||||
public void getLockedState() {
|
||||
Log.e(TAG, "getLockedState: ");
|
||||
if (JgyUtils.getInstance().isAihuaFramework()) {
|
||||
@@ -102,25 +86,24 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
// if (locked == 0) {
|
||||
// JgyUtils.getInstance().deleteOtherApp();
|
||||
// }
|
||||
mView.setLockedState(locked == JGYActions.FRAME_CODE_LOCKED);
|
||||
mLockedStateData.postValue(locked == JGYActions.FRAME_CODE_LOCKED);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public MutableLiveData<String> mTagData = new MutableLiveData<>();
|
||||
|
||||
public void setPushTags() {
|
||||
NetInterfaceManager.getInstance().setPushTags(getLifecycle(), new NetInterfaceManager.PushTagCallback() {
|
||||
@Override
|
||||
public void setPushTag(String tag) {
|
||||
mView.setTagsFinish(TextUtils.isEmpty(tag));
|
||||
mTagData.postValue(tag);
|
||||
}
|
||||
});
|
||||
String tagSets = mMMKV.decodeString(CommonConfig.DEVICES_TAG);
|
||||
Log.e(TAG, "setPushTags: tagSets =" + tagSets);
|
||||
Set<String> groupTagSets = mMMKV.decodeStringSet(CommonConfig.DEVICES_GROUP_TAG, new HashSet<>());
|
||||
Log.e(TAG, "setPushTags: groupTagSets = " + groupTagSets);
|
||||
String tagstring = cacheHelper.getAsString(UrlAddress.GET_DEVICES_TAGS);
|
||||
Log.e(TAG, "setPushTags: tagstring = " + tagstring);
|
||||
Set<String> tags = new HashSet<>();
|
||||
tags.addAll(groupTagSets);
|
||||
if (!TextUtils.isEmpty(tagSets)) {
|
||||
@@ -146,39 +129,37 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* 2
|
||||
*/
|
||||
|
||||
/**
|
||||
* 第一次连接
|
||||
*/
|
||||
@Override
|
||||
public void getFirstConnect() {
|
||||
int first = (int) SPUtils.get(mContext, CommonConfig.JGY_FIRST_CONNECT, 0);
|
||||
Log.e(TAG, "getFirstConnect: " + "first_connect = " + first);
|
||||
mView.setFirstConnect(first == 0);
|
||||
if (first == 0) {
|
||||
Log.e(TAG, "setDisableSetting: ");
|
||||
//设置系统管控
|
||||
SysSettingUtils.setDisableSetting(mContext);
|
||||
JgyUtils.getInstance().writeAppPackageList();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过sn获取用户信息
|
||||
*/
|
||||
@Override
|
||||
public void getStudesInfo() {
|
||||
NetInterfaceManager.getInstance().getStudesInfo(false, getLifecycle(), new NetInterfaceManager.StudesInfoListener() {
|
||||
NetInterfaceManager.getInstance().getStudesInfo(getLifecycle(), new NetInterfaceManager.StudesInfoListener() {
|
||||
@Override
|
||||
public void setStudentsInfo(StudentsInfo studentsInfo) {
|
||||
mView.setStudesInfo();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
// mView.setStudesInfo();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendNetwork(List<Long> time) {
|
||||
if (time == null || time.size() == 0) {
|
||||
Log.e(TAG, "sendNetwork: " + "time empty");
|
||||
@@ -211,35 +192,25 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.e("sendNetwork", "onComplete: ");
|
||||
mView.sendNetworkFinish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 3
|
||||
*/
|
||||
|
||||
@Override
|
||||
public void sendMacAddress() {
|
||||
NetInterfaceManager.getInstance().sendMACAddress(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
NetInterfaceManager.getInstance().sendMACAddress(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.sendMacFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDeviceInfo() {
|
||||
if (JgyUtils.isOfficialVersion()) {
|
||||
mView.updateDeviceInfoFinish();
|
||||
}
|
||||
// if (!JgyUtils.getInstance().tagEmpty()) {
|
||||
NetInterfaceManager.getInstance().updateDeviceInfo(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
NetInterfaceManager.getInstance().updateDeviceInfo(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.updateDeviceInfoFinish();
|
||||
|
||||
}
|
||||
});
|
||||
// }
|
||||
@@ -248,202 +219,170 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
/**
|
||||
* 上传安装的应用列表
|
||||
*/
|
||||
@Override
|
||||
public void sendInstalled() {
|
||||
// if (!JgyUtils.getInstance().tagEmpty()) {
|
||||
NetInterfaceManager.getInstance().sendInstalledAppInfo(new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.sendInstalledFinish();
|
||||
}
|
||||
});
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
* 4
|
||||
*/
|
||||
|
||||
@Override
|
||||
public void checkAoleyunUpdate() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.checkAoleyunUpdate(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.checkAoleyunUpdate(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.checkAoleyunUpdateFinish();
|
||||
|
||||
}
|
||||
});
|
||||
// mView.checkAoleyunUpdateFinish();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkTestUpdate() {
|
||||
if (!JgyUtils.getInstance().tagEmpty()) {
|
||||
NetInterfaceManager.getInstance()
|
||||
.checkTestUpdate(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.checkTestUpdate(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.checkTestUpdateFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 5
|
||||
*/
|
||||
@Override
|
||||
public void getDeveloper() {
|
||||
Log.e(TAG, "getDeveloper: ");
|
||||
NetInterfaceManager.getInstance()
|
||||
.getDeveloper(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getDeveloperFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getRomApp() {
|
||||
String customVersion = Utils.getCustomVersion();
|
||||
Log.e(TAG, "getROMApp: " + customVersion);
|
||||
NetInterfaceManager.getInstance()
|
||||
.getCustomRomApp(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.getCustomRomApp(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getRomAppFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public MutableLiveData<ScreenLockState> mScreenLockStateData = new MutableLiveData<>();
|
||||
|
||||
public void getScreenLockState() {
|
||||
NetInterfaceManager.getInstance().getScreenLockState(true, getLifecycle(), new NetInterfaceManager.ScreenLockStateListener() {
|
||||
NetInterfaceManager.getInstance().getScreenLockState(getLifecycle(), new NetInterfaceManager.ScreenLockStateListener() {
|
||||
@Override
|
||||
public void setScreenLockState(boolean locked, String tips) {
|
||||
mView.setScreenLockStateFinish(locked, tips);
|
||||
public void setScreenLockState(ScreenLockState screenLockState) {
|
||||
mScreenLockStateData.postValue(screenLockState);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void geteFence() {
|
||||
NetInterfaceManager.getInstance().geElectronicFence(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.geteFenceFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSystemSettingBegin() {
|
||||
//重置设备
|
||||
JgyUtils.getInstance().resetDevice();
|
||||
Toaster.debugShow("开始获取管控");
|
||||
mView.setSystemSetting();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAppLimit() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getAppLimit(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getAppLimitFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getForceDownload() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getForceDownload(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getForceDownloadFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDefaultDesktop() {
|
||||
Log.e(TAG, "getDefaultDesktop: ");
|
||||
if (JgyUtils.isOfficialVersion() || !JgyUtils.getInstance().getDeviceIsLocked()) {
|
||||
Log.e(TAG, "getDefaultDesktop: " + "Device unLocked");
|
||||
mView.getDefaultDesktopFinish();
|
||||
} else {
|
||||
int aihuaUnlock = Settings.System.getInt(mContext.getContentResolver(), CommonConfig.AIHUA_UNLOCK, 0);
|
||||
if (JgyUtils.getInstance().isAihuaFramework() && aihuaUnlock == 1) {
|
||||
Log.e(TAG, "getDefaultDesktop: " + "Device aihua");
|
||||
mView.getDefaultDesktopFinish();
|
||||
|
||||
} else {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getDefaultDesktop(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getDefaultDesktopFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLogoImg() {
|
||||
if (JgyUtils.isOfficialVersion()) {
|
||||
mView.setLogoImgFinish();
|
||||
} else {
|
||||
NetInterfaceManager.getInstance()
|
||||
.setLogoImg(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.setLogoImgFinish();
|
||||
}
|
||||
});
|
||||
}
|
||||
NetInterfaceManager.getInstance()
|
||||
.setLogoImg(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getWallpaper() {
|
||||
NetInterfaceManager.getInstance().getWallpaper(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getWallpaperFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAllAppList() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getAllAppList(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getAllAppListFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getBrowserBookmarks() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getBookMarkBlackWhiteList(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.getBookMarkBlackWhiteList(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getBrowserBookmarksFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getBrowserWhiteList() {
|
||||
new URLUtils(mContext).setBrowserBlackList();
|
||||
mView.setBrowserWhiteList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDesktopIcon() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getDesktopIcon(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@@ -451,161 +390,141 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
public void onComplete() {
|
||||
Log.e("getDesktopIcon", "onComplete: ");
|
||||
// JgyUtils.getInstance().hideSystemAPP();
|
||||
mView.getDesktopIconFinish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAppAutoStartUpdateAndNet() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getAppAutoStartUpdateAndNet(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getAppAutoStartUpdateAndNetFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSnAppAttr() {
|
||||
NetInterfaceManager.getInstance().getSnAppAttr(new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getSnAppAttrFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAppIdControl() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getAppIDControl(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.getAppIDControl(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getAppIdControlFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAppinsideWeb() {
|
||||
Log.e(TAG, "setAppinsideWeb: ");
|
||||
NetInterfaceManager.getInstance().getAppinsideWeb(new NetInterfaceManager.GetAppinsideWebCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.e(TAG, "setAppinsideWeb: " + "onComplete");
|
||||
if (mView != null) {
|
||||
mView.setAppinsideWebFinish();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSystemSetting() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.setSystemSetting(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getSystemSettingFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDefaultApp() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getDefaultApp(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.getDefaultApp(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.setDefaultAppFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTopApp() {
|
||||
if (JgyUtils.isOfficialVersion()) {
|
||||
mView.setTopAppFinish();
|
||||
return;
|
||||
}
|
||||
NetInterfaceManager.getInstance()
|
||||
.getTopApp(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.getTopApp(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.setTopAppFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPoweroffTime() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getPoweroffTime(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.getPoweroffTime(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.setPoweroffTime();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSnTimeControl() {
|
||||
if (JgyUtils.isOfficialVersion()) {
|
||||
mView.getSnTimeControlFinish();
|
||||
} else {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getSnTimeControl(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getSnTimeControlFinish();
|
||||
}
|
||||
});
|
||||
NetInterfaceManager.getInstance()
|
||||
.getTimeControl(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getSnTimeControlFinish();
|
||||
}
|
||||
});
|
||||
}
|
||||
NetInterfaceManager.getInstance()
|
||||
.getSnTimeControl(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
}
|
||||
});
|
||||
NetInterfaceManager.getInstance()
|
||||
.getTimeControl(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSnSetting() {
|
||||
NetInterfaceManager.getInstance().getSnSetting(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getSnSettingFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getCloudLessonSettings() {
|
||||
NetInterfaceManager.getInstance().getCloudLessonSettings(lifecycle, new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
if (mView != null) {
|
||||
mView.setCloudLessonSettings();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getEbagCode() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getEBagCode(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.getEBagCode(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getEbagCodeFinish(Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0) == 1);
|
||||
if (Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0) == 1) {
|
||||
// getExclusiveAdminApp();
|
||||
Log.e(TAG, "getEBagCodeFinish: " + "已激活");
|
||||
} else {
|
||||
// getBlackList();
|
||||
Log.e(TAG, "getEBagCodeFinish: " + "未激活");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getExclusiveAdminApp() {
|
||||
NetInterfaceManager.getInstance().getExclusiveAdminAppObservable()
|
||||
.subscribeOn(Schedulers.io())
|
||||
@@ -635,38 +554,34 @@ public class MainSPresenter implements MainSContact.Presenter {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.e("getExclusiveAdminApp", "onComplete: ");
|
||||
mView.getExclusiveAdminAppFinish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getBlackList() {
|
||||
NetInterfaceManager.getInstance().getBlackList(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getBlackListFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getWhiteList() {
|
||||
NetInterfaceManager.getInstance().getWhiteList(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.getWhiteListFinish();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getWiFiPasswd() {
|
||||
NetInterfaceManager.getInstance()
|
||||
.getWiFiPasswd(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
.getWiFiPasswd(getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@Override
|
||||
public void onComplete() {
|
||||
mView.setWiFiPasswd();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -536,7 +536,7 @@ public class ApkUtils {
|
||||
this.add("com.aoleyun.browser");
|
||||
this.add("com.android.music");
|
||||
this.add("com.android.fmradio");
|
||||
this.add("com.android.gallery3d");
|
||||
// this.add("com.android.gallery3d");
|
||||
this.add("com.android.calendar");
|
||||
this.add("com.android.calculator2");
|
||||
this.add("com.android.deskclock");
|
||||
|
||||
Reference in New Issue
Block a user