Use cpp aidl_interface within statsd
This CL is part of a larger effort to shift statsd to libbinder_ndk.
This CL specifically accomplishes the following:
- constructs an aidl_interface soong module that can be used by statsd
and libstatspull
- defines the parameters of StatsDimensionsValueParcel
(conversions to and from StatsDimensionsValueParcel are not yet defined,
so this CL will break sendSubscriberBroadcast. A later CL will fix this
issue...)
Test: m -j
Bug: 148682447
Change-Id: I7afa3e21d4c9fc1970e6c393204e1bdb110760fb
diff --git a/apex/statsd/aidl/Android.bp b/apex/statsd/aidl/Android.bp
index 6d639fd..db5f439 100644
--- a/apex/statsd/aidl/Android.bp
+++ b/apex/statsd/aidl/Android.bp
@@ -13,35 +13,31 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//
-
-// TODO(b/145815909): move StatsDimensionsValue.aidl here
filegroup {
- name: "statsd_aidl",
+ name: "statsd_java_aidl",
+ srcs: ["**/*.aidl"],
+}
+
+aidl_interface {
+ name: "statsd-aidl",
srcs: [
"android/os/IPendingIntentRef.aidl",
"android/os/IPullAtomCallback.aidl",
"android/os/IPullAtomResultReceiver.aidl",
"android/os/IStatsCompanionService.aidl",
"android/os/IStatsd.aidl",
+ "android/os/StatsDimensionsValueParcel.aidl",
"android/util/StatsEventParcel.aidl",
],
-}
-
-filegroup {
- name: "statsd_java_aidl",
- srcs: ["**/*.aidl"],
-}
-
-// This library is currently unused
-aidl_interface {
- name: "stats-event-parcel-aidl",
- srcs: ["android/util/StatsEventParcel.aidl"],
backend: {
java: {
- sdk_version: "28",
+ enabled: false, // the platform uses statsd_java_aidl
},
cpp: {
- enabled: false,
+ enabled: true,
+ },
+ ndk: {
+ enabled: true,
}
}
}
diff --git a/apex/statsd/aidl/android/os/IPendingIntentRef.aidl b/apex/statsd/aidl/android/os/IPendingIntentRef.aidl
index 6b9e467..0ec052f 100644
--- a/apex/statsd/aidl/android/os/IPendingIntentRef.aidl
+++ b/apex/statsd/aidl/android/os/IPendingIntentRef.aidl
@@ -16,7 +16,7 @@
package android.os;
-import android.os.StatsDimensionsValue;
+import android.os.StatsDimensionsValueParcel;
/**
* Binder interface to hold a PendingIntent for StatsCompanionService.
@@ -42,5 +42,5 @@
*/
oneway void sendSubscriberBroadcast(long configUid, long configId, long subscriptionId,
long subscriptionRuleId, in String[] cookies,
- in StatsDimensionsValue dimensionsValue);
-}
\ No newline at end of file
+ in StatsDimensionsValueParcel dimensionsValue);
+}
diff --git a/apex/statsd/aidl/android/os/StatsDimensionsValueParcel.aidl b/apex/statsd/aidl/android/os/StatsDimensionsValueParcel.aidl
new file mode 100644
index 0000000..83faa72
--- /dev/null
+++ b/apex/statsd/aidl/android/os/StatsDimensionsValueParcel.aidl
@@ -0,0 +1,16 @@
+package android.os;
+
+/**
+ * @hide
+ */
+parcelable StatsDimensionsValueParcel {
+ int atomTag;
+ int valueType;
+
+ String stringValue;
+ int intValue;
+ long longValue;
+ boolean boolValue;
+ float floatValue;
+ StatsDimensionsValueParcel[] arrayValue;
+}