Snap for 8857176 from 3b4fc16f61339360aaad8a82ff7c58344da6777d to mainline-go-media-release
Change-Id: Ia9795a866464c3a8579fe6218b533a1e4cdf4c2e
diff --git a/stats/atoms.proto b/stats/atoms.proto
index 859d1a6..a14ace6 100644
--- a/stats/atoms.proto
+++ b/stats/atoms.proto
@@ -68,6 +68,7 @@
import "frameworks/proto_logging/stats/enums/stats/location/location_enums.proto";
import "frameworks/proto_logging/stats/enums/stats/mediametrics/mediametrics.proto";
import "frameworks/proto_logging/stats/enums/stats/mediaprovider/mediaprovider_enums.proto";
+import "frameworks/proto_logging/stats/enums/stats/mobiledatadownload/enums.proto";
import "frameworks/proto_logging/stats/enums/stats/privacysignals/enums.proto";
import "frameworks/proto_logging/stats/enums/stats/safetycenter/enums.proto";
import "frameworks/proto_logging/stats/enums/stats/storage/storage_enums.proto";
@@ -723,6 +724,7 @@
PrivacySignalIssueCardInteraction privacy_signal_issue_card_interaction = 485 [(module) = "permissioncontroller"];
PrivacySignalsJobFailure privacy_signals_job_failure = 486 [(module) = "permissioncontroller"];
SandboxApiCalled sandbox_api_called = 488 [(module) = "sdksandbox"];
+ MobileDataDownloadFileGroupDownloadStatusReported mobile_data_download_file_group_status_reported = 490 [(module) = "adservices"];
// StatsdStats tracks platform atoms with ids upto 750.
// Update StatsdStats::kMaxPushedAtomId when atom ids here approach that value.
}
@@ -21444,3 +21446,41 @@
// Storage
optional int32 storage_kb = 2;
}
+
+/**
+ * Logs stats on the download status of file groups. Provides information on
+ * download latency and download penetration.
+ */
+message MobileDataDownloadFileGroupDownloadStatusReported {
+ // The status of the file group on device: PENDING, DOWNLOADED, FAILED
+ optional android.stats.mobiledatadownload.DownloadStatus
+ file_group_download_status = 1;
+ // Timestamp of when this file group was added to the device.
+ optional int64 group_added_timestamp = 2;
+ // Timestamp of when MDD completed downloading the file group.
+ optional int64 group_downloaded_timestamp = 3;
+ // Stats specific to the file group
+ optional MobileDataDownloadFileGroupStats file_group_stats = 4 [(android.os.statsd.log_mode) = MODE_BYTES];
+ // Number of days since the last time the device attempted to log file group download status for any file group.
+ optional int32 days_since_last_log = 5;
+}
+
+/** Shared data among MobileDataDownload statistics. Not meant to be a top level atom proto.*/
+message MobileDataDownloadFileGroupStats {
+ // The name of the file group. This a string set server side used to retrieve
+ // the files. Does not contain PII.
+ optional string file_group_name = 1;
+ // Allows the clients to identify a file group based on a given set of
+ // properties. This string is set server side and does not contain PII.
+ optional string variant_id = 2;
+ // Identifier for the data file group created to identify the version of the
+ // file group.
+ optional int64 build_id = 3;
+ // The number of files in the file group.
+ optional int32 file_count = 4;
+ // Whether the file group has an account associated with it.
+ optional bool has_account = 5;
+ // Inverse of the sampling rate used to sample this event.
+ optional int32 sampling_interval = 6;
+ // Note: we do not have owner_package since that's already transmitted.
+}
\ No newline at end of file
diff --git a/stats/enums/stats/mobiledatadownload/enums.proto b/stats/enums/stats/mobiledatadownload/enums.proto
new file mode 100644
index 0000000..4bc198e
--- /dev/null
+++ b/stats/enums/stats/mobiledatadownload/enums.proto
@@ -0,0 +1,12 @@
+syntax = "proto2";
+
+package android.stats.mobiledatadownload;
+
+option java_multiple_files = true;
+
+enum DownloadStatus {
+ UNKNOWN = 0;
+ PENDING = 1;
+ FAILED = 2;
+ DOWNLOADED = 3;
+}
\ No newline at end of file