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

Commit 53a679b4 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: I5aeffd308ee599024b368e71dc7b282792a4732e
parents 332a72f8 5d5661a5
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line 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.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityManager;
import android.app.ActivityOptions;
import android.app.ActivityOptions;
import android.app.BroadcastOptions;
import android.app.PendingIntent;
import android.app.PendingIntent;
import android.content.IIntentReceiver;
import android.content.IIntentReceiver;
import android.content.IIntentSender;
import android.content.IIntentSender;
@@ -408,6 +409,18 @@ public final class PendingIntentRecord extends IIntentSender.Stub {
                }
                }
                controller.mAmInternal.tempAllowlistForPendingIntent(callingPid, callingUid,
                controller.mAmInternal.tempAllowlistForPendingIntent(callingPid, callingUid,
                        uid, duration.duration, duration.type, duration.reasonCode, tag.toString());
                        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;
            boolean sendFinish = finishedReceiver != null;