diff --git a/app/build.gradle b/app/build.gradle
index c5702d1..4bc614a 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -41,9 +41,9 @@ android {
//新平台正式
newly {
flavorDimensions "default"
- versionCode 515
+ versionCode 518
//versionCode 1037
- versionName "2.1.5"
+ versionName "2.1.8"
/*********************************极光推送************************************/
manifestPlaceholders = [
JPUSH_PKGNAME: "com.jiaoguanyi.appstore",
@@ -55,7 +55,7 @@ android {
/*********************************极光推送end************************************/
buildConfigField "String", "ROOT_URL", '"http://name.jiaoguanyi.cn/api/"'
buildConfigField "String", "WebsocketURL", '"ws://47.119.147.245:2345"'
- buildConfigField "String", "SCREEN_URL", '"http://47.119.147.245:2018"'
+ buildConfigField "String", "SCREEN_URL", '"https://name.jiaoguanyi.cn:2018/wm/is_online"'
}
//新平台测试
@@ -74,7 +74,7 @@ android {
/*********************************极光推送end************************************/
buildConfigField "String", "ROOT_URL", '"http://name.uiuios.com/api/"'
buildConfigField "String", "WebsocketURL", '"ws://39.108.116.195:2345"'
- buildConfigField "String", "SCREEN_URL", '"http://39.108.116.195:2018"'
+ buildConfigField "String", "SCREEN_URL", '"https://name.uiuios.com:2018/wm/is_online"'
}
// //老平台正式
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 57d3e05..2f29617 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -119,10 +119,7 @@
-
+
= (SystemClock.uptimeMillis() - DURATION)) {
- mHits = new long[COUNTS];//重新初始化数组
- ToastUtil.show("正在检查更新");
- HTTPInterface.checkUpdate(mHandler, BuildConfig.APPLICATION_ID);
- }
- }
-
-
- private void initData() {
- Log.e("mjhsneg", "gagagag--------------------------" + Utils.getSerial());
- int first = (int) SPUtils.get(DiscardActivity.this, "first_connect", 0);
- //开机第一次管控默认关闭所有功能
- if (first == 0) {
-// SysSettingUtils.setDisableSetting(DiscardActivity.this);//设置系统管控
- }
- getLockedState(mHandler);
-// MyApplication.getInstance().getWhitePackageList();
-
-// update();//接口更新app
- checkUpdate();//更新app
-
- Log.e("mac", Utils.getAndroid7MAC());
- DeviceInfo = (int) SPUtils.get(this, "isLogined", 2);
- switch (DeviceInfo) {
- case 0:
- setImageAndText(imageView, "设备未绑定");
- break;
- case 1:
- setImageAndText(imageView, "设备已绑定");
- break;
- case 2:
- setImageAndText(imageView, "未经验证的设备,请联系客服");
- break;
- }
- }
-
- private void setImageAndText(ImageView imageView, String text) {
-// Bitmap bitmap = Utils.createQRImage(Utils.getSn(), 250, 250);
-// imageView.setImageBitmap(bitmap);
- }
-
-
-// Handler handler = new Handler() {
-//// @Override
-//// public void handleMessage(Message msg) {
-//// super.handleMessage(msg);
-//// switch (msg.what) {
-//// case 0:
-//// SPUtils.put(MainActivity.this, "isLogined", 0);
-//// setImageAndText(imageView, "设备未绑定");
-//// break;
-//// case 1:
-//// UserInfo userInfo = (UserInfo) msg.obj;
-//// SPUtils.put(MainActivity.this, "isLogined", 1);
-//// SPUtils.put(MainActivity.this, "member_id", userInfo.getMember_id());
-//// SPUtils.put(MainActivity.this, "sn_id", userInfo.getId());
-//// setImageAndText(imageView, "设备已绑定");
-//// break;
-//// case 2:
-//// SPUtils.put(MainActivity.this, "isLogined", 2);
-//// setImageAndText(imageView, "未经验证的设备,请联系客服");
-//// break;
-//// }
-//// }
-//// };
-
-// private String[] permission = new String[]{
-// Permission.SYSTEM_ALERT_WINDOW,
-// Permission.CAMERA,
-// Permission.READ_SMS,
-// Permission.RECEIVE_SMS,
-// Permission.SEND_SMS,
-// Permission.REQUEST_INSTALL_PACKAGES,//不用请求也可以安装
-// Permission.READ_EXTERNAL_STORAGE,
-// Permission.WRITE_EXTERNAL_STORAGE,
-// Permission.READ_PHONE_STATE
-// };
-
-// public void requestPermission() {
-// XXPermissions.with(this)
-// // 可设置被拒绝后继续申请,直到用户授权或者永久拒绝
-// .constantRequest()
-// // 支持请求6.0悬浮窗权限8.0请求安装权限
-// //.permission(Permission.REQUEST_INSTALL_PACKAGES)
-// // 不指定权限则自动获取清单中的危险权限
-// .permission(permission)
-// .request(new OnPermission() {
-//
-// @Override
-// public void hasPermission(List granted, boolean isAll) {
-// if (isAll) {
-// File file = new File(PathUtils.getExternalDownloadsPath() + "/jgy/");
-// if (!file.exists()){
-// file.mkdirs();
-// }
-// } else {
-// ToastUtil.show("需要授予所有权限才能正常使用本程序!");
-// }
-// }
-//
-// @Override
-// public void noPermission(List denied, boolean quick) {
-// if (quick) {
-// ToastUtil.show("被永久拒绝授权,请手动授予权限!");
-// //如果是被永久拒绝就跳转到应用权限系统设置页面
-// XXPermissions.gotoPermissionSettings(MainActivity.this);
-// } else {
-// ToastUtil.show("获取权限失败");
-// }
-// }
-// });
-// }
-
- private boolean locked = false;
-
- public void getLockedState(final Handler handler) {
- OkGo.post(URLAddress.GET_DEVICES_LOCKED)
- .params("sn", Utils.getSerial())
- .execute(new StringCallback() {
- @Override
- public void onSuccess(String s, Call call, Response response) {
- Log.e("onSuccess", s);
- Log.e("getSerial", Utils.getSerial());
- com.alibaba.fastjson.JSONObject msgObject = JSON.parseObject(s);
- Log.e("getLockedState", s);
- Integer code = (msgObject.getInteger("code"));
- if (code == 200) {
- com.alibaba.fastjson.JSONObject dataArray = msgObject.getJSONObject("data");
- int lock = dataArray.getInteger("lock");
- Log.e("ttlocked", String.valueOf(lock));
- if (lock == 0) {
- locked = false;
- boolean se = Settings.System.putInt(DiscardActivity.this.getContentResolver(), "qch_unlock_ipad", 1);
- Log.e("ttlocked1", "getLockedState---------" + Settings.System.getString(DiscardActivity.this.getContentResolver(), "qch_unlock_ipad"));
-// SysSettingUtils.setEnableSetting(DiscardActivity.this);
- SPUtils.put(DiscardActivity.this, "first_connect", 1);
- Log.e("ttlocked1", "qch_unlock_ipad---------" + locked + se);
- handler.sendEmptyMessage(-3);
- } else {
- locked = true;
- Settings.System.putInt(DiscardActivity.this.getContentResolver(), "qch_unlock_ipad", 0);
- Log.e("ttlocked2", "qch_unlock_ipad---------" + locked);
-
- String a = Settings.System.getString(DiscardActivity.this.getContentResolver(), "DeselectBrowserArray");
- Log.e("ttlocked2", "DeselectBrowserArray---------" + a);
- String b = Settings.System.getString(DiscardActivity.this.getContentResolver(), "qch_webblack_url");
- Log.e("ttlocked2", "qch_webblack_url---------" + b);
- handler.sendEmptyMessage(3);
- HTTPInterface.setJpushTags(DiscardActivity.this);
- sendMACaddress();
- timerImitate();
- lazyLoading();
- }
- } else if (code == -300) {
-// ApkUtils.uninstallAllApp(MainActivity.this);
- handler.sendEmptyMessage(-3);
- }
- }
-
- @Override
- public void onError(Call call, Response response, Exception e) {
- super.onError(call, response, e);
- Log.e("onError", "error");
- }
-
- });// 请求方式和请求url
- }
-
- private void lazyLoading() {
- Observable.timer(1000, TimeUnit.MILLISECONDS)
- .observeOn(rx.android.schedulers.AndroidSchedulers.mainThread())
- .subscribe(new Action1() {
- @Override
- public void call(Long aLong) {
-// getDeselectBrowerID();//浏览器网址管控
- HTTPInterface.setBrowserBlackList(DiscardActivity.this);//浏览器网址管控
- HTTPInterface.setHomepagtag(DiscardActivity.this);//设置主页和标签
-// HTTPInterface.getAppinsideWeb(DiscardActivity.this);//app内部网页管控
- HTTPInterface.setHideDesktopIcon(DiscardActivity.this);//设置桌面图标隐藏
- getDeselectID();//ID管控
- getAppLimitApi();//写入可被安装的包名
-// getAppInfo();//上传APP信息
- ApkUtils.getAppInfo(DiscardActivity.this);//上传APP信息
- getSystemSetting();//设置系统管控
- getNetAndLaunchSetting();//联网管控
-// Aria.download(this).removeAllTask(true);
- getForceDownload();//强制下载apk
- JGYUtils.getInstance().resetDevice();//恢复出厂设置
- // fromNetToUpdate();
- String registrationID = JPushInterface.getRegistrationID(DiscardActivity.this);
- Log.e("mjsheng", registrationID + "------------------------");
- SaveListUtils.getList();
- }
- });
- }
-
-
- private void checkUpdate() {
- HTTPInterface.checkUpdate(mHandler, "com.jiaoguanyi.store");
-// HTTPInterface.checkUpdate(mHandler, "com.jiaoguanyi.appstore");
- HTTPInterface.checkTestUpdate(DiscardActivity.this);
- }
-
- private Handler mHandler = new Handler() {
- @SuppressLint("HandlerLeak")
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- switch (msg.what) {
- case 100:
-// ToastUtil.show("已是最新版本");
- break;
- case 200:
- com.alibaba.fastjson.JSONObject jsonObject = (com.alibaba.fastjson.JSONObject) msg.obj;
- installAPK(jsonObject);
- break;
- case -200:
- Log.e("fht", "no update");
- break;
- case 2:
- StudentsInfo info = com.alibaba.fastjson.JSONObject.parseObject(String.valueOf(msg.obj), StudentsInfo.class);
- SPUtils.put(DiscardActivity.this, "admin_id", info.getAdmin_id());
- if (null != info) {
- if (TextUtils.isEmpty(info.getBatch())) {
- tv_batch.setVisibility(View.GONE);
- tv_batch.setText("暂无信息");
- } else {
- tv_batch.setVisibility(View.VISIBLE);
- tv_batch.setText(info.getBatch());
- SPUtils.put(DiscardActivity.this, "batch", info.getBatch());
- }
- if (TextUtils.isEmpty(info.getClasses())) {
- layout_class.setVisibility(View.GONE);
- tv_class.setText("暂无信息");
- } else {
- layout_class.setVisibility(View.VISIBLE);
- tv_class.setText(info.getClasses());
- SPUtils.put(DiscardActivity.this, "classes", info.getClasses());
- }
- if (TextUtils.isEmpty(info.getSno())) {
- layout_number.setVisibility(View.GONE);
- tv_number.setText("暂无信息");
- } else {
- layout_number.setVisibility(View.VISIBLE);
- tv_number.setText(info.getSno());
- SPUtils.put(DiscardActivity.this, "sno", info.getSno());
- }
- if (TextUtils.isEmpty(info.getRealname())) {
- layout_name.setVisibility(View.GONE);
- tv_name.setText("暂无信息");
- } else {
- layout_name.setVisibility(View.VISIBLE);
- tv_name.setText(info.getRealname());
- SPUtils.put(DiscardActivity.this, "realname", info.getRealname());
- }
- }
-
- break;
- case -2:
-// tv_batch.setText("暂无信息");
-// tv_class.setText("暂无信息");
-// tv_number.setText("暂无信息");
-// tv_name.setText("暂无信息");
- String batch = (String) SPUtils.get(DiscardActivity.this, "batch", "暂无信息");
- if (TextUtils.isEmpty(batch) || "暂无信息".equals(batch)) {
- tv_batch.setVisibility(View.GONE);
- } else {
- tv_batch.setText(batch);
- }
-
- String classes = (String) SPUtils.get(DiscardActivity.this, "classes", "暂无信息");
- if (TextUtils.isEmpty(classes) || "暂无信息".equals(classes)) {
- layout_class.setVisibility(View.GONE);
- } else {
- tv_class.setText(classes);
- }
- String sno = (String) SPUtils.get(DiscardActivity.this, "sno", "暂无信息");
- if (TextUtils.isEmpty(sno) || "暂无信息".equals(sno)) {
- layout_number.setVisibility(View.GONE);
- } else {
- tv_number.setText(sno);
- }
- String realname = (String) SPUtils.get(DiscardActivity.this, "realname", "暂无信息");
- if (TextUtils.isEmpty(realname) || "暂无信息".equals(realname)) {
- layout_name.setVisibility(View.GONE);
- } else {
- tv_name.setText(realname);
- }
- break;
- case 3:
- iv_locked.setVisibility(View.VISIBLE);
- break;
- case -3:
- iv_locked.setVisibility(View.GONE);
- break;
- default:
- break;
- }
- }
-
- };
-
- private void installAPK(com.alibaba.fastjson.JSONObject jsonObject) {
- final String url = jsonObject.getString("url");
- int versionCode = jsonObject.getInteger("version_code");
- final String packageName = jsonObject.getString("package");
- String app_name = jsonObject.getString("app_name");
- final com.alibaba.fastjson.JSONObject object = new com.alibaba.fastjson.JSONObject();
- object.put("app_name", app_name);
- object.put("app_package", packageName);
- PackageManager pm = getPackageManager();
- PackageInfo packageInfo = null;
- try {
- packageInfo = pm.getPackageInfo(packageName, 0);
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- if (packageInfo == null || packageInfo.versionCode < versionCode) {
- if (packageName.equalsIgnoreCase("com.jiaoguanyi.store")) {
-// Aria.download(this)
-// .load(url) //读取下载地址
-// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(packageName) + ".apk", true)
-// .setExtendField(object.toJSONString())
-// .create(); //启动下载}
- Utils.ariaDownload(this, url, object);
- return;
- }
- AlertDialog.Builder builder = new AlertDialog.Builder(DiscardActivity.this);
- builder.setTitle("更新:");
- builder.setMessage("检测到有新版本,是否更新?");
- builder.setIcon(R.mipmap.ic_launcher);
- builder.setCancelable(true);
- //设置正面按钮
- builder.setPositiveButton("更新", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
-// Aria.download(this)
-// .load(url) //读取下载地址
-// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(packageName) + ".apk", true)
-// .setExtendField(object.toJSONString())
-// .create(); //启动下载}
- Utils.ariaDownload(DiscardActivity.this, url, object);
- dialog.dismiss();
- }
- });
- //设置反面按钮
- builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- });
- builder.show();
- } else {
- if (!packageName.equalsIgnoreCase("com.jiaoguanyi.store")) {
- mHandler.postDelayed(toast, 4000);
- }
- Log.e("fht", "已是最新版本");
- }
-
- }
-
- private Runnable toast = new Runnable() {
-
- @Override
- public void run() {
- ToastUtil.show("已是最新版本");
- }
- };
-
-
- @Override
- protected void onStop() {
- super.onStop();
- }
-
- @Override
- protected void onPause() {
- isForeground = false;
- super.onPause();
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- isForeground = true;
- Intent allIntent = new Intent();
-// allIntent.setAction(Utils.DOWNLOAD_ALLTASK_ACTION);
- sendBroadcast(allIntent);
-// loadHeadImg(Configure.HTTP_TAG_HOME_PAGE_URL);
- getLockedState(mHandler);
-// MyApplication.getInstance().getWhitePackageList();
- getInfo(mHandler);
-// CmdUtil.execute(" screencap -p /sdcard/" + "screen" + System.currentTimeMillis() + ".png");
- }
-
- private void getInfo(final Handler handler) {
- OkGo.post(URLAddress.GET_STUDENTS_INFO)
- .params("sn", Utils.getSerial())
- .execute(new StringCallback() {
- @Override
- public void onSuccess(String s, Call call, Response response) {
- try {
- LzyResponse lzyResponse = (LzyResponse) JSON.parseObject(s, LzyResponse.class);
- Message message = new Message();
- if (lzyResponse.code == 200) {
- message.what = 2;
- message.obj = lzyResponse.data;
- handler.sendMessage(message);
- } else {
- handler.sendEmptyMessage(-2);
- }
- } catch (Exception e) {
- Log.e("fht", "getInfo:" + e.getMessage());
- }
- }
-
- @Override
- public void onError(Call call, Response response, Exception e) {
- super.onError(call, response, e);
- Log.e("onError", "error:" + e.getMessage());
- handler.sendEmptyMessage(-2);
- }
-
- });// 请求方式和请求url
- }
-
-// private void loadHeadImg(String URL) {
-// BrankPicApi brankPicApi = Network.getBrankPicApi();
-// brankPicApi.getBrankPicApi(Configure.HTTP_KEY, Utils.getSerial(), "1")
-// .subscribeOn(Schedulers.io())
-// .observeOn(AndroidSchedulers.mainThread())
-// .subscribe(new Observer() {
-// @Override
-// public void onSubscribe(Disposable d) {
-//
-// }
-//
-// @Override
-// public void onNext(CommonPicBean projectPicBean) {
-// paraData(projectPicBean);
-// Log.e("mjsheng", "brankPicApi---" + projectPicBean.toString());
-// }
-//
-// @Override
-// public void onError(Throwable e) {
-//// Utils.showToast(MainActivity.this, "网络出错!");
-// Log.e("mjsheng", "brankPicApi---error----" + e.getMessage());
-//
-// }
-//
-// @Override
-// public void onComplete() {
-//
-// }
-// });
-//
-//
-// }
-
-// private void paraData(CommonPicBean categoryPicBean) {
-// int code = categoryPicBean.getCode();
-// switch (code) {
-// case 200:
-// final List data = categoryPicBean.getData();
-//// if (data != null && data.size() > 0) {
-//// List list = new ArrayList<>();
-//// for (int i = 0; i < data.size(); i++) {
-//// list.add(data.get(i).getImg());
-//// }
-//// webBannerAdapter = new WebBannerAdapter(getActivity(), list);
-//// webBannerAdapter.setOnBannerItemClickListener(new BannerLayout.OnBannerItemClickListener() {
-//// @Override
-//// public void onItemClick(int position) {
-//// loadProjectByType(Configure.HTTP_TAG_BRAND_DETAILS_URL, data.get(position).getId(), data.get(position).getName());
-//// }
-//// });
-//// recyclerBanner.setAdapter(webBannerAdapter);
-//// mAdapter = new TopRecyclerViewAdapter(getActivity(), "home", list, new TopRecyclerViewAdapter.HorizontalScrollViewListener() {
-//// @Override
-//// public void onClick(String iconUrl, int position) {
-//// sound.playSoundEffect();
-//// loadProjectByType(Configure.HTTP_TAG_BRAND_DETAILS_URL, data.get(position).getId(), data.get(position).getName());
-//// }
-//// });
-//// mTopRlView.setAdapter(mAdapter);
-//// } else {
-//// // Utils.showToast(getContext(), "数据为空!");
-//// Log.e("mjsheng", "推荐页轮播图为空!");
-//// }
-// break;
-// case -200:
-// paraError(categoryPicBean.getMsg());
-// break;
-// }
-// }
-
-// private void paraError(String msg) {
-// switch (msg) {
-// case "没有找到SN码":
-// ToastUtil.show(msg);
-// break;
-// default:
-// ToastUtil.show(msg);
-// break;
-// }
-// }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
-
- }
-
-
- @Override
- public void finish() {
- super.finish();
- }
-
-// private void getAppInfo() {
-// ArrayList appList = new ArrayList<>(); //用来存储获取的应用信息数据
-// List packages = getPackageManager().getInstalledPackages(0);
-//
-// for (int i = 0; i < packages.size(); i++) {
-// PackageInfo packageInfo = packages.get(i);
-// if (ApkUtils.systemapp.contains(packageInfo.packageName)) {
-// continue;
-// }
-// UploadAppInfo uploadAppInfo = new UploadAppInfo();
-// uploadAppInfo.setApp_name(packageInfo.applicationInfo.loadLabel(getPackageManager()).toString());
-// uploadAppInfo.setPackage_name(packageInfo.packageName);
-// uploadAppInfo.setId(i);
-// String firstInstallTime = Utils.transferLongToDate(packageInfo.firstInstallTime);
-// uploadAppInfo.setInstall_time(firstInstallTime);
-// uploadAppInfo.setVersionCode(String.valueOf(packageInfo.versionCode));
-// // Log.e("mjsheng", "------------------" + uploadAppInfo);
-// if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
-// } else {
-// //非系统应用
-// appList.add(uploadAppInfo);
-// }
-//
-//
-// }
-//
-// // Log.e("mjsheng", "UploadAppInfo========" + appList.toString());
-//
-// Gson gson = new Gson();
-// String jsonString = gson.toJson(appList);
-// Log.e("mjsheng", "json========" + jsonString);
-//
-// UploadAppInfoApi uploadAppInfoApi = Network.getUploadAppInfoApi();
-// uploadAppInfoApi.getUploadAppInfoApi(Configure.HTTP_KEY, Utils.getSerial(), jsonString)
-// .subscribeOn(Schedulers.io())
-// .observeOn(AndroidSchedulers.mainThread())
-// .subscribe(new Observer() {
-// @Override
-// public void onSubscribe(Disposable d) {
-//
-// }
-//
-// @Override
-// public void onNext(ResponseBody responseBody) {
-// try {
-// Log.e("mjhseng", "上传的结果" + responseBody.string());
-// } catch (IOException e) {
-// e.printStackTrace();
-// }
-// }
-//
-// @Override
-// public void onError(Throwable e) {
-// Log.e("mjsheng", "UploadAppInfoApi=onError:");
-// }
-//
-// @Override
-// public void onComplete() {
-//
-// }
-// });
-// }
-
-
- private void initJpush() {
- JPushInterface.init(this);
- setAlias();
-
- String rid = JPushInterface.getRegistrationID(DiscardActivity.this);
- if (!rid.isEmpty()) {
-// ToastUtil.debugShow("RegId:" + rid);
- Log.e("jiguang", "RegId:" + rid);
- } else {
-// ToastUtil.show("Get registration fail, JPush init failed!");
-// Toast.makeText(this, "Get registration fail, JPush init failed!", Toast.LENGTH_SHORT).show();
- }
- JPushInterface.getAlias(this, new Random().nextInt(100));
-// JPushInterface.setAlias(this, Utils.getSerial(), new TagAliasCallback() {
-// @Override
-// public void gotResult(int i, String s, Set set) {
-// if (set == null) {
-// Log.e("mjhseng", "set is null");
-// } else {
-// Log.e("mjhseng", "set ---" + set.toString());
-// }
-// Log.e("JPushInterface", s + "---" + i + "---");
-// if (i == 0) {
-// Log.e("JPushInterface", "JPush绑定成功");
-// } else if (i == 6001) {
-// Log.e("JPushInterface", "无效的设置,用户名为空");
-// } else if (i == 6002) {
-// Log.e("JPushInterface", "设置超时,请重试");
-// timerImitate();
-// } else if (i == 6011) {
-// Log.e("JPushInterface", "短时间内操作过于频繁");
-// } else if (i == 996) {
-// Log.e("JPushInterface", "网络连接断开");
-// }
-// }
-// });
-
- }
-
- //重新设置jpush
- private void timerImitate() {
- Observable.timer(10000, TimeUnit.MILLISECONDS)
- .observeOn(rx.android.schedulers.AndroidSchedulers.mainThread())
- .subscribe(new Action1() {
- @Override
- public void call(Long aLong) {
- Log.e("JPushInterface", "JPushInterface重新加载");
- initJpush();//初始化极光推送
- HTTPInterface.setJpushTags(DiscardActivity.this);
- }
- });
- }
-
-
- // 用来计算返回键的点击间隔时间
- private long exitTime = 0;
- private long mPreClickTime;
-
- @Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
- lazyExit();
- return true;
- }
-
- return super.onKeyDown(keyCode, event);
- }
-
- private void lazyExit() {
- if (System.currentTimeMillis() - mPreClickTime > 1000) {
- ToastUtil.show("再按一次,退出");
- mPreClickTime = System.currentTimeMillis();
- } else {
- finish();
- }
- }
-
- private void getAppLimitApi() {
- AppLimitApi appLimitApi = NetInterfaceManager.getAppLimitApi();
- appLimitApi.getAppLimitApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- }
-
- @Override
- public void onNext(ResponseBody responseBody) {
- try {
- String responString = responseBody.string();
- Log.e("mjhseng", responString);
- JSONObject jsonObject = JSON.parseObject(responString);
- int code = jsonObject.getInteger("code");
- if (code == 200) {
- JSONObject data = jsonObject.getJSONObject("data");
- String result = data.getString("result");
-// writeAppPackageList(result);
- } else {
- Log.e("mjhseng", "getAppLimitApi---code is -200");
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onError(Throwable e) {
- }
-
- @Override
- public void onComplete() {
- }
- });
- }
-
-
- private void getDeselectID() {
- DeselectIDApi deselectIDApi = NetInterfaceManager.getDeselectIDApi();
- deselectIDApi.getDeselectIDApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
-
- }
-
- @Override
- public void onNext(ResponseBody responseBody) {
- try {
- String responString = responseBody.string();
- JSONObject jsonObject = JSON.parseObject(responString);
- int code = jsonObject.getInteger("code");
- if (code == 200) {
- JSONObject data = jsonObject.getJSONObject("data");
- String ids = data.getString("ids");
- String packages = data.getString("package");
- writeDeselectIDtoSystem(ids, packages);
- } else {
- Log.e("mjhseng", "getDeselectID---code is -200");
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("mjsheng", "DeselectIDApi=onError:");
- }
-
- @Override
- public void onComplete() {
-
- }
- });
- }
-
-
- private void autoUpdate(ResponseBody responseBody) {
- try {
- String responString = responseBody.string();
- JSONObject object = JSON.parseObject(responString);
- int code = object.getInteger("code");
- if (code == 200) {
- JSONObject jsonObject = object.getJSONObject("data");
- String url = jsonObject.getString("url");
- int version_code = jsonObject.getShort("version_code");
- Log.e("autoUpdate", "version_code: " + AppUtils.getAppVersionCode());
-
- if (version_code > AppUtils.getAppVersionCode()) {
- Aria.download(this)
- .load(url) //读取下载地址
- .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(url) + ".apk", true)
- .setExtendField(BuildConfig.APPLICATION_ID)
- .create(); //启动下载}}
- }
- }
- } catch (Exception e) {
- Log.e("mjhseng", "UpdateApi---woring----" + e.getMessage());
- e.printStackTrace();
- }
- }
-
- private void getDeselectBrowerID() {
- DeselectBrowserIDApi deselectBrowserIDApi = NetInterfaceManager.getDeselectBrowserIDApi();
- deselectBrowserIDApi.getDeselectBrowserIDApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("mjhseng", "getDeselectBrowerID---onSubscribe");
-
- }
-
- @Override
- public void onNext(ResponseBody responseBody) {
- try {
- String responString = responseBody.string();
- Log.e("mjhseng", "浏览器ID管控::" + responString);
- JSONObject jsonObject = JSON.parseObject(responString);
- int code = jsonObject.getInteger("code");
- if (code == 200) {
- JSONObject data = jsonObject.getJSONObject("data");
- String ids = data.getString("ids");
- writeDeselectBrowserIDtoSystem(ids);
- } else {
- Log.e("mjhseng", "getDeselectBrowerID---code is -200");
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onError(Throwable e) {
- }
-
- @Override
- public void onComplete() {
- }
- });
- }
-
- private void getNetAndLaunchSetting() {
- NetAndLaunchApi netAndLaunchApi = NetInterfaceManager.getNetAndLaunchApi();
- netAndLaunchApi.getNetAndLaunchApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("mjhseng", "getNetAndLaunchSetting---onSubscribe");
-
- }
-
- @Override
- public void onNext(NetAndLaunchBean netAndLaunchBean) {
- switch (netAndLaunchBean.getCode()) {
- case 200:
- setNetAndlaunch(netAndLaunchBean);
- break;
- default:
-// ToastUtils.showShort(netAndLaunchBean.getMsg());
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("mjsheng", "getNetAndLaunchSetting=onError:");
- }
-
- @Override
- public void onComplete() {
- Log.e("mjhseng", "getNetAndLaunchSetting---onComplete");
- }
- });
- }
-
- private void getForceDownload() {
- ForceDownloadApi forceDownloadApi = NetInterfaceManager.getForceDownloadApi();
- forceDownloadApi.getForceDownloadApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
-// Log.e("getForceDownload", "forceDownloadApi---onSubscribe");
-
- }
-
- @Override
- public void onNext(ForceDownloadBean forceDownloadBean) {
- switch (forceDownloadBean.getCode()) {
- case 200:
-// Log.e("getForceDownload", "isDownloading=" + BaseApplication.getInstance().isDownloading());
- BaseApplication.getInstance().checkIsDownloading();
- if (!BaseApplication.getInstance().isDownloading()) {
- Aria.download(this).removeAllTask(true);
- Type type = new TypeToken>() {
- }.getType();
- Gson gson = new Gson();
- List forceDownloadData = gson.fromJson(gson.toJson(forceDownloadBean.getData()), type);
- forceDownload(forceDownloadData);
- } else {
- Aria.download(this).resumeAllTask();
- }
- break;
- case -200:
- boolean qch_force_app = Settings.System.putString(DiscardActivity.this.getContentResolver(), "qch_force_app", "invalid");
-// Log.e("fht", "qch_force_app:" + qch_force_app);
- break;
- default:
-// Log.e("getForceDownload", forceDownloadBean.getMsg());
- break;
- }
- }
-
- @Override
- public void onError(Throwable e) {
-// Log.e("getForceDownload", "forceDownloadApi=onError:");
- }
-
- @Override
- public void onComplete() {
-// Log.e("getForceDownload", "forceDownloadApi---onComplete");
- }
- });
- }
-
- // private void forceDownload(List data) {
-// if (data == null || data.size() <= 0) {
-// return;
-// }
-// for(int i=0;i data) {
- if (data == null || data.size() <= 0) {
- return;
- }
- getSelfDownload(data);
- List list = new ArrayList<>();
- for (int i = 0; i < data.size(); i++) {
- ForceDownloadData forceDownloadData = data.get(i);
- String app_name = forceDownloadData.getApp_name();
- String app_package = forceDownloadData.getApp_package();
- String app_url = forceDownloadData.getApp_url();
- com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
- jsonObject.put("app_name", app_name);
- jsonObject.put("app_package", app_package);
- long app_version_code = forceDownloadData.getApp_version_code();
- Log.e("fht ", "packageName=" + app_package + ",URL= " + app_url + ",app_version_code=" + app_version_code);
- if (data.get(i).getApp_package().equals("com.jiaoguanyi.appstore")) {
- continue;//为自身的跳过下载
- }
- if (!list.contains(app_package)) {
- list.add(app_package);
- }
- PackageManager pm = getPackageManager();
- PackageInfo packageInfo = null;
- try {
- packageInfo = pm.getPackageInfo(app_package, 0);
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- Log.e("fht", "forceDownload=" + e.getMessage());
- }
- if (packageInfo != null) {
- long appVersionCode;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
- appVersionCode = packageInfo.getLongVersionCode();
- } else {
- appVersionCode = packageInfo.versionCode;
- }
- if (app_version_code > appVersionCode) {
- Log.e("fht ", "download URL " + app_url);
-// Aria.download(this)
-// .load(app_url) //读取下载地址
-// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(app_package) + ".apk", true)
-// .setExtendField(jsonObject.toJSONString())
-// .create(); //启动下载}
- Utils.ariaDownload(this, app_url, jsonObject);
- }
- } else {
- Log.e("fht ", "download URL " + app_url);
-// if (!SaveListUtils.isDownLoading(app_package)) {
-// Aria.download(this)
-// .load(app_url) //读取下载地址
-// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(app_package) + ".apk", true)
-// .setExtendField(jsonObject.toJSONString())
-// .create(); //启动下载}
- Utils.ariaDownload(this, app_url, jsonObject);
-
-// SaveListUtils.addDownLoadList(app_package);
-// }
- }
- }
- SaveListUtils.setList(list);
- SaveListUtils.sendForceAPP(this);
- }
-
- private void getSelfDownload(List forceDownloadDataList) {
- for (ForceDownloadData forceDownloadData : forceDownloadDataList) {
- if ("com.jiaoguanyi.store".equals(forceDownloadData.getApp_package())) {
- if (!AppUtils.isAppInstalled("com.jiaoguanyi.store")) {
- com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
- jsonObject.put("app_name", forceDownloadData.getApp_name());
- jsonObject.put("app_package", forceDownloadData.getApp_package());
-// Aria.download(this)
-// .load(forceDownloadData.getApp_url()) //读取下载地址
-// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString("com.jiaoguanyi.store") + ".apk", true)
-// .setExtendField(jsonObject.toJSONString())
-// .create(); //启动下载}
- Utils.ariaDownload(this, forceDownloadData.getApp_url(), jsonObject);
-
- }
- } else {
-// Log.e("fht", "未上传应用");
- }
- }
- }
-
- private void setNetAndlaunch(NetAndLaunchBean netAndLaunchBean) {
- Log.e("setNetAndlaunch", netAndLaunchBean.toString());
- String net_ok = "";
- String net_not = "";
- String launch = "";
- String camera_ok = "";
- String camera_not = "";
- String upgrade_ok = "";
- String upgrade_not = "";
- String slide_ok = "";
- String slide_not = "";
-
- List data = netAndLaunchBean.getData();
- for (int i = 0; i < data.size(); i++) {
- NetAndLaunchData netAndLaunchData = data.get(i);
- String app_package = netAndLaunchData.getApp_package();
- int is_auto = netAndLaunchData.getIs_auto();
- int is_network = netAndLaunchData.getIs_network();
- int is_camera = netAndLaunchData.getIs_camera();
- int is_upgrade = netAndLaunchData.getIs_upgrade();
- int is_slide = netAndLaunchData.getIs_slide();
-
- if (is_auto == 1) {
- launch += app_package + ",";
- }
- if (is_network == 1) {
- net_ok += app_package + ",";
- } else {
- net_not += app_package + ",";
- }
-
- if (is_camera == 1) {
- camera_ok += app_package + ",";
- } else {
- camera_not += app_package + ",";
- }
- if (is_upgrade == 1) {
- upgrade_ok += app_package + ",";
- } else {
- upgrade_not += app_package + ",";
- }
- if (is_slide == 1) {
- slide_ok += app_package + ",";
- } else {
- slide_not += app_package + ",";
- }
- }
-
- if (!TextUtils.isEmpty(launch)) {
- launch = launch.substring(0, launch.length() - 1);
- }
- if (!TextUtils.isEmpty(net_ok)) {
- net_ok = net_ok.substring(0, net_ok.length() - 1);
- }
- if (!TextUtils.isEmpty(net_not)) {
- net_not = net_not.substring(0, net_not.length() - 1);
- }
- if (!TextUtils.isEmpty(camera_ok)) {
- camera_ok = camera_ok.substring(0, camera_ok.length() - 1);
- }
- if (!TextUtils.isEmpty(camera_not)) {
- camera_not = camera_not.substring(0, camera_not.length() - 1);
- }
- if (!TextUtils.isEmpty(upgrade_ok)) {
- upgrade_ok = upgrade_ok.substring(0, upgrade_ok.length() - 1);
- }
- if (!TextUtils.isEmpty(upgrade_not)) {
- upgrade_not = upgrade_not.substring(0, upgrade_not.length() - 1);
- }
- if (!TextUtils.isEmpty(slide_ok)) {
- slide_ok = slide_ok.substring(0, slide_ok.length() - 1);
- }
- if (!TextUtils.isEmpty(slide_not)) {
- slide_not = slide_not.substring(0, slide_not.length() - 1);
- boolean writeSucceed = Settings.System.putString(this.getContentResolver(), "qch_disable_slide", slide_not);
- Log.e("setNetAndlaunch", "qch_disable_slide=" + writeSucceed + ":" + slide_not);
- } else {
- boolean writeSucceed = Settings.System.putString(this.getContentResolver(), "qch_disable_slide", "Invalid");
- Log.e("setNetAndlaunch", "qch_disable_slide ok=" + writeSucceed + ":" + slide_ok);
- }
- Utils.writeDisableUpdateList(this, upgrade_not.split(","), upgrade_ok.split(","));
-
- Log.e("setNetAndlaunch", "launch:" + launch + "-----------net_ok:" + net_ok + "-----------net_not:" + net_not);
- boolean qch_app_power_on = Settings.System.putString(DiscardActivity.this.getContentResolver(), "qch_app_power_on", launch);
-// Intent netControlIntent = new Intent(CommonDatas.ACTION_HrReceiver_JGY_DIS);
-// netControlIntent.putExtra("package_name", net_not);
-// sendBroadcast(netControlIntent);
-//
-// Intent netControlNotIntent = new Intent(CommonDatas.ACTION_HrReceiver_JGY);
-// netControlNotIntent.putExtra("package_name", net_ok);
-// sendBroadcast(netControlNotIntent);
- if (!net_not.equals("")) {
- String[] bans = net_not.split(",");
-// Settings.System.putString(getContentResolver(), JGYActions.ACTION_HrReceiver_JGY_DIS, net_not);
- Log.e("setNetAndlaunch", "ban::" + net_not);
-
- }
- BaseApplication.getInstance().setFinished(true);
- if (!net_ok.equals("")) {
- String[] nots = net_ok.split(",");
-// Settings.System.putString(getContentResolver(), JGYActions.ACTION_HrReceiver_JGY, net_ok);
- Log.e("setNetAndlaunch", "not::" + net_ok);
- }
-// Intent intent2 = new Intent("qch_camera_forbid");
-// intent2.putExtra("camera_package_name", camera_not).setPackage("com.android.settings");
-// sendBroadcast(intent2);
-// Intent intent1 = new Intent("qch_camera_open");
-// intent1.putExtra("camera_package_name", camera_ok).setPackage("com.android.settings");
-// sendBroadcast(intent1);
- }
-
- private void writeDeselectBrowserIDtoSystem(String ids) {
- if (!TextUtils.isEmpty(ids)) {
- boolean deselectBrowserArray = Settings.System.putString(getContentResolver(), "DeselectBrowserArray", ids);
- Log.e("SystemSetting", "DeselectBrowserArray---------" + deselectBrowserArray);
-
-
- } else {
- Log.e("mjsheng", "writeDeselectBrowserIDtoSystem is null:");
-
- }
- }
-
- /**
- * @param s1 需要管控的ID
- * @param result 应用程序包名
- */
- private void writeDeselectIDtoSystem(String s1, String result) {
- if (!TextUtils.isEmpty(s1) && !TextUtils.isEmpty(result)) {
- String appstore = "com.jiaoguanyi.appstore";
- String store = "com.jiaoguanyi.store";
- Log.e("writeDeselectIDtoSystem", result);
- if (!result.contains(appstore)) {
- result = result + "," + appstore;
- }
- if (!result.contains(store)) {
- result = result + "," + store;
- }
- String olddeselectViewArray = Settings.System.getString(this.getContentResolver(), "qch_app_forbid_id");
- Log.e("SystemSetting", "olddeselectViewArray---------" + olddeselectViewArray);
- Settings.System.putString(this.getContentResolver(), "qch_app_forbid_id", result);
- Settings.System.putString(this.getContentResolver(), "DeselectViewArray", s1);
- Log.e("qch_app_forbid_id", "qch_app_forbid_id---------" + result);
- Log.e("SystemSetting", "deselectViewArray---------" + s1);
- } else {
- Log.e("mjsheng", "writeDeselectIDtoSystem is null:");
- Settings.System.putString(this.getContentResolver(), "DeselectViewArray", "Invalid");
- }
- }
-
- private void getSystemSetting() {
- final SystemSettingApi systemSettingApi = NetInterfaceManager.getSystemSettingApi();
- systemSettingApi.getSystemSettingApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- }
-
- @Override
- public void onNext(ResponseBody responseBody) {
- try {
- // Log.e("mjsheng", "systemSettingBean::" + systemSettingBean);
- String responString = responseBody.string();
- Log.e("getSystemSetting", "系统管控::" + responString);
- JSONObject jsonObject = JSON.parseObject(responString);
- int code = jsonObject.getInteger("code");
- if (code == 200) {
- JSONObject data = jsonObject.getJSONObject("data");
- SettingSysData(data);
- } else {
- Log.e("getSystemSetting", "getSystemSetting---code is -200");
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void onError(Throwable e) {
- }
-
- @Override
- public void onComplete() {
- }
- });
- }
-
- private void SettingSysData(JSONObject data) {
- SPUtils.put(DiscardActivity.this, "first_connect", 1);
-// SysSettingUtils.setSystemSetting(DiscardActivity.this, data.toString());
-
-//// try {
-// int setting_call = changeNum(data.optInt("setting_call"));
-// boolean qch_call_forbid = Settings.System.putInt(getContentResolver(), "qch_call_forbid", setting_call);
-// Log.e("SystemSetting", "qch_call_forbid---------" + qch_call_forbid);
-//
-// int setting_phone = changeNum(data.optInt("setting_phone"));
-// boolean qch_white_list_on = Settings.System.putInt(getContentResolver(), "qch_white_list_on", setting_phone);
-// Log.e("SystemSetting", "qch_white_list_on---------" + qch_white_list_on);
-//
-// String setting_phones = data.optString("setting_phones");
-// boolean qch_white_list_Array = Settings.System.putString(getContentResolver(), "qch_white_list_Array", setting_phones);
-// // ToastTool.show("qch_call_forbid::"+setting_call+"----setting_phones::"+setting_phones+"----"+qch_white_list_Array+"---"+qch_call_forbid);
-// Log.e("SystemSetting", "qch_white_list_Array---------" + qch_white_list_Array + "---" + setting_phones);
-//
-// int setting_memory = changeNum(data.optInt("setting_memory"));
-// boolean qch_sdcard_forbid_on = Settings.System.putInt(getContentResolver(), "qch_sdcard_forbid_on", setting_memory);
-// Log.e("SystemSetting", "qch_sdcard_forbid_on---------" + qch_sdcard_forbid_on);
-//
-//
-// //USB数据功能管控
-// //仅充电:usb_charge
-// //MTP模式:usb_mtp
-// //Midi模式:usb_midi
-// String setting_usb = data.optString("setting_usb");
-// if (!BuildConfig.DEBUG) {
-// boolean qch_usb_choose = Settings.System.putString(getContentResolver(), "qch_usb_choose", setting_usb);
-// Log.e("SystemSetting", "qch_usb_choose---------" + qch_usb_choose);
-// String usbStatus = "";
-// switch (setting_usb) {
-// case "usb_charge":
-// usbStatus = "qch_action_usb_usb_charge";
-// break;
-// case "usb_mtp":
-// usbStatus = "qch_action_usb_usb_mtp";
-// break;
-// case "usb_midi":
-// usbStatus = "qch_action_usb_usb_midi";
-// break;
-//
-// }
-// Intent usbIntent = new Intent(usbStatus).setPackage("com.android.settings");
-// sendBroadcast(usbIntent);
-// }
-//
-//
-// //otg开关
-//// int setting_otg = changeNum(data.optInt("setting_otg"));
-//// Log.e("SystemSetting", "setting_otg---------" + setting_otg);
-//// String otgStatus = "";
-//// switch (setting_otg) {
-//// case 0:
-//// otgStatus = "qch_otg_open";
-//// break;
-//// case 1:
-//// otgStatus = "qch_otg_forbid";
-//// break;
-//// }
-//// Intent otgIntent = new Intent(otgStatus);
-//// sendBroadcast(otgIntent);
-//
-// //蓝牙开关
-// int setting_bht = changeNum(data.optInt("setting_bht"));//总开关
-// int setting_bhtvideo = changeNum(data.optInt("setting_bhtvideo"));//蓝牙音频开关
-// int setting_bluetooth = changeNum(data.optInt("setting_bluetooth"));//蓝牙传输开关
-//
-// boolean qch_bht_forbid_on = Settings.System.putInt(getContentResolver(), "qch_bht_forbid_on", setting_bht);//写入系统数据库
-// Log.e("SystemSetting", "qch_bht_forbid_on:" + qch_bht_forbid_on);
-// if (qch_bht_forbid_on) {//成功
-// if (null == mBluetoothAdapter) {
-// mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();//获取默认蓝牙适配器
-// }
-// if (setting_bht == 0) {//蓝牙总开关开启
-// String setting_context = data.optString("setting_context");//
-// if (setting_bhtvideo == 0) {
-// if (null != setting_context && !setting_context.equals("") && !setting_context.equals(" ") && !setting_context.equals("null")) {
-// Log.e("SystemSetting", "setting_context:" + setting_context);
-// Settings.System.putString(getContentResolver(), "qch_bhtvideo_forbid_on", setting_context);
-// } else {
-// Settings.System.putString(getContentResolver(), "qch_bhtvideo_forbid_on", "Empty");
-// }
-// } else if (setting_bhtvideo == 1) {
-// Settings.System.putString(getContentResolver(), "qch_bhtvideo_forbid_on", "Empty");
-// }
-// Settings.System.putInt(getContentResolver(), "qch_bt_forbid_on", setting_bluetooth);
-// } else {
-// mBluetoothAdapter.disable();//设置关闭时关闭蓝牙
-// }
-//
-// }
-//
-// //热点
-//// ConnectivityManager mConnectivityManager =(ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
-//// mConnectivityManager.stopTethering(ConnectivityManager.TETHERING_WIFI);
-//// try {
-//// Method method = mConnectivityManager.getClass().getMethod("stopTethering", Integer.TYPE);
-//// method.invoke(mConnectivityManager, 0);
-//// } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
-//// e.printStackTrace();
-//// }
-//
-//// ConnectivityManager connManager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
-////
-//// Field iConnMgrField = null;
-//// try {
-//// iConnMgrField = connManager.getClass().getDeclaredField("mService");
-//// iConnMgrField.setAccessible(true);
-//// Object iConnMgr = iConnMgrField.get(connManager);
-//// Class> iConnMgrClass = Class.forName(iConnMgr.getClass().getName());
-////
-////// if(isEnable){
-////// Method startTethering = iConnMgrClass.getMethod("startTethering", int.class, ResultReceiver.class, boolean.class,String.class);
-////// startTethering.invoke(iConnMgr, 0, null, true,context.getPackageName());
-////// }else{
-//// Method startTethering = iConnMgrClass.getMethod("stopTethering", int.class, String.class);
-//// startTethering.invoke(iConnMgr, 0, getPackageName());
-////// }
-////
-//// } catch (NoSuchFieldException e) {
-//// e.printStackTrace();
-//// } catch (NoSuchMethodException e) {
-//// e.printStackTrace();
-//// } catch (IllegalAccessException e) {
-//// e.printStackTrace();
-//// } catch (InvocationTargetException e) {
-//// e.printStackTrace();
-//// } catch (ClassNotFoundException e) {
-//// e.printStackTrace();
-//// }
-//
-// int setting_hotspot = changeNum(data.optInt("setting_hotspot"));
-// if (setting_hotspot == 1) {
-// Intent intent = new Intent();
-// intent.setAction("qch_hotspot_close");
-// intent.setPackage("com.android.settings");
-// sendStickyBroadcast(intent);
-// }
-// boolean qch_hotspot_forbid_on = Settings.System.putInt(getContentResolver(), "qch_hotspot_forbid_on", setting_hotspot);//写入系统数据库
-// Log.e("SystemSetting", "qch_hotspot_forbid_on---------" + setting_hotspot);
-// Log.e("SystemSetting", "qch_hotspot_forbid_on---------" + qch_hotspot_forbid_on);
-//
-// //系统导航条显示开关
-// int setting_navigation = changeNum(data.optInt("setting_navigation"));
-// boolean qch_hide_navigationBar = Settings.System.putInt(getContentResolver(), "qch_hide_NavigationBar", setting_navigation);
-// Log.e("SystemSetting", "qch_hide_navigationBar---------" + qch_hide_navigationBar);
-//
-// String navigationStatus = "";
-// switch (setting_navigation) {
-// case 0:
-// navigationStatus = "qch_show_NavigationBar";
-// break;
-// case 1:
-// navigationStatus = "qch_hide_NavigationBar";
-// break;
-//
-// }
-// Intent navIntent = new Intent(navigationStatus).setPackage("com.android.systemui");
-// sendBroadcast(navIntent);
-//
-//
-// //状态栏显示开关
-// int setting_statusbar = changeNum(data.optInt("setting_statusbar"));
-// int oldNum = Settings.System.getInt(MainActivity.this.getContentResolver(), "qch_hide_statusBar", 0);
-// if (oldNum != setting_statusbar) {
-// boolean qch_hide_statusBar = Settings.System.putInt(MainActivity.this.getContentResolver(), "qch_hide_statusBar", setting_statusbar);
-// Log.e("SystemSetting", "qch_hide_statusBar---------" + qch_hide_statusBar);
-// String statusbarStatus = "";
-// switch (setting_statusbar) {
-// case 0:
-// statusbarStatus = "qch_show_statusBar";
-// break;
-// case 1:
-// statusbarStatus = "qch_hide_statusBar";
-// break;
-// }
-// Intent statusIntent = new Intent(statusbarStatus).setPackage("com.android.systemui");
-// MainActivity.this.sendBroadcast(statusIntent);
-// }
-//
-// //摄像头开关
-// int setting_camera = changeNum(data.optInt("setting_camera"));
-// Settings.System.putInt(MainActivity.this.getContentResolver(), "qch_app_camera", setting_camera);
-//// ApkUtils.hideSystemSettingAPP(MainActivity.this, "com.mediatek.camera");
-// Log.e("SystemSetting", "setting_camera---------" + setting_camera);
-// String cameraStatus = "";
-// switch (setting_camera) {
-// case 0:
-// cameraStatus = "qch_camera_open";
-// break;
-// case 1:
-// cameraStatus = "qch_camera_forbid";
-// break;
-// }
-// Intent cameraIntent = new Intent(cameraStatus).setPackage("com.android.settings");
-// sendBroadcast(cameraIntent);
-//
-// //added:2019.12.6
-// //设置5个app的开关
-// //时钟
-// int deskclock = changeNum(data.optInt("setting_clock"));
-// Settings.System.putInt(MainActivity.this.getContentResolver(), "qch_app_deskclock", deskclock);
-// ApkUtils.hideSystemSettingAPP(MainActivity.this, "com.android.deskclock");
-// Log.e("SystemSetting", "qch_app_deskclock" + deskclock);
-// //录音机
-// int soundrecorder = changeNum(data.optInt("setting_recording"));
-// Settings.System.putInt(MainActivity.this.getContentResolver(), "qch_app_soundrecorder", soundrecorder);
-// ApkUtils.hideSystemSettingAPP(MainActivity.this, "com.android.soundrecorder");
-// Log.e("SystemSetting", "qch_app_soundrecorder" + soundrecorder);
-// //音乐
-// int music = changeNum(data.optInt("setting_music"));
-// Settings.System.putInt(MainActivity.this.getContentResolver(), "qch_app_music", music);
-// ApkUtils.hideSystemSettingAPP(MainActivity.this, "com.android.music");
-// Log.e("SystemSetting", "qch_app_music" + music);
-// //图库
-// int gallery = changeNum(data.optInt("setting_picture"));
-// Settings.System.putInt(MainActivity.this.getContentResolver(), "qch_app_gallery", gallery);
-// ApkUtils.hideSystemSettingAPP(MainActivity.this, "com.android.gallery3d");
-// Log.e("SystemSetting", "qch_app_gallery" + gallery);
-// //壁纸
-// int wallpaper = changeNum(data.optInt("setting_wallpaper"));
-// Settings.System.putInt(MainActivity.this.getContentResolver(), "qch_app_wallpaper", wallpaper);
-// Log.e("SystemSetting", "qch_app_wallpaper" + wallpaper);
-// //文件管理器
-// int filemanager = changeNum(data.optInt("setting_file"));
-// Settings.System.putInt(MainActivity.this.getContentResolver(), "qch_app_filemanager", filemanager);
-// if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
-// ApkUtils.hideSystemSettingAPP(MainActivity.this, "com.mediatek.filemanager");
-// } else {
-// ApkUtils.hideSystemSettingAPP(MainActivity.this, "com.android.documentsui");
-// }
-// Log.e("SystemSetting", "qch_app_filemanager" + filemanager);
-//
-//// } catch (Exception e) {
-//// e.printStackTrace();
-//// Log.e("mjhseng", "SettingSysData---2error::" + e.getMessage());
-//// }
- }
-}
diff --git a/app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java b/app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java
index 8420543..b133b43 100644
--- a/app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java
+++ b/app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java
@@ -196,6 +196,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
public void setLockedState(boolean loocked) {
if (loocked) {
iv_locked.setVisibility(View.VISIBLE);
+ iv_locked.setImageDrawable(getDrawable(R.drawable.locked));
//上传APP信息
ApkUtils.getAppInfo(this);
if (netWorkIsRunning || MainService.netWorkIsRunning) {
@@ -211,7 +212,8 @@ public class MainActivity extends BaseActivity implements MainContact.MainView {
mPresenter.getSystemSettingbegin();
netWorkIsRunning = true;
} else {
- iv_locked.setVisibility(View.GONE);
+ iv_locked.setVisibility(View.VISIBLE);
+ iv_locked.setImageDrawable(getDrawable(R.drawable.unlock));
netWorkIsRunning = false;
SysSettingUtils.setEnableSetting(this);
}
diff --git a/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java b/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java
index d350329..19bf18c 100644
--- a/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java
+++ b/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java
@@ -105,7 +105,7 @@ public class MainPresenter implements MainContact.Presenter {
@Override
public void onNext(@NonNull BaseResponse studentsInfoBaseResponse) {
- Log.e("getStudesInfo", "onNext: ");
+ Log.e("getStudesInfo", "onNext: " + studentsInfoBaseResponse.data);
if (studentsInfoBaseResponse.code == OK) {
String sno = studentsInfoBaseResponse.data.getSno();
String realname = studentsInfoBaseResponse.data.getRealname();
@@ -1458,7 +1458,7 @@ public class MainPresenter implements MainContact.Presenter {
@Override
public void onNext(@NonNull BaseResponse logoImgBaseResponse) {
- Log.e("setLogoImg", "onNext: ");
+ Log.e("setLogoImg", "onNext: " + logoImgBaseResponse.data);
if (logoImgBaseResponse.code == OK) {
LogoImg logoImg = logoImgBaseResponse.data;
String file_url = logoImg.getFile_url();
@@ -1470,7 +1470,8 @@ public class MainPresenter implements MainContact.Presenter {
JGYUtils.getInstance().checkBootFile(file_url, file_md5);
}
} else {
- Log.e("setLogoImg", "onNext: ");
+ Log.e("setLogoImg", "onNext: delete");
+ JGYUtils.getInstance().removeBootanimation();
}
}
diff --git a/app/src/main/java/com/mjsheng/myappstore/bean/LogoImg.java b/app/src/main/java/com/mjsheng/myappstore/bean/LogoImg.java
index 9f820e8..ca157f7 100644
--- a/app/src/main/java/com/mjsheng/myappstore/bean/LogoImg.java
+++ b/app/src/main/java/com/mjsheng/myappstore/bean/LogoImg.java
@@ -1,5 +1,7 @@
package com.mjsheng.myappstore.bean;
+import androidx.annotation.NonNull;
+
import java.io.Serializable;
public class LogoImg implements Serializable {
@@ -31,4 +33,10 @@ public class LogoImg implements Serializable {
public void setBatch(String batch) {
this.batch = batch;
}
+
+ @NonNull
+ @Override
+ public String toString() {
+ return "file_url:" + file_url + "," + "file_md5:" + file_md5;
+ }
}
diff --git a/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java b/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java
index 844aa68..bcb9ba5 100644
--- a/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java
+++ b/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java
@@ -417,8 +417,10 @@ public class HTTPInterface {
synchronized public static void getAppinsideWeb(Context context, GetAppinsideWebCallback callback) {
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.MTKPlatform) {
+ Log.e(TAG, "getAppinsideWeb: "+ "setAppinsideWeb");
setAppinsideWeb(callback);
- }else {
+ } else {
+ Log.e(TAG, "getAppinsideWeb: "+ "setNewAppinsideWeb");
setNewAppinsideWeb(callback);
}
}
@@ -951,9 +953,10 @@ public class HTTPInterface {
String msg = jsonObject.getString("msg");
String data = jsonObject.getString("data");
ApkUtils.showAllAPP(context);
+ ApkUtils.addShortcut(context);
Logger.e("setHideDesktopIcon", "data: " + data);
if (code == 200) {
- if (data != null && !"".equals(data)) {
+ if (!TextUtils.isEmpty(data)) {
List newList = Arrays.asList(data.split(","));//新的list
PackageManager pm = context.getPackageManager();
for (String pack : newList) {
diff --git a/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java b/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java
index ad5f22f..600cc6e 100644
--- a/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java
+++ b/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java
@@ -11,6 +11,7 @@ import com.mjsheng.myappstore.server.GuardService;
import com.mjsheng.myappstore.server.LogcatService;
import com.mjsheng.myappstore.server.MainService;
import com.mjsheng.myappstore.server.StepService;
+import com.mjsheng.myappstore.utils.BootManager;
import com.mjsheng.myappstore.utils.JGYUtils;
import com.mjsheng.myappstore.utils.SPUtils;
@@ -25,13 +26,8 @@ public class BootReceiver extends BroadcastReceiver {
default:
break;
case Intent.ACTION_BOOT_COMPLETED:
- String packageList = Settings.System.getString(context.getContentResolver(), "qch_launcher_icon_app");
- if (TextUtils.isEmpty(packageList)) {
- Settings.System.putString(context.getContentResolver(), "qch_launcher_icon_app", "");
- }
startService(context);
- SPUtils.put(context, JGYUtils.JGY_APPINSIDE_FIRST_WRITE, 0);
- JGYUtils.getInstance().onBootSendNetwork();
+ new BootManager(context).start();
break;
case BOOT_COMPLETED:
case Intent.ACTION_BATTERY_CHANGED:
diff --git a/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java b/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java
index a3f56ea..56a5e36 100644
--- a/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java
+++ b/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java
@@ -377,244 +377,6 @@ public class MyJPushReceiver extends BroadcastReceiver {
context.sendBroadcast(intent);
}
- private BluetoothAdapter mBluetoothAdapter;
-
- private void SettingSysData(String extras) {
-// SysSettingUtils.setSystemSetting(mContext, extras);
-// try {
-// JSONObject data = new JSONObject(extras);
-// int setting_call = changeNum(data.optInt("setting_call"));
-// boolean qch_call_forbid = Settings.System.putInt(mContext.getContentResolver(), "qch_call_forbid", setting_call);
-// Log.e("SystemSetting", "qch_call_forbid---------" + setting_call);
-// Log.e("SystemSetting", "qch_call_forbid---------" + qch_call_forbid);
-//
-// int setting_phone = changeNum(data.optInt("setting_phone"));
-// boolean qch_white_list_on = Settings.System.putInt(mContext.getContentResolver(), "qch_white_list_on", setting_phone);
-// Log.e("SystemSetting", "qch_call_forbid---------" + setting_phone);
-// Log.e("SystemSetting", "qch_white_list_on---------" + qch_white_list_on);
-//
-// String setting_phones = data.optString("setting_phones");
-// boolean qch_white_list_Array = Settings.System.putString(mContext.getContentResolver(), "qch_white_list_Array", setting_phones);
-// Log.e("SystemSetting", "qch_call_forbid---------" + setting_phones);
-// // ToastTool.show("qch_call_forbid::"+setting_call+"----setting_phones::"+setting_phones+"----"+qch_white_list_Array+"---"+qch_call_forbid);
-// Log.e("SystemSetting", "qch_white_list_Array---------" + qch_white_list_Array + "---" + setting_phones);
-//
-// int setting_memory = changeNum(data.optInt("setting_memory"));
-// boolean qch_sdcard_forbid_on = Settings.System.putInt(mContext.getContentResolver(), "qch_sdcard_forbid_on", setting_memory);
-// Log.e("SystemSetting", "qch_sdcard_forbid_on---------" + setting_memory);
-// Log.e("SystemSetting", "qch_sdcard_forbid_on---------" + qch_sdcard_forbid_on);
-//
-//
-// //USB数据功能管控
-// //仅充电:usb_charge
-// //MTP模式:usb_mtp
-// //Midi模式:usb_midi
-// String setting_usb = data.optString("setting_usb");
-// if (!BuildConfig.DEBUG) {
-// boolean qch_usb_choose = Settings.System.putString(mContext.getContentResolver(), "qch_usb_choose", setting_usb);
-// Log.e("SystemSetting", "qch_usb_choose---------" + setting_usb);
-// Log.e("SystemSetting", "qch_usb_choose---------" + qch_usb_choose);
-// String usbStatus = "";
-// switch (setting_usb) {
-// case "usb_charge":
-// usbStatus = "qch_action_usb_usb_charge";
-// break;
-// case "usb_mtp":
-// usbStatus = "qch_action_usb_usb_mtp";
-// break;
-// case "usb_midi":
-// usbStatus = "qch_action_usb_usb_midi";
-// break;
-// }
-// Intent usbIntent = new Intent(usbStatus).setPackage("com.android.settings");
-// mContext.sendBroadcast(usbIntent);
-// }
-//
-// //otg开关
-//// int setting_otg = changeNum(data.optInt("setting_otg"));
-//// Log.e("SystemSetting", "setting_otg---------" + setting_otg);
-//// String otgStatus = "";
-//// switch (setting_otg) {
-//// case 0:
-//// otgStatus = "qch_otg_open";
-//// break;
-//// case 1:
-//// otgStatus = "qch_otg_forbid";
-//// break;
-//// }
-//// Intent otgIntent = new Intent(otgStatus);
-//// mContext.sendBroadcast(otgIntent);
-//
-// //蓝牙开关
-// int setting_bht = changeNum(data.optInt("setting_bht"));//总开关
-// int setting_bhtvideo = changeNum(data.optInt("setting_bhtvideo"));//蓝牙音频开关
-// int setting_bluetooth = changeNum(data.optInt("setting_bluetooth"));//蓝牙传输开关
-//
-// boolean qch_bht_forbid_on = Settings.System.putInt(this.mContext.getContentResolver(), "qch_bht_forbid_on", setting_bht);//写入系统数据库
-// Log.e("SystemSetting", "qch_bht_forbid_on:" + qch_bht_forbid_on);
-// if (qch_bht_forbid_on) {//成功
-// if (null == mBluetoothAdapter) {
-// mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();//获取默认蓝牙适配器
-// }
-// if (setting_bht == 0) {//蓝牙总开关开启
-// String setting_context = data.optString("setting_context");//
-// if (setting_bhtvideo == 0) {
-// if (null != setting_context && !setting_context.equals("") && !setting_context.equals(" ") && !setting_context.equals("null")) {
-// Log.e("SystemSetting", "setting_context:" + setting_context);
-// Settings.System.putString(this.mContext.getContentResolver(), "qch_bhtvideo_forbid_on", setting_context);
-// } else {
-// Settings.System.putString(this.mContext.getContentResolver(), "qch_bhtvideo_forbid_on", "Empty");
-// }
-// } else if (setting_bhtvideo == 1) {
-// Settings.System.putString(this.mContext.getContentResolver(), "qch_bhtvideo_forbid_on", "Empty");
-// }
-// Settings.System.putInt(this.mContext.getContentResolver(), "qch_bt_forbid_on", setting_bluetooth);
-// } else {
-// mBluetoothAdapter.disable();//设置关闭时关闭蓝牙
-// }
-//
-// }
-//
-// int setting_hotspot = changeNum(data.optInt("setting_hotspot"));//热点
-// if (setting_hotspot == 1) {
-// Intent intent = new Intent();
-// intent.setAction("qch_hotspot_close");
-// intent.setPackage("com.android.settings");
-// this.mContext.sendStickyBroadcast(intent);
-// }
-// boolean qch_hotspot_forbid_on = Settings.System.putInt(this.mContext.getContentResolver(), "qch_hotspot_forbid_on", setting_hotspot);//写入系统数据库
-// Log.e("SystemSetting", "qch_hotspot_forbid_on---------" + setting_hotspot);
-// Log.e("SystemSetting", "qch_hotspot_forbid_on---------" + qch_hotspot_forbid_on);
-//
-//
-// //系统导航条显示开关
-// int setting_navigation = changeNum(data.optInt("setting_navigation"));
-// boolean qch_hide_navigationBar = Settings.System.putInt(mContext.getContentResolver(), "qch_hide_NavigationBar", setting_navigation);
-// Log.e("SystemSetting", "qch_hide_navigationBar---------" + setting_navigation);
-// Log.e("SystemSetting", "qch_hide_navigationBar---------" + qch_hide_navigationBar);
-//
-// String navigationStatus = "";
-// switch (setting_navigation) {
-// case 0:
-// navigationStatus = "qch_show_NavigationBar";
-// break;
-// case 1:
-// navigationStatus = "qch_hide_NavigationBar";
-// break;
-//
-// }
-// Intent navIntent = new Intent(navigationStatus).setPackage("com.android.systemui");
-// mContext.sendBroadcast(navIntent);
-//
-//
-// //状态栏显示开关
-// int setting_statusbar = changeNum(data.optInt("setting_statusbar"));
-// int oldNum = Settings.System.getInt(mContext.getContentResolver(), "qch_hide_statusBar", 0);
-// if (oldNum != setting_statusbar) {
-// boolean qch_hide_statusBar = Settings.System.putInt(mContext.getContentResolver(), "qch_hide_statusBar", setting_statusbar);
-// Log.e("SystemSetting", "qch_hide_statusBar---------" + qch_hide_statusBar);
-// String statusbarStatus = "";
-// switch (setting_statusbar) {
-// case 0:
-// statusbarStatus = "qch_show_statusBar";
-// break;
-// case 1:
-// statusbarStatus = "qch_hide_statusBar";
-// break;
-// }
-// Intent statusIntent = new Intent(statusbarStatus).setPackage("com.android.systemui");
-// mContext.sendBroadcast(statusIntent);
-// }
-//
-// //摄像头开关
-// int setting_camera = changeNum(data.optInt("setting_camera"));
-// Settings.System.putInt(this.mContext.getContentResolver(), "qch_app_camera", setting_camera);
-//// ApkUtils.hideSystemSettingAPP(this.mContext, "com.mediatek.camera");
-// Log.e("SystemSetting", "setting_camera---------" + setting_camera);
-// String cameraStatus = "";
-// switch (setting_camera) {
-// case 0:
-// cameraStatus = "qch_camera_open";
-// break;
-// case 1:
-// cameraStatus = "qch_camera_forbid";
-// break;
-// }
-// Intent cameraIntent = new Intent(cameraStatus).setPackage("com.android.settings");
-// mContext.sendBroadcast(cameraIntent);
-//
-// //影音管控开关
-// int setting_tfmedia = changeNum(data.optInt("setting_tfmedia"));
-// Settings.System.putInt(this.mContext.getContentResolver(), "qch_tfmedia_forbid", setting_tfmedia);
-// Log.e("SystemSetting", "qch_tfmedia_forbid---------" + setting_tfmedia);
-//
-// if (setting_tfmedia == 1) {
-// JSONArray jSONArray = null;
-// try {
-// jSONArray = data.getJSONArray("setting_tfmedia_format");
-//
-// int i = 0;
-// StringBuffer stringBuffer = new StringBuffer();
-// while (!jSONArray.isNull(i)) {
-// stringBuffer.append(jSONArray.getString(i));
-// stringBuffer.append(",");
-// i++;
-// }
-// stringBuffer.deleteCharAt(stringBuffer.length() - 1);
-// String s = Settings.System.getString(this.mContext.getContentResolver(), "qch_tfmedia_filetypes");//影音管控
-// Log.e("SystemSetting", "qch_tfmedia_filetypes old" + s);
-// boolean b = Settings.System.putString(this.mContext.getContentResolver(), "qch_tfmedia_filetypes", stringBuffer.toString());//影音管控
-// Log.e("SystemSetting", "qch_tfmedia_filetypes---------" + b + ":" + stringBuffer.toString());
-//
-// } catch (JSONException e) {
-// Log.e("SystemSetting", "qch_tfmedia_filetypes---------" + e.getMessage());
-//
-// }
-// } else {
-// Settings.System.putInt(this.mContext.getContentResolver(), "qch_tfmedia_forbid", 0);
-// }
-// //added:2019.12.6
-// //设置5个app的开关
-// //时钟
-// int deskclock = changeNum(data.optInt("setting_clock"));
-// Settings.System.putInt(this.mContext.getContentResolver(), "qch_app_deskclock", deskclock);
-// ApkUtils.hideSystemSettingAPP(this.mContext, "com.android.deskclock");
-// Log.e("SystemSetting", "qch_app_deskclock" + deskclock);
-// //录音机
-// int soundrecorder = changeNum(data.optInt("setting_recording"));
-// Settings.System.putInt(this.mContext.getContentResolver(), "qch_app_soundrecorder", soundrecorder);
-// ApkUtils.hideSystemSettingAPP(this.mContext, "com.android.soundrecorder");
-// Log.e("SystemSetting", "qch_app_soundrecorder" + soundrecorder);
-// //音乐
-// int music = changeNum(data.optInt("setting_music"));
-// Settings.System.putInt(this.mContext.getContentResolver(), "qch_app_music", music);
-// ApkUtils.hideSystemSettingAPP(this.mContext, "com.android.music");
-// Log.e("SystemSetting", "qch_app_music" + music);
-// //图库
-// int gallery = changeNum(data.optInt("setting_picture"));
-// Settings.System.putInt(this.mContext.getContentResolver(), "qch_app_gallery", gallery);
-// ApkUtils.hideSystemSettingAPP(this.mContext, "com.android.gallery3d");
-// Log.e("SystemSetting", "qch_app_gallery" + gallery);
-// //壁纸
-// int wallpaper = changeNum(data.optInt("setting_wallpaper"));
-// Settings.System.putInt(this.mContext.getContentResolver(), "qch_app_wallpaper", wallpaper);
-// Log.e("SystemSetting", "qch_app_wallpaper" + wallpaper);
-// //文件管理器
-// int filemanager = changeNum(data.optInt("setting_file"));
-// Settings.System.putInt(this.mContext.getContentResolver(), "qch_app_filemanager", filemanager);
-// if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
-// ApkUtils.hideSystemSettingAPP(this.mContext, "com.mediatek.filemanager");
-// } else {
-// ApkUtils.hideSystemSettingAPP(this.mContext, "com.android.documentsui");
-// }
-// Log.e("SystemSetting", "qch_app_filemanager" + filemanager);
-//
-// } catch (Exception e) {
-// e.printStackTrace();
-// Log.e("mjhseng", "SettingSysData---3error::" + e.getMessage());
-// }
- }
-
private void doDownloadAndInstall(String jsonString) {
File file = new File(PathUtils.getExternalDownloadsPath() + "/jgy/");
if (!file.exists()) {
@@ -999,15 +761,19 @@ public class MyJPushReceiver extends BroadcastReceiver {
private void settingPowerOn(String s) {
if (TextUtils.isEmpty(s)) {
- Log.e(TAG, "settingNetControlAndPowerOn extras is null");
+ Log.e(TAG, "settingPowerOn extras is null");
return;
}
JSONObject jSONObject = JSON.parseObject(s);
String ban = jSONObject.getString("ban");
String not = jSONObject.getString("not");
- Log.e(TAG, "settingPowerOn" + not);
- Settings.System.putString(this.mContext.getContentResolver(), "qch_app_power_on", not);
- Log.e("SystemSetting", "qch_app_power_on---------" + not);
+ Log.e(TAG, "settingPowerOn: qch_app_power_on = " + not);
+ if (TextUtils.isEmpty(not)){
+ //当 qch_app_power_on 的值为空时,会造成系统所有应用断网
+ Settings.System.putString(mContext.getContentResolver(), "qch_app_power_on", "Invalid");
+ }else {
+ Settings.System.putString(mContext.getContentResolver(), "qch_app_power_on", not);
+ }
}
@@ -1025,6 +791,12 @@ public class MyJPushReceiver extends BroadcastReceiver {
//设置主页和标签
// HTTPInterface.setHomepagtag(mContext);//设置主页和标签
HTTPInterface.getHomePageBookmarks(mContext, null);
+ try {
+ new CacheUtils().cleanApplicationUserData(mContext, "com.android.browser");
+ } catch (Exception e) {
+ e.printStackTrace();
+ Log.e(TAG, "setHomepagtag: " + e.getMessage());
+ }
// if (TextUtils.isEmpty(s)) {
// Log.e(TAG, "setHomepagtag extras is null");
//
@@ -1050,7 +822,8 @@ public class MyJPushReceiver extends BroadcastReceiver {
public void ononComplete() {
Log.e(TAG, "ononComplete: setAPPinsideWebsite");
}
- });//app内部网页管控
+ });
+ //app内部网页管控
// if (TextUtils.isEmpty(s)) {
// Log.e(TAG, "setAPPinsideWebsite extras is null");
diff --git a/app/src/main/java/com/mjsheng/myappstore/server/DiscardServer.java b/app/src/main/java/com/mjsheng/myappstore/server/DiscardServer.java
deleted file mode 100644
index 910bbc9..0000000
--- a/app/src/main/java/com/mjsheng/myappstore/server/DiscardServer.java
+++ /dev/null
@@ -1,1488 +0,0 @@
-package com.mjsheng.myappstore.server;
-
-import android.annotation.SuppressLint;
-import android.app.Service;
-import android.bluetooth.BluetoothAdapter;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.ContextWrapper;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.graphics.Color;
-import android.graphics.PixelFormat;
-import android.os.BatteryManager;
-import android.os.Build;
-import android.os.Handler;
-import android.os.IBinder;
-import android.os.Message;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.util.DisplayMetrics;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.WindowManager;
-import android.widget.Button;
-import android.widget.TextView;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.arialyy.aria.core.Aria;
-import com.blankj.utilcode.util.PathUtils;
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
-import com.mjsheng.myappstore.utils.JGYUtils;
-import com.lzy.okgo.OkGo;
-import com.lzy.okgo.callback.StringCallback;
-import com.mjsheng.myappstore.BuildConfig;
-import com.mjsheng.myappstore.base.BaseApplication;
-import com.mjsheng.myappstore.R;
-import com.mjsheng.myappstore.bean.Batch;
-import com.mjsheng.myappstore.bean.ForceDownloadBean;
-import com.mjsheng.myappstore.bean.ForceDownloadData;
-import com.mjsheng.myappstore.bean.LzyResponse;
-import com.mjsheng.myappstore.bean.NetAndLaunchBean;
-import com.mjsheng.myappstore.bean.NetAndLaunchData;
-import com.mjsheng.myappstore.bean.StudentsInfo;
-import com.mjsheng.myappstore.comm.CommonDatas;
-import com.mjsheng.myappstore.jpush.TagAliasOperatorHelper;
-import com.mjsheng.myappstore.manager.NetInterfaceManager;
-import com.mjsheng.myappstore.network.HTTPInterface;
-import com.mjsheng.myappstore.network.api.AppLimitApi;
-import com.mjsheng.myappstore.network.api.DeselectBrowserIDApi;
-import com.mjsheng.myappstore.network.api.ForceDownloadApi;
-import com.mjsheng.myappstore.network.api.NetAndLaunchApi;
-import com.mjsheng.myappstore.network.api.SystemSettingApi;
-import com.mjsheng.myappstore.network.api.newapi.GetBatchApi;
-import com.mjsheng.myappstore.network.URLAddress;
-import com.mjsheng.myappstore.utils.ForegroundAppUtil;
-import com.mjsheng.myappstore.utils.MySQLData;
-import com.mjsheng.myappstore.utils.SPUtils;
-import com.mjsheng.myappstore.utils.SaveListUtils;
-import com.mjsheng.myappstore.utils.TimeUtils;
-import com.mjsheng.myappstore.utils.Utils;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-import cn.jpush.android.api.JPushInterface;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.annotations.Nullable;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
-import okhttp3.Call;
-import okhttp3.Response;
-import okhttp3.ResponseBody;
-import rx.Observable;
-import rx.functions.Action1;
-
-import static com.mjsheng.myappstore.jpush.TagAliasOperatorHelper.ACTION_SET;
-import static com.mjsheng.myappstore.jpush.TagAliasOperatorHelper.sequence;
-
-/**
- * 作者 mjsheng
- * 日期 2019/3/23 16:26
- * 邮箱 501802639@qq.com
- * 来自:
- */
-
-public class DiscardServer extends Service {
- private String TAG = DiscardServer.class.getSimpleName();
-
- @Nullable
- @Override
- public IBinder onBind(Intent intent) {
- return null;
- }
-
- @Override
- public void onCreate() {
- Log.e(TAG, "onCreate");
- super.onCreate();
- registReceiver();
- registerTimeReceiver();
- File file = new File(PathUtils.getExternalDownloadsPath() + "/jgy/");
- if (!file.exists()) {
- file.mkdirs();
- }
-// android.os.Debug.waitForDebugger();
- }
-
-
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
-// String boot = intent.getStringExtra("boot");
-// if (null != boot&&boot.equals("BOOT_COMPLETED")) {
-// String result = Settings.System.getString(getContentResolver(), "qch_app_forbid");
-// addShortcut(this, result);//开机之后添加图标到桌面
-// }
-
- getScreenLockState();
- getAppLimitApi();//获取可以写入的app包名
- HTTPInterface.getNetAndLaunchSetting(this);
- int first = (int) SPUtils.get(this, "first_connect", 0);
- if (first == 0) {
-// SysSettingUtils.setDisableSetting(this);//设置系统管控
- }
- timerImitate();
-// getNetworkState();
- Log.e(TAG, "onStartCommand");
-// return super.onStartCommand(intent, flags, startId);
-// mHandler.postDelayed(mRunnable, 10 * 1000);
- return START_STICKY;
- }
-
- private void getInfo(Context context) {
- OkGo.post(URLAddress.GET_STUDENTS_INFO)
- .params("sn", Utils.getSerial())
- .execute(new StringCallback() {
- @Override
- public void onSuccess(String s, Call call, Response response) {
- try {
- LzyResponse lzyResponse = (LzyResponse) JSON.parseObject(s, LzyResponse.class);
- StudentsInfo info = lzyResponse.data;
- if (lzyResponse.code == 200) {
- SPUtils.put(context, "batch", info.getBatch());
- SPUtils.put(context, "classes", info.getClasses());
- SPUtils.put(context, "sno", info.getSno());
- SPUtils.put(context, "realname", info.getRealname());
- }
- } catch (Exception e) {
- Log.e("getInfo", "onSuccess: Exception: " + e.getMessage());
- }
- }
-
- @Override
- public void onError(Call call, Response response, Exception e) {
- super.onError(call, response, e);
- Log.e("getInfo", "onError: " + e.getMessage());
- }
-
- });// 请求方式和请求url
- }
-
- private void getScreenLockState() {
- OkGo.get(URLAddress.GET_LOCK_SCREEN_STATE)
- .params("sn", Utils.getSerial())
- .execute(new StringCallback() {
- @Override
- public void onSuccess(String s, Call call, Response response) {
- try {
- JSONObject jsonObject = JSONObject.parseObject(s);
- int code = jsonObject.getInteger("code");
- if (code == 200) {
- JSONObject data = JSONObject.parseObject(jsonObject.getString("data"));
- int lockScreen = data.getInteger("is_screen_lock");
- String name = data.getString("name");
- if (lockScreen == 1) {
- if (!timelocked) {
- showFloatingWindow(name);
- }
- screenlocked = true;
- } else {
- if (!timelocked) {
- hideFloatingWindow();
- }
- screenlocked = false;
- }
- } else {
- if (!timelocked) {
- hideFloatingWindow();
- }
- screenlocked = false;
- }
- } catch (Exception e) {
- Log.e("getScreenLockState", "onSuccess: Exception: " + e.getMessage());
- }
- }
-
- @Override
- public void onError(Call call, Response response, Exception e) {
- super.onError(call, response, e);
- }
- });
- }
-
- Runnable mRunnable = new Runnable() {
- @Override
- public void run() {
- showTopAcivity();
-// showFloatingWindow();
-// mHandler.postDelayed(this, 10 * 1000);
- }
- };
-
- private int changeNum(int status) {
- int num = 1;
- switch (status) {
- case 0:
- num = 1;
- break;
- case 1:
- num = 0;
- break;
- default:
- num = 1;
- }
- return num;
- }
-
- private Handler mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- switch (msg.what) {
- case 200:
- JSONObject jsonObject = (JSONObject) msg.obj;
- installAPK(jsonObject);
- break;
- case -200:
- Log.e("fht", "no update");
- }
- }
-
- };
-
- private void installAPK(JSONObject jsonObject) {
- String url = jsonObject.getString("url");
- int versionCode = jsonObject.getInteger("version_code");
- String packageName = jsonObject.getString("package");
- String app_name = jsonObject.getString("app_name");
- JSONObject object = new JSONObject();
- object.put("app_name", app_name);
- object.put("app_package", packageName);
- PackageManager pm = getPackageManager();
- PackageInfo packageInfo = null;
- try {
- packageInfo = pm.getPackageInfo(packageName, 0);
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- if (packageInfo == null || packageInfo.versionCode < versionCode) {
-// Aria.download(this)
-// .load(url) //读取下载地址
-// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(packageName) + ".apk", true)
-// .setExtendField(object.toJSONString())
-// .create(); //启动下载}
- Utils.ariaDownload(this, url, object);
- } else {
- Log.e("fht", "无需更新");
- }
-
- }
-
- private void showTopAcivity() {
-// if (true) {
-// Intent intent = new Intent(this, TopActivity.class);
-// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-// intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
-// startActivity(intent);
-// }
-
- }
-
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- if (null != lockScreenReceiver) {
- unregisterReceiver(lockScreenReceiver);
- }
- Log.e("fht", "InitJpushServer onDestroy");
-
- }
-
- private static WindowManager windowManager;
- private View topView;
- boolean screenlocked = false;
- boolean timelocked = false;
-
- @SuppressLint("NewApi")
- private void showFloatingWindow(String name) {
- if (Settings.canDrawOverlays(this)) {
- // 获取WindowManager服务
- if (null == windowManager) {
- windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
- }
- DisplayMetrics dm = new DisplayMetrics();
- windowManager.getDefaultDisplay().getRealMetrics(dm);
- int width = dm.widthPixels; // 屏幕宽度(像素)
- int height = dm.heightPixels; // 屏幕高度(像素)
- // 新建悬浮窗控件
- final Button button = new Button(getApplicationContext());
- button.setText("霸屏测试");
- button.setAlpha(0.9f);
- button.setBackgroundColor(Color.WHITE);
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
-// windowManager.removeView(button);
- }
- });
- if (null == topView) {
- topView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.activity_top, null);
- TextView textView = topView.findViewById(R.id.textView);
- textView.setText(name);
- } else {
- if (topView.getTag().equals("added")) {
- TextView textView = topView.findViewById(R.id.textView);
- textView.setText(name);
- return;
- }
- }
-// topView.setAlpha(0.8f);
- TextView textView = topView.findViewById(R.id.textView);
- textView.setText(name);
- // 设置LayoutParam
- WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
- } else {
- layoutParams.type = WindowManager.LayoutParams.TYPE_PHONE;
- }
- layoutParams.flags = WindowManager.LayoutParams.FLAG_BLUR_BEHIND;
- layoutParams.format = PixelFormat.RGBA_8888;
- layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
- layoutParams.height = WindowManager.LayoutParams.MATCH_PARENT;
- layoutParams.x = 0;
- layoutParams.y = 0;
-
- // 将悬浮窗控件添加到WindowManager
- windowManager.addView(topView, layoutParams);
- topView.setTag("added");
- }
- }
-
- private void hideFloatingWindow() {
- if (null == windowManager) {
- return;
- }
- if (null != topView) {
- windowManager.removeView(topView);
- topView = null;
- }
- }
-
-
- private LockScreenReceiver lockScreenReceiver;
-
- private void registReceiver() {
- if (null == lockScreenReceiver) {
- lockScreenReceiver = new LockScreenReceiver();
- IntentFilter filter = new IntentFilter();
- filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
- filter.addAction(LockScreenReceiver.action_lock);
- filter.addAction(LockScreenReceiver.action_unlock);
- registerReceiver(lockScreenReceiver, filter);
- }
-
- }
-
-
- public class LockScreenReceiver extends BroadcastReceiver {
- public static final String action_lock = "LockScreenReceiver_lockscreen";
- public static final String action_unlock = "LockScreenReceiver_unlockscreen";
-
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (TextUtils.isEmpty(action)) {
- return;
- }
- if (action_lock.equals(action)) {
- String name = intent.getStringExtra("name");
- if (!timelocked) {
- showFloatingWindow(name);
- }
- screenlocked = true;
- } else if (action_unlock.equals(action)) {
- if (!timelocked) {
- hideFloatingWindow();
- }
- screenlocked = false;
- }
- }
- }
-
-
- private TimeChangedReceiver mTimeChangedReceiver;
-
- //监听时间和日期变化
- public void registerTimeReceiver() {
- mTimeChangedReceiver = new TimeChangedReceiver();
- IntentFilter filter = new IntentFilter();
- filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
- filter.addAction(Intent.ACTION_DATE_CHANGED);
- filter.addAction(Intent.ACTION_TIME_CHANGED);
- filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
- filter.addAction(Intent.ACTION_TIME_TICK);
- filter.addAction(TimeChangedReceiver.ACTION_UPDATE);
- registerReceiver(mTimeChangedReceiver, filter);
- }
-
- public class TimeChangedReceiver extends BroadcastReceiver {
-
- public static final String ACTION_UPDATE = "TimeChangedReceiver_update";
-
- @Override
- public void onReceive(Context context, Intent intent) {
- String action = intent.getAction();
- if (Intent.ACTION_DATE_CHANGED.equals(action)) {
- Log.e("fht", "TimeChangedReceiver:" + "data changed");
- } else if (Intent.ACTION_TIME_CHANGED.equals(action)) {
- Log.e("fht", "TimeChangedReceiver:" + "time changed");
- } else if (Intent.ACTION_TIMEZONE_CHANGED.equals(action)) {
- Log.e("fht", "TimeChangedReceiver:" + "timezone changed");
- } else if (Intent.ACTION_TIME_TICK.equals(action)) {
- Log.e("fht", "TimeChangedReceiver:" + "time tick");
- } else if (ACTION_UPDATE.equals(action)) {
- Log.e("fht", "TimeChangedReceiver:" + "date update");
- }
- ForegroundAppUtil.openTopApp(context);
- long nowTime = System.currentTimeMillis();
- TimeUtils.ContralTime contralTime = TimeUtils.getDefaltContralTime(context);
- if (null != contralTime) {
- if (contralTime.inControlTime(nowTime)) {
- if (!screenlocked) {
- showFloatingWindow("管控时间:" + contralTime.toString());
- } else {
- TextView textView = topView.findViewById(R.id.textView);
- textView.setText("管控时间:" + contralTime.toString());
- }
- timelocked = true;
- } else {
- getScreenLockState();
- if (!screenlocked) {
- hideFloatingWindow();
- }
- timelocked = false;
- }
- } else {
- if (!screenlocked) {
- hideFloatingWindow();
- }
- getScreenLockState();
- timelocked = false;
- }
-
- }
- }
-
- private void initJpush() {
- TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean();
- tagAliasBean.action = ACTION_SET;
- sequence++;
- tagAliasBean.alias = Utils.getSerial();
- tagAliasBean.isAliasAction = true;
- TagAliasOperatorHelper.getInstance().handleAction(this, sequence, tagAliasBean);
-// JPushInterface.setAlias(this, Utils.getSerial(), new TagAliasCallback() {
-// @Override
-// public void gotResult(int i, String s, Set set) {
-// if (set == null) {
-// Log.e("initmjsheng", "set is null");
-// } else {
-// Log.e("initmjsheng", "set ---" + set.toString());
-// }
-// Log.e("JPushInterface", s + "---" + i + "---");
-// if (i == 0) {
-// Log.e("JPushInterface", "JPush绑定成功");
-//
-// } else if (i == 6001) {
-// Log.e("JPushInterface", "无效的设置,用户名为空");
-// } else if (i == 6002) {
-// Log.e("JPushInterface", "设置超时,请重试");
-// timerImitate();
-// } else if (i == 6011) {
-// Log.e("JPushInterface", "短时间内操作过于频繁");
-// } else if (i == 996) {
-// Log.e("JPushInterface", "网络连接断开");
-// timerImitate();
-// }
-// }
-// });
-
- }
-
- //重新设置jpush
- synchronized private void timerImitate() {
- Observable.timer(15000, TimeUnit.MILLISECONDS)
- .observeOn(rx.android.schedulers.AndroidSchedulers.mainThread())
- .subscribe(new Action1() {
- @Override
- public void call(Long aLong) {
- checkUpdate();
- getLockedState();//
- }
- });
- }
-
- private void getDefaultDesktop() {
- OkGo.get(URLAddress.GET_DESKTOP)
- .params("sn", Utils.getSerial())
- .execute(new StringCallback() {
- @Override
- public void onSuccess(String s, Call call, Response response) {
- Log.e("getDefaultDesktop", "onSuccess: " + s);
- try {
- JSONObject jsonObject = JSON.parseObject(s);
- int code = jsonObject.getInteger("code");
- if (code == 200) {
- JSONObject data = jsonObject.getJSONObject("data");
- installDesktop(data);
- } else {
- Log.e("getDefaultDesktop", "onSuccess: " + "没有部署桌面");
- }
- } catch (Exception e) {
- Log.e("getDefaultDesktop", "onSuccess: Exception: " + e.getMessage());
- }
-
-
- }
-
- @Override
- public void onError(Call call, Response response, Exception e) {
- super.onError(call, response, e);
- Log.e("getDefaultDesktop", "onError: " + e.getMessage());
- }
- });
- }
-
- private void installDesktop(JSONObject jsonObject) {
- String app_name = jsonObject.getString("app_name");
- String app_url = jsonObject.getString("app_url");
- String app_package = jsonObject.getString("app_package");
- int app_version_code = jsonObject.getInteger("app_version_code");
- PackageInfo info = null;
- PackageManager packageManager = getPackageManager();
- if (null != packageManager) {
- try {
- info = packageManager.getPackageInfo(app_package, 0);
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- Log.e("fht", "installDesktop: " + e.getMessage());
- }
- if (null != info) {
- long versionCode;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
- versionCode = info.getLongVersionCode();
- } else {
- versionCode = info.versionCode;
- }
- if (app_version_code > versionCode) {
- if (!SaveListUtils.isDownLoading(app_url)) {
- Utils.ariaDownload(this, app_url, jsonObject);
- }
- }
- } else {
- if (!SaveListUtils.isDownLoading(app_url)) {
- Utils.ariaDownload(this, app_url, jsonObject);
- }
- }
- }
- }
-
- private void getDeselectID() {
- NetInterfaceManager.getDeselectIDApi()
- .getDeselectIDApi(NetInterfaceManager.HTTP_KEY,
- Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable param1Disposable) {
- Log.e("getDeselectID", "onSubscribe: ");
- }
-
- @Override
- public void onNext(ResponseBody param1ResponseBody) {
- String ids = "";
- String packages = "";
- try {
- String responString = param1ResponseBody.string();
- Log.e("getDeselectID", "onNext: " + responString);
- JSONObject jSONObject = JSON.parseObject(responString);
- int code = jSONObject.getInteger("code");
- if (code == 200) {
- ids = jSONObject.getJSONObject("data").getString("ids");
- packages = jSONObject.getJSONObject("data").getString("package");
- }
- } catch (Exception e) {
- Log.e("getDeselectID", "onNext: Exception: " + e.getMessage());
- e.printStackTrace();
- }
- JGYUtils.getInstance().writeDeselectIDtoSystem(ids, packages);
- }
-
- @Override
- public void onError(Throwable param1Throwable) {
- Log.e("getDeselectID", "onError: " + param1Throwable.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e("getDeselectID", "onComplete: ");
- }
- });
- }
-
- private void getDeselectBrowerID() {
- DeselectBrowserIDApi deselectBrowserIDApi = NetInterfaceManager.getDeselectBrowserIDApi();
- deselectBrowserIDApi.getDeselectBrowserIDApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("getDeselectBrowerID", "onSubscribe: ");
-
- }
-
- @Override
- public void onNext(ResponseBody responseBody) {
- try {
- String responString = responseBody.string();
- Log.e("getDeselectBrowerID", "onNext: " + responString);
- JSONObject jsonObject = JSON.parseObject(responString);
- Integer code = jsonObject.getInteger("code");
- if (code == 200) {
- JSONObject data = jsonObject.getJSONObject("data");
- String ids = data.getString("ids");
- writeDeselectBrowserIDtoSystem(ids);
- } else {
- Log.e("getDeselectBrowerID", "onNext: code: ");
- }
- } catch (Exception e) {
- Log.e("getDeselectBrowerID", "onNext: Exception: " + e.getMessage());
-
- e.printStackTrace();
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("getDeselectBrowerID", "onError: ");
- }
-
- @Override
- public void onComplete() {
- Log.e("getDeselectBrowerID", "onComplete: ");
- }
- });
- }
-
- private void getAppLimitApi() {
- AppLimitApi appLimitApi = NetInterfaceManager.getAppLimitApi();
- appLimitApi.getAppLimitApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
-
- }
-
- @Override
- public void onNext(ResponseBody responseBody) {
- try {
- String responString = responseBody.string();
- Log.e("getAppLimitApi", "onNext: " + responString);
- JSONObject jsonObject = JSON.parseObject(responString);
- Integer code = jsonObject.getInteger("code");
- if (code == 200) {
- JSONObject data = jsonObject.getJSONObject("data");
- String result = data.getString("result");
- JGYUtils.getInstance().writeAppPackageList(DiscardServer.this, result);
- } else {
- Log.e("getAppLimitApi", "onNext: code:" + code);
- }
- } catch (IOException e) {
- e.printStackTrace();
- Log.e("getAppLimitApi", "onNext: IOException: " + e.getMessage());
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("getAppLimitApi", "onError: " + e.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e("getAppLimitApi", "onComplete: ");
- }
- });
- }
-
- private void getDeviceBatch(final String result) {
- GetBatchApi getBatchApi = NetInterfaceManager.getBatchApi();
- getBatchApi.getBatch(Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("getDeviceBatch", "onSubscribe");
- }
-
- @Override
- public void onNext(ResponseBody responseBody) {
- String respons = "";
- JSONObject jsonObject = null;
- try {
- respons = responseBody.string();
- Log.e("getDeviceBatch", "respons:" + respons);
- jsonObject = JSON.parseObject(respons);
- } catch (IOException e) {
- e.printStackTrace();
- }
- int code = jsonObject.getInteger("code");
- if (code == 200) {
- String data = jsonObject.getString("data");
- List batchList = JSON.parseArray(data, Batch.class);
- if (null != batchList && batchList.size() > 1) {
- if (!BuildConfig.DEBUG) {
-// JGYUtils.getInstance().deleteOtherApp(result);
- }
- } else {
- Log.e("getDeviceBatch", "批次为空");
- }
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("getDeviceBatch", "onError:" + e.getMessage());
- }
-
- @Override
- public void onComplete() {
- Log.e("getDeviceBatch", "onComplete");
-
- }
- });
-
- }
-
- private void getNetAndLaunchSetting() {
- NetAndLaunchApi netAndLaunchApi = NetInterfaceManager.getNetAndLaunchApi();
- netAndLaunchApi.getNetAndLaunchApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("getNetAndLaunchSetting", "onSubscribe: ");
-
- }
-
- @Override
- public void onNext(NetAndLaunchBean netAndLaunchBean) {
- // ToastUtils.showShort(netAndLaunchBean.getMsg());
- if (netAndLaunchBean.getCode() == 200) {
- setNetAndlaunch(netAndLaunchBean);
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("getNetAndLaunchSetting", "onError:");
- }
-
- @Override
- public void onComplete() {
- Log.e("getNetAndLaunchSetting", "onComplete");
- }
- });
- }
-
- //强制下载
- private void getForceDownload() {
- ForceDownloadApi forceDownloadApi = NetInterfaceManager.getForceDownloadApi();
- forceDownloadApi.getForceDownloadApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
-// Log.e("getForceDownload", "forceDownloadApi---onSubscribe");
-
- }
-
- @Override
- public void onNext(ForceDownloadBean forceDownloadBean) {
- switch (forceDownloadBean.getCode()) {
- case 200:
-// Log.e("getForceDownload", "isDownloading=" + BaseApplication.getInstance().isDownloading());
- BaseApplication.getInstance().checkIsDownloading();
- if (!BaseApplication.getInstance().isDownloading()) {
- Aria.download(this).removeAllTask(true);
- Type type = new TypeToken>() {
- }.getType();
- Gson gson = new Gson();
- List forceDownloadData = gson.fromJson(gson.toJson(forceDownloadBean.getData()), type);
- forceDownload(forceDownloadData);
- } else {
- Aria.download(this).resumeAllTask();
- }
- break;
- case -200:
- boolean qch_force_app = Settings.System.putString(getContentResolver(), "qch_force_app", "invalid");
-// Log.e("getForceDownload", "qch_force_app:" + qch_force_app);
- break;
- default:
-// Log.e("getForceDownload", forceDownloadBean.getMsg());
- break;
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("getForceDownload", "onError:");
- }
-
- @Override
- public void onComplete() {
- Log.e("getForceDownload", "onComplete");
- }
- });
- }
-
- private void forceDownload(List data) {
- if (data == null || data.size() <= 0) {
- return;
- }
- getSelfDownload(data);
- List list = new ArrayList<>();
- for (int i = 0; i < data.size(); i++) {
- ForceDownloadData forceDownloadData = data.get(i);
- String app_name = forceDownloadData.getApp_name();
- String app_package = forceDownloadData.getApp_package();
- String app_url = forceDownloadData.getApp_url();
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("app_name", app_name);
- jsonObject.put("app_package", app_package);
- long app_version_code = forceDownloadData.getApp_version_code();
- Log.e("forceDownload", "packageName=" + app_package + ",URL= " + app_url + ",app_version_code=" + app_version_code);
- if (data.get(i).getApp_package().equals("com.jiaoguanyi.appstore")) {
- continue;//为自身的跳过下载
- }
- if (!list.contains(app_package)) {
- list.add(app_package);
- }
- PackageManager pm = getPackageManager();
- PackageInfo packageInfo = null;
- try {
- packageInfo = pm.getPackageInfo(app_package, 0);
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- Log.e("forceDownload", "NameNotFoundException: " + e.getMessage());
- }
- if (packageInfo != null) {
- long appVersionCode;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
- appVersionCode = packageInfo.getLongVersionCode();
- } else {
- appVersionCode = packageInfo.versionCode;
- }
- if (app_version_code > appVersionCode) {
- Log.e("forceDownload", "download URL " + app_url);
-// Aria.download(this)
-// .load(app_url) //读取下载地址
-// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(app_package) + ".apk", true)
-// .setExtendField(jsonObject.toJSONString())
-// .create(); //启动下载}
- Utils.ariaDownload(this, app_url, jsonObject);
- }
- } else {
- Log.e("forceDownload", "download URL " + app_url);
-// if (!SaveListUtils.isDownLoading(app_package)) {
-// Aria.download(this)
-// .load(app_url) //读取下载地址
-// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString(app_package) + ".apk", true)
-// .setExtendField(jsonObject.toJSONString())
-// .create(); //启动下载}
- Utils.ariaDownload(this, app_url, jsonObject);
-// SaveListUtils.addDownLoadList(app_package);
-// }
- }
- }
- SaveListUtils.setList(list);
- SaveListUtils.sendForceAPP(this);
- }
-
- private void getSelfDownload(List forceDownloadDataList) {
- for (ForceDownloadData forceDownloadData : forceDownloadDataList) {
- if ("com.jiaoguanyi.appstore".equals(forceDownloadData.getApp_package())) {
- JSONObject packageObj = new JSONObject();
- packageObj.put("app_name", forceDownloadData.getApp_name());
- packageObj.put("app_package", forceDownloadData.getApp_package());
-// Aria.download(this)
-// .load(forceDownloadData.getApp_url()) //读取下载地址
-// .setFilePath(PathUtils.getExternalDownloadsPath() + "/jgy/" + EncryptUtils.encryptMD5ToString("com.jiaoguanyi.appstore") + ".apk", true)
-// .setExtendField(packageObj.toJSONString())
-// .create(); //启动下载}
- Utils.ariaDownload(this, forceDownloadData.getApp_url(), packageObj);
-
- } else {
- Log.e("getSelfDownload", "未上传应用");
- }
- }
- }
-
- private void setNetAndlaunch(NetAndLaunchBean netAndLaunchBean) {
- Log.e("setNetAndlaunch", netAndLaunchBean.toString());
- String net_ok = "";
- String net_not = "";
- String launch = "";
- String camera_ok = "";
- String camera_not = "";
- String upgrade_ok = "";
- String upgrade_not = "";
- String slide_ok = "";
- String slide_not = "";
-
- List data = netAndLaunchBean.getData();
- for (int i = 0; i < data.size(); i++) {
- NetAndLaunchData netAndLaunchData = data.get(i);
- String app_package = netAndLaunchData.getApp_package();
- int is_auto = netAndLaunchData.getIs_auto();
- int is_network = netAndLaunchData.getIs_network();
- int is_camera = netAndLaunchData.getIs_camera();
- int is_upgrade = netAndLaunchData.getIs_upgrade();
- int is_slide = netAndLaunchData.getIs_slide();
-
-
- if (is_auto == 1) {
- launch += app_package + ",";
- }
- if (is_network == 1) {
- net_ok += app_package + ",";
- } else {
- net_not += app_package + ",";
- }
-
- if (is_camera == 1) {
- camera_ok += app_package + ",";
- } else {
- camera_not += app_package + ",";
- }
- if (is_upgrade == 1) {
- upgrade_ok += app_package + ",";
- } else {
- upgrade_not += app_package + ",";
- }
- if (is_slide == 1) {
- slide_ok += app_package + ",";
- } else {
- slide_not += app_package + ",";
- }
- }
-
-
- if (!TextUtils.isEmpty(launch)) {
- launch = launch.substring(0, launch.length() - 1);
- }
- if (!TextUtils.isEmpty(net_ok)) {
- net_ok = net_ok.substring(0, net_ok.length() - 1);
- }
- if (!TextUtils.isEmpty(net_not)) {
- net_not = net_not.substring(0, net_not.length() - 1);
- }
- if (!TextUtils.isEmpty(camera_ok)) {
- camera_ok = camera_ok.substring(0, camera_ok.length() - 1);
- }
- if (!TextUtils.isEmpty(camera_not)) {
- camera_not = camera_not.substring(0, camera_not.length() - 1);
- }
- if (!TextUtils.isEmpty(upgrade_ok)) {
- upgrade_ok = upgrade_ok.substring(0, upgrade_ok.length() - 1);
- }
- if (!TextUtils.isEmpty(upgrade_not)) {
- upgrade_not = upgrade_not.substring(0, upgrade_not.length() - 1);
- }
- if (!TextUtils.isEmpty(slide_ok)) {
- slide_ok = slide_ok.substring(0, slide_ok.length() - 1);
- }
- if (!TextUtils.isEmpty(slide_not)) {
- slide_not = slide_not.substring(0, slide_not.length() - 1);
- boolean writeSucceed = Settings.System.putString(this.getContentResolver(), "qch_disable_slide", slide_not);
- Log.e("setNetAndlaunch", "qch_disable_slide=" + writeSucceed + ":" + slide_not);
- } else {
- boolean writeSucceed = Settings.System.putString(this.getContentResolver(), "qch_disable_slide", "Invalid");
- Log.e("setNetAndlaunch", "qch_disable_slide ok=" + writeSucceed + ":" + slide_ok);
- }
-
- Utils.writeDisableUpdateList(this, upgrade_not.split(","), upgrade_ok.split(","));
- Log.e("setNetAndlaunch", "UpdateList:upgrade_not:" + upgrade_not + "-----------upgrade_ok:" + upgrade_ok);
-
- Log.e("setNetAndlaunch", "launch:" + launch + "-----------net_ok:" + net_ok + "-----------net_not:" + net_not);
- boolean qch_app_power_on = Settings.System.putString(this.getContentResolver(), "qch_app_power_on", launch);
-
-// Intent netControlIntent = new Intent(CommonDatas.ACTION_HrReceiver_JGY_DIS);
-// netControlIntent.putExtra("package_name", net_not);
-// sendBroadcast(netControlIntent);
-//
-// Intent netControlNotIntent = new Intent(CommonDatas.ACTION_HrReceiver_JGY);
-// netControlNotIntent.putExtra("package_name", net_ok);
-// sendBroadcast(netControlNotIntent);
- if (!net_not.equals("")) {
- String[] bans = net_not.split(",");
-// Settings.System.putString(getContentResolver(), "qch_jgy_network_disallow", net_not);
- Log.e("setNetAndlaunch", "ban::" + net_not);
- }
-
- BaseApplication.getInstance().setFinished(true);
- if (!net_ok.equals("")) {
- String[] nots = net_ok.split(",");
-// Settings.System.putString(getContentResolver(), "qch_jgy_network_allow", net_ok);
- Log.e("setNetAndlaunch", "not::" + net_ok);
- }
- //app联网管控需要桌面launcher的支持,如果更换第三方launcher功能失效
-
-
-// Intent intent2 = new Intent("qch_camera_forbid");
-// intent2.putExtra("camera_package_name", camera_not).setPackage("com.android.settings");
-// sendBroadcast(intent2);
-// Intent intent1 = new Intent("qch_camera_open");
-// intent1.putExtra("camera_package_name", camera_ok).setPackage("com.android.settings");
-// sendBroadcast(intent1);
- }
-
- private void writeDeselectBrowserIDtoSystem(String ids) {
-// if (!TextUtils.isEmpty(ids)) {
- boolean deselectBrowserArray = Settings.System.putString(this.getContentResolver(), "DeselectBrowserArray", ids);
- Log.e("writeDeselectBrowserIDtoSystem", "DeselectBrowserArray: " + deselectBrowserArray);
-// } else {
-
-// }
- }
-
-
- private void getSystemSetting() {
- final SystemSettingApi systemSettingApi = NetInterfaceManager.getSystemSettingApi();
- systemSettingApi.getSystemSettingApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- Log.e("getSystemSetting", "onSubscribe: ");
- }
-
- @Override
- public void onNext(ResponseBody responseBody) {
- try {
- String responString = responseBody.string();
- Log.e("getSystemSetting", "系统管控::" + responString);
- JSONObject jsonObject = JSON.parseObject(responString);
- Integer code = jsonObject.getInteger("code");
- if (code == 200) {
- JSONObject data = jsonObject.getJSONObject("data");
- SettingSysData(data);
- } else {
- Log.e("getSystemSetting", "onNext: code: " + code);
- }
- } catch (IOException e) {
- e.printStackTrace();
- Log.e("getSystemSetting", "onNext: IOException: " + e.getMessage());
- }
- }
-
- @Override
- public void onError(Throwable e) {
- Log.e("getSystemSetting", "onError: ");
- }
-
- @Override
- public void onComplete() {
- Log.e("getSystemSetting", "onComplete: ");
- }
- });
- }
-
- //获取教管易版本号
- synchronized private String getAPPVersionName() {
- PackageManager pm = getPackageManager();
- String versionName;
- try {
- PackageInfo packageInfo = pm.getPackageInfo("com.jiaoguanyi.store", 0);
- versionName = packageInfo.versionName;
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- versionName = "0";
- }
- return versionName;
- }
-
- synchronized public void sendMACaddress() {
- String rid = JPushInterface.getRegistrationID(this);
- OkGo.post(URLAddress.SEND_DEVICES)
- .params("sn", Utils.getSerial())
- .params("mac", com.blankj.utilcode.util.DeviceUtils.getMacAddress())
- .params("jpush_id", rid)
- .params("devices_version", Utils.getCustomVersion())
- .params("appstore_version", BuildConfig.VERSION_NAME)//我的设备版本号
- .params("store_version", getAPPVersionName())//管教易版本号
- .execute(new StringCallback() {
- @Override
- public void onSuccess(String s, Call call, Response response) {
- JSONObject msgObject = JSON.parseObject(s);
- Log.e("sendMACaddress", "onSuccess: " + msgObject);
- }
-
- @Override
- public void onError(Call call, Response response, Exception e) {
- super.onError(call, response, e);
- Log.e("sendMACaddress", "onError: " + e.getMessage());
- }
- });
- {
-
- }
- }
-
- boolean locked = false;
-
- synchronized public void getLockedState() {
- OkGo.post(URLAddress.GET_DEVICES_LOCKED)
- .params("sn", Utils.getSerial())
- .execute(new StringCallback() {
- @Override
- public void onSuccess(String s, Call call, Response response) {
- Log.e("getLockedState", "onSuccess: " + s);
- Log.e("getLockedState", "onSuccess: " + Utils.getSerial());
- JSONObject msgObject = JSON.parseObject(s);
- Integer code = (msgObject.getInteger("code"));
- if (code == 200) {
- JSONObject dataArray = msgObject.getJSONObject("data");
- int lock = dataArray.getInteger("lock");
- Log.e("jpttlocked", String.valueOf(lock));
- if (lock == 0) {
- locked = false;
- boolean se = Settings.System.putInt(getContentResolver(), "qch_unlock_ipad", 1);
-// SysSettingUtils.setEnableSetting(DiscardServer.this);
- SPUtils.put(DiscardServer.this, "first_connect", 1);
- Log.e("fht", "getLockedState---------" + Settings.System.getString(getContentResolver(), "qch_unlock_ipad"));
- Log.e("jpttlocked1", "qch_unlock_ipad---------" + locked + se);
- } else {
- locked = true;
- Settings.System.putInt(getContentResolver(), "qch_unlock_ipad", 0);
- Log.e("jpttlocked2", "qch_unlock_ipad---------" + locked);
-// Settings.System.putString(this.getContentResolver(), "DeselectBrowserArray", "http://www.baidu.com");
- String ss = Settings.System.getString(getContentResolver(), "DeselectBrowserArray");
- Log.e("jpttlocked2", "DeselectBrowserArray---------" + ss);
- // 初始化 JPush
- JPushInterface.init(DiscardServer.this);
- initJpush();
- HTTPInterface.setJpushTags(DiscardServer.this);
- sendMACaddress();
- HTTPInterface.setBrowserBlackList(DiscardServer.this);//浏览器网址管控
-// HTTPInterface.getAppinsideWeb(DiscardServer.this);//app内部网页管控
- HTTPInterface.setHomepagtag(DiscardServer.this);//设置主页和标签
- HTTPInterface.setHideDesktopIcon(DiscardServer.this);//设置桌面图标隐藏
-// getAppLimitApi();//获取可以写入的app包名
- getDeselectID();
-// getDeselectBrowerID();
- getNetAndLaunchSetting();
-// Aria.download(this).removeAllTask(true);
- getForceDownload();
- getSystemSetting();//从后台获取功能状态
- resetDevice();
-// MyApplication.getInstance().getWhitePackageList();
- getDefaultDesktop();
- HTTPInterface.getSnTimeControl(DiscardServer.this);
- HTTPInterface.getTopAppControl(DiscardServer.this);
-
- }
- } else if (code == -300) {
-// ApkUtils.uninstallAllApp(this);
- }
- }
-
- @Override
- public void onError(Call call, Response response, Exception e) {
- super.onError(call, response, e);
- Log.e("onError", "error");
- }
-
- });// 请求方式和请求url
- }
-
- private void resetDevice() {
- boolean isReset = MySQLData.GetBooleanData(this, CommonDatas.IS_RESET);
- int batteryLevel = getBatteryLevel();
- Log.e("resetDevice", "batteryLevel: " + batteryLevel + "isReset: " + isReset);
- if (isReset && batteryLevel >= CommonDatas.MIN_POWER) {
- Utils.doMasterClear(this);
- }
- }
-
- private int getBatteryLevel() {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- BatteryManager batteryManager = (BatteryManager) getSystemService(BATTERY_SERVICE);
- return batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
- } else {
- Intent intent = new ContextWrapper(this).
- registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
- return (intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) * 100) /
- intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
- }
- }
-
- private void checkUpdate() {
- HTTPInterface.checkUpdate(mHandler, "com.jiaoguanyi.store");
- HTTPInterface.checkTestUpdate(this);
- }
-
- private BluetoothAdapter mBluetoothAdapter;
-
- private void SettingSysData(JSONObject data) {
- SPUtils.put(this, "first_connect", 1);
-// SysSettingUtils.setSystemSetting(this, data.toString());
-
-// try {
-// int setting_call = changeNum(data.optInt("setting_call"));
-// boolean qch_call_forbid = Settings.System.putInt(this.getContentResolver(), "qch_call_forbid", setting_call);
-// Log.e("SystemSetting", "qch_call_forbid---------" + qch_call_forbid);
-//
-// int setting_phone = changeNum(data.optInt("setting_phone"));
-// boolean qch_white_list_on = Settings.System.putInt(this.getContentResolver(), "qch_white_list_on", setting_phone);
-// Log.e("SystemSetting", "qch_white_list_on---------" + qch_white_list_on);
-//
-// String setting_phones = data.optString("setting_phones");
-// boolean qch_white_list_Array = Settings.System.putString(this.getContentResolver(), "qch_white_list_Array", setting_phones);
-// // ToastTool.show("qch_call_forbid::"+setting_call+"----setting_phones::"+setting_phones+"----"+qch_white_list_Array+"---"+qch_call_forbid);
-// Log.e("SystemSetting", "qch_white_list_Array---------" + qch_white_list_Array + "---" + setting_phones);
-//
-// int setting_memory = changeNum(data.optInt("setting_memory"));
-// boolean qch_sdcard_forbid_on = Settings.System.putInt(this.getContentResolver(), "qch_sdcard_forbid_on", setting_memory);
-// Log.e("SystemSetting", "qch_sdcard_forbid_on---------" + qch_sdcard_forbid_on);
-//
-//
-// //USB数据功能管控
-// //仅充电:usb_charge
-// //MTP模式:usb_mtp
-// //Midi模式:usb_midi
-// String setting_usb = data.optString("setting_usb");
-// if (!BuildConfig.DEBUG) {
-// boolean qch_usb_choose = Settings.System.putString(this.getContentResolver(), "qch_usb_choose", setting_usb);
-// Log.e("SystemSetting", "qch_usb_choose---------" + qch_usb_choose);
-// String usbStatus = "";
-// switch (setting_usb) {
-// case "usb_charge":
-// usbStatus = "qch_action_usb_usb_charge";
-// break;
-// case "usb_mtp":
-// usbStatus = "qch_action_usb_usb_mtp";
-// break;
-// case "usb_midi":
-// usbStatus = "qch_action_usb_usb_midi";
-// break;
-//
-// }
-// Intent usbIntent = new Intent(usbStatus).setPackage("com.android.settings");
-// sendBroadcast(usbIntent);
-// }
-//
-// //otg开关
-//// int setting_otg = changeNum(data.optInt("setting_otg"));
-//// Log.e("SystemSetting", "setting_otg---------" + setting_otg);
-//// String otgStatus = "";
-//// switch (setting_otg) {
-//// case 0:
-//// otgStatus = "qch_otg_open";
-//// break;
-//// case 1:
-//// otgStatus = "qch_otg_forbid";
-//// break;
-//// }
-//// Intent otgIntent = new Intent(otgStatus);
-//// sendBroadcast(otgIntent);
-//
-// //蓝牙开关
-// int setting_bht = changeNum(data.optInt("setting_bht"));//总开关
-// int setting_bhtvideo = changeNum(data.optInt("setting_bhtvideo"));//蓝牙音频开关
-// int setting_bluetooth = changeNum(data.optInt("setting_bluetooth"));//蓝牙传输开关
-//
-// boolean qch_bht_forbid_on = Settings.System.putInt(this.getContentResolver(), "qch_bht_forbid_on", setting_bht);//写入系统数据库
-// Log.e("SystemSetting", "qch_bht_forbid_on:" + qch_bht_forbid_on);
-// if (qch_bht_forbid_on) {//成功
-// if (null == mBluetoothAdapter) {
-// mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();//获取默认蓝牙适配器
-// }
-// if (setting_bht == 0) {//蓝牙总开关开启
-// String setting_context = data.optString("setting_context");//
-// if (setting_bhtvideo == 0) {
-// if (null != setting_context && !setting_context.equals("") && !setting_context.equals(" ") && !setting_context.equals("null")) {
-// Log.e("SystemSetting", "setting_context:" + setting_context);
-// Settings.System.putString(this.getContentResolver(), "qch_bhtvideo_forbid_on", setting_context);
-// } else {
-// Settings.System.putString(this.getContentResolver(), "qch_bhtvideo_forbid_on", "Empty");
-// }
-// } else if (setting_bhtvideo == 1) {
-// Settings.System.putString(this.getContentResolver(), "qch_bhtvideo_forbid_on", "Empty");
-// }
-// Settings.System.putInt(this.getContentResolver(), "qch_bt_forbid_on", setting_bluetooth);
-// } else {
-// mBluetoothAdapter.disable();//设置关闭时关闭蓝牙
-// }
-//
-// }
-//
-// int setting_hotspot = changeNum(data.optInt("setting_hotspot"));//热点
-// if (setting_hotspot == 1) {
-// Intent intent = new Intent();
-// intent.setAction("qch_hotspot_close");
-// intent.setPackage("com.android.settings");
-// this.sendStickyBroadcast(intent);
-// }
-// boolean qch_hotspot_forbid_on = Settings.System.putInt(this.getContentResolver(), "qch_hotspot_forbid_on", setting_hotspot);//写入系统数据库
-// Log.e("SystemSetting", "qch_hotspot_forbid_on---------" + setting_hotspot);
-// Log.e("SystemSetting", "qch_hotspot_forbid_on---------" + qch_hotspot_forbid_on);
-//
-// //系统导航条显示开关
-// int setting_navigation = changeNum(data.optInt("setting_navigation"));
-// boolean qch_hide_navigationBar = Settings.System.putInt(this.getContentResolver(), "qch_hide_NavigationBar", setting_navigation);
-// Log.e("SystemSetting", "qch_hide_navigationBar---------" + qch_hide_navigationBar);
-//
-// String navigationStatus = "";
-// switch (setting_navigation) {
-// case 0:
-// navigationStatus = "qch_show_NavigationBar";
-// break;
-// case 1:
-// navigationStatus = "qch_hide_NavigationBar";
-// break;
-//
-// }
-// Intent navIntent = new Intent(navigationStatus).setPackage("com.android.systemui");
-// sendBroadcast(navIntent);
-//
-//
-// //状态栏显示开关
-// int setting_statusbar = changeNum(data.optInt("setting_statusbar"));
-// int oldNum = Settings.System.getInt(getContentResolver(), "qch_hide_statusBar", 0);
-// if (oldNum != setting_statusbar) {
-// boolean qch_hide_statusBar = Settings.System.putInt(getContentResolver(), "qch_hide_statusBar", setting_statusbar);
-// Log.e("SystemSetting", "qch_hide_statusBar---------" + qch_hide_statusBar);
-// String statusbarStatus = "";
-// switch (setting_statusbar) {
-// case 0:
-// statusbarStatus = "qch_show_statusBar";
-// break;
-// case 1:
-// statusbarStatus = "qch_hide_statusBar";
-// break;
-// }
-// Intent statusIntent = new Intent(statusbarStatus).setPackage("com.android.systemui");
-// sendBroadcast(statusIntent);
-// }
-//
-//
-// //摄像头开关
-// int setting_camera = changeNum(data.optInt("setting_camera"));
-// Settings.System.putInt(this.getContentResolver(), "qch_app_camera", setting_camera);
-//// ApkUtils.hideSystemSettingAPP(this, "com.mediatek.camera");
-// Log.e("SystemSetting", "setting_camera---------" + setting_camera);
-// String cameraStatus = "";
-// switch (setting_camera) {
-// case 0:
-// cameraStatus = "qch_camera_open";
-// break;
-// case 1:
-// cameraStatus = "qch_camera_forbid";
-// break;
-// }
-// Intent cameraIntent = new Intent(cameraStatus).setPackage("com.android.settings");
-// sendBroadcast(cameraIntent);
-//
-//
-// //tfmedia开关
-// int setting_tfmedia = changeNum(data.optInt("setting_tfmedia"));
-// boolean qch_tfmedia_forbid = Settings.System.putInt(this.getContentResolver(),
-// "qch_tfmedia_forbid", setting_tfmedia);
-// Log.e("SystemSetting", "setting_tfmedia---------" + qch_tfmedia_forbid);
-// String tfmediaStatus = "";
-// switch (setting_tfmedia) {
-// case 0:
-// tfmediaStatus = "qch_tfmedia_open";
-// break;
-// case 1:
-// tfmediaStatus = "qch_tfmedia_forbid";
-// break;
-// }
-// Intent tfmediaIntent = new Intent(tfmediaStatus).setPackage("com.android.settings");
-// sendBroadcast(tfmediaIntent);
-// if (setting_tfmedia == 1) {
-// JSONArray jSONArray = null;
-// try {
-// jSONArray = data.getJSONArray("setting_tfmedia_format");
-//
-// int i = 0;
-// StringBuffer stringBuffer = new StringBuffer();
-// while (!jSONArray.isNull(i)) {
-// stringBuffer.append(jSONArray.getString(i));
-// stringBuffer.append(",");
-// i++;
-// }
-// stringBuffer.deleteCharAt(stringBuffer.length() - 1);
-// Settings.System.putString(this.getContentResolver(), "qch_tfmedia_filetypes", stringBuffer.toString());//影音管控
-// Log.e("SystemSetting", "qch_tfmedia_filetypes---------" + stringBuffer.toString());
-//
-// } catch (JSONException e) {
-// Log.e("SystemSetting", "qch_tfmedia_filetypes---------" + e.getMessage());
-//
-// }
-// } else {
-// Settings.System.putInt(this.getContentResolver(), "qch_tfmedia_forbid", 0);
-// }
-// //added:2019.12.6
-// //设置5个app的开关
-// //时钟
-// int deskclock = changeNum(data.optInt("setting_clock"));
-// Settings.System.putInt(this.getContentResolver(), "qch_app_deskclock", deskclock);
-// ApkUtils.hideSystemSettingAPP(this, "com.android.deskclock");
-// Log.e("SystemSetting", "qch_app_deskclock" + deskclock);
-// //录音机
-// int soundrecorder = changeNum(data.optInt("setting_recording"));
-// Settings.System.putInt(this.getContentResolver(), "qch_app_soundrecorder", soundrecorder);
-// ApkUtils.hideSystemSettingAPP(this, "com.android.soundrecorder");
-// Log.e("SystemSetting", "qch_app_soundrecorder" + soundrecorder);
-// //音乐
-// int music = changeNum(data.optInt("setting_music"));
-// Settings.System.putInt(this.getContentResolver(), "qch_app_music", music);
-// ApkUtils.hideSystemSettingAPP(this, "com.android.music");
-// Log.e("SystemSetting", "qch_app_music" + music);
-// //图库
-// int gallery = changeNum(data.optInt("setting_picture"));
-// Settings.System.putInt(this.getContentResolver(), "qch_app_gallery", gallery);
-// ApkUtils.hideSystemSettingAPP(this, "com.android.gallery3d");
-// Log.e("SystemSetting", "qch_app_gallery" + gallery);
-// //壁纸
-// int wallpaper = changeNum(data.optInt("setting_wallpaper"));
-// Settings.System.putInt(this.getContentResolver(), "qch_app_wallpaper", wallpaper);
-// Log.e("SystemSetting", "qch_app_wallpaper" + wallpaper);
-// //文件管理器
-// int filemanager = changeNum(data.optInt("setting_file"));
-// Settings.System.putInt(this.getContentResolver(), "qch_app_filemanager", filemanager);
-// if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
-// ApkUtils.hideSystemSettingAPP(this, "com.mediatek.filemanager");
-// } else {
-// ApkUtils.hideSystemSettingAPP(this, "com.android.documentsui");
-// }
-// Log.e("SystemSetting", "qch_app_filemanager" + filemanager);
-// } catch (Exception e) {
-// e.printStackTrace();
-// Log.e("mjsheng", "SettingSysData---1error::" + e.getMessage());
-// }
- }
-
-
-}
diff --git a/app/src/main/java/com/mjsheng/myappstore/server/GuardService.java b/app/src/main/java/com/mjsheng/myappstore/server/GuardService.java
index 717027c..0504b61 100644
--- a/app/src/main/java/com/mjsheng/myappstore/server/GuardService.java
+++ b/app/src/main/java/com/mjsheng/myappstore/server/GuardService.java
@@ -291,13 +291,10 @@ public class GuardService extends Service {
if (JGYUtils.getInstance().checkAppPlatform() == JGYUtils.ZhanruiPlatform) {
int setting_statusbar = Settings.System.getInt(context.getContentResolver(), "qch_hide_statusBar", 0);
String statusbarStatus = "";
- switch (setting_statusbar) {
- case 0:
- statusbarStatus = "qch_show_statusBar";
- break;
- case 1:
- statusbarStatus = "qch_hide_statusBar";
- break;
+ if (setting_statusbar == 0) {
+ statusbarStatus = "qch_show_statusBar";
+ } else if (setting_statusbar == 1) {
+ statusbarStatus = "qch_hide_statusBar";
}
Intent navIntent = new Intent(statusbarStatus).setPackage("com.android.systemui");
context.sendBroadcast(navIntent);
@@ -544,7 +541,7 @@ public class GuardService extends Service {
List list = Aria.download(this).getDRunningTask();
if (list == null || list.size() == 0) {
BaseApplication.getInstance().setDownloadState(false);
- Log.e("aria", "isDownloading=" + BaseApplication.getInstance().isDownloading());
+ Log.e("taskComplete", "isDownloading=" + BaseApplication.getInstance().isDownloading());
}
}
OkGo.post(URLAddress.HTTP_TAG_DOWNLOAD_URL)
@@ -561,6 +558,7 @@ public class GuardService extends Service {
@Override
public void onError(Call call, Response response, Exception e) {
+ Log.e("taskComplete", "onError: " + e.getMessage());
super.onError(call, response, e);
}
});
@@ -576,16 +574,17 @@ public class GuardService extends Service {
.execute(new StringCallback() {
@Override
public void onSuccess(String s, Call call, okhttp3.Response response) {
- Log.e("downloadApp", "onSuccess: " + s);
+ Log.e("taskComplete", "onSuccess: " + s);
}
@Override
public void onError(Call call, Response response, Exception e) {
super.onError(call, response, e);
+ Log.e("taskComplete", "onError: " + e.getMessage());
}
});
} else if (filepath.endsWith(".zip")) {
- Log.e("aria", "下载完成:" + task.getPercent() + ":" + task.getExtendField());
+ Log.e("taskComplete", "下载完成:" + task.getPercent() + ":" + task.getExtendField());
JGYUtils.getInstance().setBootanimation(task.getFilePath());
}
}
diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/BootManager.java b/app/src/main/java/com/mjsheng/myappstore/utils/BootManager.java
new file mode 100644
index 0000000..8941db1
--- /dev/null
+++ b/app/src/main/java/com/mjsheng/myappstore/utils/BootManager.java
@@ -0,0 +1,44 @@
+package com.mjsheng.myappstore.utils;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.mjsheng.myappstore.action.JGYActions;
+
+public class BootManager {
+ private Context mContext;
+ private final static String TAG = BootManager.class.getSimpleName();
+
+ public BootManager(Context context) {
+ this.mContext = context;
+ }
+
+ public void start() {
+ sendLauncherIcon();
+ setStatusbar();
+ JGYUtils.getInstance().onBootSendNetwork();
+ JGYUtils.getInstance().onBootSetAppInsideWeb();
+ }
+
+ private void sendLauncherIcon() {
+ String packageList = Settings.System.getString(mContext.getContentResolver(), "only_jgy_shortcut_list");
+ if (TextUtils.isEmpty(packageList)) {
+ Settings.System.putString(mContext.getContentResolver(), "qch_launcher_icon_app", "");
+ }
+ }
+
+ private void setStatusbar() {
+ String status = (String) SPUtils.get(mContext, JGYActions.ACTION_StatusBar_STATUS, "");
+ Log.e(TAG, "setStatusbar: String: " + status);
+ if (TextUtils.isEmpty(status)) {
+ Log.e(TAG, "setStatusbar: " + "status is NULL");
+ return;
+ }
+ JSONObject jsonObject = JSON.parseObject(status);
+ SysSettingUtils.setStatusBar(mContext, jsonObject);
+ }
+}
diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java b/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java
index 33fbab4..e3ba98f 100644
--- a/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java
+++ b/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java
@@ -41,8 +41,10 @@ import com.mjsheng.myappstore.bean.TTAppground;
import com.mjsheng.myappstore.comm.CommonDatas;
import java.io.File;
+import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
@@ -171,6 +173,7 @@ public class JGYUtils {
*/
@SuppressLint("NewApi")
synchronized public void setNetAndlaunch(NetAndLaunchBean netAndLaunchBean) {
+ Log.e(TAG, "setNetAndlaunch: " + "应用联网管控: " + netAndLaunchBean.getData().toString());
Log.e(TAG, "setNetAndlaunch: ");
HashSet autoLaunchApp = new HashSet<>();//开机自启app
HashSet allowNetApp = new HashSet<>();//允许联网
@@ -209,14 +212,25 @@ public class JGYUtils {
boolean writeSucceed = Settings.System.putString(mContext.getContentResolver(), "qch_disable_slide", "Invalid");
Log.e("fht", "qch_disable_slide ok=" + writeSucceed + ":" + slide_ok);
}
+
String[] upgrade_ok = new String[allowUpgrade.size()];
allowUpgrade.toArray(upgrade_ok);
String[] upgrade_not = new String[disallowUpgrade.size()];
disallowUpgrade.toArray(upgrade_not);
Utils.writeDisableUpdateList(mContext, upgrade_not, upgrade_ok);
-
- Settings.System.putString(mContext.getContentResolver(), "qch_app_power_on", String.join(",", autoLaunchApp));
-
+ String qch_app_power_on = String.join(",", autoLaunchApp);
+ Log.e(TAG, "setNetAndlaunch: qch_app_power_on: " + qch_app_power_on);
+ if (TextUtils.isEmpty(qch_app_power_on)) {
+ //当 qch_app_power_on 的值为空时,会造成系统所有应用断网
+ Settings.System.putString(mContext.getContentResolver(), "qch_app_power_on", "Invalid");
+ } else {
+ Settings.System.putString(mContext.getContentResolver(), "qch_app_power_on", qch_app_power_on);
+ }
+// if (BuildConfig.DEBUG) {
+ // TODO: 2021/7/2 测试写入为空是否断网
+// boolean w = Settings.System.putString(mContext.getContentResolver(), "qch_app_power_on", "");
+// Log.e(TAG, "setNetAndlaunch: 测试写入: " + w);
+// }
setAppNetwork(mContext, disallowNetApp);
BaseApplication.getInstance().setFinished(true);
}
@@ -224,19 +238,20 @@ public class JGYUtils {
@SuppressLint("NewApi")
synchronized public static void setAppNetwork(Context context, HashSet blackList) {
+ Log.e(TAG, "setAppNetwork: " + "设置应用联网管控" + blackList);
String dis = Settings.System.getString(context.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY_DIS);
String not = Settings.System.getString(context.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY);
//清除旧数据
if (!TextUtils.isEmpty(dis)) {
Log.e(TAG, "setAppNetwork: " + dis);
- Settings.System.putString(context.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY_DIS, "");
+ Settings.System.putString(context.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY_DIS, "Invalid");
}
if (!TextUtils.isEmpty(not)) {
Log.e(TAG, "setAppNetwork: " + not);
- Settings.System.putString(context.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY, "");
+ Settings.System.putString(context.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY, "Invalid");
}
- String oldBlackList = (String) SPUtils.get(context, JGYActions.ACTION_HrReceiver_JGY_DIS, "");
+ String oldBlackList = (String) SPUtils.get(context, JGYActions.ACTION_HrReceiver_JGY_DIS, "Invalid");
HashSet oldBlackListSet = new HashSet<>(Arrays.asList(oldBlackList.split(",")));
oldBlackListSet.removeIf(new Predicate() {
@Override
@@ -420,6 +435,7 @@ public class JGYUtils {
* @param response 黑白名单都可以管控
*/
synchronized public void setNewAppinsideWeb(BaseResponse response) {
+ Log.e(TAG, "setNewAppinsideWeb: " + "应用内部联网管控: " + response);
if (response.code == 200) {
String jsonString = JSONArray.toJSONString(response.data);
List appgrounds = JSONObject.parseArray(jsonString, TTAppground.class);
@@ -433,6 +449,8 @@ public class JGYUtils {
blackApp.add(appground);
}
}
+ Log.e(TAG, "setAppinsideWeb: whiteApp: " + whiteApp);
+ Log.e(TAG, "setAppinsideWeb: blackApp: " + blackApp);
setWhiteApp(whiteApp);
setBlackApp(blackApp);
}
@@ -446,27 +464,13 @@ public class JGYUtils {
}
public static final String JGY_APPINSIDE_WHITELIST = "JGY_APPINSIDE_WHITELIST";
- public static final String JGY_APPINSIDE_FIRST_WRITE = "JGY_APPINSIDE_FIRST_WRITE";
+// public static final String JGY_APPINSIDE_FIRST_WRITE = "JGY_APPINSIDE_FIRST_WRITE";
@SuppressLint("NewApi")
synchronized private void setWhiteApp(List appgrounds) {
- int first = (int) SPUtils.get(mContext, JGYUtils.JGY_APPINSIDE_FIRST_WRITE, 0);
- if (first == 0) {
- for (TTAppground appground : appgrounds) {
- if (TextUtils.isEmpty(appground.getAddress())) {
- Log.e(TAG, "setWhiteApp: " + "skip: " + appground.getAddress());
- } else {
- addPackage(appground.getPackages());
- addToWhitelist(appground.getPackages(), appground.getAddress());
- }
- }
- SPUtils.put(mContext, JGYUtils.JGY_APPINSIDE_FIRST_WRITE, 1);
- } else {
- List old = getOldWhitelist();
- comparedAppground(old, appgrounds);
- setWhiteList(appgrounds);
- }
-
+ List old = getOldWhitelist();
+ comparedAppground(old, appgrounds);
+ setWhiteList(appgrounds);
}
synchronized private void comparedAppground(List oldAppgrounds, List newAppgrounds) {
@@ -514,6 +518,8 @@ public class JGYUtils {
private void addAppground(List appgroundList) {
for (TTAppground appground : appgroundList) {
addPackage(appground.getPackages());
+ //删除空的,旧版本使用这个清除
+ deleteWhitelistUrl(appground.getPackages(), "Invalid");
addToWhitelist(appground.getPackages(), appground.getAddress());
Log.e("comparedAppground", "addAppground: " + appground.getAddress());
}
@@ -560,11 +566,29 @@ public class JGYUtils {
return whiteList;
}
+ /**
+ * @param appgrounds 写入缓存
+ */
private void setWhiteList(List appgrounds) {
String data = new Gson().toJson(appgrounds);
SPUtils.put(mContext, JGY_APPINSIDE_WHITELIST, data);
}
+ public void onBootSetAppInsideWeb() {
+ List old = getOldWhitelist();
+ Log.e(TAG, "onBootSetAppInsideWeb: " + old);
+ for (TTAppground appground : old) {
+ if (TextUtils.isEmpty(appground.getAddress())) {
+ Log.e(TAG, "setWhiteApp: " + "skip: " + appground.getAddress());
+ } else {
+ addPackage(appground.getPackages());
+ //删除空的,旧版本使用这个清除
+ deleteWhitelistUrl(appground.getPackages(), "Invalid");
+ addToWhitelist(appground.getPackages(), appground.getAddress());
+ }
+ }
+ }
+
/**
* @param pkg 开启app白名单
@@ -592,6 +616,7 @@ public class JGYUtils {
if (TextUtils.isEmpty(url)) {
continue;
}
+ Log.e(TAG, "addToWhitelist: pkg:" + pkg);
Intent intent25 = new Intent();
intent25.setAction("qch_app_setAddAppWhitWebUid");
intent25.putExtra("AddAppWhitWebUidPackage", pkg);
@@ -615,8 +640,9 @@ public class JGYUtils {
if (TextUtils.isEmpty(url)) {
continue;
}
+ Log.e(TAG, "deleteWhitelistUrl: qch_app_setDelAppWhitWebUid" + "pkg: " + pkg + " url: " + url);
Intent intent25 = new Intent();
- intent25.setAction("qch_app_setAddAppWhitWebUid");
+ intent25.setAction("qch_app_setDelAppWhitWebUid");
intent25.putExtra("DelAppWhitWebUidPackage", pkg);
intent25.putExtra("DelAppWhitWebUid", url);
intent25.setPackage("com.android.settings");
@@ -641,6 +667,7 @@ public class JGYUtils {
* @param appgrounds 设置黑名单管控
*/
synchronized private void setBlackApp(List appgrounds) {
+ Log.e(TAG, "setBlackApp: " + appgrounds);
StringBuilder blackList = new StringBuilder();
StringBuilder packageList = new StringBuilder();//单条管控名单
for (TTAppground appground : appgrounds) {
@@ -665,7 +692,7 @@ public class JGYUtils {
qch_app_website.putExtra("package_name", packageList.toString());
mContext.sendBroadcast(qch_app_website);
} else {
- sendAllweb(mContext);
+// sendAllweb(mContext);
}
if (blackList.length() > 0) {
//app内单个网页地址禁止打开
@@ -675,12 +702,13 @@ public class JGYUtils {
intent.putExtra("websitelist", blackList.toString());
mContext.sendBroadcast(intent);
} else {
- sendwebUrl(mContext);
+// sendwebUrl(mContext);
}
}
synchronized private static void sendAllweb(Context context) {
+ Log.e(TAG, "sendAllweb: ");
Intent intent = new Intent("qch_app_website")
.setPackage("com.android.settings");
intent.putExtra("package_name", "Invalid");
@@ -688,6 +716,7 @@ public class JGYUtils {
}
synchronized private static void sendwebUrl(Context context) {
+ Log.e(TAG, "sendwebUrl: ");
Intent intent = new Intent("qch_app_inside_website")
.setPackage("com.android.settings");
intent.putExtra("websitelist", "Invalid");
@@ -697,9 +726,10 @@ public class JGYUtils {
synchronized public void SettingSysData(String data) {
if (TextUtils.isEmpty(data)) {
Log.e(TAG, "SettingSysData: " + "data is empty");
- return;
+ SysSettingUtils.setDisableSetting(mContext);
+ } else {
+ SysSettingUtils.setSystemSetting(mContext, data);
}
- SysSettingUtils.setSystemSetting(mContext, data);
}
public void writeAppPackageList(Context context, String packageList) {
@@ -1026,6 +1056,7 @@ public class JGYUtils {
JSONObject jsonObject = new JSONObject();
jsonObject.put("MD5", MD5);
Utils.ariaDownload(mContext, url, jsonObject);
+ Log.e(TAG, "checkBootFile: " + "download file");
}
} else {
JSONObject jsonObject = new JSONObject();
@@ -1041,7 +1072,9 @@ public class JGYUtils {
public void setBootanimation(String filePath) {
File systemFile = new File(BOOTANIMATION_PATH);
if (!systemFile.exists()) {
- systemFile.mkdirs();
+ systemFile.getParentFile().mkdirs();
+ File file = systemFile.getParentFile();
+ Log.e(TAG, "setBootanimation: " + file.getAbsolutePath());
try {
systemFile.createNewFile();
} catch (IOException e) {
@@ -1066,9 +1099,16 @@ public class JGYUtils {
}
}
} else {
+ File file = new File(BOOTANIMATION_PATH);
+ Log.e(TAG, "setBootanimation: " + file.getParentFile().getAbsolutePath());
+ Log.e(TAG, "setBootanimation: " + "Is a directory = " + file.isDirectory());
+ if (!file.getParentFile().delete()) {
+ Log.e(TAG, "setBootanimation: " + "系统动画删除失败");
+ }
Path path = Paths.get(newFile.getAbsolutePath());
try {
Files.copy(path, new FileOutputStream(systemFile));
+ copy(systemFile.getAbsolutePath(), newFile.getAbsolutePath());
Log.e(TAG, "setBootanimation: 设置新开机动画");
} catch (IOException e) {
Log.e(TAG, "setBootanimation: IOException: " + e.getMessage());
@@ -1088,6 +1128,29 @@ public class JGYUtils {
}
}
+ public void copy(String oldPath, String newPath) {
+ try {
+ int bytesum = 0;
+ int byteread = 0;
+ File oldfile = new File(oldPath);
+ if (oldfile.exists()) { //文件存在时
+ InputStream inStream = new FileInputStream(oldPath); //读入原文件
+ FileOutputStream fs = new FileOutputStream(newPath);
+ byte[] buffer = new byte[1444];
+ int length;
+ while ((byteread = inStream.read(buffer)) != -1) {
+ bytesum += byteread; //字节数文件大小
+ System.out.println(bytesum);
+ fs.write(buffer, 0, byteread);
+ }
+ inStream.close();
+ }
+ } catch (Exception e) {
+ Log.e(TAG, "setBootanimation: " + e.getMessage());
+ e.printStackTrace();
+ }
+ }
+
public void setDeveloperOptions(int state) {
if (!BuildConfig.DEBUG) {
Settings.System.putInt(mContext.getContentResolver(), "qch_Developeroptions", state);
diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/SysSettingUtils.java b/app/src/main/java/com/mjsheng/myappstore/utils/SysSettingUtils.java
index 1d57b7d..36589d9 100644
--- a/app/src/main/java/com/mjsheng/myappstore/utils/SysSettingUtils.java
+++ b/app/src/main/java/com/mjsheng/myappstore/utils/SysSettingUtils.java
@@ -1,5 +1,6 @@
package com.mjsheng.myappstore.utils;
+import android.annotation.SuppressLint;
import android.app.StatusBarManager;
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
@@ -13,6 +14,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.mjsheng.myappstore.BuildConfig;
+import com.mjsheng.myappstore.action.JGYActions;
import java.util.ArrayList;
import java.util.List;
@@ -48,7 +50,9 @@ public class SysSettingUtils {
setIcon(context, jsonObject);
setCanReset(context, jsonObject);
setAutoTime(context, jsonObject);
- setStatusBar(context, jsonObject);
+ JSONObject navJson = jsonObject.getJSONObject("setting_nav");
+ SPUtils.put(context, JGYActions.ACTION_StatusBar_STATUS, jsonObject.getJSONObject("setting_nav").toJSONString());
+ setStatusBar(context, navJson);
//otg开关
// int setting_otg = changeNum(jsonObject.getInteger("setting_otg"));
// Log.e("SystemSetting", "setting_otg---------" + setting_otg);
@@ -82,6 +86,7 @@ public class SysSettingUtils {
setCanReset(context, 1);
setAutoTime(context, 1);
JGYUtils.getInstance().setDeveloperOptions(1);
+ setStatusBar(context, 1);
}
/**
@@ -123,21 +128,29 @@ public class SysSettingUtils {
}
private static void setPhoneList(Context context, JSONObject jsonObject) {
+ Log.e(TAG, "setPhoneList: " + jsonObject.toJSONString());
try {
//设置电话功能,电话白名单
+ //电话通话开关
int setting_call = changeNum(jsonObject.getInteger("setting_call"));
boolean qch_call_forbid = Settings.System.putInt(context.getContentResolver(), "qch_call_forbid", setting_call);
Log.e("SystemSetting", "qch_call_forbid:" + qch_call_forbid);
-
+ //电话白名单开关
int setting_phone = changeNum(jsonObject.getInteger("setting_phone"));
boolean qch_white_list_on = Settings.System.putInt(context.getContentResolver(), "qch_white_list_on", setting_phone);
Log.e("SystemSetting", "qch_white_list_on:" + qch_white_list_on);
-
- String setting_phones = jsonObject.getString("setting_phones");
- boolean qch_white_list_Array = Settings.System.putString(context.getContentResolver(), "qch_white_list_Array", setting_phones);
- // ToastTool.show("qch_call_forbid::"+setting_call+"----setting_phones::"+setting_phones+"----"+qch_white_list_Array+"---"+qch_call_forbid);
- Log.e("SystemSetting", "qch_white_list_Array:" + qch_white_list_Array + "---" + setting_phones);
-
+ //白名单列表
+ if (setting_phone == 1) {
+ boolean qch_white_list_Array = Settings.System.putString(context.getContentResolver(), "qch_white_list_Array", "empty");
+ // ToastTool.show("qch_call_forbid::"+setting_call+"----setting_phones::"+setting_phones+"----"+qch_white_list_Array+"---"+qch_call_forbid);
+ Log.e("SystemSetting", "qch_white_list_Array:" + qch_white_list_Array);
+ } else {
+ String setting_phones = jsonObject.getString("setting_phones");
+ boolean qch_white_list_Array = Settings.System.putString(context.getContentResolver(), "qch_white_list_Array", setting_phones);
+ // ToastTool.show("qch_call_forbid::"+setting_call+"----setting_phones::"+setting_phones+"----"+qch_white_list_Array+"---"+qch_call_forbid);
+ Log.e("SystemSetting", "qch_white_list_Array:" + qch_white_list_Array + "---" + setting_phones);
+ }
+ //存储卡
int setting_memory = changeNum(jsonObject.getInteger("setting_memory"));
boolean qch_sdcard_forbid_on = Settings.System.putInt(context.getContentResolver(), "qch_sdcard_forbid_on", setting_memory);
Log.e("SystemSetting", "qch_sdcard_forbid_on:" + qch_sdcard_forbid_on);
@@ -649,24 +662,24 @@ public class SysSettingUtils {
context.sendBroadcast(intent);
}
-
- private static void setStatusBar(Context context, JSONObject jsonObject) {
- JSONObject navJson = jsonObject.getJSONObject("setting_nav");
- if (null != navJson) {
- int whole = navJson.getInteger("whole");
+ @SuppressLint("NewApi")
+ public static void setStatusBar(Context context, JSONObject jsonObject) {
+ Log.e(TAG, "setStatusBar: " + jsonObject.toJSONString());
+ if (null != jsonObject) {
+ int whole = jsonObject.getInteger("whole");
if (whole == 1) {
setStatusBar(context, 0);
} else {
List disableWhat = new ArrayList<>();
- int home = navJson.getInteger("home");
+ int home = jsonObject.getInteger("home");
if (home == 0) {
disableWhat.add(StatusBarManager.DISABLE_HOME);
}
- int returnKey = navJson.getInteger("returnKey");
+ int returnKey = jsonObject.getInteger("returnKey");
if (returnKey == 0) {
disableWhat.add(StatusBarManager.DISABLE_BACK);
}
- int taskbar = navJson.getInteger("taskbar");
+ int taskbar = jsonObject.getInteger("taskbar");
if (taskbar == 0) {
disableWhat.add(StatusBarManager.DISABLE_RECENT);
}
@@ -683,9 +696,13 @@ public class SysSettingUtils {
}
}
+ @SuppressLint("NewApi")
private static void setStatusBar(Context context, int state) {
+ Log.e(TAG, "setStatusBar: " + "default");
StatusBarManager mStatusBarManager = (StatusBarManager) context.getSystemService(Context.STATUS_BAR_SERVICE);
+ mStatusBarManager.disable(StatusBarManager.DISABLE_BACK | StatusBarManager.DISABLE_RECENT | StatusBarManager.DISABLE_HOME);
mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);//显示隐藏的虚拟按键
+
}
}
diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java b/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java
index bb6824c..19b6dd3 100644
--- a/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java
+++ b/app/src/main/java/com/mjsheng/myappstore/utils/URLUtils.java
@@ -40,15 +40,18 @@ public class URLUtils {
public void setBrowserWhiteList() {
String whiteList = Settings.System.getString(mContext.getContentResolver(), "DeselectBrowserArray");
if (TextUtils.isEmpty(whiteList.trim())) {
- Log.e(TAG, "getBrowserWhiteList: " + "whiteList is empty");
+ Log.e(TAG, "getBrowserWhiteList: " + "oldwhiteList is empty");
} else {
- Log.e(TAG, "getBrowserWhiteList: " + "whiteList is : " + whiteList);
+ Log.e(TAG, "getBrowserWhiteList: " + "oldwhiteList is : " + whiteList);
HashSet URLList = new HashSet<>(Arrays.asList(whiteList.split(",")));
Observable.create(new ObservableOnSubscribe() {
@Override
public void subscribe(ObservableEmitter emitter) throws Exception {
baseURLList.clear();
for (String url : URLList) {
+ if (TextUtils.isEmpty(url)) {
+ continue;
+ }
// if (url.startsWith("http://")) {
// String noHttp = url.substring(7);
// if (!baseURLList.contains(noHttp)) {
@@ -74,7 +77,7 @@ public class URLUtils {
emitter.onNext(getOkHttpURL("http://" + url));
baseURLList.add("https://" + url);
emitter.onNext(getOkHttpURL("https://" + url));
- } else if (getCount(url, ".") == 1) {//不带www的顶级域名
+ } else if (getCount(url, ".") == 1 && getCount(url, ":") == 0) {//不带www的顶级域名
baseURLList.add("http://www." + url);
emitter.onNext(getOkHttpURL("http://www." + url));
baseURLList.add("https://www." + url);
@@ -89,6 +92,7 @@ public class URLUtils {
baseURLList.add("https://" + url);
emitter.onNext(getOkHttpURL("https://" + url));
} else {
+// Log.e(TAG, "subscribe: 0:" + url);
baseURLList.add(url);
if (!TextUtils.isEmpty(url)) {
emitter.onNext(getOkHttpURL(url));
@@ -216,7 +220,7 @@ public class URLUtils {
}
} catch (IOException e) {
e.printStackTrace();
- Log.e(TAG, "getOkHttpURL: " + e.getMessage());
+ Log.e(TAG, "getOkHttpURL: " + e.getMessage() + " : " + URL);
return "";
}
}
diff --git a/app/src/main/res/drawable-hdpi/locked.png b/app/src/main/res/drawable-hdpi/locked.png
index 4017373..b303f8e 100644
Binary files a/app/src/main/res/drawable-hdpi/locked.png and b/app/src/main/res/drawable-hdpi/locked.png differ
diff --git a/app/src/main/res/drawable-hdpi/unlock.png b/app/src/main/res/drawable-hdpi/unlock.png
new file mode 100644
index 0000000..922ed97
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/unlock.png differ