From eb0606434292d6b5c7b370487a949eabe498256e Mon Sep 17 00:00:00 2001 From: fanhuitong <981964879@qq.com> Date: Tue, 18 May 2021 17:11:19 +0800 Subject: [PATCH] =?UTF-8?q?version:2.0.7=20update:=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=85=A8=E5=B1=80=E6=9B=B4=E6=96=B0=E6=8C=89=E7=85=A7=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E6=9B=B4=E6=96=B0=EF=BC=8C=E8=8E=B7=E5=8F=96app?= =?UTF-8?q?=E6=98=AF=E5=93=AA=E4=B8=AA=E5=B9=B3=E5=8F=B0=20fix:=E5=BA=94?= =?UTF-8?q?=E7=94=A8app=E4=BF=A1=E6=81=AF=E4=B8=8D=E8=83=BD=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=EF=BC=8C=20add:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 53 +++++++++------ .../myappstore/activity/MainActivity.java | 35 ++++++++-- .../myappstore/activity/MainContact.java | 4 ++ .../myappstore/activity/MainPresenter.java | 40 ++++++++--- .../jpush/TagAliasOperatorHelper.java | 4 +- .../myappstore/network/HTTPInterface.java | 6 +- .../network/api/newapi/CheckUpdateApi.java | 4 +- .../myappstore/receiver/MyJPushReceiver.java | 46 ++++++++++--- .../myappstore/server/MainService.java | 7 ++ .../mjsheng/myappstore/utils/ApkUtils.java | 64 ++++++++++++++--- .../mjsheng/myappstore/utils/JGYUtils.java | 68 ++++++++++++++++--- .../myappstore/utils/SysSettingUtils.java | 7 +- 12 files changed, 264 insertions(+), 74 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4ca8c60..110333b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -41,9 +41,9 @@ android { //新平台正式 newly { flavorDimensions "default" - versionCode 506 + versionCode 507 //versionCode 1037 - versionName "2.0.6" + versionName "2.0.7" /*********************************极光推送************************************/ manifestPlaceholders = [ JPUSH_PKGNAME: "com.jiaoguanyi.appstore", @@ -117,7 +117,7 @@ android { //签名 signingConfigs { - zhanxun { + zhanRui { storeFile file("keystore/zhanxun.keystore") storePassword "123456" keyAlias "zhanxun" @@ -146,24 +146,37 @@ android { } - buildTypes { - zhanxun { - debuggable true - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - zipAlignEnabled true - signingConfig signingConfigs.zhanxun - applicationVariants.all { variant -> - variant.outputs.each { output -> - def outputFile = output.outputFile - if (outputFile != null) { - def fileName = "${appName()}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${buildType.name}.apk" - output.outputFileName = fileName - } - } - } + // Disable release builds for now + android.variantFilter { variant -> + if (variant.buildType.name.endsWith('zhanRuiRelease')) { + variant.setIgnore(variant.getFlavors().get(0).name.equals('official')||variant.getFlavors().get(0).name.equals('zhongyou')) } + + if (variant.buildType.name.endsWith('zhanRuiDebug')) { + variant.setIgnore(variant.getFlavors().get(0).name.equals('official')||variant.getFlavors().get(0).name.equals('zhongyou')) + } +// // Icon recents is Go only +// if (name.contains("WithQuickstepIconRecents") && !name.contains("l3go")) { +// variant.setIgnore(true) +// } + } + + buildTypes { + zhanRuiRelease.initWith(release) + zhanRuiRelease { + buildConfigField "String", "platform", '"ZhanRui"' + signingConfig signingConfigs.zhanRui + } + + zhanRuiDebug.initWith(debug) + zhanRuiDebug { + buildConfigField "String", "platform", '"ZhanRui"' + debuggable true + signingConfig signingConfigs.zhanRui + } + debug { + buildConfigField "String", "platform", '"MTK"' // 不显示Log //buildConfigField "boolean", "LOG_DEBUG", "false" // @@ -183,7 +196,9 @@ android { } } } + release { + buildConfigField "String", "platform", '"MTK"' //混淆 minifyEnabled false //前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,后一个文件是自己的定义混淆文件 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 8eed450..412f4ea 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java +++ b/app/src/main/java/com/mjsheng/myappstore/activity/MainActivity.java @@ -6,6 +6,7 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; +import android.text.TextUtils; import android.util.Log; import android.view.KeyEvent; import android.view.View; @@ -111,11 +112,9 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { private void getDevicesInfo() { String sn = Utils.getSerial(); tv_devsn.setText(sn); - if (sn.length() != 12) { - showSNErrorDialog(); - } + checkSNError(sn); String macaddr = Utils.getAndroid7MAC(); - if (macaddr.equals("")) { + if (TextUtils.isEmpty(macaddr)) { tv_devmac.setText("获取失败"); } else { tv_devmac.setText(macaddr); @@ -125,9 +124,25 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { tv_customversion.setText(customVersion); } - private void showSNErrorDialog() { + private void checkSNError(String sn) { + //sn长度12位 + if (sn.length() != 12) { + showSNErrorDialog("设备SN号码格式错误!"); + } else { + Log.e(TAG, "checkSNError: " + sn); + } + //检查平台和sn是否对应 + if (JGYUtils.getInstance().checkSNPlatform(sn)!=JGYUtils.getInstance().checkAppPlatform()){ + showSNErrorDialog("SN数据与平台不符,请联系管理员"); + } + //设置极光推送标签 + JGYUtils.getInstance().getAppPlatform(platform -> mPresenter.setJpushPlatformTags(platform)); + } + + private void showSNErrorDialog(String content) { AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setMessage("注意:设备SN号码格式错误!"); + builder.setMessage(content); + builder.setTitle("注意:"); builder.setIcon(R.mipmap.ic_launcher); builder.setCancelable(true); //设置正面按钮 @@ -179,7 +194,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { iv_locked.setVisibility(View.VISIBLE); //上传APP信息 ApkUtils.getAppInfo(this); - if (netWorkIsRunning|| MainService.netWorkIsRunning) { + if (netWorkIsRunning || MainService.netWorkIsRunning) { //如果正在执行,不执行 return; } @@ -200,6 +215,7 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { /** * 首次使用默认关闭所有功能 + * * @param state */ @Override @@ -238,6 +254,11 @@ public class MainActivity extends BaseActivity implements MainContact.MainView { mPresenter.checkStoreUpdate(); } + @Override + public void setJpushPlatformTagsFinished() { + + } + @Override public void checkStoreUpdateFinished() { diff --git a/app/src/main/java/com/mjsheng/myappstore/activity/MainContact.java b/app/src/main/java/com/mjsheng/myappstore/activity/MainContact.java index aef2e4d..7f0f888 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/MainContact.java +++ b/app/src/main/java/com/mjsheng/myappstore/activity/MainContact.java @@ -30,6 +30,8 @@ public class MainContact { void setAliasFinished(); //设置极光推送标签 void setTagsFinished(); + //设置极光推送平台标签 + void setJpushPlatformTagsFinished(); //获取应用市场更新 void checkStoreUpdateFinished(); //获取测试应用更新 @@ -93,6 +95,8 @@ public class MainContact { void setJpushAlias(); //设置极光推送标签 void setJpushTags(); + //设置极光推送平台标签 + void setJpushPlatformTags(int platform); //获取应用更新 void checkStoreUpdate(); //手动获取设备信息更新 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 45ea992..b941b39 100644 --- a/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java +++ b/app/src/main/java/com/mjsheng/myappstore/activity/MainPresenter.java @@ -428,8 +428,21 @@ public class MainPresenter implements MainContact.Presenter { if (response.code == 200) { JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject(); String batch = jsonObject.get("batch").getAsString(); + Log.e("setJpushTags", "onNext: " + batch); if (!TextUtils.isEmpty(batch)) { - setTag(batch); + Set set = new HashSet(); + set.add(batch); + JGYUtils.getInstance().getAppPlatform(new JGYUtils.GetAppPlatformCallback() { + @Override + public void AppPlatform(int platform) { + if (platform == JGYUtils.MTKPlatform) { + set.add(JGYUtils.MTKTag); + } else if (platform == JGYUtils.ZhanruiPlatform) { + set.add(JGYUtils.ZhanruiTag); + } + } + }); + setTag(set); } else { Log.e("setJpushTags", "onNext: " + "batch empty"); } @@ -452,9 +465,12 @@ public class MainPresenter implements MainContact.Presenter { }); } - private void setTag(String batch) { - Set set = new HashSet(); - set.add(batch); + @Override + public void setJpushPlatformTags(int platform) { + mView.setJpushPlatformTagsFinished(); + } + + private void setTag(Set set) { TagAliasOperatorHelper.TagAliasBean tagAliasBean = new TagAliasOperatorHelper.TagAliasBean(); tagAliasBean.action = ACTION_SET; sequence++; @@ -472,7 +488,8 @@ public class MainPresenter implements MainContact.Presenter { private void checkUpdateStore() { NetInterfaceManager.getInstance() .getUpdateApi() - .getUpdate("com.jiaoguanyi.store") + .getUpdate("com.jiaoguanyi.store", + JGYUtils.getInstance().checkAppPlatform()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @@ -483,6 +500,7 @@ public class MainPresenter implements MainContact.Presenter { @Override public void onNext(@NonNull BaseResponse response) { + Log.e("checkUpdateStore", "onNext: " + response.data); if (response.code == 200) { JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject(); JGYUtils.getInstance().installAPK(jsonObject); @@ -523,7 +541,8 @@ public class MainPresenter implements MainContact.Presenter { private void checkUpdateInfo() { NetInterfaceManager.getInstance() .getUpdateApi() - .getUpdate(BuildConfig.APPLICATION_ID) + .getUpdate(BuildConfig.APPLICATION_ID, + JGYUtils.getInstance().checkAppPlatform()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @@ -534,7 +553,7 @@ public class MainPresenter implements MainContact.Presenter { @Override public void onNext(@NonNull BaseResponse response) { - Log.e("checkUpdateInfo", "onNext: "); + Log.e("checkUpdateInfo", "onNext: " + response.data); if (response.code == 200) { JsonObject jsonObject = JsonParser.parseString(new Gson().toJson(response.data)).getAsJsonObject(); long versionCode = jsonObject.get("version_code").getAsLong(); @@ -1437,8 +1456,6 @@ public class MainPresenter implements MainContact.Presenter { NetInterfaceManager.getInstance() .getDesktopObservable() .subscribe(new Observer() { - - @Override public void onSubscribe(@NonNull Disposable d) { Log.e("getDefaultDesktop", "onSubscribe: "); @@ -1454,14 +1471,15 @@ public class MainPresenter implements MainContact.Presenter { JSONObject data = jsonObject.getJSONObject("data"); JGYUtils.getInstance().installDesktop(data); } else { - Log.e("getDefaultDesktop", "onNext: " + jsonObject.toJSONString()); + Log.e("getDefaultDesktop", "onNext: " + "删除定制桌面"); + ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(0)); + ApkUtils.UninstallAPP(mContext, ApkUtils.desktopAPP.get(1)); } } catch (IOException e) { e.printStackTrace(); Log.e("getDefaultDesktop", "onNext: IOException: " + e.getMessage()); } - } @Override diff --git a/app/src/main/java/com/mjsheng/myappstore/jpush/TagAliasOperatorHelper.java b/app/src/main/java/com/mjsheng/myappstore/jpush/TagAliasOperatorHelper.java index 7e75f0c..ec397b9 100644 --- a/app/src/main/java/com/mjsheng/myappstore/jpush/TagAliasOperatorHelper.java +++ b/app/src/main/java/com/mjsheng/myappstore/jpush/TagAliasOperatorHelper.java @@ -240,7 +240,7 @@ public class TagAliasOperatorHelper { setActionCache.remove(sequence); String logs = getActionStr(tagAliasBean.action)+" tags success"; Logger.i(TAG,logs); - Log.e(TAG,"Tag绑定成功"); + Log.e(TAG,"Tag绑定成功: " + jPushMessage.getTags()); ExampleUtil.showToast(logs, context); }else{ String logs = "Failed to " + getActionStr(tagAliasBean.action)+" tags"; @@ -294,7 +294,7 @@ public class TagAliasOperatorHelper { setActionCache.remove(sequence); String logs = getActionStr(tagAliasBean.action)+" alias success"; Logger.i(TAG,logs); - Log.e(TAG,"Alias绑定成功"); + Log.e(TAG,"Alias绑定成功: "+jPushMessage.getAlias()); ExampleUtil.showToast(logs, context); }else{ String logs = "Failed to " + getActionStr(tagAliasBean.action)+" alias, errorCode:" + jPushMessage.getErrorCode(); 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 2dc2273..0240f15 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java +++ b/app/src/main/java/com/mjsheng/myappstore/network/HTTPInterface.java @@ -60,7 +60,7 @@ import static com.mjsheng.myappstore.jpush.TagAliasOperatorHelper.ACTION_SET; import static com.mjsheng.myappstore.jpush.TagAliasOperatorHelper.sequence; public class HTTPInterface { - private static final String TAG = HTTPInterface.class.getSimpleName(); + private static final String TAG = HTTPInterface.class.getSimpleName(); // //获取我的设备接口 // public static synchronized void checkDevicesInfo(final Handler handler) { // OkGo.post(UrlPath.SNINFO) @@ -274,12 +274,14 @@ public class HTTPInterface { // } synchronized public static void checkUpdate(final Handler handler, String packageName) { - OkGo.post(URLAddress.CHECK_UPDATE) .params("package", packageName) + //1MTK平台 2展锐平台 + .params("type", JGYUtils.getInstance().checkAppPlatform()) .execute(new StringCallback() { @Override public void onSuccess(String s, Call call, okhttp3.Response response) { + Log.e("checkUpdate", "onSuccess: " + s); JSONObject jsonObject = JSON.parseObject(s); int code = jsonObject.getInteger("code"); String msg = jsonObject.getString("msg"); diff --git a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CheckUpdateApi.java b/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CheckUpdateApi.java index 9804246..4d5719e 100644 --- a/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CheckUpdateApi.java +++ b/app/src/main/java/com/mjsheng/myappstore/network/api/newapi/CheckUpdateApi.java @@ -11,7 +11,9 @@ import retrofit2.http.POST; public interface CheckUpdateApi { @FormUrlEncoded @POST(URLAddress.CHECK_UPDATE) + //1MTK平台 2展锐平台 Observable getUpdate( - @Field("package") String packages + @Field("package") String packages, + @Field("type") int type ); } 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 e9f67cd..1b5951b 100644 --- a/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java +++ b/app/src/main/java/com/mjsheng/myappstore/receiver/MyJPushReceiver.java @@ -1,5 +1,6 @@ package com.mjsheng.myappstore.receiver; +import android.annotation.SuppressLint; import android.app.ActivityManager; import android.bluetooth.BluetoothAdapter; import android.content.BroadcastReceiver; @@ -129,6 +130,8 @@ public class MyJPushReceiver extends BroadcastReceiver { private final String CLEAN_APP_CACHE = "32"; //开发人员选项 private final String DEVELOPER_OPTIONS = "33"; + //全局更新 + private final String GLOBAL_UPDATE = "34"; private Context mContext; @@ -192,12 +195,7 @@ public class MyJPushReceiver extends BroadcastReceiver { SaveListUtils.getlist().remove(title); } SaveListUtils.sendForceAPP(mContext); - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - ApkUtils.uninstall(mContext, title); - } else { - ApkUtils.deleteApkInSilence(title); - } + ApkUtils.UninstallAPP(mContext, title); } getAppLimitApi(); HTTPInterface.getNetAndLaunchSetting(mContext); @@ -292,10 +290,8 @@ public class MyJPushReceiver extends BroadcastReceiver { case UPDATE_INFO: getAppLimitApi(); break; - case SN_SCREENSHOT: screenshot(extras); - break; case DEVICES_REBOOT: Utils.rebootDevices(mContext); @@ -358,6 +354,9 @@ public class MyJPushReceiver extends BroadcastReceiver { case DEVELOPER_OPTIONS: setDeveloperoptions(extras); break; + case GLOBAL_UPDATE: + GlobalUpdate(extras); + break; } } @@ -1133,6 +1132,7 @@ public class MyJPushReceiver extends BroadcastReceiver { /** * 锁定设备 + * * @param s */ public void settingLock(String s) { @@ -1357,4 +1357,34 @@ public class MyJPushReceiver extends BroadcastReceiver { Log.e(TAG, "setDeveloperoptions: " + is_developer); JGYUtils.getInstance().setDeveloperOptions(is_developer == 0 ? 1 : 0); } + + private void GlobalUpdate(String jsonString) { + if (TextUtils.isEmpty(jsonString)) { + throw new RuntimeException(); + } + JSONObject jsonObject = JSON.parseObject(jsonString); + String platform = jsonObject.getString("platform"); + if (JGYUtils.getInstance().isSamePlatform(platform)) { + checkAPPInstall(jsonObject); + } else { + Log.e(TAG, "GlobalUpdate: " + "应用与app平台不符合"); + } + } + + @SuppressLint("NewApi") + private void checkAPPInstall(JSONObject jsonObject) { + long version_code = jsonObject.getLong("app_version_code"); + PackageManager pm = mContext.getPackageManager(); + PackageInfo packageInfo = null; + try { + packageInfo = pm.getPackageInfo(jsonObject.getString("app_package"), 0); + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + } + if (packageInfo == null || packageInfo.getLongVersionCode() < version_code) { + Utils.ariaDownload(mContext, jsonObject.getString("app_url"), jsonObject); + } else { + Log.e(TAG, "checkAPPInstall: " + "已经是最新版"); + } + } } diff --git a/app/src/main/java/com/mjsheng/myappstore/server/MainService.java b/app/src/main/java/com/mjsheng/myappstore/server/MainService.java index 8b06747..23a0a38 100644 --- a/app/src/main/java/com/mjsheng/myappstore/server/MainService.java +++ b/app/src/main/java/com/mjsheng/myappstore/server/MainService.java @@ -29,6 +29,7 @@ import com.mjsheng.myappstore.activity.MainPresenter; import com.mjsheng.myappstore.utils.ApkUtils; import com.mjsheng.myappstore.utils.CacheUtils; import com.mjsheng.myappstore.utils.ForegroundAppUtil; +import com.mjsheng.myappstore.utils.JGYUtils; import com.mjsheng.myappstore.utils.SPUtils; import com.mjsheng.myappstore.utils.SaveListUtils; import com.mjsheng.myappstore.utils.SysSettingUtils; @@ -396,6 +397,7 @@ public class MainService extends Service implements MainContact.MainView { mPresenter.sendMACAddress(); //设置极光推送别名 mPresenter.setJpushAlias(); + //设置极光推送标签 SaveListUtils.getList(); //获取系统管控 mPresenter.getSystemSettingbegin(); @@ -446,6 +448,11 @@ public class MainService extends Service implements MainContact.MainView { mPresenter.checkStoreUpdate(); } + @Override + public void setJpushPlatformTagsFinished() { + + } + @Override public void checkStoreUpdateFinished() { mPresenter.checkTestUpdate(); 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 5e9146c..dc2dcf8 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java +++ b/app/src/main/java/com/mjsheng/myappstore/utils/ApkUtils.java @@ -524,6 +524,46 @@ public class ApkUtils { } } + /** + * 静默卸载应用 + * + * @param context + * @param pkg + */ + public static void UninstallAPP(Context context, String pkg) { + Observable.create(new Observable.OnSubscribe() { + @Override + public void call(Subscriber subscriber) { + Log.e("UninstallAPP", "call: " + Thread.currentThread().getName()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + ApkUtils.uninstall(context, pkg); + } else { + ApkUtils.deleteApkInSilence(pkg); + } + subscriber.onNext(pkg); + } + }).subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onCompleted() { + Log.e("UninstallAPP", "onCompleted: "); + } + + @Override + public void onError(Throwable e) { + Log.e("UninstallAPP", "onError: " + e.getMessage()); + } + + @Override + public void onNext(String s) { + Log.e("UninstallAPP", "onNext: " + Thread.currentThread().getName()); + Log.e("UninstallAPP", "onNext: " + s); + } + }); + + } + /** * 根据包名卸载应用 @@ -654,7 +694,7 @@ public class ApkUtils { this.add("com.jiaoguanyi.store");//教官壹 }}; - public static List desktopAPP = new ArrayList(){{ + public static List desktopAPP = new ArrayList() {{ this.add("com.uiuios.jgy1"); this.add("com.uiuios.jgy2"); }}; @@ -914,11 +954,7 @@ public class ApkUtils { if (packageName.equals("com.jiaoguanyi.store") || packageName.equals(BuildConfig.APPLICATION_ID)) { continue; } - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - ApkUtils.uninstall(context, packageName); - } else { - ApkUtils.deleteApkInSilence(packageName); - } + ApkUtils.UninstallAPP(context, packageName); } } } @@ -1055,6 +1091,12 @@ public class ApkUtils { continue; } + if (JGYUtils.getInstance().checkAppPlatform() == 2) { + if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) { + continue; + } + } + UploadAppInfo uploadAppInfo = new UploadAppInfo(); uploadAppInfo.setApp_name(packageInfo.applicationInfo.loadLabel(context.getPackageManager()).toString()); @@ -1070,7 +1112,7 @@ public class ApkUtils { for (ActivityManager.RunningServiceInfo info : infoList) { if (info.process.contains(packageInfo.packageName)) { uploadAppInfo.setState(1); - Log.e("fht", "getAppInfo running: " + packageInfo.packageName); + Log.e("getAppInfo", "getAppInfo running: " + packageInfo.packageName); } } appList.add(uploadAppInfo); @@ -1080,7 +1122,9 @@ public class ApkUtils { Log.e(TAG, "getAppInfo: " + jsonString); UploadAppInfoApi uploadAppInfoApi = NetInterfaceManager.getUploadAppInfoApi(); - uploadAppInfoApi.getUploadAppInfoApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial(), jsonString) + uploadAppInfoApi + .getUploadAppInfoApi(NetInterfaceManager.HTTP_KEY, + Utils.getSerial(), jsonString) .subscribeOn(io.reactivex.schedulers.Schedulers.io()) .observeOn(io.reactivex.android.schedulers.AndroidSchedulers.mainThread()) .subscribe(new io.reactivex.Observer() { @@ -1100,12 +1144,12 @@ public class ApkUtils { @Override public void onError(Throwable e) { - Log.e("getAppInfo", "UploadAppInfoApi=onError:"); + Log.e("getAppInfo", "UploadAppInfoApi onError: " + e.getMessage()); } @Override public void onComplete() { - + Log.e("getAppInfo", "onComplete: "); } }); } 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 2f85acc..31c1c26 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java +++ b/app/src/main/java/com/mjsheng/myappstore/utils/JGYUtils.java @@ -52,6 +52,12 @@ public class JGYUtils { private static JGYUtils sInstance; private Context mContext; + public static int MTKPlatform = 1; + public static int ZhanruiPlatform = 2; + public static int UnknowPlatform = 0; + public static String MTKTag = "MTK"; + public static String ZhanruiTag = "展锐"; + private JGYUtils(Context context) { this.mContext = context; @@ -531,6 +537,7 @@ public class JGYUtils { /** * 获取教管壹下载,没什么用了 + * * @param forceDownloadDataList */ private void getSelfDownload(List forceDownloadDataList) { @@ -612,6 +619,7 @@ public class JGYUtils { /** * 安装灰度测试app + * * @param dataList */ public void installTestAPK(List dataList) { @@ -703,16 +711,7 @@ public class JGYUtils { continue; } if (!resultList.contains(packageName)) { - new Thread(new Runnable() { - @Override - public void run() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - ApkUtils.uninstall(mContext, packageName); - } else { - ApkUtils.deleteApkInSilence(packageName); - } - } - }).start(); + ApkUtils.UninstallAPP(mContext, packageName); Log.e("deleteOtherApp", "uninstall apkName:" + packageName); } } @@ -925,4 +924,53 @@ public class JGYUtils { mContext.startActivity(intent); } + public int checkSNPlatform(String sn) { + String secondChars = sn.substring(1, 2); + if ("N".equalsIgnoreCase(secondChars)) {//MTK平台 + return MTKPlatform; + } else if ("R".equalsIgnoreCase(secondChars)) {//展锐平台 + return ZhanruiPlatform; + } else { + Log.e(TAG, "checkSNPlatform: " + "sn: " + sn + "没有对应平台"); + return UnknowPlatform; + } + } + + public int checkAppPlatform() { + String platform = BuildConfig.platform; + if ("MTK".equalsIgnoreCase(platform)) { + Log.e(TAG, "checkAppPlatform: " + "MTK平台"); + return MTKPlatform; + } else if ("ZhanRui".equalsIgnoreCase(platform)) { + Log.e(TAG, "checkAppPlatform: " + "展锐平台"); + return ZhanruiPlatform; + } else { + Log.e(TAG, "checkAppPlatform: " + "没有数据"); + return UnknowPlatform; + } + } + + public boolean isSamePlatform(String platform) { + String AppPlatform = BuildConfig.platform; + if ("ZhanRui".equals(AppPlatform)) { + return ZhanruiTag.equals(platform); + }else { + return AppPlatform.equals(platform); + } + } + + public interface GetAppPlatformCallback { + void AppPlatform(int platform); + } + + public void getAppPlatform(GetAppPlatformCallback getAppPlatformCallback) { + String platform = BuildConfig.platform; + if ("MTK".equalsIgnoreCase(platform)) { + getAppPlatformCallback.AppPlatform(MTKPlatform); + } else if ("ZhanRui".equalsIgnoreCase(platform)) { + getAppPlatformCallback.AppPlatform(ZhanruiPlatform); + } else { + getAppPlatformCallback.AppPlatform(UnknowPlatform); + } + } } 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 a3aeecd..7abc67b 100644 --- a/app/src/main/java/com/mjsheng/myappstore/utils/SysSettingUtils.java +++ b/app/src/main/java/com/mjsheng/myappstore/utils/SysSettingUtils.java @@ -226,7 +226,7 @@ public class SysSettingUtils { int setting_bluetooth = changeNum(jsonObject.getInteger("setting_bluetooth")); //蓝牙传输开关 boolean qch_bht_forbid_on = Settings.System.putInt(context.getContentResolver(), "qch_bht_forbid_on", setting_bht); - //写入系统数据库 + Log.e("SystemSetting", "qch_bht_forbid_on:" + qch_bht_forbid_on); BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (qch_bht_forbid_on) { @@ -265,7 +265,7 @@ public class SysSettingUtils { intent.setAction("qch_hotspot_close"); intent.setPackage("com.android.settings"); context.sendStickyBroadcast(intent); - boolean qch_hotspot_forbid_on = Settings.System.putInt(context.getContentResolver(), "qch_hotspot_forbid_on", state);//写入系统数据库 + boolean qch_hotspot_forbid_on = Settings.System.putInt(context.getContentResolver(), "qch_hotspot_forbid_on", state); Log.e("SystemSetting", "qch_hotspot_forbid_on:" + qch_hotspot_forbid_on); } catch (Exception e) { Log.e(TAG, "setHotspot: " + e.getMessage()); @@ -281,7 +281,7 @@ public class SysSettingUtils { intent.setPackage("com.android.settings"); context.sendStickyBroadcast(intent); } - boolean qch_hotspot_forbid_on = Settings.System.putInt(context.getContentResolver(), "qch_hotspot_forbid_on", setting_hotspot);//写入系统数据库 + boolean qch_hotspot_forbid_on = Settings.System.putInt(context.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); } catch (Exception e) { @@ -343,7 +343,6 @@ public class SysSettingUtils { case 1: navigationStatus = "qch_hide_NavigationBar"; break; - } Intent navIntent = new Intent(navigationStatus).setPackage("com.android.systemui"); context.sendBroadcast(navIntent);