From e5fd96efce4021c1a9c7e727ec3984f13a56ff3f Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 19 May 2025 15:20:31 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xypower/mpmaster/MpMasterService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java index 1b39ad49..26e81ed3 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/MpMasterService.java @@ -1417,7 +1417,7 @@ public class MpMasterService extends Service { } } - copyAssetsDir(context, "mpmst", dataPath.getAbsolutePath()); + copyAssetsDir(context, "mpmst/data", dataPath.getAbsolutePath()); return true; } From 0a88e9b9182bcf08398165852ebc46c45fc212b8 Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 19 May 2025 15:44:08 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96MpAPP=E5=92=8C?= =?UTF-8?q?MpMaster?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xypower/mpres/MainActivity.java | 91 +++++++++++++++++-- 1 file changed, 81 insertions(+), 10 deletions(-) diff --git a/mpres/src/main/java/com/xypower/mpres/MainActivity.java b/mpres/src/main/java/com/xypower/mpres/MainActivity.java index c49a5133..b9c4a84d 100644 --- a/mpres/src/main/java/com/xypower/mpres/MainActivity.java +++ b/mpres/src/main/java/com/xypower/mpres/MainActivity.java @@ -1,5 +1,6 @@ package com.xypower.mpres; +import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import android.content.res.AssetManager; @@ -24,6 +25,8 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; +import java.util.List; +import java.util.concurrent.ExecutionException; public class MainActivity extends AppCompatActivity { @@ -38,23 +41,29 @@ public class MainActivity extends AppCompatActivity { if (initres != 0) { mHandler = new Handler(); final String sn = intent.getStringExtra("sn"); + final Context context = getApplicationContext(); Runnable runnable = new Runnable() { @Override public void run() { - notifyMpApp(); + + try { + if (initMpMasterConfigurations(context)) { + restartMpMasterApp(context); + } + + restartMpApp(getApplicationContext(), "FIRST Config Init"); + sleep(100); + System.exit(0); + } catch (Exception ex) { + ex.printStackTrace(); + } } }; - initMpAppConfigurations(getApplicationContext(), mHandler, sn, runnable); + initMpAppConfigurations(context, mHandler, sn, runnable); } } - private void notifyMpApp() { - restartMpApp(getApplicationContext(), "FIRST Config Init"); - sleep(100); - System.exit(0); - } - public static boolean initMpAppConfigurations(final Context context, final Handler handler, final String sn, final Runnable runnable) { boolean existed = true; @@ -169,7 +178,7 @@ public class MainActivity extends AppCompatActivity { } } - copyAssetsDir(context, "mpmst", dataPath.getAbsolutePath()); + copyAssetsDir(context, "mpmst/data", dataPath.getAbsolutePath()); return true; } @@ -262,7 +271,8 @@ public class MainActivity extends AppCompatActivity { public static void restartMpApp(Context context, String reason) { - SysApi.forceStopApp(context, MicroPhotoContext.PACKAGE_NAME_MPAPP); + // SysApi.forceStopApp(context, MicroPhotoContext.PACKAGE_NAME_MPAPP); + killAppProcess(context, MicroPhotoContext.PACKAGE_NAME_MPAPP); sleep(100); try { @@ -279,4 +289,65 @@ public class MainActivity extends AppCompatActivity { e.printStackTrace(); } } + + public static void restartMpMasterApp(Context context) { + + killAppProcess(context, MicroPhotoContext.PACKAGE_NAME_MPMASTER); + sleep(50); + + try { + Intent intent = context.getPackageManager().getLaunchIntentForPackage(MicroPhotoContext.PACKAGE_NAME_MPMASTER); + if (intent != null) { + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(intent); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + private static boolean killAppProcess(final Context context, String packageName) { + boolean killed = false; + try { + ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); + List processes = am.getRunningAppProcesses(); + + for (ActivityManager.RunningAppProcessInfo rapi : processes) { + if (rapi.pkgList == null || rapi.pkgList.length == 0) { + continue; + } + + for (String pkg : rapi.pkgList) { + if (TextUtils.equals(pkg, packageName)) { + killed = true; + android.os.Process.killProcess(rapi.pid); + break; + } + } + + if (killed) { + break; + } + } + } catch (Exception ex) { + ex.printStackTrace(); + } + + return killed; + } + + private boolean killAppByService(final Context context, String packageName, String serviceClassName) { + ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); + List services = am.getRunningServices(Integer.MAX_VALUE); + + boolean isRunning = false; + for (ActivityManager.RunningServiceInfo rsi : services) { + if (packageName.equalsIgnoreCase(rsi.service.getPackageName()) && TextUtils.equals(serviceClassName, rsi.service.getClassName())) { + isRunning = true; + break; + } + } + + return isRunning; + } } \ No newline at end of file From 0d97a04da0406f507adca4313860c0981254d50f Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 19 May 2025 15:48:51 +0800 Subject: [PATCH 03/12] =?UTF-8?q?MpApp=E5=92=8CMpMaster=E5=90=84=E8=87=AA?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xypower/mpres/MainActivity.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/mpres/src/main/java/com/xypower/mpres/MainActivity.java b/mpres/src/main/java/com/xypower/mpres/MainActivity.java index b9c4a84d..a9053a85 100644 --- a/mpres/src/main/java/com/xypower/mpres/MainActivity.java +++ b/mpres/src/main/java/com/xypower/mpres/MainActivity.java @@ -38,7 +38,7 @@ public class MainActivity extends AppCompatActivity { Intent intent = getIntent(); int initres = intent.getIntExtra("initres", 0); - if (initres != 0) { + if (initres == 1) { mHandler = new Handler(); final String sn = intent.getStringExtra("sn"); final Context context = getApplicationContext(); @@ -48,10 +48,6 @@ public class MainActivity extends AppCompatActivity { public void run() { try { - if (initMpMasterConfigurations(context)) { - restartMpMasterApp(context); - } - restartMpApp(getApplicationContext(), "FIRST Config Init"); sleep(100); System.exit(0); @@ -61,6 +57,14 @@ public class MainActivity extends AppCompatActivity { } }; initMpAppConfigurations(context, mHandler, sn, runnable); + } else if (initres == 2) { + mHandler = new Handler(); + final String sn = intent.getStringExtra("sn"); + final Context context = getApplicationContext(); + + if (initMpMasterConfigurations(context)) { + restartMpMasterApp(context); + } } } From 3bec3c924b2a459f6121669119e7e49b92c2d5f2 Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 19 May 2025 16:04:19 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mpres/src/main/java/com/xypower/mpres/MainActivity.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mpres/src/main/java/com/xypower/mpres/MainActivity.java b/mpres/src/main/java/com/xypower/mpres/MainActivity.java index a9053a85..af1b624d 100644 --- a/mpres/src/main/java/com/xypower/mpres/MainActivity.java +++ b/mpres/src/main/java/com/xypower/mpres/MainActivity.java @@ -7,6 +7,7 @@ import android.content.res.AssetManager; import android.os.Bundle; import android.os.Handler; import android.text.TextUtils; +import android.util.Log; import androidx.appcompat.app.AppCompatActivity; import androidx.core.graphics.Insets; @@ -30,6 +31,8 @@ import java.util.concurrent.ExecutionException; public class MainActivity extends AppCompatActivity { + private final static String TAG = "MPRES"; + private Handler mHandler; @Override protected void onCreate(Bundle savedInstanceState) { @@ -39,6 +42,7 @@ public class MainActivity extends AppCompatActivity { Intent intent = getIntent(); int initres = intent.getIntExtra("initres", 0); if (initres == 1) { + Log.i(TAG, "Init Config for MpApp"); mHandler = new Handler(); final String sn = intent.getStringExtra("sn"); final Context context = getApplicationContext(); @@ -58,6 +62,7 @@ public class MainActivity extends AppCompatActivity { }; initMpAppConfigurations(context, mHandler, sn, runnable); } else if (initres == 2) { + Log.i(TAG, "Init Config for MpMaster"); mHandler = new Handler(); final String sn = intent.getStringExtra("sn"); final Context context = getApplicationContext(); From fed87bc421d70d4b5f94e0653192d7285ef99384 Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 19 May 2025 16:07:05 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E4=B8=BB=E5=8A=A8=E9=80=80=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mpres/src/main/java/com/xypower/mpres/MainActivity.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mpres/src/main/java/com/xypower/mpres/MainActivity.java b/mpres/src/main/java/com/xypower/mpres/MainActivity.java index af1b624d..e42854e1 100644 --- a/mpres/src/main/java/com/xypower/mpres/MainActivity.java +++ b/mpres/src/main/java/com/xypower/mpres/MainActivity.java @@ -70,6 +70,9 @@ public class MainActivity extends AppCompatActivity { if (initMpMasterConfigurations(context)) { restartMpMasterApp(context); } + + sleep(100); + System.exit(0); } } From f66955ba99d7fdda4dd00394562f169d7a3662a2 Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 19 May 2025 16:13:02 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E5=BB=B6=E8=BF=9F=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xypower/mpres/MainActivity.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/mpres/src/main/java/com/xypower/mpres/MainActivity.java b/mpres/src/main/java/com/xypower/mpres/MainActivity.java index e42854e1..245256f2 100644 --- a/mpres/src/main/java/com/xypower/mpres/MainActivity.java +++ b/mpres/src/main/java/com/xypower/mpres/MainActivity.java @@ -39,11 +39,13 @@ public class MainActivity extends AppCompatActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + mHandler = new Handler(); + Intent intent = getIntent(); int initres = intent.getIntExtra("initres", 0); if (initres == 1) { Log.i(TAG, "Init Config for MpApp"); - mHandler = new Handler(); + final String sn = intent.getStringExtra("sn"); final Context context = getApplicationContext(); @@ -63,16 +65,20 @@ public class MainActivity extends AppCompatActivity { initMpAppConfigurations(context, mHandler, sn, runnable); } else if (initres == 2) { Log.i(TAG, "Init Config for MpMaster"); - mHandler = new Handler(); - final String sn = intent.getStringExtra("sn"); + final Context context = getApplicationContext(); + mHandler.postDelayed(new Runnable() { + @Override + public void run() { + if (initMpMasterConfigurations(context)) { + restartMpMasterApp(context); + } - if (initMpMasterConfigurations(context)) { - restartMpMasterApp(context); - } + sleep(1000); + System.exit(0); + } + }, 0); - sleep(100); - System.exit(0); } } From 740dc120f6201d6b291a23468612131229ebb5c9 Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 19 May 2025 16:18:17 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mpres/src/main/java/com/xypower/mpres/MainActivity.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mpres/src/main/java/com/xypower/mpres/MainActivity.java b/mpres/src/main/java/com/xypower/mpres/MainActivity.java index 245256f2..c1fdd21e 100644 --- a/mpres/src/main/java/com/xypower/mpres/MainActivity.java +++ b/mpres/src/main/java/com/xypower/mpres/MainActivity.java @@ -70,8 +70,12 @@ public class MainActivity extends AppCompatActivity { mHandler.postDelayed(new Runnable() { @Override public void run() { - if (initMpMasterConfigurations(context)) { - restartMpMasterApp(context); + try { + if (initMpMasterConfigurations(context)) { + restartMpMasterApp(context); + } + } catch (Exception ex) { + ex.printStackTrace(); } sleep(1000); From deb8b0682062c2fff537e9429118e94816d11638 Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 19 May 2025 16:18:32 +0800 Subject: [PATCH 08/12] Update MpRes version to 1.0.11 --- mpres/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpres/build.gradle b/mpres/build.gradle index 262fba8c..0e3e2469 100644 --- a/mpres/build.gradle +++ b/mpres/build.gradle @@ -5,7 +5,7 @@ plugins { def AppMajorVersion = 1 def AppMinorVersion = 0 -def AppBuildNumber = 10 +def AppBuildNumber = 11 def ConfigProjectOwner = "HENAN_2024" def AppVersionName = AppMajorVersion + "." + AppMinorVersion + "." + AppBuildNumber From fd15553e709f6e4aa4722bc23f445deec5546e5e Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 19 May 2025 16:19:42 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E9=80=9A=E8=BF=87MpRes=E6=9D=A5=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xypower/mpmaster/MainActivity.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java b/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java index 490fb3bd..4df5c1e3 100644 --- a/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java +++ b/mpmaster/src/main/java/com/xypower/mpmaster/MainActivity.java @@ -22,6 +22,7 @@ import android.view.MenuItem; import android.widget.TextView; import com.dev.devapi.api.SysApi; +import com.xypower.common.FilesUtils; import com.xypower.common.MicroPhotoContext; import java.io.File; @@ -45,9 +46,21 @@ public class MainActivity extends AppCompatActivity { mLaunchTime = System.currentTimeMillis(); // Try to init config - MpMasterService.initMpMasterConfigurations(getApplicationContext()); + // MpMasterService.initMpMasterConfigurations(getApplicationContext()); // MpMasterService.initMpAppConfigurations(getApplicationContext()); + String appPath = MicroPhotoContext.buildMasterAppDir(getApplicationContext()); + File appPathFile = new File(appPath); + File appCfgFile = new File(appPathFile, "data/Master.json"); + if (!appCfgFile.exists()) { + Intent resIntent = getPackageManager().getLaunchIntentForPackage(MicroPhotoContext.PACKAGE_NAME_MPRES); + if (resIntent != null) { + resIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + resIntent.putExtra("initres", 2); + startActivity(resIntent); + } + } + ActionBar actionBar = getSupportActionBar(); mHandler = new Handler(); From cf557a599a5abc6eed7bd5dc21a4bf90d057fd10 Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 19 May 2025 16:20:06 +0800 Subject: [PATCH 10/12] Update MpMaster version to 1.1.33 --- mpmaster/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpmaster/build.gradle b/mpmaster/build.gradle index 2d4c8a74..7771dca5 100644 --- a/mpmaster/build.gradle +++ b/mpmaster/build.gradle @@ -4,7 +4,7 @@ plugins { def AppMajorVersion = 1 def AppMinorVersion = 1 -def AppBuildNumber = 32 +def AppBuildNumber = 33 def AppVersionName = AppMajorVersion + "." + AppMinorVersion + "." + AppBuildNumber def AppVersionCode = AppMajorVersion * 100000 + AppMinorVersion * 1000 + AppBuildNumber From c34a649fa58524c35b4d87c8295640e0b95917c0 Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 19 May 2025 16:21:43 +0800 Subject: [PATCH 11/12] =?UTF-8?q?=E5=85=81=E8=AE=B8=E5=92=8C=E8=BF=90?= =?UTF-8?q?=E7=BB=B4=E5=90=8C=E6=97=B6=E5=90=AF=E5=8A=A8mpres=E3=80=82?= =?UTF-8?q?=E5=B9=B6=E5=A2=9E=E5=8A=A0=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xypower/mpapp/MainActivity.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/xypower/mpapp/MainActivity.java b/app/src/main/java/com/xypower/mpapp/MainActivity.java index 3b49fa16..a6baaffc 100644 --- a/app/src/main/java/com/xypower/mpapp/MainActivity.java +++ b/app/src/main/java/com/xypower/mpapp/MainActivity.java @@ -136,13 +136,15 @@ public class MainActivity extends AppCompatActivity { } else { Intent resIntent = getPackageManager().getLaunchIntentForPackage(MicroPhotoContext.PACKAGE_NAME_MPRES); - resIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); - resIntent.putExtra("initres", 1); - String sn = MicroPhotoService.getSerialNumber(); - if (!TextUtils.isEmpty(sn)) { - resIntent.putExtra("sn", sn); + if (resIntent != null) { + resIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + resIntent.putExtra("initres", 1); + String sn = MicroPhotoService.getSerialNumber(); + if (!TextUtils.isEmpty(sn)) { + resIntent.putExtra("sn", sn); + } + startActivity(resIntent); } - startActivity(resIntent); } } From 5de3b6e73ef03256df3fa78885a575cd1594dd7c Mon Sep 17 00:00:00 2001 From: Matthew Date: Mon, 19 May 2025 16:22:59 +0800 Subject: [PATCH 12/12] Update version to 1.3.176 Based Core Version to 1.4.92 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 1319796f..45922053 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,7 +5,7 @@ plugins { // 10,00,000 major-minor-build def AppMajorVersion = 1 def AppMinorVersion = 3 -def AppBuildNumber = 175 +def AppBuildNumber = 176 def AppVersionName = AppMajorVersion + "." + AppMinorVersion + "." + AppBuildNumber def AppVersionCode = AppMajorVersion * 100000 + AppMinorVersion * 1000 + AppBuildNumber