IStatsManager.aidl revision adaf8b344e312853530e276ceff05783133ecf17
15dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato/** 25dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * Copyright (c) 2016, The Android Open Source Project 35dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * 45dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * Licensed under the Apache License, Version 2.0 (the "License"); 55dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * you may not use this file except in compliance with the License. 65dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * You may obtain a copy of the License at 75dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * 85dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * http://www.apache.org/licenses/LICENSE-2.0 95dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * 105dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * Unless required by applicable law or agreed to in writing, software 115dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * distributed under the License is distributed on an "AS IS" BASIS, 125dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * See the License for the specific language governing permissions and 145dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * limitations under the License. 155dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato */ 165dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato 175dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onoratopackage android.os; 185dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato 1931eb67b3498d326659b2b164ff367a01a793d641yroimport android.os.IStatsCallbacks; 2031eb67b3498d326659b2b164ff367a01a793d641yro 215dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato/** 221b0b114abca0a7c7642b0b7de343e1e2f982ebf0Bookatz * Binder interface to communicate with the statistics management service. 235dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato * {@hide} 245dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato */ 25b487b5533eba8635232009c7f32a54a0380a532dBookatzinterface IStatsManager { 265dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato /** 271b0b114abca0a7c7642b0b7de343e1e2f982ebf0Bookatz * Tell the stats daemon that the android system server is up and running. 285dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato */ 29b487b5533eba8635232009c7f32a54a0380a532dBookatz oneway void systemRunning(); 30b487b5533eba8635232009c7f32a54a0380a532dBookatz 31b487b5533eba8635232009c7f32a54a0380a532dBookatz /** 32b487b5533eba8635232009c7f32a54a0380a532dBookatz * Tell the stats daemon that the StatsCompanionService is up and running. 33b487b5533eba8635232009c7f32a54a0380a532dBookatz * Two-way binder call so that caller knows message received. 34b487b5533eba8635232009c7f32a54a0380a532dBookatz */ 35b487b5533eba8635232009c7f32a54a0380a532dBookatz void statsCompanionReady(); 361b0b114abca0a7c7642b0b7de343e1e2f982ebf0Bookatz 371b0b114abca0a7c7642b0b7de343e1e2f982ebf0Bookatz /** 381b0b114abca0a7c7642b0b7de343e1e2f982ebf0Bookatz * Tells statsd that an anomaly may have occurred, so statsd can check whether this is so and 391b0b114abca0a7c7642b0b7de343e1e2f982ebf0Bookatz * act accordingly. 40b487b5533eba8635232009c7f32a54a0380a532dBookatz * Two-way binder call so that caller's method (and corresponding wakelocks) will linger. 411b0b114abca0a7c7642b0b7de343e1e2f982ebf0Bookatz */ 421b0b114abca0a7c7642b0b7de343e1e2f982ebf0Bookatz void informAnomalyAlarmFired(); 431b0b114abca0a7c7642b0b7de343e1e2f982ebf0Bookatz 44b487b5533eba8635232009c7f32a54a0380a532dBookatz /** 45b487b5533eba8635232009c7f32a54a0380a532dBookatz * Tells statsd that it is time to poll some stats. Statsd will be responsible for determing 461b0b114abca0a7c7642b0b7de343e1e2f982ebf0Bookatz * what stats to poll and initiating the polling. 47b487b5533eba8635232009c7f32a54a0380a532dBookatz * Two-way binder call so that caller's method (and corresponding wakelocks) will linger. 481b0b114abca0a7c7642b0b7de343e1e2f982ebf0Bookatz */ 491b0b114abca0a7c7642b0b7de343e1e2f982ebf0Bookatz void informPollAlarmFired(); 50de70169109c57787a23c732ec4b361ade2e9850eDavid Chen 51de70169109c57787a23c732ec4b361ade2e9850eDavid Chen /** 52de70169109c57787a23c732ec4b361ade2e9850eDavid Chen * Inform statsd what the version and package are for each uid. Note that each array should 53de70169109c57787a23c732ec4b361ade2e9850eDavid Chen * have the same number of elements, and version[i] and package[i] correspond to uid[i]. 54de70169109c57787a23c732ec4b361ade2e9850eDavid Chen */ 55de70169109c57787a23c732ec4b361ade2e9850eDavid Chen oneway void informAllUidData(in int[] uid, in int[] version, in String[] app); 56de70169109c57787a23c732ec4b361ade2e9850eDavid Chen 57de70169109c57787a23c732ec4b361ade2e9850eDavid Chen /** 58de70169109c57787a23c732ec4b361ade2e9850eDavid Chen * Inform statsd what the uid and version are for one app that was updated. 59de70169109c57787a23c732ec4b361ade2e9850eDavid Chen */ 60de70169109c57787a23c732ec4b361ade2e9850eDavid Chen oneway void informOnePackage(in String app, in int uid, in int version); 61de70169109c57787a23c732ec4b361ade2e9850eDavid Chen 62de70169109c57787a23c732ec4b361ade2e9850eDavid Chen /** 63de70169109c57787a23c732ec4b361ade2e9850eDavid Chen * Inform stats that an app was removed. 64de70169109c57787a23c732ec4b361ade2e9850eDavid Chen */ 65de70169109c57787a23c732ec4b361ade2e9850eDavid Chen oneway void informOnePackageRemoved(in String app, in int uid); 6631eb67b3498d326659b2b164ff367a01a793d641yro 6731eb67b3498d326659b2b164ff367a01a793d641yro /** 68adaf8b344e312853530e276ceff05783133ecf17David Chen * Fetches data for the specified configuration key. Returns a byte array representing proto 69adaf8b344e312853530e276ceff05783133ecf17David Chen * wire-encoded of ConfigMetricsReport. 7031eb67b3498d326659b2b164ff367a01a793d641yro */ 71adaf8b344e312853530e276ceff05783133ecf17David Chen byte[] getData(in String key); 7231eb67b3498d326659b2b164ff367a01a793d641yro 7331eb67b3498d326659b2b164ff367a01a793d641yro /** 74adaf8b344e312853530e276ceff05783133ecf17David Chen * Sets a configuration with the specified config key and subscribes to updates for this 75adaf8b344e312853530e276ceff05783133ecf17David Chen * configuration key. Broadcasts will be sent if this configuration needs to be collected. 76adaf8b344e312853530e276ceff05783133ecf17David Chen * The configuration must be a wire-encoded StatsDConfig. The caller specifies the name of the 77adaf8b344e312853530e276ceff05783133ecf17David Chen * package and class that should receive these broadcasts. 78adaf8b344e312853530e276ceff05783133ecf17David Chen * 79adaf8b344e312853530e276ceff05783133ecf17David Chen * Returns if this configuration was correctly registered. 8031eb67b3498d326659b2b164ff367a01a793d641yro */ 81adaf8b344e312853530e276ceff05783133ecf17David Chen boolean addConfiguration(in String configKey, in byte[] config, in String pkg, in String cls); 82adaf8b344e312853530e276ceff05783133ecf17David Chen 83adaf8b344e312853530e276ceff05783133ecf17David Chen /** 84adaf8b344e312853530e276ceff05783133ecf17David Chen * Removes the configuration with the matching config key. No-op if this config key does not 85adaf8b344e312853530e276ceff05783133ecf17David Chen * exist. 86adaf8b344e312853530e276ceff05783133ecf17David Chen * 87adaf8b344e312853530e276ceff05783133ecf17David Chen * Returns if this configuration key was removed. 88adaf8b344e312853530e276ceff05783133ecf17David Chen */ 89adaf8b344e312853530e276ceff05783133ecf17David Chen boolean removeConfiguration(in String configKey); 905dcbc6c015fd56db9381cb7aff58506e8ebcc150Joe Onorato} 91