Fix plugin setup pending intent background permission
This commit is contained in:
parent
1e17e93301
commit
01ea2a2862
@ -48,6 +48,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import coil.compose.AsyncImage
|
||||
import de.mm20.launcher2.crashreporter.CrashReporter
|
||||
import de.mm20.launcher2.ktx.sendWithBackgroundPermission
|
||||
import de.mm20.launcher2.plugin.PluginState
|
||||
import de.mm20.launcher2.plugin.PluginType
|
||||
import de.mm20.launcher2.ui.R
|
||||
@ -312,7 +313,7 @@ fun PluginSettingsScreen(pluginId: String) {
|
||||
primaryAction = {
|
||||
TextButton(onClick = {
|
||||
try {
|
||||
state.setupActivity.send()
|
||||
state.setupActivity.sendWithBackgroundPermission()
|
||||
} catch (e: PendingIntent.CanceledException) {
|
||||
CrashReporter.logException(e)
|
||||
}
|
||||
@ -362,7 +363,7 @@ fun PluginSettingsScreen(pluginId: String) {
|
||||
primaryAction = {
|
||||
TextButton(onClick = {
|
||||
try {
|
||||
state.setupActivity.send()
|
||||
state.setupActivity.sendWithBackgroundPermission()
|
||||
} catch (e: PendingIntent.CanceledException) {
|
||||
CrashReporter.logException(e)
|
||||
}
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
package de.mm20.launcher2.ktx
|
||||
|
||||
import android.app.ActivityOptions
|
||||
import android.app.PendingIntent
|
||||
|
||||
fun PendingIntent.sendWithBackgroundPermission() {
|
||||
if (isAtLeastApiLevel(34)) {
|
||||
val options = ActivityOptions.makeBasic()
|
||||
.setPendingIntentCreatorBackgroundActivityStartMode(
|
||||
ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED
|
||||
)
|
||||
.setPendingIntentBackgroundActivityStartMode(
|
||||
ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED
|
||||
)
|
||||
.toBundle()
|
||||
send(options)
|
||||
} else {
|
||||
send()
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user