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 androidx.lifecycle.viewmodel.compose.viewModel
|
||||||
import coil.compose.AsyncImage
|
import coil.compose.AsyncImage
|
||||||
import de.mm20.launcher2.crashreporter.CrashReporter
|
import de.mm20.launcher2.crashreporter.CrashReporter
|
||||||
|
import de.mm20.launcher2.ktx.sendWithBackgroundPermission
|
||||||
import de.mm20.launcher2.plugin.PluginState
|
import de.mm20.launcher2.plugin.PluginState
|
||||||
import de.mm20.launcher2.plugin.PluginType
|
import de.mm20.launcher2.plugin.PluginType
|
||||||
import de.mm20.launcher2.ui.R
|
import de.mm20.launcher2.ui.R
|
||||||
@ -312,7 +313,7 @@ fun PluginSettingsScreen(pluginId: String) {
|
|||||||
primaryAction = {
|
primaryAction = {
|
||||||
TextButton(onClick = {
|
TextButton(onClick = {
|
||||||
try {
|
try {
|
||||||
state.setupActivity.send()
|
state.setupActivity.sendWithBackgroundPermission()
|
||||||
} catch (e: PendingIntent.CanceledException) {
|
} catch (e: PendingIntent.CanceledException) {
|
||||||
CrashReporter.logException(e)
|
CrashReporter.logException(e)
|
||||||
}
|
}
|
||||||
@ -362,7 +363,7 @@ fun PluginSettingsScreen(pluginId: String) {
|
|||||||
primaryAction = {
|
primaryAction = {
|
||||||
TextButton(onClick = {
|
TextButton(onClick = {
|
||||||
try {
|
try {
|
||||||
state.setupActivity.send()
|
state.setupActivity.sendWithBackgroundPermission()
|
||||||
} catch (e: PendingIntent.CanceledException) {
|
} catch (e: PendingIntent.CanceledException) {
|
||||||
CrashReporter.logException(e)
|
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