Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dafe681b authored by Hui Yu's avatar Hui Yu Committed by Automerger Merge Worker
Browse files

Merge "FGS PendingIntent also use BroadcastOptions' temp allowlist duration."...

Merge "FGS PendingIntent also use BroadcastOptions' temp allowlist duration." into sc-dev am: 5d5661a5

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15338525

Change-Id: I3091795569983def3aca81e69878bd0c8678a307
parents 77a3a524 5d5661a5
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NA
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityOptions;
import android.app.BroadcastOptions;
import android.app.PendingIntent;
import android.content.IIntentReceiver;
import android.content.IIntentSender;
@@ -408,6 +409,18 @@ public final class PendingIntentRecord extends IIntentSender.Stub {
                }
                controller.mAmInternal.tempAllowlistForPendingIntent(callingPid, callingUid,
                        uid, duration.duration, duration.type, duration.reasonCode, tag.toString());
            } else if (key.type == ActivityManager.INTENT_SENDER_FOREGROUND_SERVICE
                    && options != null) {
                // If this is a getForegroundService() type pending intent, use its BroadcastOptions
                // temp allowlist duration as its pending intent temp allowlist duration.
                BroadcastOptions brOptions = new BroadcastOptions(options);
                if (brOptions.getTemporaryAppAllowlistDuration() > 0) {
                    controller.mAmInternal.tempAllowlistForPendingIntent(callingPid, callingUid,
                            uid, brOptions.getTemporaryAppAllowlistDuration(),
                            brOptions.getTemporaryAppAllowlistType(),
                            brOptions.getTemporaryAppAllowlistReasonCode(),
                            brOptions.getTemporaryAppAllowlistReason());
                }
            }

            boolean sendFinish = finishedReceiver != null;