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

Commit ff0f9398 authored by Presubmit Automerger Backend's avatar Presubmit Automerger Backend
Browse files

[automerge] Post the starting of the Notification dialog 2p: a866e54d

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

Change-Id: I93df3ccb2d78b55733f63ab6d1cbf3ac3861d53d
parents 9ffccc6f a866e54d
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -59,6 +59,8 @@ import android.content.pm.PackageManagerInternal.PackageListObserver;
import android.content.pm.PermissionInfo;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Process;
import android.os.RemoteException;
import android.os.ServiceManager;
@@ -160,11 +162,13 @@ public final class PermissionPolicyService extends SystemService {
    private NotificationManagerInternal mNotificationManager;
    private final KeyguardManager mKeyguardManager;
    private final PackageManager mPackageManager;
    private final Handler mHandler;

    public PermissionPolicyService(@NonNull Context context) {
        super(context);

        mContext = context;
        mHandler = new Handler(Looper.getMainLooper());
        mPackageManager = context.getPackageManager();
        mKeyguardManager = context.getSystemService(KeyguardManager.class);
        LocalServices.addService(PermissionPolicyInternal.class, new Internal());
@@ -1068,8 +1072,11 @@ public final class PermissionPolicyService extends SystemService {
                                activityInfo.packageName, user)) {
                            clearNotificationReviewFlagsIfNeeded(activityInfo.packageName, user);
                        } else {
                            showNotificationPromptIfNeeded(activityInfo.packageName,
                                    taskInfo.userId, taskInfo.taskId, info);
                            // Post the activity start checks to ensure the notification channel
                            // checks happen outside the WindowManager global lock.
                            mHandler.post(() -> showNotificationPromptIfNeeded(
                                    activityInfo.packageName, taskInfo.userId, taskInfo.taskId,
                                    info));
                        }
                    }
                };
+2 −1
Original line number Diff line number Diff line
@@ -29,7 +29,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * Callback to intercept activity starts and possibly block/redirect them.
 * Callback to intercept activity starts and possibly block/redirect them. The callback methods will
 * be called with the WindowManagerGlobalLock held.
 */
public abstract class ActivityInterceptorCallback {
    /**