客户有自己客制化Launcher.apk,需要满足如下需求:
(1)需要设置克制化Launcher.apk设置为默认Launcher;
(2)保留AOSP原生Launcher3(QuickStep)
(3)能够在Setting->App & notifacations -> Default apps -> Home app中动态切换Preferred Launcher,并且重启后能保存重启前Preferred 设定.
1.AOSP image无Setupwizard/Provision等APK
判断第一次开机是否有强制设置过custome launcher
1)如果没有设定过则判断r0/r1.activityInfo.name是否有包含custome launcher package name,则返回对应ResolveInfo.
2)如果设定过,则走正常code follow
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -6823,6 +6823,21 @@ public class PackageManagerService extends IPackageManager.Stub
// then let the user decide between them.
ResolveInfo r0 = query.get(0);
ResolveInfo r1 = query.get(1);
+
+ // ander: force set the costume launcher as default start
+ if (!"false".equals(SystemProperties.get("persist.sys.forcesetcostumelauncher"))) {
+ if (r0.activityInfo.name.contains("custome.launcher.package.name") || r1.activityInfo.name.contains("custome.laun