summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/BluetoothManagerService.java18
1 files changed, 12 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java
index 450e9881bef2..6e05841230af 100644
--- a/services/core/java/com/android/server/BluetoothManagerService.java
+++ b/services/core/java/com/android/server/BluetoothManagerService.java
@@ -17,12 +17,11 @@
package com.android.server;
import static android.Manifest.permission.BLUETOOTH_CONNECT;
-import static android.content.PermissionChecker.PERMISSION_HARD_DENIED;
-import static android.content.PermissionChecker.PID_UNKNOWN;
import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static android.os.PowerExemptionManager.TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED;
import static android.os.UserHandle.USER_SYSTEM;
+import static android.permission.PermissionCheckerManager.PERMISSION_HARD_DENIED;
import android.Manifest;
import android.annotation.NonNull;
@@ -54,7 +53,6 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.PermissionChecker;
import android.content.ServiceConnection;
import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager;
@@ -76,6 +74,7 @@ import android.os.SystemClock;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.UserManager;
+import android.permission.PermissionManager;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.text.TextUtils;
@@ -2912,9 +2911,16 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
@SuppressLint("AndroidFrameworkRequiresPermission")
private static boolean checkPermissionForDataDelivery(Context context, String permission,
AttributionSource attributionSource, String message) {
- final int result = PermissionChecker.checkPermissionForDataDeliveryFromDataSource(
- context, permission, PID_UNKNOWN,
- new AttributionSource(context.getAttributionSource(), attributionSource), message);
+ PermissionManager pm = context.getSystemService(PermissionManager.class);
+ if (pm == null) {
+ return false;
+ }
+ AttributionSource currentAttribution = new AttributionSource
+ .Builder(context.getAttributionSource())
+ .setNext(attributionSource)
+ .build();
+ final int result = pm.checkPermissionForDataDeliveryFromDataSource(permission,
+ currentAttribution, message);
if (result == PERMISSION_GRANTED) {
return true;
}