Re-enable the logging of APP_BREADCRUMB_REPORTED atom
Bug: 78613419
Test: manual, cts, unit tests
Change-Id: I279158c8031eda3ee648053ae6a0d13fde7f1176
diff --git a/cmds/statsd/src/StatsService.cpp b/cmds/statsd/src/StatsService.cpp
index e823f68..1c0e27f 100644
--- a/cmds/statsd/src/StatsService.cpp
+++ b/cmds/statsd/src/StatsService.cpp
@@ -988,6 +988,15 @@
return Status::ok();
}
+Status StatsService::sendAppBreadcrumbAtom(int32_t label, int32_t state) {
+ // Permission check not necessary as it's meant for applications to write to
+ // statsd.
+ android::util::stats_write(util::APP_BREADCRUMB_REPORTED,
+ IPCThreadState::self()->getCallingUid(), label,
+ state);
+ return Status::ok();
+}
+
void StatsService::binderDied(const wp <IBinder>& who) {
ALOGW("statscompanion service died");
StatsdStats::getInstance().noteSystemServerRestart(getWallClockSec());
diff --git a/cmds/statsd/src/StatsService.h b/cmds/statsd/src/StatsService.h
index 67fc770..b3a4776 100644
--- a/cmds/statsd/src/StatsService.h
+++ b/cmds/statsd/src/StatsService.h
@@ -139,6 +139,11 @@
/** Inform statsCompanion that statsd is ready. */
virtual void sayHiToStatsCompanion();
+ /**
+ * Binder call to get AppBreadcrumbReported atom.
+ */
+ virtual Status sendAppBreadcrumbAtom(int32_t label, int32_t state) override;
+
/** IBinder::DeathRecipient */
virtual void binderDied(const wp<IBinder>& who) override;
diff --git a/cmds/statsd/src/metrics/MetricsManager.cpp b/cmds/statsd/src/metrics/MetricsManager.cpp
index bf0f720..4a53e66 100644
--- a/cmds/statsd/src/metrics/MetricsManager.cpp
+++ b/cmds/statsd/src/metrics/MetricsManager.cpp
@@ -247,16 +247,6 @@
return;
}
- // Label is 2nd from last field and must be from [0, 15].
- long appHookLabel = event.GetLong(event.size()-1, &err);
- if (err != NO_ERROR ) {
- VLOG("APP_BREADCRUMB_REPORTED had error when parsing the label field");
- return;
- } else if (appHookLabel < 0 || appHookLabel > 15) {
- VLOG("APP_BREADCRUMB_REPORTED does not have valid label %ld", appHookLabel);
- return;
- }
-
// The state must be from 0,3. This part of code must be manually updated.
long appHookState = event.GetLong(event.size(), &err);
if (err != NO_ERROR ) {