1/* 2 * Copyright (C) 2017 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17syntax = "proto2"; 18 19package android.os.incidentd; 20 21import "frameworks/base/core/proto/android/os/metadata.proto"; 22 23message ReportFileProto { 24 /** 25 * Metadata about each of the calls to reportIncident that 26 * initiated the incident report. 27 */ 28 message Report { 29 /** 30 * Package name for broadcast receiver to be told when 31 * the report is complete. 32 */ 33 optional string pkg = 1; 34 35 /** 36 * Class name for broadcast receiver to be told when 37 * the report is complete. 38 */ 39 optional string cls = 2; 40 41 /** 42 * Privacy policy at which this report should be shared. 43 */ 44 optional uint32 privacy_policy = 4; 45 46 /** 47 * Whether all available sections should be returned. 48 */ 49 optional bool all_sections = 5; 50 51 /** 52 * If all_sections is not true, then this is the 53 * list of sections that were requested. 54 */ 55 repeated int32 section = 6; 56 57 /** 58 * Flattened IncidentHeaderProto that was passed with this 59 * request. 60 */ 61 repeated bytes header = 7; 62 63 /** 64 * Whether the user has approved this report to be shared with 65 * the given client. 66 */ 67 optional bool share_approved = 8; 68 69 /** 70 * Whether the report is gzipped. 71 */ 72 optional bool gzip = 9; 73 } 74 75 /** 76 * Metadata section recorded while the incident report 77 * was taken. 78 */ 79 optional android.os.IncidentMetadata metadata = 1; 80 81 /** 82 * Report data structures for the incident reports. 83 */ 84 repeated Report report = 2; 85 86 /** 87 * The file name, relative to the work directory where 88 * the data file is stored. The content of the data file 89 * is an android.os.IncidentProto, without the metadata 90 * or header sections. 91 */ 92 optional string data_file = 3; 93 94 /** 95 * The privacy policy to which the file is already filtered. 96 */ 97 optional uint32 privacy_policy = 4; 98 99 /** 100 * How big the data file is expected to be. If the size 101 * recorded here and the size on disk mismatch, then we 102 * know there was an error. 103 */ 104 optional int64 data_file_size = 5; 105 106 /** 107 * Whether this report has been finished, and is now 108 * ready for broadcast / dropbox / etc. 109 */ 110 optional bool completed = 6; 111} 112 113