From 5d6606c55520a76d5bb8297d83fd9bbf967e5244 Mon Sep 17 00:00:00 2001
From: huangcm <1263938474@qq.com>
Date: Thu, 14 Aug 2025 02:11:32 +0000
Subject: [PATCH] feat(bootonapp): fix boot on app in SystemUI

---
 android/frameworks/base/packages/SystemUI/AndroidManifest.xml                             |    9 +++++++++
 android/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java                   |    2 +-
 android/frameworks/base/packages/SystemUI/src/com/android/systemui/BootonAppReceiver.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 58 insertions(+), 1 deletions(-)

diff --git a/android/frameworks/base/packages/SystemUI/AndroidManifest.xml b/android/frameworks/base/packages/SystemUI/AndroidManifest.xml
index fc4c822..01cbcf5 100644
--- a/android/frameworks/base/packages/SystemUI/AndroidManifest.xml
+++ b/android/frameworks/base/packages/SystemUI/AndroidManifest.xml
@@ -658,5 +658,14 @@
             </intent-filter>
         </receiver>
 
+        <receiver
+            android:name=".BootonAppReceiver"
+            android:enabled="true"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.intent.action.BOOT_COMPLETED"></action>
+            </intent-filter>
+        </receiver>
+
     </application>
 </manifest>
diff --git a/android/frameworks/base/packages/SystemUI/src/com/android/systemui/BootonAppReceiver.java b/android/frameworks/base/packages/SystemUI/src/com/android/systemui/BootonAppReceiver.java
new file mode 100755
index 0000000..3a75428
--- /dev/null
+++ b/android/frameworks/base/packages/SystemUI/src/com/android/systemui/BootonAppReceiver.java
@@ -0,0 +1,48 @@
+
+package com.android.systemui;
+
+import android.app.NotificationManager;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Process;
+import android.os.SystemProperties;
+import android.util.Log;
+import android.content.ComponentName;
+
+import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
+
+public class BootonAppReceiver extends BroadcastReceiver {
+
+    static void LauncherbootApp(Context context) {
+        try {
+            Intent myintent = new Intent(Intent.ACTION_MAIN);
+            String bootAppPack = "null";
+            String bootAppClass = "null";
+
+            if ("1".equals(SystemProperties.get("persist.sys.bootonDeviceTest", "0"))) {
+                bootAppPack = "com.DeviceTest";
+                bootAppClass = "com.DeviceTest.DeviceTest";
+                SystemProperties.set("persist.sys.bootonDeviceTest", "0");
+            } else {
+                bootAppPack = SystemProperties.get("persist.sys.bootAppPack", "null");
+                bootAppClass = SystemProperties.get("persist.sys.bootAppClass", "null");
+            }
+            Log.i("kickpi","will boot up APP - " + bootAppPack + "/" + bootAppClass);
+
+            ComponentName cn = new ComponentName(bootAppPack, bootAppClass);
+            myintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+            myintent.setComponent(cn);
+            context.startActivity(myintent);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
+            LauncherbootApp(context);
+        }
+    }
+}
diff --git a/android/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java b/android/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
index 05da0c1..f1ac471 100755
--- a/android/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
+++ b/android/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
@@ -363,7 +363,7 @@
         logBootEvent("Launcher:onCreate start");
         Log.i(TAG,"Launcher:onCreate start");
 
-        LauncherbootApp(this);
+        // LauncherbootApp(this);
 
         TraceHelper.beginSection("Launcher-onCreate");
 

--
Gitblit v1.6.2