From 9bb87fc27cf009fdd09b14003d6a467ef8eb4bc3 Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Mon, 12 Sep 2022 08:50:21 -0300
Subject: [PATCH] WIP: try StartupAppControlActivity for app launch

---
 mailbox-android/src/main/AndroidManifest.xml          |  2 ++
 .../mailbox/android/dontkillme/HuaweiAppLaunchView.kt | 11 ++++++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/mailbox-android/src/main/AndroidManifest.xml b/mailbox-android/src/main/AndroidManifest.xml
index eb450c92..d732f802 100644
--- a/mailbox-android/src/main/AndroidManifest.xml
+++ b/mailbox-android/src/main/AndroidManifest.xml
@@ -13,6 +13,8 @@
     <uses-permission android:name="android.permission.WAKE_LOCK" />
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
 
+    <uses-permission android:name="com.huawei.permission.external_app_settings.USE_COMPONENT" />
+
     <application
         android:name=".android.MailboxApplication"
         android:allowBackup="true"
diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/dontkillme/HuaweiAppLaunchView.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/dontkillme/HuaweiAppLaunchView.kt
index af842e8e..bd55401a 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/dontkillme/HuaweiAppLaunchView.kt
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/dontkillme/HuaweiAppLaunchView.kt
@@ -20,6 +20,7 @@
 package org.briarproject.mailbox.android.dontkillme
 
 import android.content.Context
+import android.content.Intent
 import android.util.AttributeSet
 import android.widget.Toast
 import android.widget.Toast.LENGTH_LONG
@@ -53,9 +54,17 @@ internal class HuaweiAppLaunchView @JvmOverloads constructor(
     override val helpText: Int = R.string.dnkm_huawei_app_launch_help
 
     override fun onButtonClick() {
-        for (i in huaweiAppLaunchIntents) {
+        val extraIntent = Intent().apply {
+            setClassName(
+                "com.huawei.systemmanager",
+                "com.huawei.systemmanager.appcontrol.activity.StartupAppControlActivity"
+            )
+        }
+        for (i in huaweiAppLaunchIntents + extraIntent) {
             try {
+                LOG.error("Trying intent: $i")
                 context.startActivity(i)
+                LOG.error("worked: $i")
                 setChecked(true)
                 return
             } catch (e: Exception) {
-- 
GitLab