From 8392db15e4f5b99d7cf0c6e71fac878ba9af97df Mon Sep 17 00:00:00 2001 From: fanhuitong <981964879@qq.com> Date: Thu, 14 Jul 2022 20:06:43 +0800 Subject: [PATCH] =?UTF-8?q?version:3.1=20fix:=20update:=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=94=AF=E4=B8=80=E6=A0=87=E8=AF=86=E4=B8=BAIMEI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +-- .../uiui/sn/activity/main/MainAPresenter.java | 2 +- .../uiui/sn/activity/main/MainActivity.java | 2 +- .../com/uiui/sn/base/BaseApplication.java | 3 +- .../java/com/uiui/sn/config/CommonConfig.java | 3 ++ .../com/uiui/sn/manager/ControlManager.java | 25 +++++++++++++- .../uiui/sn/network/NetInterfaceManager.java | 9 +++-- .../interceptor/RepeatRequestInterceptor.java | 2 +- .../com/uiui/sn/service/main/MainService.java | 5 +++ .../com/uiui/sn/tpush/MessageReceiver.java | 6 ++++ .../main/java/com/uiui/sn/utils/JGYUtils.java | 31 +++++++++++++++++ .../main/java/com/uiui/sn/utils/Utils.java | 33 ++++++++++--------- 12 files changed, 99 insertions(+), 26 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5c08c98..143dbc7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -67,8 +67,8 @@ android { productFlavors { beta { flavorDimensions "default" - versionCode 18 - versionName "2.7" + versionCode 22 + versionName "3.1" } official { diff --git a/app/src/main/java/com/uiui/sn/activity/main/MainAPresenter.java b/app/src/main/java/com/uiui/sn/activity/main/MainAPresenter.java index 2330cae..38d9963 100644 --- a/app/src/main/java/com/uiui/sn/activity/main/MainAPresenter.java +++ b/app/src/main/java/com/uiui/sn/activity/main/MainAPresenter.java @@ -119,7 +119,7 @@ public class MainAPresenter implements MainAContact.Presenter { @Override public void getQRCode() { - String encryptString = CXAESUtil.encrypt(CommonConfig.AES_KEY, Utils.getSerial()); + String encryptString = CXAESUtil.encrypt(CommonConfig.AES_KEY, Utils.getIMEI(mContext)); Log.e("getQRCode", "setImageAndText: " + encryptString); Bitmap bitmap = Utils.createQRImage(encryptString, 400, 400); mView.setQRCode(bitmap); diff --git a/app/src/main/java/com/uiui/sn/activity/main/MainActivity.java b/app/src/main/java/com/uiui/sn/activity/main/MainActivity.java index c520f8c..72422b7 100644 --- a/app/src/main/java/com/uiui/sn/activity/main/MainActivity.java +++ b/app/src/main/java/com/uiui/sn/activity/main/MainActivity.java @@ -115,7 +115,7 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView, setOnClickListener(); tv_customversion.setText(JGYUtils.getCustomVersion()); - tv_sn.setText("SN:" + Utils.getSerial()); + tv_sn.setText("IMEI:" + Utils.getIMEI(MainActivity.this)); tv_version.setText(BuildConfig.VERSION_NAME); task = new TimeTask(); diff --git a/app/src/main/java/com/uiui/sn/base/BaseApplication.java b/app/src/main/java/com/uiui/sn/base/BaseApplication.java index 51693e7..81be52f 100644 --- a/app/src/main/java/com/uiui/sn/base/BaseApplication.java +++ b/app/src/main/java/com/uiui/sn/base/BaseApplication.java @@ -113,7 +113,8 @@ public class BaseApplication extends Application { //token在设备卸载重装的时候有可能会变 Log.e("TPush", "注册成功,设备token为:" + data); List accountInfoList = new ArrayList<>(); - accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), Utils.getSerial())); +// accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), Utils.getSerial())); + accountInfoList.add(new XGPushManager.AccountInfo(XGPushManager.AccountType.CUSTOM.getValue(), Utils.getIMEI(getApplicationContext()))); XGPushManager.upsertAccounts(getApplicationContext(), accountInfoList, new XGIOperateCallback() { @Override public void onSuccess(Object data, int flag) { diff --git a/app/src/main/java/com/uiui/sn/config/CommonConfig.java b/app/src/main/java/com/uiui/sn/config/CommonConfig.java index f06a161..e358521 100644 --- a/app/src/main/java/com/uiui/sn/config/CommonConfig.java +++ b/app/src/main/java/com/uiui/sn/config/CommonConfig.java @@ -1,6 +1,8 @@ package com.uiui.sn.config; public class CommonConfig { + /*首次开机*/ + public final static String JGY_FIRST_BOOT = "first_boot"; /*保存的应用版本号*/ public final static String SN_VERSIONCODE = "SN_VERSIONCODE"; /*首次连接*/ @@ -24,6 +26,7 @@ public class CommonConfig { public static String EnableDebug = "EnableDebug"; public static String SP_Userinfo_json = "USERINFO_JSON"; + public static final String KEY_IS_CONTROL = "is_control_key"; /** * 管控系统指令 diff --git a/app/src/main/java/com/uiui/sn/manager/ControlManager.java b/app/src/main/java/com/uiui/sn/manager/ControlManager.java index d5efc99..fe11c4d 100644 --- a/app/src/main/java/com/uiui/sn/manager/ControlManager.java +++ b/app/src/main/java/com/uiui/sn/manager/ControlManager.java @@ -84,6 +84,7 @@ public class ControlManager { setSOSNumber(systemSettings); setAppstoreAdmin(systemSettings); setDefaultApp(systemSettings); + setIsControl(systemSettings); JGYUtils.getInstance().updateForbidList(); } } @@ -107,6 +108,7 @@ public class ControlManager { setSOSNumber(systemSettings); setAppstoreAdmin(systemSettings); setDefaultApp(systemSettings); + setIsControl(systemSettings); JGYUtils.getInstance().updateForbidList(); } @@ -193,6 +195,21 @@ public class ControlManager { } } + /** + * usb连接模式管控 + */ + public void setUSBstate(String action) { + //USB数据功能管控 + //仅充电:usb_charge + //MTP模式:usb_mtp + //Midi模式:usb_midi + if (!DeviceManager.isDebugMode()) { + Log.e(TAG, "qch_usb_choose:" + action); + Intent usbIntent = new Intent(action).setPackage("com.android.settings"); + mContext.sendBroadcast(usbIntent); + } + } + private void setPhoneList(SystemSettings settings) { //设置电话功能,电话白名单 int setting_call = changeNum(settings.getSetting_call()); @@ -826,7 +843,13 @@ public class ControlManager { } private void setIsControl(int state) { - Settings.System.putInt(mResolver, "is_control", state); + Settings.System.putInt(mResolver, CommonConfig.KEY_IS_CONTROL, state); + //关闭 + if (state == 0) { +// setBluetooth(0); +// setHotspot(0); + setUSBstate(CommonConfig.AOLE_ACTION_USB_USB_MTP); + } } private void closeSettingsApp() { diff --git a/app/src/main/java/com/uiui/sn/network/NetInterfaceManager.java b/app/src/main/java/com/uiui/sn/network/NetInterfaceManager.java index 0f98894..6bb3274 100644 --- a/app/src/main/java/com/uiui/sn/network/NetInterfaceManager.java +++ b/app/src/main/java/com/uiui/sn/network/NetInterfaceManager.java @@ -932,10 +932,10 @@ public class NetInterfaceManager { appInfoList.add(appInfoBaseResponse3.data); } if (appInfoBaseResponse4.code == 200) { - appInfoList.add(appInfoBaseResponse3.data); + appInfoList.add(appInfoBaseResponse4.data); } if (appInfoBaseResponse5.code == 200) { - appInfoList.add(appInfoBaseResponse3.data); + appInfoList.add(appInfoBaseResponse5.data); } return appInfoList; }) @@ -950,9 +950,9 @@ public class NetInterfaceManager { @Override public void onNext(@NonNull List appInfos) { + Log.e("checkAllAppUpdate", "onNext: " + appInfos); cacheHelper.put(UrlAddress.GET_NEWESTAPPUPDATE, GsonUtils.toJSONString(appInfos)); getAllAppUpdate(appInfos); - Log.e("checkAllAppUpdate", "onNext: " + appInfos); } @Override @@ -986,6 +986,7 @@ public class NetInterfaceManager { } HashMap appInfoHashMap = new HashMap<>(); for (AppInfo appInfo : appInfos) { + if (appInfo == null) continue; appInfoHashMap.put(appInfo.getApp_package(), appInfo); } PackageManager pm = mContext.getPackageManager(); @@ -1876,6 +1877,8 @@ public class NetInterfaceManager { String data = new Gson().toJson(BaseResponse.data); Log.e("getSystemSettings", "onNext: " + data); ControlManager.getInstance().setSystemSetting(data); + } else { + ControlManager.getInstance().setDisableSetting(); } } diff --git a/app/src/main/java/com/uiui/sn/network/interceptor/RepeatRequestInterceptor.java b/app/src/main/java/com/uiui/sn/network/interceptor/RepeatRequestInterceptor.java index 563ff82..c7d7d6a 100644 --- a/app/src/main/java/com/uiui/sn/network/interceptor/RepeatRequestInterceptor.java +++ b/app/src/main/java/com/uiui/sn/network/interceptor/RepeatRequestInterceptor.java @@ -37,7 +37,7 @@ public class RepeatRequestInterceptor implements Interceptor { // Response copy = response.newBuilder().body(responseBody).build(); ResponseBody copy = ResponseBody.create(responseBody.contentType(), content); if (BuildConfig.DEBUG) { - Log.e(TAG, "请求体返回:| Response: " + request.url().encodedPath() + "\t body: " + content); +// Log.e(TAG, "请求体返回:| Response: " + request.url().encodedPath() + "\t body: " + content); } //相同的请求 String requestKey = MD5Util.getUpperMD5Str(request.method() + request.url().toString() + requestBodyToString(request.body())); diff --git a/app/src/main/java/com/uiui/sn/service/main/MainService.java b/app/src/main/java/com/uiui/sn/service/main/MainService.java index 5c176df..e8a5d0c 100644 --- a/app/src/main/java/com/uiui/sn/service/main/MainService.java +++ b/app/src/main/java/com/uiui/sn/service/main/MainService.java @@ -112,6 +112,11 @@ public class MainService extends Service implements MainSContact.MainView, Netwo start.onstar(WiFiAlias); } } + //第一次开机联网后直接连接 + if ((int) SPUtils.get(this, CommonConfig.JGY_FIRST_BOOT, 0) == 0) { + mPresenter.getSnInfo(); + SPUtils.put(this, CommonConfig.JGY_FIRST_BOOT, 1); + } mPresenter.checkUpdate(); TimeTask task = new TimeTask(); task.execute("ntp.aliyun.com"); diff --git a/app/src/main/java/com/uiui/sn/tpush/MessageReceiver.java b/app/src/main/java/com/uiui/sn/tpush/MessageReceiver.java index b7d6562..5a4c619 100644 --- a/app/src/main/java/com/uiui/sn/tpush/MessageReceiver.java +++ b/app/src/main/java/com/uiui/sn/tpush/MessageReceiver.java @@ -470,6 +470,9 @@ public class MessageReceiver extends XGPushBaseReceiver { private static final String ACTION_DEFAULT_BRPWSER = "77"; /*输入法默认应用*/ private static final String ACTION_DEFAULT_INPUT_METHOD = "78"; + /*家长管控开关*/ + private static final String ACTION_PARENTAL_CONTROL = "79"; + private void processCustomMessage(Context context, XGPushTextMessage message) { if (context == null || message == null) { @@ -755,6 +758,9 @@ public class MessageReceiver extends XGPushBaseReceiver { case ACTION_DEFAULT_INPUT_METHOD: setDefaultInputMethod(context, extras); break; + case ACTION_PARENTAL_CONTROL: + NetInterfaceManager.getInstance().getSystemSettings(); + break; default: } } diff --git a/app/src/main/java/com/uiui/sn/utils/JGYUtils.java b/app/src/main/java/com/uiui/sn/utils/JGYUtils.java index ec2ffc0..d304e20 100644 --- a/app/src/main/java/com/uiui/sn/utils/JGYUtils.java +++ b/app/src/main/java/com/uiui/sn/utils/JGYUtils.java @@ -31,6 +31,7 @@ import android.os.RemoteException; import android.os.SystemProperties; import android.os.UserHandle; import android.provider.Settings; +import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; import android.view.inputmethod.InputMethodInfo; @@ -1217,4 +1218,34 @@ public class JGYUtils { } return false; } + + + public String getIMEI() { + String IMEI = "unknow"; + String IMEI1, IMEI2, IMEI3; + //获取手机设备号 + TelephonyManager TelephonyMgr = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); + //8.0及以后版本获取 + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + IMEI = TelephonyMgr.getDeviceId(); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { +// try { +// Method method = TelephonyMgr.getClass().getMethod("getImei"); +// IMEI = (String) method.invoke(TelephonyMgr); +// } catch (Exception e) { +// e.printStackTrace(); +// Log.e("getIMEI", e.getMessage()); +// } +// IMEI = TelephonyMgr.getDeviceId(); + +// } else {//9.0到10.0获取 + IMEI = Settings.System.getString(mContext.getContentResolver(), Settings.Secure.ANDROID_ID); + } +// Log.e("IMEI:", "IMEI: " + IMEI); + if (null == IMEI) { + return "-"; + } else { + return IMEI.toUpperCase(); + } + } } diff --git a/app/src/main/java/com/uiui/sn/utils/Utils.java b/app/src/main/java/com/uiui/sn/utils/Utils.java index 7574df8..b5a52a2 100644 --- a/app/src/main/java/com/uiui/sn/utils/Utils.java +++ b/app/src/main/java/com/uiui/sn/utils/Utils.java @@ -615,22 +615,23 @@ public class Utils { */ @SuppressLint({"MissingPermission", "NewApi"}) public static String getSerial() { - String serial = "unknow"; - try { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {//9.0+ - serial = Build.getSerial(); - } else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {//8.0+ - serial = Build.SERIAL; - } else {//8.0- - Class c = Class.forName("android.os.SystemProperties"); - Method get = c.getMethod("get", String.class); - serial = (String) get.invoke(c, "ro.serialno"); - } - } catch (Exception e) { - e.printStackTrace(); - Log.e("e", "读取设备序列号异常:" + e.toString()); - } - return serial; + return JGYUtils.getInstance().getIMEI(); +// String serial = "unknow"; +// try { +// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {//9.0+ +// serial = Build.getSerial(); +// } else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {//8.0+ +// serial = Build.SERIAL; +// } else {//8.0- +// Class c = Class.forName("android.os.SystemProperties"); +// Method get = c.getMethod("get", String.class); +// serial = (String) get.invoke(c, "ro.serialno"); +// } +// } catch (Exception e) { +// e.printStackTrace(); +// Log.e("e", "读取设备序列号异常:" + e.toString()); +// } +// return serial; } /**