summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Karishma Vakil <kvakil@google.com> 2023-09-02 21:02:52 +0000
committer Karishma Vakil <kvakil@google.com> 2023-09-07 01:49:51 +0000
commit4ff9c0106fcc21d1cd0f0ee5f38a6ad355a8c0ea (patch)
treef846060ecdc7005a536958165088a94e0811d849
parentf91b30cd436f3c832de326e2f30bc608affd06da (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.java6
-rw-r--r--core/java/com/android/internal/app/IAppOpsService.aidl10
-rw-r--r--services/core/java/com/android/server/appop/AppOpsService.java14
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);
}