Binder API for native pulled atoms
Native pullers dont go through statscompanion, so statsd has to get the
calling uid.
Test: make
Change-Id: I21e12fd94a66e700b11dfadcb8b122738873e44c
diff --git a/cmds/statsd/src/StatsService.cpp b/cmds/statsd/src/StatsService.cpp
index 1fd3abf..d6c97db 100644
--- a/cmds/statsd/src/StatsService.cpp
+++ b/cmds/statsd/src/StatsService.cpp
@@ -1295,7 +1295,18 @@
const sp<android::os::IPullAtomCallback>& pullerCallback) {
ENFORCE_UID(AID_SYSTEM);
- VLOG("StatsService::registerPuller called.");
+ VLOG("StatsService::registerPullAtomCallback called.");
+ mPullerManager->RegisterPullAtomCallback(uid, atomTag, coolDownNs, timeoutNs, additiveFields,
+ pullerCallback);
+ return Status::ok();
+}
+
+Status StatsService::registerNativePullAtomCallback(int32_t atomTag, int64_t coolDownNs,
+ int64_t timeoutNs, const std::vector<int32_t>& additiveFields,
+ const sp<android::os::IPullAtomCallback>& pullerCallback) {
+
+ VLOG("StatsService::registerNativePullAtomCallback called.");
+ int32_t uid = IPCThreadState::self()->getCallingUid();
mPullerManager->RegisterPullAtomCallback(uid, atomTag, coolDownNs, timeoutNs, additiveFields,
pullerCallback);
return Status::ok();