Merge "FGS PendingIntent also use BroadcastOptions' temp allowlist duration." into sc-dev am: 5d5661a5fd
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15338525 Change-Id: I732a45bc0c9ebd06510162bce168caf59d39cc16
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user