From 89d4edd7c957c12a3d37d53e29cc5117f66bc4a7 Mon Sep 17 00:00:00 2001 From: fanhuitong <981964879@qq.com> Date: Wed, 23 Jun 2021 18:00:25 +0800 Subject: [PATCH] =?UTF-8?q?version:=20update:=E6=9B=B4=E6=96=B0=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E8=81=94=E7=BD=91=E7=AE=A1=E6=8E=A7=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=EF=BC=8C=E5=85=B3=E9=97=AD=E6=89=80=E6=9C=89=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E6=97=B6=E4=B8=8D=E7=AE=A1=E6=8E=A7=E5=A3=81=E7=BA=B8?= =?UTF-8?q?=20fix:=20add:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mjsheng/myappstore/action/JGYActions.java | 10 + .../myappstore/activity/DiscardActivity.java | 7 +- .../myappstore/activity/MainPresenter.java | 2 +- .../myappstore/network/HTTPInterface.java | 118 +--------- .../myappstore/receiver/BootReceiver.java | 3 +- .../myappstore/receiver/MyJPushReceiver.java | 35 +-- .../myappstore/server/DiscardServer.java | 4 +- .../mjsheng/myappstore/utils/ApkUtils.java | 5 + .../mjsheng/myappstore/utils/JGYUtils.java | 217 +++++++++++------- .../myappstore/utils/SysSettingUtils.java | 18 +- .../com/mjsheng/myappstore/utils/Utils.java | 14 +- 11 files changed, 178 insertions(+), 255 deletions(-) create mode 100644 app/src/main/java/com/mjsheng/myappstore/action/JGYActions.java diff --git a/app/src/main/java/com/mjsheng/myappstore/action/JGYActions.java b/app/src/main/java/com/mjsheng/myappstore/action/JGYActions.java new file mode 100644 index 0000000..8860149 --- /dev/null +++ b/app/src/main/java/com/mjsheng/myappstore/action/JGYActions.java @@ -0,0 +1,10 @@ +package com.mjsheng.myappstore.action; + +public class JGYActions { + //应用管理-允许联网 + public final static String ACTION_HrReceiver_JGY = "qch_jgy_network_allow"; + //应用管理-禁止联网 + public final static String ACTION_HrReceiver_JGY_DIS = "qch_jgy_network_disallow"; + + +} diff --git a/app/src/main/java/com/mjsheng/myappstore/activity/DiscardActivity.java b/app/src/main/java/com/mjsheng/myappstore/activity/DiscardActivity.java index b8234ee..c585ab8 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/DiscardActivity.java +++ b/app/src/main/java/com/mjsheng/myappstore/activity/DiscardActivity.java @@ -41,6 +41,7 @@ import com.lzy.okgo.OkGo; import com.lzy.okgo.callback.StringCallback; import com.mjsheng.myappstore.BuildConfig; import com.mjsheng.myappstore.R; +import com.mjsheng.myappstore.action.JGYActions; import com.mjsheng.myappstore.base.BaseApplication; import com.mjsheng.myappstore.bean.ForceDownloadBean; import com.mjsheng.myappstore.bean.ForceDownloadData; @@ -92,8 +93,6 @@ import static com.mjsheng.myappstore.jpush.TagAliasOperatorHelper.sequence; public class DiscardActivity extends AppCompatActivity { private static final String TAG = DiscardActivity.class.getSimpleName(); private Context mContext; - private final String ACTION_HrReceiver_JGY_DIS = "qch_jgy_network_disallow"; - private final String ACTION_HrReceiver_JGY = "qch_jgy_network_allow"; // private DownloadManager downloadManager; private ImageView imageView; private TextView tv_devsn, tv_devmac, tv_version; @@ -1450,14 +1449,14 @@ public class DiscardActivity extends AppCompatActivity { // sendBroadcast(netControlNotIntent); if (!net_not.equals("")) { String[] bans = net_not.split(","); - Settings.System.putString(getContentResolver(), "qch_jgy_network_disallow", net_not); +// 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(), "qch_jgy_network_allow", net_ok); +// Settings.System.putString(getContentResolver(), JGYActions.ACTION_HrReceiver_JGY, net_ok); Log.e("setNetAndlaunch", "not::" + net_ok); } // Intent intent2 = new Intent("qch_camera_forbid"); 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 5d963cb..d350329 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java +++ b/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java @@ -1382,7 +1382,7 @@ public class MainPresenter implements MainContact.Presenter { } else { Log.e("getROMApp", "onNext: " + baseResponse.msg); Settings.System.putString(mContext.getContentResolver(), "jgy_customromapp", ""); - onComplete(); +// onComplete(); } } 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 9d0f72a..844aa68 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java +++ b/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java @@ -1012,7 +1012,7 @@ public class HTTPInterface { NetAndLaunchBean netAndLaunchBeanList = JSON.parseObject(s, NetAndLaunchBean.class); switch (netAndLaunchBeanList.getCode()) { case 200: - setNetAndlaunch(netAndLaunchBeanList, context); + JGYUtils.getInstance().setNetAndlaunch(netAndLaunchBeanList); break; default: } @@ -1025,122 +1025,6 @@ public class HTTPInterface { }); } - private static void setNetAndlaunch(NetAndLaunchBean netAndLaunchBean, Context context) { - 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(context.getContentResolver(), "qch_disable_slide", slide_not); - Log.e("setNetAndlaunch", "qch_disable_slide=" + writeSucceed + ":" + slide_not); - } else { - boolean writeSucceed = Settings.System.putString(context.getContentResolver(), "qch_disable_slide", "Invalid"); - Log.e("setNetAndlaunch", "qch_disable_slide ok=" + writeSucceed + ":" + slide_ok); - } - - Utils.writeDisableUpdateList(context, 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(context.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(context.getContentResolver(), "qch_jgy_network_disallow", net_not); - Log.e("fht", "ban::" + net_not); - - } - BaseApplication.getInstance().setFinished(true); - if (!net_ok.equals("")) { - String[] nots = net_ok.split(","); - Settings.System.putString(context.getContentResolver(), "qch_jgy_network_allow", net_ok); - Log.e("fht", "not::" + net_ok); - } - - -// Intent intent2 = new Intent("qch_camera_forbid"); -// intent2.putExtra("camera_package_name", camera_not).setPackage("com.android.settings"); -// context.sendBroadcast(intent2); -// Intent intent1 = new Intent("qch_camera_open"); -// intent1.putExtra("camera_package_name", camera_ok).setPackage("com.android.settings"); -// context.sendBroadcast(intent1); - } @SuppressLint("NewApi") synchronized public static void updateDeviceInfo(Context context) { 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 6ccd5b8..ad5f22f 100644 --- a/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java +++ b/app/src/main/java/com/mjsheng/myappstore/receiver/BootReceiver.java @@ -30,7 +30,8 @@ public class BootReceiver extends BroadcastReceiver { Settings.System.putString(context.getContentResolver(), "qch_launcher_icon_app", ""); } startService(context); - SPUtils.put(context, JGYUtils.JGY_APPINSIDE_FIRST_WRITE,0); + SPUtils.put(context, JGYUtils.JGY_APPINSIDE_FIRST_WRITE, 0); + JGYUtils.getInstance().onBootSendNetwork(); 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 cd9cbfa..a3f56ea 100644 --- a/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java +++ b/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java @@ -46,6 +46,8 @@ import com.mjsheng.myappstore.utils.ServiceAliveUtils; import com.mjsheng.myappstore.utils.Utils; import java.io.File; +import java.util.Arrays; +import java.util.HashSet; import cn.jpush.android.api.JPushInterface; import io.reactivex.Observable; @@ -986,38 +988,13 @@ public class MyJPushReceiver extends BroadcastReceiver { private void settingNetControl(String s) { if (TextUtils.isEmpty(s)) { Log.e(TAG, "settingNetControl extras is null"); -// return; } JSONObject jSONObject = JSON.parseObject(s); Log.e("mymjsheng", "jSONObject::" + jSONObject.toString()); - String strban = jSONObject.getString("ban"); - String strnot = jSONObject.getString("not"); - String qch_jgy_network_disallow = Settings.System.getString(mContext.getApplicationContext().getContentResolver(), "qch_jgy_network_disallow"); - String qch_jgy_network_allow = Settings.System.getString(mContext.getApplicationContext().getContentResolver(), "qch_jgy_network_allow"); - Log.e("fht", "qch_jgy_network_disallow::" + qch_jgy_network_disallow); - Log.e("fht", "qch_jgy_network_allow::" + qch_jgy_network_allow); - - if (strban != null && !"".equals(strban)) { - Settings.System.putString(mContext.getContentResolver(), "qch_jgy_network_disallow", strban); -// Log.e("fht", "qch_jgy_network_disallow::" + Settings.System.getString(mContext.getApplicationContext().getContentResolver(), "qch_jgy_network_disallow")); -// Log.e("fht", "qch_jgy_network_allow::" + Settings.System.getString(mContext.getApplicationContext().getContentResolver(), "qch_jgy_network_allow")); - Log.e("fht", "sendban::" + strban); - - } else { - Settings.System.putString(mContext.getContentResolver(), "qch_jgy_network_disallow", "invalid"); - } - if (strnot != null && !strnot.equals("")) { - Settings.System.putString(mContext.getContentResolver(), "qch_jgy_network_allow", strnot); -// String[] nots = strnot.split(","); -// Log.e("fht", "qch_jgy_network_disallow::" + Settings.System.getString(mContext.getApplicationContext().getContentResolver(), "qch_jgy_network_disallow")); -// Log.e("fht", "qch_jgy_network_allow::" + Settings.System.getString(mContext.getApplicationContext().getContentResolver(), "qch_jgy_network_allow")); - Log.e("fht", "sendnot::" + strnot); -// new BroadcastThread("qch_jgy_network_allow", nots).start(); - } else { - Settings.System.putString(mContext.getContentResolver(), "qch_jgy_network_allow", "invalid"); - } - Log.e("fht", "qch_jgy_network_disallow::" + Settings.System.getString(mContext.getApplicationContext().getContentResolver(), "qch_jgy_network_disallow")); - Log.e("fht", "qch_jgy_network_allow::" + Settings.System.getString(mContext.getApplicationContext().getContentResolver(), "qch_jgy_network_allow")); + String disallow = jSONObject.getString("ban"); + String allow = jSONObject.getString("not"); + HashSet disallowApp = new HashSet<>(Arrays.asList(disallow.split(","))); + JGYUtils.setAppNetwork(mContext, disallowApp); } private void settingPowerOn(String s) { diff --git a/app/src/main/java/com/mjsheng/myappstore/server/DiscardServer.java b/app/src/main/java/com/mjsheng/myappstore/server/DiscardServer.java index f566015..910bbc9 100644 --- a/app/src/main/java/com/mjsheng/myappstore/server/DiscardServer.java +++ b/app/src/main/java/com/mjsheng/myappstore/server/DiscardServer.java @@ -1034,14 +1034,14 @@ public class DiscardServer extends Service { // sendBroadcast(netControlNotIntent); if (!net_not.equals("")) { String[] bans = net_not.split(","); - Settings.System.putString(getContentResolver(), "qch_jgy_network_disallow", net_not); +// 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); +// Settings.System.putString(getContentResolver(), "qch_jgy_network_allow", net_ok); Log.e("setNetAndlaunch", "not::" + net_ok); } //app联网管控需要桌面launcher的支持,如果更换第三方launcher功能失效 diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java b/app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java index 9693b7f..399f263 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java +++ b/app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java @@ -642,6 +642,11 @@ public class ApkUtils { private static String[] excludePackageName = {"com.easyold.uiuios"}; + /** + * 获取第三方应用 + * @param context + * @return + */ public static List queryFilterAppInfo(Context context) { PackageManager pm = context.getPackageManager(); // 查询所有已经安装的应用程序 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 b7f8c9e..33fbab4 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java +++ b/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java @@ -30,6 +30,7 @@ import com.google.gson.Gson; import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import com.mjsheng.myappstore.BuildConfig; +import com.mjsheng.myappstore.action.JGYActions; import com.mjsheng.myappstore.base.BaseApplication; import com.mjsheng.myappstore.bean.Appground; import com.mjsheng.myappstore.bean.BaseResponse; @@ -56,6 +57,8 @@ import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; +import java.util.Set; +import java.util.function.Predicate; import static android.app.ActivityManager.RECENT_IGNORE_UNAVAILABLE; @@ -166,117 +169,157 @@ public class JGYUtils { * * @param netAndLaunchBean */ - public void setNetAndlaunch(NetAndLaunchBean netAndLaunchBean) { + @SuppressLint("NewApi") + synchronized public void setNetAndlaunch(NetAndLaunchBean netAndLaunchBean) { Log.e(TAG, "setNetAndlaunch: "); - 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 = ""; + HashSet autoLaunchApp = new HashSet<>();//开机自启app + HashSet allowNetApp = new HashSet<>();//允许联网 + HashSet disallowNetApp = new HashSet<>();//禁止联网 + HashSet allowUpgrade = new HashSet<>();//允许升级 + HashSet disallowUpgrade = new HashSet<>();//禁止升级 + HashSet allowSlide = new HashSet<>();//允许滑动 + HashSet disallowSlide = new HashSet<>();//禁止滑动 List data = netAndLaunchBean.getData(); - for (int i = 0; i < data.size(); i++) { - NetAndLaunchData netAndLaunchData = data.get(i); + for (NetAndLaunchData netAndLaunchData : data) { 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) autoLaunchApp.add(app_package); - if (is_auto == 1) { - launch += app_package + ","; - } - if (is_network == 1) { - net_ok += app_package + ","; - } else { - net_not += app_package + ","; - } + if (is_network == 1) allowNetApp.add(app_package); + else disallowNetApp.add(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 (is_upgrade == 1) allowUpgrade.add(app_package); + else disallowUpgrade.add(app_package); + + if (is_slide == 1) allowSlide.add(app_package); + else disallowSlide.add(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); + if (disallowSlide.size() != 0) { + String slide_not = String.join(",", disallowSlide); boolean writeSucceed = Settings.System.putString(mContext.getContentResolver(), "qch_disable_slide", slide_not); Log.e("fht", "qch_disable_slide=" + writeSucceed + ":" + slide_not); } else { + String slide_ok = String.join(",", allowSlide); 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); - Utils.writeDisableUpdateList(mContext, upgrade_not.split(","), upgrade_ok.split(",")); - boolean qch_app_power_on = Settings.System.putString(mContext.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(mContext.getContentResolver(), "qch_jgy_network_disallow", net_not); - Log.e("fht", "ban::" + net_not); + Settings.System.putString(mContext.getContentResolver(), "qch_app_power_on", String.join(",", autoLaunchApp)); - } + setAppNetwork(mContext, disallowNetApp); BaseApplication.getInstance().setFinished(true); - if (!net_ok.equals("")) { - String[] nots = net_ok.split(","); - Settings.System.putString(mContext.getContentResolver(), "qch_jgy_network_allow", net_ok); - Log.e("fht", "not::" + net_ok); + } + + + @SuppressLint("NewApi") + synchronized public static void setAppNetwork(Context context, HashSet 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, ""); + } + if (!TextUtils.isEmpty(not)) { + Log.e(TAG, "setAppNetwork: " + not); + Settings.System.putString(context.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY, ""); } -// 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); + String oldBlackList = (String) SPUtils.get(context, JGYActions.ACTION_HrReceiver_JGY_DIS, ""); + HashSet oldBlackListSet = new HashSet<>(Arrays.asList(oldBlackList.split(","))); + oldBlackListSet.removeIf(new Predicate() { + @Override + public boolean test(String s) { + //去空 + return TextUtils.isEmpty(s.trim()); + } + }); + //之前禁止上网得列表 + Log.e(TAG, "setAppNetwork: oldBlackListSet: " + oldBlackListSet); + if (oldBlackListSet.size() == 0) { + Log.e(TAG, "setAppNetwork: blackList: " + blackList); + for (String pkg : blackList) { + if (TextUtils.isEmpty(pkg)) continue; + Intent netControlNotIntent = new Intent(JGYActions.ACTION_HrReceiver_JGY_DIS); + netControlNotIntent.putExtra("package_name", pkg); + netControlNotIntent.setPackage("com.android.settings"); + context.sendBroadcast(netControlNotIntent); + } + } else { + //减少的 + Set removedNet = oldBlackListSet; + //增加的 + Set addedNet = new HashSet<>(); + for (String pkg : blackList) { + if (TextUtils.isEmpty(pkg)) continue; + if (removedNet.contains(pkg)) { + removedNet.remove(pkg); + } else { + addedNet.add(pkg); + } + } + + Log.e(TAG, "setAppNetwork: removedNet: " + removedNet); + Log.e(TAG, "setAppNetwork: addedNet: " + addedNet); + for (String pkg : removedNet) { + if (TextUtils.isEmpty(pkg)) continue; + Intent netControlNotIntent = new Intent(JGYActions.ACTION_HrReceiver_JGY); + netControlNotIntent.putExtra("package_name", pkg); + netControlNotIntent.setPackage("com.android.settings"); + context.sendBroadcast(netControlNotIntent); + } + for (String pkg : addedNet) { + if (TextUtils.isEmpty(pkg)) continue; + Intent netControlNotIntent = new Intent(JGYActions.ACTION_HrReceiver_JGY_DIS); + netControlNotIntent.putExtra("package_name", pkg); + netControlNotIntent.setPackage("com.android.settings"); + context.sendBroadcast(netControlNotIntent); + } + } + + String net_not = String.join(",", blackList); + SPUtils.put(context, JGYActions.ACTION_HrReceiver_JGY_DIS, net_not); + //Settings.System.putString(mContext.getContentResolver(), JGYActions.ACTION_HrReceiver_JGY_DIS, net_not); + Log.e("fht", "not::" + net_not); + + //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); + } + + @SuppressLint("NewApi") + synchronized public void onBootSendNetwork() { + String oldBlackListString = (String) SPUtils.get(mContext, JGYActions.ACTION_HrReceiver_JGY_DIS, ""); + HashSet oldBlackListSet = new HashSet<>(Arrays.asList(oldBlackListString.split(","))); + Log.e(TAG, "setAppNetwork: oldBlackListSet: " + oldBlackListSet); + oldBlackListSet.removeIf(new Predicate() { + @Override + public boolean test(String s) { + return TextUtils.isEmpty(s.trim()); + } + }); + for (String pkg : oldBlackListSet) { + if (TextUtils.isEmpty(pkg)) continue; + Intent netControlNotIntent = new Intent(JGYActions.ACTION_HrReceiver_JGY_DIS); + netControlNotIntent.putExtra("package_name", pkg); + netControlNotIntent.setPackage("com.android.settings"); + mContext.sendBroadcast(netControlNotIntent); + } } /** 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 1cb308e..1d57b7d 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/SysSettingUtils.java +++ b/app/src/main/java/com/mjsheng/myappstore/utils/SysSettingUtils.java @@ -78,6 +78,7 @@ public class SysSettingUtils { setCamera(context, 1); setTF(context, 1); setIcon(context, 1); + setWallpaper(context, 0); setCanReset(context, 1); setAutoTime(context, 1); JGYUtils.getInstance().setDeveloperOptions(1); @@ -95,6 +96,7 @@ public class SysSettingUtils { setCamera(context, 0); setTF(context, 0); setIcon(context, 0); + setWallpaper(context, 0); setCanReset(context, 0); setAutoTime(context, 0); JGYUtils.getInstance().setDeveloperOptions(0); @@ -452,7 +454,7 @@ public class SysSettingUtils { //tfmedia开关 // TODO: 2021/5/24 正式后台暂时无法修改 int setting_tfmedia = jsonObject.getInteger("setting_tfmedia"); - if (JGYUtils.isOfficialVersion()||JGYUtils.isBetaVersion()) { + if (JGYUtils.isOfficialVersion() || JGYUtils.isBetaVersion()) { setting_tfmedia = changeNum(setting_tfmedia); } boolean qch_tfmedia_forbid = Settings.System.putInt(context.getContentResolver(), @@ -513,10 +515,6 @@ public class SysSettingUtils { Settings.System.putInt(context.getContentResolver(), "qch_app_gallery", state); ApkUtils.hideSystemSettingAPP(context, "com.android.gallery3d"); Log.e("SystemSetting", "qch_app_gallery" + state); - //壁纸 -// int wallpaper = 1; - Settings.System.putInt(context.getContentResolver(), "qch_app_wallpaper", state); - Log.e("SystemSetting", "qch_app_wallpaper" + state); //文件管理器 // int filemanager = 1; Settings.System.putInt(context.getContentResolver(), "qch_app_filemanager", state); @@ -557,8 +555,7 @@ public class SysSettingUtils { Log.e("SystemSetting", "qch_app_gallery" + gallery); //壁纸 int wallpaper = changeNum(jsonObject.getInteger("setting_wallpaper")); - Settings.System.putInt(context.getContentResolver(), "qch_app_wallpaper", wallpaper); - Log.e("SystemSetting", "qch_app_wallpaper" + wallpaper); + setWallpaper(context, wallpaper); //文件管理器 int filemanager = changeNum(jsonObject.getInteger("setting_file")); Settings.System.putInt(context.getContentResolver(), "qch_app_filemanager", filemanager); @@ -573,6 +570,13 @@ public class SysSettingUtils { } } + private static void setWallpaper(Context context, int state) { + //壁纸 +// int wallpaper = 1; + Settings.System.putInt(context.getContentResolver(), "qch_app_wallpaper", state); + Log.e("SystemSetting", "qch_app_wallpaper" + state); + } + private static void setCanReset(Context context, int state) { boolean qch_restore_forbid_on = Settings.System.putInt(context.getContentResolver(), "qch_restore_forbid_on", 0); Log.e("SystemSetting", "qch_restore_forbid_on:" + qch_restore_forbid_on); diff --git a/app/src/main/java/com/mjsheng/myappstore/utils/Utils.java b/app/src/main/java/com/mjsheng/myappstore/utils/Utils.java index e0e0cb8..6cc3c3b 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/Utils.java +++ b/app/src/main/java/com/mjsheng/myappstore/utils/Utils.java @@ -846,23 +846,23 @@ public class Utils { * 更新应用白名单禁止升级 * * @param context - * @param banList - * @param notList + * @param allowList 禁止 + * @param disallowList 允许 * @return */ - static synchronized public boolean writeDisableUpdateList(Context context, String[] banList, String[] notList) { + static synchronized public boolean writeDisableUpdateList(Context context, String[] allowList, String[] disallowList) { String now = Settings.System.getString(context.getContentResolver(), "qch_app_forbid"); String[] nowList; List allList; - if (now == null || now.equalsIgnoreCase("")) { + if (now == null || "".equalsIgnoreCase(now)) { allList = new ArrayList<>(); } else { nowList = now.split(","); allList = new ArrayList<>(Arrays.asList(nowList));//已经写入的列表 } boolean writeSucceed = false; - if (banList != null && banList.length > 0) { - for (String s : banList) { + if (allowList != null && allowList.length > 0) { + for (String s : allowList) { if (ApkUtils.isAvailable(context, s)) { allList.remove(s); //去掉已经安装的 @@ -875,7 +875,7 @@ public class Utils { } } } - for (String s : notList) { + for (String s : disallowList) { if (allList.indexOf(s) == -1) { allList.add(s); //没找到元素添加到白名单