From 160b599c6e8a60e96b1df6d837ec3e5f86da0069 Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 23 Sep 2024 15:31:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=89=88=E6=9C=AC=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=9A=84=E9=80=BB=E8=BE=91=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=A9=BA=E7=89=88=E6=9C=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xypower/mpmaster/MpMasterService.java | 33 ++++++++++++------- .../com/xypower/mpmaster/UpdateReceiver.java | 8 ++--- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java index 0953daeb..31403c38 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java @@ -417,22 +417,33 @@ public class MpMasterService extends Service { } public String getMpAppVersion() { - if (TextUtils.isEmpty(mMpAppVersion)) { - PackageManager packageManager = getPackageManager(); - PackageInfo packageInfo = null; - try { - packageInfo = packageManager.getPackageInfo(MicroPhotoContext.PACKAGE_NAME_MPAPP, 0); - } catch (Exception ex) { - ex.printStackTrace(); - } - mMpAppVersion = packageInfo == null ? "" : packageInfo.versionName; + if (!TextUtils.isEmpty(mMpAppVersion)) { + return mMpAppVersion; + } + + String version = buildMpAppVersion(getApplicationContext()); + mMpAppVersion = version; + return version; + } + + public static String buildMpAppVersion(Context context) { + String version = null; + PackageManager packageManager = context.getPackageManager(); + PackageInfo packageInfo = null; + try { + packageInfo = packageManager.getPackageInfo(MicroPhotoContext.PACKAGE_NAME_MPAPP, 0); + } catch (Exception ex) { + ex.printStackTrace(); } - return mMpAppVersion; + + version = packageInfo == null ? "" : packageInfo.versionName; + return version; } - public static void resetVersions() { + public static void resetVersions(Context context) { mMpAppVersion = null; mMpMasterVersion = null; + mMpAppVersion = buildMpAppVersion(context); } public String getMasterAppVersion() { diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/UpdateReceiver.java b/mpmaster/src/main/java/com/xypower/mpmaster/UpdateReceiver.java index 0085a8e0..9fd79613 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/UpdateReceiver.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/UpdateReceiver.java @@ -28,14 +28,14 @@ public class UpdateReceiver extends BroadcastReceiver { private void packageChanged(Context context, String action, String packageName, String targetPackageName) { if (action.equals(Intent.ACTION_PACKAGE_REPLACED)) { // Upgrade Broadcast Log.e(TAG, "onReceive:Upgraded and Restart the App:" + targetPackageName); - MpMasterService.resetVersions(); + MpMasterService.resetVersions(context); if (packageName.equals("package:" + targetPackageName)) { // SysApi.enableApp(context, targetPackageName); restartAPP(context, targetPackageName); } } else if (action.equals(Intent.ACTION_PACKAGE_ADDED)) {// Install broadcast Log.e(TAG, "onReceive:Installed and Start the App:" + targetPackageName); - MpMasterService.resetVersions(); + MpMasterService.resetVersions(context); if (packageName.equals("package:" + targetPackageName)) { /*SystemUtil.reBootDevice();*/ // SysApi.enableApp(context, targetPackageName); @@ -49,14 +49,14 @@ public class UpdateReceiver extends BroadcastReceiver { private void packageChanged(Context context, String action, String packageName, String targetPackageName, String aliveFileName) { if (action.equals(Intent.ACTION_PACKAGE_REPLACED)) { // Upgrade Broadcast Log.e(TAG, "onReceive:Upgraded and Restart the App:" + targetPackageName); - MpMasterService.resetVersions(); + MpMasterService.resetVersions(context); if (packageName.equals("package:" + targetPackageName)) { // SysApi.enableApp(context, targetPackageName); tryToRestartApp(context, targetPackageName); } } else if (action.equals(Intent.ACTION_PACKAGE_ADDED)) {// Install broadcast Log.e(TAG, "onReceive:Installed and Start the App:" + targetPackageName); - MpMasterService.resetVersions(); + MpMasterService.resetVersions(context); if (packageName.equals("package:" + targetPackageName)) { /*SystemUtil.reBootDevice();*/ // SysApi.enableApp(context, targetPackageName);