UwbServiceImpl: Use cleanCallingIdentity to perform permission checks
The AIDL callbacks occur with the vendor service context. So, need to use the uwbservice context to perform the permission checks. Bug: 189476827 Test: Manual tests Change-Id: Ie4d64a610483e759d065ee3f466c23bd6016dbf8
This commit is contained in:
@@ -19,6 +19,7 @@ package com.android.server.uwb;
|
||||
import android.annotation.NonNull;
|
||||
import android.content.AttributionSource;
|
||||
import android.content.Context;
|
||||
import android.os.Binder;
|
||||
import android.os.IBinder;
|
||||
import android.os.PersistableBundle;
|
||||
import android.os.RemoteException;
|
||||
@@ -171,8 +172,10 @@ public class UwbServiceImpl extends IUwbAdapter.Stub implements IBinder.DeathRec
|
||||
RangingReport rangingReport)
|
||||
throws RemoteException {
|
||||
if (!mIsValid) return;
|
||||
if (!mUwbInjector.checkUwbRangingPermissionForDataDelivery(
|
||||
mAttributionSource, "uwb ranging result")) {
|
||||
boolean permissionGranted = Binder.withCleanCallingIdentity(
|
||||
() -> mUwbInjector.checkUwbRangingPermissionForDataDelivery(
|
||||
mAttributionSource, "uwb ranging result"));
|
||||
if (!permissionGranted) {
|
||||
Log.e(TAG, "Not delivering ranging result because of permission denial"
|
||||
+ mSessionHandle);
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user