diff options
| author | 2023-09-02 21:02:52 +0000 | |
|---|---|---|
| committer | 2023-09-07 01:49:51 +0000 | |
| commit | 4ff9c0106fcc21d1cd0f0ee5f38a6ad355a8c0ea (patch) | |
| tree | f846060ecdc7005a536958165088a94e0811d849 | |
| parent | f91b30cd436f3c832de326e2f30bc608affd06da (diff) | |
[DeviceAware] Refactor AppOpsService aidl to use AttributionSourceState
instead of AttributionSource
This prepares the existing code for upcoming changes to other AppOpsService methods to take in AttributionSource. This change cannot be flagged as it is a pure refactor and builds should catch any breakages.
Bug: 299160174
Test: atest CtsAppOpsTestCases
Change-Id: Icf428944252e733c3ecf14a32dafb03de0a59ca9
| -rw-r--r-- | core/java/android/app/AppOpsManager.java | 6 | ||||
| -rw-r--r-- | core/java/com/android/internal/app/IAppOpsService.aidl | 10 | ||||
| -rw-r--r-- | services/core/java/com/android/server/appop/AppOpsService.java | 14 |
3 files changed, 17 insertions, 13 deletions
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java index 56fef1aac36a..c40ec281bc51 100644 --- a/core/java/android/app/AppOpsManager.java +++ b/core/java/android/app/AppOpsManager.java @@ -8632,7 +8632,7 @@ public class AppOpsManager { } } - SyncNotedAppOp syncOp = mService.noteProxyOperation(op, attributionSource, + SyncNotedAppOp syncOp = mService.noteProxyOperation(op, attributionSource.asState(), collectionMode == COLLECT_ASYNC, message, shouldCollectMessage, skipProxyOperation); @@ -9105,7 +9105,7 @@ public class AppOpsManager { } SyncNotedAppOp syncOp = mService.startProxyOperation(clientId, op, - attributionSource, false, collectionMode == COLLECT_ASYNC, message, + attributionSource.asState(), false, collectionMode == COLLECT_ASYNC, message, shouldCollectMessage, skipProxyOperation, proxyAttributionFlags, proxiedAttributionFlags, attributionChainId); @@ -9223,7 +9223,7 @@ public class AppOpsManager { public void finishProxyOp(@NonNull IBinder clientId, @NonNull String op, @NonNull AttributionSource attributionSource, boolean skipProxyOperation) { try { - mService.finishProxyOperation(clientId, strOpToOp(op), attributionSource, + mService.finishProxyOperation(clientId, strOpToOp(op), attributionSource.asState(), skipProxyOperation); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); diff --git a/core/java/com/android/internal/app/IAppOpsService.aidl b/core/java/com/android/internal/app/IAppOpsService.aidl index 2dcac824406a..584dd806361c 100644 --- a/core/java/com/android/internal/app/IAppOpsService.aidl +++ b/core/java/com/android/internal/app/IAppOpsService.aidl @@ -20,7 +20,7 @@ import android.app.AppOpsManager; import android.app.AsyncNotedAppOp; import android.app.SyncNotedAppOp; import android.app.RuntimeAppOpAccessMessage; -import android.content.AttributionSource; +import android.content.AttributionSourceState; import android.content.pm.ParceledListSlice; import android.os.Bundle; import android.os.PackageTagsList; @@ -57,16 +57,16 @@ interface IAppOpsService { // End of methods also called by native code. // Any new method exposed to native must be added after the last one, do not reorder - SyncNotedAppOp noteProxyOperation(int code, in AttributionSource attributionSource, + SyncNotedAppOp noteProxyOperation(int code, in AttributionSourceState attributionSourceState, boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage, boolean skipProxyOperation); SyncNotedAppOp startProxyOperation(IBinder clientId, int code, - in AttributionSource attributionSource, boolean startIfModeDefault, + in AttributionSourceState attributionSourceState, boolean startIfModeDefault, boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage, boolean skipProxyOperation, int proxyAttributionFlags, int proxiedAttributionFlags, int attributionChainId); - void finishProxyOperation(IBinder clientId, int code, in AttributionSource attributionSource, - boolean skipProxyOperation); + void finishProxyOperation(IBinder clientId, int code, + in AttributionSourceState attributionSourceState, boolean skipProxyOperation); // Remaining methods are only used in Java. int checkPackage(int uid, String packageName); diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java index 4ee4c30ab15a..516293b6fa2e 100644 --- a/services/core/java/com/android/server/appop/AppOpsService.java +++ b/services/core/java/com/android/server/appop/AppOpsService.java @@ -89,6 +89,7 @@ import android.app.RuntimeAppOpAccessMessage; import android.app.SyncNotedAppOp; import android.app.admin.DevicePolicyManagerInternal; import android.content.AttributionSource; +import android.content.AttributionSourceState; import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; @@ -2680,9 +2681,10 @@ public class AppOpsService extends IAppOpsService.Stub { } @Override - public SyncNotedAppOp noteProxyOperation(int code, AttributionSource attributionSource, - boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage, - boolean skipProxyOperation) { + public SyncNotedAppOp noteProxyOperation(int code, + AttributionSourceState attributionSourceState, boolean shouldCollectAsyncNotedOp, + String message, boolean shouldCollectMessage, boolean skipProxyOperation) { + AttributionSource attributionSource = new AttributionSource(attributionSourceState); return mCheckOpsDelegateDispatcher.noteProxyOperation(code, attributionSource, shouldCollectAsyncNotedOp, message, shouldCollectMessage, skipProxyOperation); } @@ -3212,10 +3214,11 @@ public class AppOpsService extends IAppOpsService.Stub { @Override public SyncNotedAppOp startProxyOperation(@NonNull IBinder clientId, int code, - @NonNull AttributionSource attributionSource, boolean startIfModeDefault, + @NonNull AttributionSourceState attributionSourceState, boolean startIfModeDefault, boolean shouldCollectAsyncNotedOp, String message, boolean shouldCollectMessage, boolean skipProxyOperation, @AttributionFlags int proxyAttributionFlags, @AttributionFlags int proxiedAttributionFlags, int attributionChainId) { + AttributionSource attributionSource = new AttributionSource(attributionSourceState); return mCheckOpsDelegateDispatcher.startProxyOperation(clientId, code, attributionSource, startIfModeDefault, shouldCollectAsyncNotedOp, message, shouldCollectMessage, skipProxyOperation, proxyAttributionFlags, proxiedAttributionFlags, @@ -3512,7 +3515,8 @@ public class AppOpsService extends IAppOpsService.Stub { @Override public void finishProxyOperation(@NonNull IBinder clientId, int code, - @NonNull AttributionSource attributionSource, boolean skipProxyOperation) { + @NonNull AttributionSourceState attributionSourceState, boolean skipProxyOperation) { + AttributionSource attributionSource = new AttributionSource(attributionSourceState); mCheckOpsDelegateDispatcher.finishProxyOperation(clientId, code, attributionSource, skipProxyOperation); } |