Loading services/core/java/com/android/server/policy/PermissionPolicyService.java +9 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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()); Loading Loading @@ -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)); } } }; Loading services/core/java/com/android/server/wm/ActivityInterceptorCallback.java +2 −1 Original line number Diff line number Diff line Loading @@ -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 { /** Loading Loading
services/core/java/com/android/server/policy/PermissionPolicyService.java +9 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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()); Loading Loading @@ -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)); } } }; Loading
services/core/java/com/android/server/wm/ActivityInterceptorCallback.java +2 −1 Original line number Diff line number Diff line Loading @@ -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 { /** Loading