summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Karishma Vakil <kvakil@google.com> 2023-09-07 17:51:59 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-09-07 17:51:59 +0000
commit35fc6af02aa8a6f3d33036fea2bd1685b4d4ed4c (patch)
treebd02e1e5328c2d4d9530ea84332e5a4aa6d3ec45
parent6fb222fa8fcf119a827df32503759de6c67c4c93 (diff)
parent4ff9c0106fcc21d1cd0f0ee5f38a6ad355a8c0ea (diff)
Merge "[DeviceAware] Refactor AppOpsService aidl to use AttributionSourceState instead of AttributionSource" into main
-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 dab4110279fe..4f9225ff5585 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);
}