Merge "Add AppOpEnum field to represent op_id in RuntimeAppOpAccess atom." into rvc-dev
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index c7dbf77..bd15264 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -8697,13 +8697,12 @@
     // Name of the package accessing app op
     optional string package_name = 2;
 
-    // operation string id per OPSTR_ constants in AppOpsManager.java
-    optional string op = 3;
+    // deprecated - set to empty string
+    optional string op_deprecated = 3 [deprecated = true];
 
     // attribution_tag; provided by developer when accessing related API, limited at 50 chars by
-    // API.
-    // Attributions must be provided through manifest using <attribution> tag available in R and
-    // above.
+    // API. Attributions must be provided through manifest using <attribution> tag available in R
+    // and above.
     optional string attribution_tag = 4;
 
     // message related to app op access, limited to 600 chars by API
@@ -8718,6 +8717,9 @@
 
     // sampling strategy used to collect this message
     optional SamplingStrategy sampling_strategy = 6;
+
+    // operation id
+    optional android.app.AppOpEnum op = 7 [default = APP_OP_NONE];
 }
 
 /*
diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
index 24ab89b..e9da2c4 100644
--- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
+++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java
@@ -3039,7 +3039,7 @@
             e.writeInt(message.getUid());
             e.addBooleanAnnotation(ANNOTATION_ID_IS_UID, true);
             e.writeString(message.getPackageName());
-            e.writeString(message.getOp());
+            e.writeString("");
             if (message.getAttributionTag() == null) {
                 e.writeString("");
             } else {
@@ -3047,6 +3047,7 @@
             }
             e.writeString(message.getMessage());
             e.writeInt(message.getSamplingStrategy());
+            e.writeInt(AppOpsManager.strOpToOp(message.getOp()));
 
             pulledData.add(e.build());
         } catch (Throwable t) {