From 1143d9ea0b9aa4c8d27028b29723332d404a2188 Mon Sep 17 00:00:00 2001 From: Katya Bychkouskaya Date: Wed, 21 Jun 2023 21:24:55 +0000 Subject: DO NOT MERGE: Drop prebuilt files to android source tree. The following files have been updated as part of this change: current/Android.bp current/snapshot-creation-build-number.txt current/licenses/build/soong/licenses/LICENSE current/x86_64/lib/libstatspull.so current/x86_64/lib/libstatssocket.so current/x86/lib/libstatspull.so current/x86/lib/libstatssocket.so current/arm64/lib/libstatspull.so current/arm64/lib/libstatssocket.so current/java_systemserver_libs/snapshot/jars/are/invalid/service-statsd.jar current/arm/lib/libstatspull.so current/arm/lib/libstatssocket.so current/include/packages/modules/StatsD/lib/libstatspull/include/stats_pull_atom_callback.h current/include/packages/modules/StatsD/lib/libstatspull/include/stats_subscription.h current/include/packages/modules/StatsD/lib/libstatssocket/include/stats_annotations.h current/include/packages/modules/StatsD/lib/libstatssocket/include/stats_buffer_writer.h current/include/packages/modules/StatsD/lib/libstatssocket/include/stats_event.h current/include/packages/modules/StatsD/lib/libstatssocket/include/stats_socket.h current/sdk_library/module-lib/framework-statsd-removed.txt current/sdk_library/module-lib/framework-statsd-stubs.jar current/sdk_library/module-lib/framework-statsd.srcjar current/sdk_library/module-lib/framework-statsd.txt current/sdk_library/module-lib/framework-statsd_annotations.zip current/sdk_library/public/framework-statsd-removed.txt current/sdk_library/public/framework-statsd-stubs.jar current/sdk_library/public/framework-statsd.srcjar current/sdk_library/public/framework-statsd.txt current/sdk_library/public/framework-statsd_annotations.zip current/sdk_library/system/framework-statsd-removed.txt current/sdk_library/system/framework-statsd-stubs.jar current/sdk_library/system/framework-statsd.srcjar current/sdk_library/system/framework-statsd.txt current/sdk_library/system/framework-statsd_annotations.zip current/hiddenapi/annotation-flags.csv current/hiddenapi/filtered-flags.csv current/hiddenapi/filtered-stub-flags.csv current/hiddenapi/hiddenapi-max-target-o-low-priority.txt current/hiddenapi/index.csv current/hiddenapi/metadata.csv current/hiddenapi/signature-patterns.csv Built here: ab/T1007089 This build IS suitable for public release. The change is generated with prebuilt drop tool. Test: presubmit Bug: 285888783 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:232f339f0825476d2ff0bd75ff393c446a1a0923) Merged-In: Idb85d77744c4f259c2bea5e0ee8aea8da2fab090 Change-Id: Idb85d77744c4f259c2bea5e0ee8aea8da2fab090 --- .../prebuilt_info_current_current_zip.asciipb | 6 +- current/Android.bp | 45 ++++++ current/arm/lib/libstatspull.so | Bin 0 -> 6516 bytes current/arm/lib/libstatssocket.so | Bin 6712 -> 6764 bytes current/arm64/lib/libstatspull.so | Bin 0 -> 137016 bytes current/arm64/lib/libstatssocket.so | Bin 14360 -> 137296 bytes current/hiddenapi/filtered-flags.csv | 52 +++++++ current/hiddenapi/filtered-stub-flags.csv | 52 +++++++ current/hiddenapi/signature-patterns.csv | 5 + .../include/stats_pull_atom_callback.h | 170 +++++++++++++++++++++ .../lib/libstatspull/include/stats_subscription.h | 127 +++++++++++++++ .../lib/libstatssocket/include/stats_annotations.h | 110 +++++++++++++ .../module-lib/framework-statsd-stubs.jar | Bin 9123 -> 12461 bytes .../sdk_library/module-lib/framework-statsd.srcjar | Bin 5861 -> 7905 bytes .../module-lib/framework-statsd_annotations.zip | Bin 1126 -> 1338 bytes .../sdk_library/public/framework-statsd-stubs.jar | Bin 1138 -> 1137 bytes current/sdk_library/public/framework-statsd.srcjar | Bin 1753 -> 1749 bytes .../sdk_library/system/framework-statsd-stubs.jar | Bin 8532 -> 11869 bytes current/sdk_library/system/framework-statsd.srcjar | Bin 5117 -> 7166 bytes current/sdk_library/system/framework-statsd.txt | 51 +++++++ .../system/framework-statsd_annotations.zip | Bin 1126 -> 1338 bytes current/snapshot-creation-build-number.txt | 2 +- current/x86/lib/libstatspull.so | Bin 0 -> 6668 bytes current/x86/lib/libstatssocket.so | Bin 6912 -> 7028 bytes current/x86_64/lib/libstatspull.so | Bin 0 -> 7736 bytes current/x86_64/lib/libstatssocket.so | Bin 8160 -> 8128 bytes 26 files changed, 616 insertions(+), 4 deletions(-) create mode 100755 current/arm/lib/libstatspull.so create mode 100755 current/arm64/lib/libstatspull.so create mode 100644 current/include/packages/modules/StatsD/lib/libstatspull/include/stats_pull_atom_callback.h create mode 100644 current/include/packages/modules/StatsD/lib/libstatspull/include/stats_subscription.h create mode 100755 current/x86/lib/libstatspull.so create mode 100755 current/x86_64/lib/libstatspull.so diff --git a/.prebuilt_info/prebuilt_info_current_current_zip.asciipb b/.prebuilt_info/prebuilt_info_current_current_zip.asciipb index 68c4a93..6c6a432 100644 --- a/.prebuilt_info/prebuilt_info_current_current_zip.asciipb +++ b/.prebuilt_info/prebuilt_info_current_current_zip.asciipb @@ -1,14 +1,14 @@ drops { android_build_drop { - build_id: "T1005166" + build_id: "T1007089" target: "train_build" - source_file: "mainline-sdks/for-Tiramisu-build/current/com.google.android.os.statsd/sdk/statsd-module-sdk-current.zip" + source_file: "mainline-sdks/for-UpsideDownCake-build/current/com.google.android.os.statsd/sdk/statsd-module-sdk-current.zip" } dest_file: "current/current.zip" version: "" version_group: "" git_project: "platform/prebuilts/module_sdk/StatsD" - git_branch: "tm-qpr-dev" + git_branch: "udc-dev" transform: TRANSFORM_UNZIP transform_options { } diff --git a/current/Android.bp b/current/Android.bp index 879b615..d82af96 100644 --- a/current/Android.bp +++ b/current/Android.bp @@ -1,5 +1,11 @@ // This is auto-generated. DO NOT EDIT. +// blueprint rules added by vendor/google/build/mainline_modules_sdks.py +// to support coexistence. +blueprint_package_includes { + match_all: ["com.android.mainline"] +} + package { // A default list here prevents the license LSC from adding its own list which would // be unnecessary as every module in the sdk already has its own licenses property. @@ -94,6 +100,7 @@ java_import { ], licenses: ["statsd-module-sdk_Android-Apache-2.0"], jars: ["java_systemserver_libs/snapshot/jars/are/invalid/service-statsd.jar"], + min_sdk_version: "30", } license { @@ -103,6 +110,44 @@ license { license_text: ["licenses/build/soong/licenses/LICENSE"], } +cc_prebuilt_library_shared { + name: "libstatspull", + // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true. + use_source_config_var: { + config_namespace: "ANDROID", + var_name: "module_build_from_source", + }, + visibility: ["//visibility:public"], + apex_available: [ + "com.android.os.statsd", + "test_com.android.os.statsd", + ], + licenses: ["statsd-module-sdk_Android-Apache-2.0"], + stl: "libc++_static", + compile_multilib: "both", + export_include_dirs: ["include/packages/modules/StatsD/lib/libstatspull/include"], + stubs: { + versions: [ + "30", + "current", + ], + }, + arch: { + arm64: { + srcs: ["arm64/lib/libstatspull.so"], + }, + x86_64: { + srcs: ["x86_64/lib/libstatspull.so"], + }, + arm: { + srcs: ["arm/lib/libstatspull.so"], + }, + x86: { + srcs: ["x86/lib/libstatspull.so"], + }, + }, +} + cc_prebuilt_library_shared { name: "libstatssocket", // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true. diff --git a/current/arm/lib/libstatspull.so b/current/arm/lib/libstatspull.so new file mode 100755 index 0000000..7ddb5ba Binary files /dev/null and b/current/arm/lib/libstatspull.so differ diff --git a/current/arm/lib/libstatssocket.so b/current/arm/lib/libstatssocket.so index 7e6c53f..b4c2891 100755 Binary files a/current/arm/lib/libstatssocket.so and b/current/arm/lib/libstatssocket.so differ diff --git a/current/arm64/lib/libstatspull.so b/current/arm64/lib/libstatspull.so new file mode 100755 index 0000000..785ed5e Binary files /dev/null and b/current/arm64/lib/libstatspull.so differ diff --git a/current/arm64/lib/libstatssocket.so b/current/arm64/lib/libstatssocket.so index dc60700..27b6a6e 100755 Binary files a/current/arm64/lib/libstatssocket.so and b/current/arm64/lib/libstatssocket.so differ diff --git a/current/hiddenapi/filtered-flags.csv b/current/hiddenapi/filtered-flags.csv index 6ace135..6b25e0d 100644 --- a/current/hiddenapi/filtered-flags.csv +++ b/current/hiddenapi/filtered-flags.csv @@ -1,3 +1,15 @@ +Landroid/app/StatsCursor;->getColumnNames()[Ljava/lang/String;,public-api,sdk,system-api,test-api +Landroid/app/StatsCursor;->getCount()I,public-api,sdk,system-api,test-api +Landroid/app/StatsCursor;->getDouble(I)D,public-api,sdk,system-api,test-api +Landroid/app/StatsCursor;->getFloat(I)F,public-api,sdk,system-api,test-api +Landroid/app/StatsCursor;->getInt(I)I,public-api,sdk,system-api,test-api +Landroid/app/StatsCursor;->getLong(I)J,public-api,sdk,system-api,test-api +Landroid/app/StatsCursor;->getShort(I)S,public-api,sdk,system-api,test-api +Landroid/app/StatsCursor;->getString(I)Ljava/lang/String;,public-api,sdk,system-api,test-api +Landroid/app/StatsCursor;->getType(I)I,public-api,sdk,system-api,test-api +Landroid/app/StatsCursor;->isNull(I)Z,public-api,sdk,system-api,test-api +Landroid/app/StatsCursor;->onMove(II)Z,public-api,sdk,system-api,test-api +Landroid/app/StatsManager$$ExternalSyntheticLambda0;->run()V,core-platform-api,public-api,sdk,system-api,test-api Landroid/app/StatsManager$PullAtomCallbackInternal$$ExternalSyntheticLambda0;->run()V,core-platform-api,public-api,sdk,system-api,test-api Landroid/app/StatsManager$PullAtomMetadata$Builder;->()V,sdk,system-api,test-api Landroid/app/StatsManager$PullAtomMetadata$Builder;->build()Landroid/app/StatsManager$PullAtomMetadata;,sdk,system-api,test-api @@ -8,6 +20,10 @@ Landroid/app/StatsManager$PullAtomMetadata;->getAdditiveFields()[I,sdk,system-ap Landroid/app/StatsManager$PullAtomMetadata;->getCoolDownMillis()J,sdk,system-api,test-api Landroid/app/StatsManager$PullAtomMetadata;->getTimeoutMillis()J,sdk,system-api,test-api Landroid/app/StatsManager$StatsPullAtomCallback;->onPullAtom(ILjava/util/List;)I,sdk,system-api,test-api +Landroid/app/StatsManager$StatsQueryCallbackInternal$$ExternalSyntheticLambda0;->run()V,core-platform-api,public-api,sdk,system-api,test-api +Landroid/app/StatsManager$StatsQueryCallbackInternal$$ExternalSyntheticLambda1;->run()V,core-platform-api,public-api,sdk,system-api,test-api +Landroid/app/StatsManager$StatsQueryException;->(Ljava/lang/String;)V,sdk,system-api,test-api +Landroid/app/StatsManager$StatsQueryException;->(Ljava/lang/String;Ljava/lang/Throwable;)V,sdk,system-api,test-api Landroid/app/StatsManager$StatsUnavailableException;->(Ljava/lang/String;)V,sdk,system-api,test-api Landroid/app/StatsManager$StatsUnavailableException;->(Ljava/lang/String;Ljava/lang/Throwable;)V,sdk,system-api,test-api Landroid/app/StatsManager;->(Landroid/content/Context;)V,lo-prio,max-target-o @@ -18,6 +34,7 @@ Landroid/app/StatsManager;->EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES:Ljava/lang/ Landroid/app/StatsManager;->EXTRA_STATS_CONFIG_KEY:Ljava/lang/String;,sdk,system-api,test-api Landroid/app/StatsManager;->EXTRA_STATS_CONFIG_UID:Ljava/lang/String;,sdk,system-api,test-api Landroid/app/StatsManager;->EXTRA_STATS_DIMENSIONS_VALUE:Ljava/lang/String;,sdk,system-api,test-api +Landroid/app/StatsManager;->EXTRA_STATS_RESTRICTED_METRIC_IDS:Ljava/lang/String;,sdk,system-api,test-api Landroid/app/StatsManager;->EXTRA_STATS_SUBSCRIPTION_ID:Ljava/lang/String;,sdk,system-api,test-api Landroid/app/StatsManager;->EXTRA_STATS_SUBSCRIPTION_RULE_ID:Ljava/lang/String;,sdk,system-api,test-api Landroid/app/StatsManager;->PULL_SKIP:I,sdk,system-api,test-api @@ -32,6 +49,7 @@ Landroid/app/StatsManager;->getRegisteredExperimentIds()[J,sdk,system-api,test-a Landroid/app/StatsManager;->getReports(J)[B,sdk,system-api,test-api Landroid/app/StatsManager;->getStatsMetadata()[B,sdk,system-api,test-api Landroid/app/StatsManager;->mContext:Landroid/content/Context;,lo-prio,max-target-o +Landroid/app/StatsManager;->query(JLjava/lang/String;Landroid/app/StatsQuery;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V,sdk,system-api,test-api Landroid/app/StatsManager;->removeConfig(J)V,sdk,system-api,test-api Landroid/app/StatsManager;->removeConfiguration(J)Z,sdk,system-api,test-api Landroid/app/StatsManager;->setActiveConfigsChangedOperation(Landroid/app/PendingIntent;)[J,sdk,system-api,test-api @@ -40,6 +58,18 @@ Landroid/app/StatsManager;->setBroadcastSubscriber(Landroid/app/PendingIntent;JJ Landroid/app/StatsManager;->setDataFetchOperation(JLandroid/app/PendingIntent;)Z,sdk,system-api,test-api Landroid/app/StatsManager;->setFetchReportsOperation(Landroid/app/PendingIntent;J)V,sdk,system-api,test-api Landroid/app/StatsManager;->setPullAtomCallback(ILandroid/app/StatsManager$PullAtomMetadata;Ljava/util/concurrent/Executor;Landroid/app/StatsManager$StatsPullAtomCallback;)V,sdk,system-api,test-api +Landroid/app/StatsManager;->setRestrictedMetricsChangedOperation(JLjava/lang/String;Landroid/app/PendingIntent;)[J,sdk,system-api,test-api +Landroid/app/StatsQuery$Builder;->(Ljava/lang/String;)V,sdk,system-api,test-api +Landroid/app/StatsQuery$Builder;->build()Landroid/app/StatsQuery;,sdk,system-api,test-api +Landroid/app/StatsQuery$Builder;->setMinSqlClientVersion(I)Landroid/app/StatsQuery$Builder;,sdk,system-api,test-api +Landroid/app/StatsQuery$Builder;->setPolicyConfig([B)Landroid/app/StatsQuery$Builder;,sdk,system-api,test-api +Landroid/app/StatsQuery$Builder;->setSqlDialect(I)Landroid/app/StatsQuery$Builder;,sdk,system-api,test-api +Landroid/app/StatsQuery;->DIALECT_SQLITE:I,sdk,system-api,test-api +Landroid/app/StatsQuery;->DIALECT_UNKNOWN:I,sdk,system-api,test-api +Landroid/app/StatsQuery;->getMinSqlClientVersion()I,sdk,system-api,test-api +Landroid/app/StatsQuery;->getPolicyConfig()[B,sdk,system-api,test-api +Landroid/app/StatsQuery;->getRawSql()Ljava/lang/String;,sdk,system-api,test-api +Landroid/app/StatsQuery;->getSqlDialect()I,sdk,system-api,test-api Landroid/os/IPendingIntentRef$Default;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api Landroid/os/IPendingIntentRef$Stub$Proxy;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api Landroid/os/IPendingIntentRef$Stub;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api @@ -87,6 +117,14 @@ Landroid/os/IStatsManagerService$Default;->asBinder()Landroid/os/IBinder;,public Landroid/os/IStatsManagerService$Stub$Proxy;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api Landroid/os/IStatsManagerService$Stub;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api Landroid/os/IStatsManagerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z,public-api,sdk,system-api,test-api +Landroid/os/IStatsQueryCallback$Default;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api +Landroid/os/IStatsQueryCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api +Landroid/os/IStatsQueryCallback$Stub;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api +Landroid/os/IStatsQueryCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z,public-api,sdk,system-api,test-api +Landroid/os/IStatsSubscriptionCallback$Default;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api +Landroid/os/IStatsSubscriptionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api +Landroid/os/IStatsSubscriptionCallback$Stub;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api +Landroid/os/IStatsSubscriptionCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z,public-api,sdk,system-api,test-api Landroid/os/IStatsd$Default;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api Landroid/os/IStatsd$Stub$Proxy;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api Landroid/os/IStatsd$Stub;->asBinder()Landroid/os/IBinder;,public-api,sdk,system-api,test-api @@ -149,13 +187,27 @@ Landroid/util/StatsEventParcel;->writeToParcel(Landroid/os/Parcel;I)V,public-api Landroid/util/StatsLog;->()V,lo-prio,max-target-o Landroid/util/StatsLog;->ANNOTATION_ID_DEFAULT_STATE:B,sdk,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_EXCLUSIVE_STATE:B,sdk,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_ACCESSIBILITY:B,sdk,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_AMBIENT_SENSING:B,sdk,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_APP_ACTIVITY:B,sdk,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_APP_USAGE:B,sdk,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_DEMOGRAPHIC_CLASSIFICATION:B,sdk,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_HEALTH_CONNECT:B,sdk,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_PERIPHERAL_DEVICE_INFO:B,sdk,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_SYSTEM_SEARCH:B,sdk,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_USER_ENGAGEMENT:B,sdk,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_IS_UID:B,sdk,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_PRIMARY_FIELD:B,sdk,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID:B,sdk,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_RESTRICTION_CATEGORY:B,sdk,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_STATE_NESTED:B,sdk,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_TRIGGER_STATE_RESET:B,sdk,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_TRUNCATE_TIMESTAMP:B,sdk,system-api,test-api Landroid/util/StatsLog;->DEBUG:Z,lo-prio,max-target-o +Landroid/util/StatsLog;->RESTRICTION_CATEGORY_AUTHENTICATION:I,sdk,system-api,test-api +Landroid/util/StatsLog;->RESTRICTION_CATEGORY_DIAGNOSTIC:I,sdk,system-api,test-api +Landroid/util/StatsLog;->RESTRICTION_CATEGORY_FRAUD_AND_ABUSE:I,sdk,system-api,test-api +Landroid/util/StatsLog;->RESTRICTION_CATEGORY_SYSTEM_INTELLIGENCE:I,sdk,system-api,test-api Landroid/util/StatsLog;->TAG:Ljava/lang/String;,lo-prio,max-target-o Landroid/util/StatsLog;->logBinaryPushStateChanged(Ljava/lang/String;JII[J)Z,public-api,sdk,system-api,test-api Landroid/util/StatsLog;->logEvent(I)Z,public-api,sdk,system-api,test-api diff --git a/current/hiddenapi/filtered-stub-flags.csv b/current/hiddenapi/filtered-stub-flags.csv index cfb963d..f05657f 100644 --- a/current/hiddenapi/filtered-stub-flags.csv +++ b/current/hiddenapi/filtered-stub-flags.csv @@ -1,3 +1,15 @@ +Landroid/app/StatsCursor;->getColumnNames()[Ljava/lang/String;,public-api,system-api,test-api +Landroid/app/StatsCursor;->getCount()I,public-api,system-api,test-api +Landroid/app/StatsCursor;->getDouble(I)D,public-api,system-api,test-api +Landroid/app/StatsCursor;->getFloat(I)F,public-api,system-api,test-api +Landroid/app/StatsCursor;->getInt(I)I,public-api,system-api,test-api +Landroid/app/StatsCursor;->getLong(I)J,public-api,system-api,test-api +Landroid/app/StatsCursor;->getShort(I)S,public-api,system-api,test-api +Landroid/app/StatsCursor;->getString(I)Ljava/lang/String;,public-api,system-api,test-api +Landroid/app/StatsCursor;->getType(I)I,public-api,system-api,test-api +Landroid/app/StatsCursor;->isNull(I)Z,public-api,system-api,test-api +Landroid/app/StatsCursor;->onMove(II)Z,public-api,system-api,test-api +Landroid/app/StatsManager$$ExternalSyntheticLambda0;->run()V,core-platform-api,public-api,system-api,test-api Landroid/app/StatsManager$PullAtomCallbackInternal$$ExternalSyntheticLambda0;->run()V,core-platform-api,public-api,system-api,test-api Landroid/app/StatsManager$PullAtomMetadata$Builder;->()V,system-api,test-api Landroid/app/StatsManager$PullAtomMetadata$Builder;->build()Landroid/app/StatsManager$PullAtomMetadata;,system-api,test-api @@ -8,6 +20,10 @@ Landroid/app/StatsManager$PullAtomMetadata;->getAdditiveFields()[I,system-api,te Landroid/app/StatsManager$PullAtomMetadata;->getCoolDownMillis()J,system-api,test-api Landroid/app/StatsManager$PullAtomMetadata;->getTimeoutMillis()J,system-api,test-api Landroid/app/StatsManager$StatsPullAtomCallback;->onPullAtom(ILjava/util/List;)I,system-api,test-api +Landroid/app/StatsManager$StatsQueryCallbackInternal$$ExternalSyntheticLambda0;->run()V,core-platform-api,public-api,system-api,test-api +Landroid/app/StatsManager$StatsQueryCallbackInternal$$ExternalSyntheticLambda1;->run()V,core-platform-api,public-api,system-api,test-api +Landroid/app/StatsManager$StatsQueryException;->(Ljava/lang/String;)V,system-api,test-api +Landroid/app/StatsManager$StatsQueryException;->(Ljava/lang/String;Ljava/lang/Throwable;)V,system-api,test-api Landroid/app/StatsManager$StatsUnavailableException;->(Ljava/lang/String;)V,system-api,test-api Landroid/app/StatsManager$StatsUnavailableException;->(Ljava/lang/String;Ljava/lang/Throwable;)V,system-api,test-api Landroid/app/StatsManager;->ACTION_STATSD_STARTED:Ljava/lang/String;,system-api,test-api @@ -16,6 +32,7 @@ Landroid/app/StatsManager;->EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES:Ljava/lang/ Landroid/app/StatsManager;->EXTRA_STATS_CONFIG_KEY:Ljava/lang/String;,system-api,test-api Landroid/app/StatsManager;->EXTRA_STATS_CONFIG_UID:Ljava/lang/String;,system-api,test-api Landroid/app/StatsManager;->EXTRA_STATS_DIMENSIONS_VALUE:Ljava/lang/String;,system-api,test-api +Landroid/app/StatsManager;->EXTRA_STATS_RESTRICTED_METRIC_IDS:Ljava/lang/String;,system-api,test-api Landroid/app/StatsManager;->EXTRA_STATS_SUBSCRIPTION_ID:Ljava/lang/String;,system-api,test-api Landroid/app/StatsManager;->EXTRA_STATS_SUBSCRIPTION_RULE_ID:Ljava/lang/String;,system-api,test-api Landroid/app/StatsManager;->PULL_SKIP:I,system-api,test-api @@ -28,6 +45,7 @@ Landroid/app/StatsManager;->getMetadata()[B,system-api,test-api Landroid/app/StatsManager;->getRegisteredExperimentIds()[J,system-api,test-api Landroid/app/StatsManager;->getReports(J)[B,system-api,test-api Landroid/app/StatsManager;->getStatsMetadata()[B,system-api,test-api +Landroid/app/StatsManager;->query(JLjava/lang/String;Landroid/app/StatsQuery;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V,system-api,test-api Landroid/app/StatsManager;->removeConfig(J)V,system-api,test-api Landroid/app/StatsManager;->removeConfiguration(J)Z,system-api,test-api Landroid/app/StatsManager;->setActiveConfigsChangedOperation(Landroid/app/PendingIntent;)[J,system-api,test-api @@ -36,6 +54,18 @@ Landroid/app/StatsManager;->setBroadcastSubscriber(Landroid/app/PendingIntent;JJ Landroid/app/StatsManager;->setDataFetchOperation(JLandroid/app/PendingIntent;)Z,system-api,test-api Landroid/app/StatsManager;->setFetchReportsOperation(Landroid/app/PendingIntent;J)V,system-api,test-api Landroid/app/StatsManager;->setPullAtomCallback(ILandroid/app/StatsManager$PullAtomMetadata;Ljava/util/concurrent/Executor;Landroid/app/StatsManager$StatsPullAtomCallback;)V,system-api,test-api +Landroid/app/StatsManager;->setRestrictedMetricsChangedOperation(JLjava/lang/String;Landroid/app/PendingIntent;)[J,system-api,test-api +Landroid/app/StatsQuery$Builder;->(Ljava/lang/String;)V,system-api,test-api +Landroid/app/StatsQuery$Builder;->build()Landroid/app/StatsQuery;,system-api,test-api +Landroid/app/StatsQuery$Builder;->setMinSqlClientVersion(I)Landroid/app/StatsQuery$Builder;,system-api,test-api +Landroid/app/StatsQuery$Builder;->setPolicyConfig([B)Landroid/app/StatsQuery$Builder;,system-api,test-api +Landroid/app/StatsQuery$Builder;->setSqlDialect(I)Landroid/app/StatsQuery$Builder;,system-api,test-api +Landroid/app/StatsQuery;->DIALECT_SQLITE:I,system-api,test-api +Landroid/app/StatsQuery;->DIALECT_UNKNOWN:I,system-api,test-api +Landroid/app/StatsQuery;->getMinSqlClientVersion()I,system-api,test-api +Landroid/app/StatsQuery;->getPolicyConfig()[B,system-api,test-api +Landroid/app/StatsQuery;->getRawSql()Ljava/lang/String;,system-api,test-api +Landroid/app/StatsQuery;->getSqlDialect()I,system-api,test-api Landroid/os/IPendingIntentRef$Default;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api Landroid/os/IPendingIntentRef$Stub$Proxy;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api Landroid/os/IPendingIntentRef$Stub;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api @@ -56,6 +86,14 @@ Landroid/os/IStatsManagerService$Default;->asBinder()Landroid/os/IBinder;,public Landroid/os/IStatsManagerService$Stub$Proxy;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api Landroid/os/IStatsManagerService$Stub;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api Landroid/os/IStatsManagerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z,public-api,system-api,test-api +Landroid/os/IStatsQueryCallback$Default;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api +Landroid/os/IStatsQueryCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api +Landroid/os/IStatsQueryCallback$Stub;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api +Landroid/os/IStatsQueryCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z,public-api,system-api,test-api +Landroid/os/IStatsSubscriptionCallback$Default;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api +Landroid/os/IStatsSubscriptionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api +Landroid/os/IStatsSubscriptionCallback$Stub;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api +Landroid/os/IStatsSubscriptionCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z,public-api,system-api,test-api Landroid/os/IStatsd$Default;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api Landroid/os/IStatsd$Stub$Proxy;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api Landroid/os/IStatsd$Stub;->asBinder()Landroid/os/IBinder;,public-api,system-api,test-api @@ -115,12 +153,26 @@ Landroid/util/StatsEventParcel;->describeContents()I,public-api,system-api,test- Landroid/util/StatsEventParcel;->writeToParcel(Landroid/os/Parcel;I)V,public-api,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_DEFAULT_STATE:B,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_EXCLUSIVE_STATE:B,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_ACCESSIBILITY:B,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_AMBIENT_SENSING:B,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_APP_ACTIVITY:B,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_APP_USAGE:B,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_DEMOGRAPHIC_CLASSIFICATION:B,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_HEALTH_CONNECT:B,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_PERIPHERAL_DEVICE_INFO:B,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_SYSTEM_SEARCH:B,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_FIELD_RESTRICTION_USER_ENGAGEMENT:B,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_IS_UID:B,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_PRIMARY_FIELD:B,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID:B,system-api,test-api +Landroid/util/StatsLog;->ANNOTATION_ID_RESTRICTION_CATEGORY:B,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_STATE_NESTED:B,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_TRIGGER_STATE_RESET:B,system-api,test-api Landroid/util/StatsLog;->ANNOTATION_ID_TRUNCATE_TIMESTAMP:B,system-api,test-api +Landroid/util/StatsLog;->RESTRICTION_CATEGORY_AUTHENTICATION:I,system-api,test-api +Landroid/util/StatsLog;->RESTRICTION_CATEGORY_DIAGNOSTIC:I,system-api,test-api +Landroid/util/StatsLog;->RESTRICTION_CATEGORY_FRAUD_AND_ABUSE:I,system-api,test-api +Landroid/util/StatsLog;->RESTRICTION_CATEGORY_SYSTEM_INTELLIGENCE:I,system-api,test-api Landroid/util/StatsLog;->logBinaryPushStateChanged(Ljava/lang/String;JII[J)Z,public-api,system-api,test-api Landroid/util/StatsLog;->logEvent(I)Z,public-api,system-api,test-api Landroid/util/StatsLog;->logStart(I)Z,public-api,system-api,test-api diff --git a/current/hiddenapi/signature-patterns.csv b/current/hiddenapi/signature-patterns.csv index f28a601..c8b6f93 100644 --- a/current/hiddenapi/signature-patterns.csv +++ b/current/hiddenapi/signature-patterns.csv @@ -1,13 +1,18 @@ +android/app/StatsCursor android/app/StatsManager +android/app/StatsQuery android/os/IPendingIntentRef android/os/IPullAtomCallback android/os/IPullAtomResultReceiver android/os/IStatsCompanionService android/os/IStatsManagerService +android/os/IStatsQueryCallback +android/os/IStatsSubscriptionCallback android/os/IStatsd android/os/StatsDimensionsValue android/os/StatsDimensionsValueParcel android/os/StatsFrameworkInitializer +android/os/StatsSubscriptionCallbackReason android/util/PropertyParcel android/util/StatsEvent android/util/StatsEventParcel diff --git a/current/include/packages/modules/StatsD/lib/libstatspull/include/stats_pull_atom_callback.h b/current/include/packages/modules/StatsD/lib/libstatspull/include/stats_pull_atom_callback.h new file mode 100644 index 0000000..17df584 --- /dev/null +++ b/current/include/packages/modules/StatsD/lib/libstatspull/include/stats_pull_atom_callback.h @@ -0,0 +1,170 @@ +/* + * Copyright (C) 2019, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#pragma once + +#include + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Opaque struct representing the metadata for registering an AStatsManager_PullAtomCallback. + */ +struct AStatsManager_PullAtomMetadata; +typedef struct AStatsManager_PullAtomMetadata AStatsManager_PullAtomMetadata; + +/** + * Allocate and initialize new PullAtomMetadata. + * + * Must call AStatsManager_PullAtomMetadata_release to free the memory. + */ +AStatsManager_PullAtomMetadata* AStatsManager_PullAtomMetadata_obtain(); + +/** + * Frees the memory held by this PullAtomMetadata + * + * After calling this, the PullAtomMetadata must not be used or modified in any way. + */ +void AStatsManager_PullAtomMetadata_release(AStatsManager_PullAtomMetadata* metadata); + +/** + * Set the cool down time of the pull in milliseconds. If two successive pulls are issued + * within the cool down, a cached version of the first will be used for the second. The minimum + * allowed cool down is one second. + */ +void AStatsManager_PullAtomMetadata_setCoolDownMillis(AStatsManager_PullAtomMetadata* metadata, + int64_t cool_down_millis); + +/** + * Get the cool down time of the pull in milliseconds. + */ +int64_t AStatsManager_PullAtomMetadata_getCoolDownMillis(AStatsManager_PullAtomMetadata* metadata); + +/** + * Set the maximum time the pull can take in milliseconds. + * The maximum allowed timeout is 10 seconds. + */ +void AStatsManager_PullAtomMetadata_setTimeoutMillis(AStatsManager_PullAtomMetadata* metadata, + int64_t timeout_millis); + +/** + * Get the maximum time the pull can take in milliseconds. + */ +int64_t AStatsManager_PullAtomMetadata_getTimeoutMillis(AStatsManager_PullAtomMetadata* metadata); + +/** + * Set the additive fields of this pulled atom. + * + * This is only applicable for atoms which have a uid field. When tasks are run in + * isolated processes, the data will be attributed to the host uid. Additive fields + * will be combined when the non-additive fields are the same. + */ +void AStatsManager_PullAtomMetadata_setAdditiveFields(AStatsManager_PullAtomMetadata* metadata, + int32_t* additive_fields, int32_t num_fields); + +/** + * Get the number of additive fields for this pulled atom. This is intended to be called before + * AStatsManager_PullAtomMetadata_getAdditiveFields to determine the size of the array. + */ +int32_t AStatsManager_PullAtomMetadata_getNumAdditiveFields( + AStatsManager_PullAtomMetadata* metadata); + +/** + * Get the additive fields of this pulled atom. + * + * \param fields an output parameter containing the additive fields for this PullAtomMetadata. + * Fields is an array and it is assumed that it is at least as large as the number of + * additive fields, which can be obtained by calling + * AStatsManager_PullAtomMetadata_getNumAdditiveFields. + */ +void AStatsManager_PullAtomMetadata_getAdditiveFields(AStatsManager_PullAtomMetadata* metadata, + int32_t* fields); + +/** + * Return codes for the result of a pull. + */ +typedef int32_t AStatsManager_PullAtomCallbackReturn; +enum { + // Value indicating that this pull was successful and that the result should be used. + AStatsManager_PULL_SUCCESS = 0, + // Value indicating that this pull was unsuccessful and that the result should not be used. + AStatsManager_PULL_SKIP = 1, +}; + +/** + * Opaque struct representing a list of AStatsEvent objects. + */ +struct AStatsEventList; +typedef struct AStatsEventList AStatsEventList; + +/** + * Appends and returns an AStatsEvent to the end of the AStatsEventList. + * + * If an AStatsEvent is obtained in this manner, the memory is internally managed and + * AStatsEvent_release does not need to be called. The lifetime of the AStatsEvent is that of the + * AStatsEventList. + * + * The AStatsEvent does still need to be built by calling AStatsEvent_build. + */ +AStatsEvent* AStatsEventList_addStatsEvent(AStatsEventList* pull_data); + +/** + * Callback interface for pulling atoms requested by the stats service. + * + * \param atom_tag the tag of the atom to pull. + * \param data an output parameter in which the caller should fill the results of the pull. This + * param cannot be NULL and it's lifetime is as long as the execution of the callback. + * It must not be accessed or modified after returning from the callback. + * \param cookie the opaque pointer passed in AStatsManager_registerPullAtomCallback. + * \return AStatsManager_PULL_SUCCESS if the pull was successful, or AStatsManager_PULL_SKIP if not. + */ +typedef AStatsManager_PullAtomCallbackReturn (*AStatsManager_PullAtomCallback)( + int32_t atom_tag, AStatsEventList* data, void* cookie); +/** + * Sets a callback for an atom when that atom is to be pulled. The stats service will + * invoke the callback when the stats service determines that this atom needs to be + * pulled. + * + * Requires the REGISTER_STATS_PULL_ATOM permission. + * + * \param atom_tag The tag of the atom for this pull atom callback. + * \param metadata Optional metadata specifying the timeout, cool down time, and + * additive fields for mapping isolated to host uids. + * This param is nullable, in which case defaults will be used. + * \param callback The callback to be invoked when the stats service pulls the atom. + * \param cookie A pointer that will be passed back to the callback. + * It has no meaning to statsd. + */ +void AStatsManager_setPullAtomCallback(int32_t atom_tag, AStatsManager_PullAtomMetadata* metadata, + AStatsManager_PullAtomCallback callback, void* cookie); + +/** + * Clears a callback for an atom when that atom is to be pulled. Note that any ongoing + * pulls will still occur. + * + * Requires the REGISTER_STATS_PULL_ATOM permission. + * + * \param atomTag The tag of the atom of which to unregister + */ +void AStatsManager_clearPullAtomCallback(int32_t atom_tag); + +#ifdef __cplusplus +} +#endif diff --git a/current/include/packages/modules/StatsD/lib/libstatspull/include/stats_subscription.h b/current/include/packages/modules/StatsD/lib/libstatspull/include/stats_subscription.h new file mode 100644 index 0000000..6509c2b --- /dev/null +++ b/current/include/packages/modules/StatsD/lib/libstatspull/include/stats_subscription.h @@ -0,0 +1,127 @@ +/* + * Copyright (C) 2023, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#pragma once + +#include +#include + +#ifndef __STATSD_SUBS_MIN_API__ +#define __STATSD_SUBS_MIN_API__ __ANDROID_API_U__ +#endif + +__BEGIN_DECLS + +/** + * Reason codes for why subscription callback was triggered. + */ +typedef enum AStatsManager_SubscriptionCallbackReason : uint32_t { + /** + * SubscriptionCallbackReason constant for subscription data transfer initiated by stats + * service. + * + * Introduced in API 34. + */ + ASTATSMANAGER_SUBSCRIPTION_CALLBACK_REASON_STATSD_INITIATED = 1, + + /** + * SubscriptionCallbackReason constant for subscriber requesting flush of pending data. + * + * Introduced in API 34. + */ + ASTATSMANAGER_SUBSCRIPTION_CALLBACK_REASON_FLUSH_REQUESTED = 2, + + /** + * SubscriptionCallbackReason constant for final stream of data for a subscription. + * + * Introduced in API 34. + */ + ASTATSMANAGER_SUBSCRIPTION_CALLBACK_REASON_SUBSCRIPTION_ENDED = 3, +} AStatsManager_SubscriptionCallbackReason; + +/** + * Callback interface for receiving subscription data by the stats service. + * + * This will be called on an arbitrary binder thread. There is a pool of such threads and there is a + * no guarantee a single thread will be used even for the same subscription. Clients must ensure it + * is safe to call callback from arbitrary threads. + * + * \param subscription_id the subscription id for which the callback is triggered. + * \param reason code for why the callback is triggered. + * \param payload encoded SubscriptionResults proto containing subscription data. + * Cannot be null. + * \param num_bytes size in bytes of the payload. + * \param cookie the opaque pointer passed in AStatsManager_addSubscription. Can be null. + * + * Introduced in API 34. + */ +typedef void (*AStatsManager_SubscriptionCallback)(int32_t subscription_id, + AStatsManager_SubscriptionCallbackReason reason, + uint8_t* _Nonnull payload, size_t num_bytes, + void* _Nullable cookie); + +/** + * Adds a new subscription. + * + * Requires caller is in the traced_probes selinux domain. + * + * \param subscription_config encoded ShellSubscription proto containing parameters for a new + * subscription. Cannot be null. + * \param num_bytes size in bytes of the subscription_config. + * \param callback function called to deliver subscription data back to the subscriber. Each + * callback can be used for more than one subscription. Cannot be null. + * \param cookie opaque pointer to associate with the subscription. The provided callback will be + * invoked with this cookie as an argument when delivering data for this subscription. Can be + * null. + * \return subscription ID for the new subscription. Subscription ID is a positive integer. A + * negative value indicates an error. + * + * Introduced in API 34. + */ +int32_t AStatsManager_addSubscription(const uint8_t* _Nonnull subscription_config, size_t num_bytes, + const AStatsManager_SubscriptionCallback _Nonnull callback, + void* _Nullable cookie) + __INTRODUCED_IN(__STATSD_SUBS_MIN_API__); + +/** + * Removes an existing subscription. + * This will trigger a flush of the remaining subscription data through + * AStatsManager_SubscriptionCallback with the reason as + * ASTATSMANAGER_SUBSCRIPTION_CALLBACK_REASON_SUBSCRIPTION_ENDED. + * + * Requires caller is in the traced_probes selinux domain. + * + * \param subscription_id subscription id of the subscription to terminate. + * + * Introduced in API 34. + */ +void AStatsManager_removeSubscription(int32_t subscription_id) + __INTRODUCED_IN(__STATSD_SUBS_MIN_API__); + +/** + * Request stats service to flush a subscription. + * This will trigger AStatsManager_SubscriptionCallback with the reason as + * ASTATSMANAGER_SUBSCRIPTION_CALLBACK_REASON_FLUSH_REQUESTED. + * + * Requires caller is in the traced_probes selinux domain. + * + * \param subscription_id ID of the subscription to be flushed. + * + * Introduced in API 34. + */ +void AStatsManager_flushSubscription(int32_t subscription_id) + __INTRODUCED_IN(__STATSD_SUBS_MIN_API__); + +__END_DECLS diff --git a/current/include/packages/modules/StatsD/lib/libstatssocket/include/stats_annotations.h b/current/include/packages/modules/StatsD/lib/libstatssocket/include/stats_annotations.h index e812af0..2963db9 100644 --- a/current/include/packages/modules/StatsD/lib/libstatssocket/include/stats_annotations.h +++ b/current/include/packages/modules/StatsD/lib/libstatssocket/include/stats_annotations.h @@ -80,6 +80,116 @@ enum AnnotationIds : uint8_t { * Introduced in API 31. */ ASTATSLOG_ANNOTATION_ID_STATE_NESTED = 8, + + /** + * Annotation ID constant to indicate the restriction category of an atom. + * This annotation must only be attached to the atom id. This is an int annotation. + * + * Introduced in API 34. + */ + ASTATSLOG_ANNOTATION_ID_RESTRICTION_CATEGORY = 9, + + /** + * Annotation ID to indicate that a field of an atom contains peripheral device info. + * This is a bool annotation. + * + * Introduced in API 34. + */ + ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_PERIPHERAL_DEVICE_INFO = 10, + + /** + * Annotation ID to indicate that a field of an atom contains app usage information. + * This is a bool annotation. + * + * Introduced in API 34. + */ + ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_APP_USAGE = 11, + + /** + * Annotation ID to indicate that a field of an atom contains app activity information. + * This is a bool annotation. + * + * Introduced in API 34. + */ + ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_APP_ACTIVITY = 12, + + /** + * Annotation ID to indicate that a field of an atom contains health connect information. + * This is a bool annotation. + * + * Introduced in API 34. + */ + ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_HEALTH_CONNECT = 13, + + /** + * Annotation ID to indicate that a field of an atom contains accessibility information. + * This is a bool annotation. + * + * Introduced in API 34. + */ + ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_ACCESSIBILITY = 14, + + /** + * Annotation ID to indicate that a field of an atom contains system search information. + * This is a bool annotation. + * + * Introduced in API 34. + */ + ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_SYSTEM_SEARCH = 15, + + /** + * Annotation ID to indicate that a field of an atom contains user engagement information. + * This is a bool annotation. + * + * Introduced in API 34. + */ + ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_USER_ENGAGEMENT = 16, + + /** + * Annotation ID to indicate that a field of an atom contains ambient sensing information. + * This is a bool annotation. + * + * Introduced in API 34. + */ + ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_AMBIENT_SENSING = 17, + + /** + * Annotation ID to indicate that a field of an atom contains demographic classification + * information. This is a bool annotation. + * + * Introduced in API 34. + */ + ASTATSLOG_ANNOTATION_ID_FIELD_RESTRICTION_DEMOGRAPHIC_CLASSIFICATION = 18, }; +enum AStatsLogRestrictionCategory : uint32_t { + /** + * Restriction category for atoms about diagnostics. + * + * Introduced in API 34. + */ + ASTATSLOG_RESTRICTION_CATEGORY_DIAGNOSTIC = 1, + + /** + * Restriction category for atoms about system intelligence. + * + * Introduced in API 34. + */ + ASTATSLOG_RESTRICTION_CATEGORY_SYSTEM_INTELLIGENCE = 2, + + /** + * Restriction category for atoms about authentication. + * + * Introduced in API 34. + */ + ASTATSLOG_RESTRICTION_CATEGORY_AUTHENTICATION = 3, + + /** + * Restriction category for atoms about fraud and abuse. + * + * Introduced in API 34. + */ + ASTATSLOG_RESTRICTION_CATEGORY_FRAUD_AND_ABUSE = 4, + +}; __END_DECLS diff --git a/current/sdk_library/module-lib/framework-statsd-stubs.jar b/current/sdk_library/module-lib/framework-statsd-stubs.jar index 949a7bd..3f887ff 100644 Binary files a/current/sdk_library/module-lib/framework-statsd-stubs.jar and b/current/sdk_library/module-lib/framework-statsd-stubs.jar differ diff --git a/current/sdk_library/module-lib/framework-statsd.srcjar b/current/sdk_library/module-lib/framework-statsd.srcjar index b2e8810..7dff6f9 100644 Binary files a/current/sdk_library/module-lib/framework-statsd.srcjar and b/current/sdk_library/module-lib/framework-statsd.srcjar differ diff --git a/current/sdk_library/module-lib/framework-statsd_annotations.zip b/current/sdk_library/module-lib/framework-statsd_annotations.zip index bfbd02c..43471e3 100644 Binary files a/current/sdk_library/module-lib/framework-statsd_annotations.zip and b/current/sdk_library/module-lib/framework-statsd_annotations.zip differ diff --git a/current/sdk_library/public/framework-statsd-stubs.jar b/current/sdk_library/public/framework-statsd-stubs.jar index 648cb87..0a2d519 100644 Binary files a/current/sdk_library/public/framework-statsd-stubs.jar and b/current/sdk_library/public/framework-statsd-stubs.jar differ diff --git a/current/sdk_library/public/framework-statsd.srcjar b/current/sdk_library/public/framework-statsd.srcjar index c534edf..c7f77f7 100644 Binary files a/current/sdk_library/public/framework-statsd.srcjar and b/current/sdk_library/public/framework-statsd.srcjar differ diff --git a/current/sdk_library/system/framework-statsd-stubs.jar b/current/sdk_library/system/framework-statsd-stubs.jar index 169ca7e..7c9383f 100644 Binary files a/current/sdk_library/system/framework-statsd-stubs.jar and b/current/sdk_library/system/framework-statsd-stubs.jar differ diff --git a/current/sdk_library/system/framework-statsd.srcjar b/current/sdk_library/system/framework-statsd.srcjar index d33c643..688cbba 100644 Binary files a/current/sdk_library/system/framework-statsd.srcjar and b/current/sdk_library/system/framework-statsd.srcjar differ diff --git a/current/sdk_library/system/framework-statsd.txt b/current/sdk_library/system/framework-statsd.txt index c432a7f..41b5891 100644 --- a/current/sdk_library/system/framework-statsd.txt +++ b/current/sdk_library/system/framework-statsd.txt @@ -1,6 +1,18 @@ // 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[]); @@ -10,6 +22,7 @@ package android.app { 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; @@ -18,12 +31,14 @@ package android.app { 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 @@ -48,11 +63,33 @@ package android.app { 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 { @@ -112,12 +149,26 @@ package android.util { 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 } } diff --git a/current/sdk_library/system/framework-statsd_annotations.zip b/current/sdk_library/system/framework-statsd_annotations.zip index bfbd02c..43471e3 100644 Binary files a/current/sdk_library/system/framework-statsd_annotations.zip and b/current/sdk_library/system/framework-statsd_annotations.zip differ diff --git a/current/snapshot-creation-build-number.txt b/current/snapshot-creation-build-number.txt index 46591ff..42ea358 100644 --- a/current/snapshot-creation-build-number.txt +++ b/current/snapshot-creation-build-number.txt @@ -1 +1 @@ -9037926 \ No newline at end of file +10351819 \ No newline at end of file diff --git a/current/x86/lib/libstatspull.so b/current/x86/lib/libstatspull.so new file mode 100755 index 0000000..3f704f6 Binary files /dev/null and b/current/x86/lib/libstatspull.so differ diff --git a/current/x86/lib/libstatssocket.so b/current/x86/lib/libstatssocket.so index 3922f38..c207389 100755 Binary files a/current/x86/lib/libstatssocket.so and b/current/x86/lib/libstatssocket.so differ diff --git a/current/x86_64/lib/libstatspull.so b/current/x86_64/lib/libstatspull.so new file mode 100755 index 0000000..5dbcddc Binary files /dev/null and b/current/x86_64/lib/libstatspull.so differ diff --git a/current/x86_64/lib/libstatssocket.so b/current/x86_64/lib/libstatssocket.so index 6fe4f6b..d38b424 100755 Binary files a/current/x86_64/lib/libstatssocket.so and b/current/x86_64/lib/libstatssocket.so differ -- cgit v1.2.3 From 7aa3c956fe6bee9d9c505b612ae79f9f1c2d0625 Mon Sep 17 00:00:00 2001 From: Katya Bychkouskaya Date: Thu, 13 Jul 2023 14:43:07 +0000 Subject: DO NOT MERGE: Drop prebuilt files to android source tree. The following files have been updated as part of this change: current/Android.bp current/snapshot-creation-build-number.txt current/licenses/build/soong/licenses/LICENSE current/x86_64/lib/libstatspull.so current/x86_64/lib/libstatssocket.so current/x86/lib/libstatspull.so current/x86/lib/libstatssocket.so current/arm64/lib/libstatspull.so current/arm64/lib/libstatssocket.so current/java_systemserver_libs/snapshot/jars/are/invalid/service-statsd.jar current/arm/lib/libstatspull.so current/arm/lib/libstatssocket.so current/include/packages/modules/StatsD/lib/libstatspull/include/stats_pull_atom_callback.h current/include/packages/modules/StatsD/lib/libstatspull/include/stats_subscription.h current/include/packages/modules/StatsD/lib/libstatssocket/include/stats_annotations.h current/include/packages/modules/StatsD/lib/libstatssocket/include/stats_buffer_writer.h current/include/packages/modules/StatsD/lib/libstatssocket/include/stats_event.h current/include/packages/modules/StatsD/lib/libstatssocket/include/stats_socket.h current/sdk_library/module-lib/framework-statsd-removed.txt current/sdk_library/module-lib/framework-statsd-stubs.jar current/sdk_library/module-lib/framework-statsd.srcjar current/sdk_library/module-lib/framework-statsd.txt current/sdk_library/module-lib/framework-statsd_annotations.zip current/sdk_library/public/framework-statsd-removed.txt current/sdk_library/public/framework-statsd-stubs.jar current/sdk_library/public/framework-statsd.srcjar current/sdk_library/public/framework-statsd.txt current/sdk_library/public/framework-statsd_annotations.zip current/sdk_library/system/framework-statsd-removed.txt current/sdk_library/system/framework-statsd-stubs.jar current/sdk_library/system/framework-statsd.srcjar current/sdk_library/system/framework-statsd.txt current/sdk_library/system/framework-statsd_annotations.zip current/hiddenapi/annotation-flags.csv current/hiddenapi/filtered-flags.csv current/hiddenapi/filtered-stub-flags.csv current/hiddenapi/hiddenapi-max-target-o-low-priority.txt current/hiddenapi/index.csv current/hiddenapi/metadata.csv current/hiddenapi/signature-patterns.csv Built here: ab/T1007284 This build IS suitable for public release. The change is generated with prebuilt drop tool. Test: presubmit Bug: 285888783 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:588782d6f5972bebade8ceeb20b9cd6572b1c7c5) Merged-In: I3b07b10c492dcd60362ef89d2d103eb7b75cbbd1 Change-Id: I3b07b10c492dcd60362ef89d2d103eb7b75cbbd1 --- .prebuilt_info/prebuilt_info_current_current_zip.asciipb | 2 +- current/snapshot-creation-build-number.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.prebuilt_info/prebuilt_info_current_current_zip.asciipb b/.prebuilt_info/prebuilt_info_current_current_zip.asciipb index 6c6a432..4416cc4 100644 --- a/.prebuilt_info/prebuilt_info_current_current_zip.asciipb +++ b/.prebuilt_info/prebuilt_info_current_current_zip.asciipb @@ -1,6 +1,6 @@ drops { android_build_drop { - build_id: "T1007089" + build_id: "T1007284" target: "train_build" source_file: "mainline-sdks/for-UpsideDownCake-build/current/com.google.android.os.statsd/sdk/statsd-module-sdk-current.zip" } diff --git a/current/snapshot-creation-build-number.txt b/current/snapshot-creation-build-number.txt index 42ea358..622b3bf 100644 --- a/current/snapshot-creation-build-number.txt +++ b/current/snapshot-creation-build-number.txt @@ -1 +1 @@ -10351819 \ No newline at end of file +10484568 \ No newline at end of file -- cgit v1.2.3