// Signature format: 2.0 package android.app { public class StatsCursor extends android.database.AbstractCursor { method @NonNull public String[] getColumnNames(); method public int getCount(); method public double getDouble(int); method public float getFloat(int); method public int getInt(int); method public long getLong(int); method public short getShort(int); method @NonNull public String getString(int); method public boolean isNull(int); } public final class StatsManager { method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void addConfig(long, byte[]) throws android.app.StatsManager.StatsUnavailableException; method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean addConfiguration(long, byte[]); method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void clearPullAtomCallback(int); method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getData(long); method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getMetadata(); method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] getRegisteredExperimentIds() throws android.app.StatsManager.StatsUnavailableException; method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getReports(long) throws android.app.StatsManager.StatsUnavailableException; method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getStatsMetadata() throws android.app.StatsManager.StatsUnavailableException; method @RequiresPermission(android.Manifest.permission.READ_RESTRICTED_STATS) public void query(long, @NonNull String, @NonNull android.app.StatsQuery, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver) throws android.app.StatsManager.StatsUnavailableException; method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void removeConfig(long) throws android.app.StatsManager.StatsUnavailableException; method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean removeConfiguration(long); method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] setActiveConfigsChangedOperation(@Nullable android.app.PendingIntent) throws android.app.StatsManager.StatsUnavailableException; method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void setBroadcastSubscriber(android.app.PendingIntent, long, long) throws android.app.StatsManager.StatsUnavailableException; method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent); method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setDataFetchOperation(long, android.app.PendingIntent); method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void setFetchReportsOperation(android.app.PendingIntent, long) throws android.app.StatsManager.StatsUnavailableException; method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void setPullAtomCallback(int, @Nullable android.app.StatsManager.PullAtomMetadata, @NonNull java.util.concurrent.Executor, @NonNull android.app.StatsManager.StatsPullAtomCallback); method @NonNull @RequiresPermission(android.Manifest.permission.READ_RESTRICTED_STATS) public long[] setRestrictedMetricsChangedOperation(long, @NonNull String, @Nullable android.app.PendingIntent) throws android.app.StatsManager.StatsUnavailableException; field public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED"; field public static final String EXTRA_STATS_ACTIVE_CONFIG_KEYS = "android.app.extra.STATS_ACTIVE_CONFIG_KEYS"; field public static final String EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES = "android.app.extra.STATS_BROADCAST_SUBSCRIBER_COOKIES"; field public static final String EXTRA_STATS_CONFIG_KEY = "android.app.extra.STATS_CONFIG_KEY"; field public static final String EXTRA_STATS_CONFIG_UID = "android.app.extra.STATS_CONFIG_UID"; field public static final String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE"; field public static final String EXTRA_STATS_RESTRICTED_METRIC_IDS = "android.app.extra.STATS_RESTRICTED_METRIC_IDS"; field public static final String EXTRA_STATS_SUBSCRIPTION_ID = "android.app.extra.STATS_SUBSCRIPTION_ID"; field public static final String EXTRA_STATS_SUBSCRIPTION_RULE_ID = "android.app.extra.STATS_SUBSCRIPTION_RULE_ID"; field public static final int PULL_SKIP = 1; // 0x1 field public static final int PULL_SUCCESS = 0; // 0x0 } public static class StatsManager.PullAtomMetadata { method @Nullable public int[] getAdditiveFields(); method public long getCoolDownMillis(); method public long getTimeoutMillis(); } public static class StatsManager.PullAtomMetadata.Builder { ctor public StatsManager.PullAtomMetadata.Builder(); method @NonNull public android.app.StatsManager.PullAtomMetadata build(); method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setAdditiveFields(@NonNull int[]); method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setCoolDownMillis(long); method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setTimeoutMillis(long); } public static interface StatsManager.StatsPullAtomCallback { method public int onPullAtom(int, @NonNull java.util.List); } public static class StatsManager.StatsQueryException extends android.util.AndroidException { ctor public StatsManager.StatsQueryException(@NonNull String); ctor public StatsManager.StatsQueryException(@NonNull String, @NonNull Throwable); } public static class StatsManager.StatsUnavailableException extends android.util.AndroidException { ctor public StatsManager.StatsUnavailableException(String); ctor public StatsManager.StatsUnavailableException(String, Throwable); } public final class StatsQuery { method @IntRange(from=0) public int getMinSqlClientVersion(); method @Nullable public byte[] getPolicyConfig(); method @NonNull public String getRawSql(); method public int getSqlDialect(); field public static final int DIALECT_SQLITE = 1; // 0x1 field public static final int DIALECT_UNKNOWN = 0; // 0x0 } public static final class StatsQuery.Builder { ctor public StatsQuery.Builder(@NonNull String); method @NonNull public android.app.StatsQuery build(); method @NonNull public android.app.StatsQuery.Builder setMinSqlClientVersion(@IntRange(from=0) int); method @NonNull public android.app.StatsQuery.Builder setPolicyConfig(@NonNull byte[]); method @NonNull public android.app.StatsQuery.Builder setSqlDialect(int); } } package android.os { public final class StatsDimensionsValue implements android.os.Parcelable { method public int describeContents(); method public boolean getBooleanValue(); method public int getField(); method public float getFloatValue(); method public int getIntValue(); method public long getLongValue(); method public String getStringValue(); method public java.util.List getTupleValueList(); method public int getValueType(); method public boolean isValueType(int); method public void writeToParcel(android.os.Parcel, int); field public static final int BOOLEAN_VALUE_TYPE = 5; // 0x5 field @NonNull public static final android.os.Parcelable.Creator CREATOR; field public static final int FLOAT_VALUE_TYPE = 6; // 0x6 field public static final int INT_VALUE_TYPE = 3; // 0x3 field public static final int LONG_VALUE_TYPE = 4; // 0x4 field public static final int STRING_VALUE_TYPE = 2; // 0x2 field public static final int TUPLE_VALUE_TYPE = 7; // 0x7 } } package android.util { public final class StatsEvent { method @NonNull public static android.util.StatsEvent.Builder newBuilder(); } public static final class StatsEvent.Builder { method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean); method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int); method @NonNull public android.util.StatsEvent build(); method @NonNull public android.util.StatsEvent.Builder setAtomId(int); method @NonNull public android.util.StatsEvent.Builder usePooledBuffer(); method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]); method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean); method @NonNull public android.util.StatsEvent.Builder writeBooleanArray(@NonNull boolean[]); method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]); method @NonNull public android.util.StatsEvent.Builder writeFloat(float); method @NonNull public android.util.StatsEvent.Builder writeFloatArray(@NonNull float[]); method @NonNull public android.util.StatsEvent.Builder writeInt(int); method @NonNull public android.util.StatsEvent.Builder writeIntArray(@NonNull int[]); method @NonNull public android.util.StatsEvent.Builder writeKeyValuePairs(@Nullable android.util.SparseIntArray, @Nullable android.util.SparseLongArray, @Nullable android.util.SparseArray, @Nullable android.util.SparseArray); method @NonNull public android.util.StatsEvent.Builder writeLong(long); method @NonNull public android.util.StatsEvent.Builder writeLongArray(@NonNull long[]); method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String); method @NonNull public android.util.StatsEvent.Builder writeStringArray(@NonNull String[]); } public final class StatsLog { method public static void write(@NonNull android.util.StatsEvent); method @Deprecated public static void writeRaw(@NonNull byte[], int); field public static final byte ANNOTATION_ID_DEFAULT_STATE = 6; // 0x6 field public static final byte ANNOTATION_ID_EXCLUSIVE_STATE = 4; // 0x4 field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_ACCESSIBILITY = 14; // 0xe field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_AMBIENT_SENSING = 17; // 0x11 field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_APP_ACTIVITY = 12; // 0xc field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_APP_USAGE = 11; // 0xb field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_DEMOGRAPHIC_CLASSIFICATION = 18; // 0x12 field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_HEALTH_CONNECT = 13; // 0xd field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_PERIPHERAL_DEVICE_INFO = 10; // 0xa field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_SYSTEM_SEARCH = 15; // 0xf field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_USER_ENGAGEMENT = 16; // 0x10 field public static final byte ANNOTATION_ID_IS_UID = 1; // 0x1 field public static final byte ANNOTATION_ID_PRIMARY_FIELD = 3; // 0x3 field public static final byte ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID = 5; // 0x5 field public static final byte ANNOTATION_ID_RESTRICTION_CATEGORY = 9; // 0x9 field public static final byte ANNOTATION_ID_STATE_NESTED = 8; // 0x8 field public static final byte ANNOTATION_ID_TRIGGER_STATE_RESET = 7; // 0x7 field public static final byte ANNOTATION_ID_TRUNCATE_TIMESTAMP = 2; // 0x2 field public static final int RESTRICTION_CATEGORY_AUTHENTICATION = 3; // 0x3 field public static final int RESTRICTION_CATEGORY_DIAGNOSTIC = 1; // 0x1 field public static final int RESTRICTION_CATEGORY_FRAUD_AND_ABUSE = 4; // 0x4 field public static final int RESTRICTION_CATEGORY_SYSTEM_INTELLIGENCE = 2; // 0x2 } }