From a89d9ce65359fbce35371f451f5d991dd34a04f5 Mon Sep 17 00:00:00 2001 From: Jonathan Klee Date: Tue, 20 Sep 2022 08:05:37 +0000 Subject: [PATCH] Fix FLAG_MUTABLE not available on R FLAG_MUTABLE was introduced with API 31 so use it only for Android versions above API 31 (S). --- .../e/splitinstall/service/SplitInstallBinder.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/service/java/foundation/e/splitinstall/service/SplitInstallBinder.kt b/service/java/foundation/e/splitinstall/service/SplitInstallBinder.kt index 9ddd910..a439b57 100644 --- a/service/java/foundation/e/splitinstall/service/SplitInstallBinder.kt +++ b/service/java/foundation/e/splitinstall/service/SplitInstallBinder.kt @@ -20,6 +20,7 @@ import android.app.PendingIntent import android.content.Context import android.content.Intent import android.content.pm.PackageInstaller +import android.os.Build import android.util.Log import foundation.e.splitinstall.ISplitInstallService import java.io.File @@ -52,7 +53,12 @@ class SplitInstallBinder( val callbackIntent = Intent(applicationContext, SplitInstallBroadcastReceiver::class.java) callbackIntent.action = SplitInstallBroadcastReceiver.MODULE_INSTALLED_INTENT_ACTION - val flags = PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE + val flags = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_MUTABLE + } else { + PendingIntent.FLAG_UPDATE_CURRENT + } + val servicePendingIntent = PendingIntent.getBroadcast(applicationContext, sessionId, callbackIntent, flags) session.commit(servicePendingIntent.intentSender) -- GitLab