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);