diff --git a/services/core/java/com/android/server/policy/PermissionPolicyInternal.java b/services/core/java/com/android/server/policy/PermissionPolicyInternal.java index ea8616c4551b1..7760c1edd9e6f 100644 --- a/services/core/java/com/android/server/policy/PermissionPolicyInternal.java +++ b/services/core/java/com/android/server/policy/PermissionPolicyInternal.java @@ -17,6 +17,7 @@ package com.android.server.policy; import android.annotation.NonNull; +import android.annotation.Nullable; import android.content.Intent; /** @@ -34,5 +35,5 @@ public abstract class PermissionPolicyInternal { * @return whether the activity should be started */ public abstract boolean checkStartActivity(@NonNull Intent intent, int callingUid, - @NonNull String callingPackage); + @Nullable String callingPackage); } diff --git a/services/core/java/com/android/server/policy/PermissionPolicyService.java b/services/core/java/com/android/server/policy/PermissionPolicyService.java index 570a15310089b..c809aca371a05 100644 --- a/services/core/java/com/android/server/policy/PermissionPolicyService.java +++ b/services/core/java/com/android/server/policy/PermissionPolicyService.java @@ -480,8 +480,9 @@ public final class PermissionPolicyService extends SystemService { @Override public boolean checkStartActivity(@NonNull Intent intent, int callingUid, - @NonNull String callingPackage) { - if (isActionRemovedForCallingPackage(intent.getAction(), callingPackage)) { + @Nullable String callingPackage) { + if (callingPackage != null && isActionRemovedForCallingPackage(intent.getAction(), + callingPackage)) { Slog.w(LOG_TAG, "Action Removed: starting " + intent.toString() + " from " + callingPackage + " (uid=" + callingUid + ")"); return false;