Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c800e3f authored by Bookatz's avatar Bookatz
Browse files

Statsd broadcasts when it is alive

To send configurations and PendingIntents to statsd, statsd must first
be alive. In particular, a PendingIntent must be resent to statsd each
time it starts (they are not stored, since reboots make them expire
anyway). Therefore, statsd needs to send a broadcast to inform them of
its starting.

The broadcast receiver will require DUMP permission.

Bug: 72450885
Bug: 70389379
Test: manually confirmed broadcast is sent
Change-Id: I47c130130342465a50cd625bdb135855d5d04f6e
parent c697797d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -360,6 +360,7 @@ package android.app {
    method public byte[] getMetadata();
    method public boolean removeConfiguration(long);
    method public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent);
    field public static final java.lang.String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED";
    field public static final java.lang.String EXTRA_STATS_CONFIG_KEY = "android.app.extra.STATS_CONFIG_KEY";
    field public static final java.lang.String EXTRA_STATS_CONFIG_UID = "android.app.extra.STATS_CONFIG_UID";
    field public static final java.lang.String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE";
+6 −0
Original line number Diff line number Diff line
@@ -53,6 +53,12 @@ public final class StatsManager extends android.util.StatsManager { // TODO: Rem
    public static final String EXTRA_STATS_DIMENSIONS_VALUE =
            "android.app.extra.STATS_DIMENSIONS_VALUE";

    /**
     * Broadcast Action: Statsd has started.
     * Configurations and PendingIntents can now be sent to it.
     */
    public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED";

    /**
     * Constructor for StatsManagerClient.
     *
+2 −0
Original line number Diff line number Diff line
@@ -706,6 +706,8 @@ public class StatsCompanionService extends IStatsCompanionService.Stub {
        enforceCallingPermission();
        if (DEBUG) Slog.d(TAG, "learned that statsdReady");
        sayHiToStatsd(); // tell statsd that we're ready too and link to it
        mContext.sendBroadcast(new Intent(StatsManager.ACTION_STATSD_STARTED),
                android.Manifest.permission.DUMP);
    }

    @Override