Merge "Skip checking if a broadcastreceiver was already registered" into main
This commit is contained in:
@@ -51,7 +51,6 @@ class AppRestoreButton(packageInfoPresenter: PackageInfoPresenter) {
|
|||||||
private val packageInstaller = userPackageManager.packageInstaller
|
private val packageInstaller = userPackageManager.packageInstaller
|
||||||
private val packageName = packageInfoPresenter.packageName
|
private val packageName = packageInfoPresenter.packageName
|
||||||
private val userHandle = UserHandle.of(packageInfoPresenter.userId)
|
private val userHandle = UserHandle.of(packageInfoPresenter.userId)
|
||||||
private var broadcastReceiverIsCreated = false
|
|
||||||
private lateinit var coroutineScope: CoroutineScope
|
private lateinit var coroutineScope: CoroutineScope
|
||||||
private lateinit var updateButtonTextJob: Job
|
private lateinit var updateButtonTextJob: Job
|
||||||
private val buttonTexts = intArrayOf(
|
private val buttonTexts = intArrayOf(
|
||||||
@@ -65,15 +64,13 @@ class AppRestoreButton(packageInfoPresenter: PackageInfoPresenter) {
|
|||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun getActionButton(app: ApplicationInfo): ActionButton {
|
fun getActionButton(app: ApplicationInfo): ActionButton {
|
||||||
if (!broadcastReceiverIsCreated) {
|
|
||||||
val intentFilter = IntentFilter(INTENT_ACTION)
|
val intentFilter = IntentFilter(INTENT_ACTION)
|
||||||
DisposableBroadcastReceiverAsUser(intentFilter, userHandle) { intent ->
|
DisposableBroadcastReceiverAsUser(intentFilter, userHandle) { intent ->
|
||||||
if (app.packageName == intent.getStringExtra(PackageInstaller.EXTRA_PACKAGE_NAME)) {
|
if (app.packageName == intent.getStringExtra(PackageInstaller.EXTRA_PACKAGE_NAME)) {
|
||||||
onReceive(intent, app)
|
onReceive(intent, app)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
broadcastReceiverIsCreated = true
|
|
||||||
}
|
|
||||||
coroutineScope = rememberCoroutineScope()
|
coroutineScope = rememberCoroutineScope()
|
||||||
if (app.isArchived && ::updateButtonTextJob.isInitialized && !updateButtonTextJob.isActive) {
|
if (app.isArchived && ::updateButtonTextJob.isInitialized && !updateButtonTextJob.isActive) {
|
||||||
buttonTextIndexStateFlow.value = 0
|
buttonTextIndexStateFlow.value = 0
|
||||||
|
Reference in New Issue
Block a user