PackageManagerReceiver: Rework package install actions
Notify on package installation and delete the downloaded directory Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
26
app/src/main/java/com/aurora/extensions/BroadcastReceiver.kt
Normal file
26
app/src/main/java/com/aurora/extensions/BroadcastReceiver.kt
Normal file
@@ -0,0 +1,26 @@
|
||||
package com.aurora.extensions
|
||||
|
||||
import android.content.BroadcastReceiver
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.DelicateCoroutinesApi
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.cancel
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlin.coroutines.CoroutineContext
|
||||
import kotlin.coroutines.EmptyCoroutineContext
|
||||
|
||||
@OptIn(DelicateCoroutinesApi::class)
|
||||
fun BroadcastReceiver.goAsync(
|
||||
context: CoroutineContext = EmptyCoroutineContext,
|
||||
block: suspend CoroutineScope.() -> Unit
|
||||
) {
|
||||
val pendingResult = goAsync()
|
||||
GlobalScope.launch(context) {
|
||||
try {
|
||||
block()
|
||||
} finally {
|
||||
pendingResult.finish()
|
||||
cancel()
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user