Use RoleManager API to request shortcut permission

This commit is contained in:
MM20 2024-06-16 17:31:31 +02:00
parent a63f434efc
commit 7860230e88
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389

View File

@ -1,6 +1,7 @@
package de.mm20.launcher2.permissions
import android.Manifest
import android.app.role.RoleManager
import android.content.ActivityNotFoundException
import android.content.Context
import android.content.Intent
@ -142,7 +143,15 @@ internal class PermissionsManagerImpl(
}
PermissionGroup.AppShortcuts -> {
context.tryStartActivity(Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS))
if (isAtLeastApiLevel(29)) {
val roleManager = context.getSystemService<RoleManager>()
context.startActivityForResult(
roleManager!!.createRequestRoleIntent(RoleManager.ROLE_HOME),
permissionGroup.ordinal
)
} else {
context.tryStartActivity(Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS))
}
pendingPermissionRequests.add(PermissionGroup.AppShortcuts)
}