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:
Aayush Gupta
2023-12-27 20:51:38 +05:30
parent e0cda7eadf
commit 87dc309d35
3 changed files with 84 additions and 22 deletions

View 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()
}
}
}