diff options
-rw-r--r-- | apex/statsd/aidl/Android.bp | 28 | ||||
-rw-r--r-- | apex/statsd/aidl/android/os/IPendingIntentRef.aidl | 6 | ||||
-rw-r--r-- | apex/statsd/aidl/android/os/StatsDimensionsValueParcel.aidl | 16 | ||||
-rw-r--r-- | apex/statsd/service/java/com/android/server/stats/StatsCompanion.java | 8 | ||||
-rw-r--r-- | cmds/statsd/Android.bp | 5 | ||||
-rw-r--r-- | cmds/statsd/src/subscriber/SubscriberReporter.cpp | 4 |
6 files changed, 41 insertions, 26 deletions
diff --git a/apex/statsd/aidl/Android.bp b/apex/statsd/aidl/Android.bp index 6d639fddd043..db5f439cd40e 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 6b9e467a7e15..0ec052f98cd7 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 @@ interface IPendingIntentRef { */ 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 000000000000..83faa72eb000 --- /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; +} diff --git a/apex/statsd/service/java/com/android/server/stats/StatsCompanion.java b/apex/statsd/service/java/com/android/server/stats/StatsCompanion.java index 4495dc9de71e..de6723ac0cd0 100644 --- a/apex/statsd/service/java/com/android/server/stats/StatsCompanion.java +++ b/apex/statsd/service/java/com/android/server/stats/StatsCompanion.java @@ -24,6 +24,7 @@ import android.os.Binder; import android.os.IPendingIntentRef; import android.os.Process; import android.os.StatsDimensionsValue; +import android.os.StatsDimensionsValueParcel; import android.util.Slog; import com.android.server.SystemService; @@ -145,8 +146,9 @@ public class StatsCompanion { @Override public void sendSubscriberBroadcast(long configUid, long configId, long subscriptionId, - long subscriptionRuleId, String[] cookies, StatsDimensionsValue dimensionsValue) { - enforceStatsdCallingUid(); + long subscriptionRuleId, String[] cookies, + StatsDimensionsValueParcel dimensionsValue) { + enforceStatsCompanionPermission(mContext); Intent intent = new Intent() .putExtra(StatsManager.EXTRA_STATS_CONFIG_UID, configUid) @@ -167,6 +169,8 @@ public class StatsCompanion { "Statsd sendSubscriberBroadcast with params {%d %d %d %d %s %s}", configUid, configId, subscriptionId, subscriptionRuleId, Arrays.toString(cookies), + // TODO (b/148604617): convert StatsDimensionsValueParcel into + // StatsDimensionsValue dimensionsValue)); } try { diff --git a/cmds/statsd/Android.bp b/cmds/statsd/Android.bp index 70f309add5df..c8aae7b8e6c8 100644 --- a/cmds/statsd/Android.bp +++ b/cmds/statsd/Android.bp @@ -44,12 +44,8 @@ cc_library_host_shared { cc_defaults { name: "statsd_defaults", - aidl: { - include_dirs: ["frameworks/base/core/java"], - }, srcs: [ - ":statsd_aidl", "src/active_config_list.proto", "src/anomaly/AlarmMonitor.cpp", "src/anomaly/AlarmTracker.cpp", @@ -132,6 +128,7 @@ cc_defaults { "liblog", "libservices", "libstatssocket", + "statsd-aidl-cpp", ], } diff --git a/cmds/statsd/src/subscriber/SubscriberReporter.cpp b/cmds/statsd/src/subscriber/SubscriberReporter.cpp index 160b57e27c6c..2ddecc753541 100644 --- a/cmds/statsd/src/subscriber/SubscriberReporter.cpp +++ b/cmds/statsd/src/subscriber/SubscriberReporter.cpp @@ -115,13 +115,15 @@ void SubscriberReporter::sendBroadcastLocked(const sp<IPendingIntentRef>& pir, const vector<String16>& cookies, const MetricDimensionKey& dimKey) const { VLOG("SubscriberReporter::sendBroadcastLocked called."); + // TODO (b/148604617): convert MetricDimensionKey to StatsDimensiosnValueParcel + StatsDimensionsValueParcel parcel; pir->sendSubscriberBroadcast( configKey.GetUid(), configKey.GetId(), subscription.id(), subscription.rule_id(), cookies, - getStatsDimensionsValue(dimKey.getDimensionKeyInWhat())); + parcel); } sp<IPendingIntentRef> SubscriberReporter::getBroadcastSubscriber(const ConfigKey& configKey, |