restore: Runtime-registered broadcasts receivers must specify export behavior

See: https://developer.android.com/about/versions/14/behavior-changes-14#runtime-receivers-exported
Change-Id: I6f80a060370a0b202c277924ea8cbf565bc29d6e
This commit is contained in:
Chirayu Desai 2023-10-10 04:40:40 +05:30 committed by Torsten Grote
parent 3938549a14
commit 6cb3b30b84
No known key found for this signature in database
GPG key ID: 3E5F77D92CF891FF

View file

@ -5,6 +5,7 @@ import android.app.PendingIntent.FLAG_MUTABLE
import android.app.PendingIntent.FLAG_UPDATE_CURRENT
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Context.RECEIVER_NOT_EXPORTED
import android.content.Intent
import android.content.Intent.FLAG_RECEIVER_FOREGROUND
import android.content.IntentFilter
@ -51,7 +52,11 @@ internal class ApkInstaller(private val context: Context) {
cont.resume(onBroadcastReceived(i, packageName, cachedApks, installResult))
}
}
context.registerReceiver(broadcastReceiver, IntentFilter(BROADCAST_ACTION))
context.registerReceiver(
broadcastReceiver,
IntentFilter(BROADCAST_ACTION),
RECEIVER_NOT_EXPORTED,
)
cont.invokeOnCancellation { context.unregisterReceiver(broadcastReceiver) }
install(cachedApks, installerPackageName)