| syntax = "proto2"; |
| |
| package android.stats.mobiledatadownload; |
| |
| option java_multiple_files = true; |
| |
| enum DownloadStatus { |
| UNKNOWN = 0; |
| PENDING = 1; |
| FAILED = 2; |
| DOWNLOADED = 3; |
| } |
| |
| enum DownloadResult { |
| UNSPECIFIED = 0; // unset value |
| |
| // File downloaded successfully. |
| SUCCESS = 1; |
| |
| // The error we don't know. |
| UNKNOWN_ERROR = 2; |
| |
| // The errors from the android downloader v1 outside MDD |
| // The block 100-199 (included) is reserved for android downloader v1. |
| // Next tag: 112 |
| ANDROID_DOWNLOADER_UNKNOWN = 100; |
| ANDROID_DOWNLOADER_CANCELED = 101; |
| ANDROID_DOWNLOADER_INVALID_REQUEST = 102; |
| ANDROID_DOWNLOADER_HTTP_ERROR = 103; |
| ANDROID_DOWNLOADER_REQUEST_ERROR = 104; |
| ANDROID_DOWNLOADER_RESPONSE_OPEN_ERROR = 105; |
| ANDROID_DOWNLOADER_RESPONSE_CLOSE_ERROR = 106; |
| ANDROID_DOWNLOADER_NETWORK_IO_ERROR = 107; |
| ANDROID_DOWNLOADER_DISK_IO_ERROR = 108; |
| ANDROID_DOWNLOADER_FILE_SYSTEM_ERROR = 109; |
| ANDROID_DOWNLOADER_UNKNOWN_IO_ERROR = 110; |
| ANDROID_DOWNLOADER_OAUTH_ERROR = 111; |
| |
| // The errors from the android downloader v2 outside MDD |
| // The block 200-299 (included) is reserved for android downloader v2. |
| // Next tag: 201 |
| ANDROID_DOWNLOADER2_ERROR = 200; |
| |
| // The data file group has not been added to MDD by the time the caller |
| // makes download API call. |
| GROUP_NOT_FOUND_ERROR = 300; |
| |
| // The DownloadListener is present but the DownloadMonitor is not provided. |
| DOWNLOAD_MONITOR_NOT_PROVIDED_ERROR = 301; |
| |
| // Errors from unsatisfied download preconditions. |
| INSECURE_URL_ERROR = 302; |
| LOW_DISK_ERROR = 303; |
| |
| // Errors from download preparation. |
| UNABLE_TO_CREATE_FILE_URI_ERROR = 304; |
| SHARED_FILE_NOT_FOUND_ERROR = 305; |
| MALFORMED_FILE_URI_ERROR = 306; |
| UNABLE_TO_CREATE_MOBSTORE_RESPONSE_WRITER_ERROR = 307; |
| |
| // Errors from file validation. |
| UNABLE_TO_VALIDATE_DOWNLOAD_FILE_ERROR = 308; |
| DOWNLOADED_FILE_NOT_FOUND_ERROR = 309; |
| DOWNLOADED_FILE_CHECKSUM_MISMATCH_ERROR = 310; |
| CUSTOM_FILEGROUP_VALIDATION_FAILED = 330; |
| |
| // Errors from download transforms. |
| UNABLE_TO_SERIALIZE_DOWNLOAD_TRANSFORM_ERROR = 311; |
| DOWNLOAD_TRANSFORM_IO_ERROR = 312; |
| FINAL_FILE_CHECKSUM_MISMATCH_ERROR = 313; |
| |
| // Errors from delta download. |
| DELTA_DOWNLOAD_BASE_FILE_NOT_FOUND_ERROR = 314; |
| DELTA_DOWNLOAD_DECODE_IO_ERROR = 315; |
| |
| // The error occurs after the file is ready. |
| UNABLE_TO_UPDATE_FILE_STATE_ERROR = 316; |
| |
| // Fail to update the file group metadata. |
| UNABLE_TO_UPDATE_GROUP_METADATA_ERROR = 317; |
| |
| // Errors from sharing files with the blob storage. |
| // Failed to update the metadata max_expiration_date. |
| UNABLE_TO_UPDATE_FILE_MAX_EXPIRATION_DATE = 318; |
| UNABLE_SHARE_FILE_BEFORE_DOWNLOAD_ERROR = 319; |
| UNABLE_SHARE_FILE_AFTER_DOWNLOAD_ERROR = 320; |
| |
| // Download errors related to isolated file structure |
| UNABLE_TO_REMOVE_SYMLINK_STRUCTURE = 321; |
| UNABLE_TO_CREATE_SYMLINK_STRUCTURE = 322; |
| |
| // Download errors related to importing inline files |
| UNABLE_TO_RESERVE_FILE_ENTRY = 323; |
| INVALID_INLINE_FILE_URL_SCHEME = 324; |
| INLINE_FILE_IO_ERROR = 327; |
| MISSING_INLINE_DOWNLOAD_PARAMS = 328; |
| MISSING_INLINE_FILE_SOURCE = 329; |
| |
| // Download errors related to URL parsing |
| MALFORMED_DOWNLOAD_URL = 325; |
| UNSUPPORTED_DOWNLOAD_URL_SCHEME = 326; |
| |
| // Download errors for manifest file group populator. |
| MANIFEST_FILE_GROUP_POPULATOR_INVALID_FLAG_ERROR = 400; |
| MANIFEST_FILE_GROUP_POPULATOR_CONTENT_CHANGED_DURING_DOWNLOAD_ERROR = 401; |
| MANIFEST_FILE_GROUP_POPULATOR_PARSE_MANIFEST_FILE_ERROR = 402; |
| MANIFEST_FILE_GROUP_POPULATOR_DELETE_MANIFEST_FILE_ERROR = 403; |
| MANIFEST_FILE_GROUP_POPULATOR_METADATA_IO_ERROR = 404; |
| } |