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