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"; 18option java_multiple_files = true; 19 20import "frameworks/base/core/proto/android/privacy.proto"; 21 22package android.content.pm; 23 24message PackageItemInfoProto { 25 option (.android.msg_privacy).dest = DEST_AUTOMATIC; 26 27 optional string name = 1; 28 optional string package_name = 2; 29 optional int32 label_res = 3; 30 optional string non_localized_label = 4; 31 optional int32 icon = 5; 32 optional int32 banner = 6; 33 optional bool is_archived = 7; 34} 35 36// Proto of android.content.pm.ApplicationInfo which extends PackageItemInfo 37message ApplicationInfoProto { 38 option (.android.msg_privacy).dest = DEST_AUTOMATIC; 39 40 optional PackageItemInfoProto package = 1; 41 optional string permission = 2; 42 optional string process_name = 3; 43 optional int32 uid = 4; 44 optional int32 flags = 5; 45 optional int32 private_flags = 6; 46 optional int32 theme = 7; 47 optional string source_dir = 8; 48 optional string public_source_dir = 9; 49 repeated string split_source_dirs = 10; 50 repeated string split_public_source_dirs = 11; 51 repeated string resource_dirs = 12; 52 optional string data_dir = 13; 53 optional string class_loader_name = 14; 54 repeated string split_class_loader_names = 15; 55 56 message Version { 57 option (.android.msg_privacy).dest = DEST_AUTOMATIC; 58 59 optional bool enabled = 1; 60 optional int32 min_sdk_version = 2; 61 optional int32 target_sdk_version = 3; 62 optional int32 version_code = 4; 63 optional int32 target_sandbox_version = 5; 64 } 65 optional Version version = 16; 66 67 message Detail { 68 option (.android.msg_privacy).dest = DEST_EXPLICIT; 69 70 optional string class_name = 1; 71 optional string task_affinity = 2; 72 optional int32 requires_smallest_width_dp = 3; 73 optional int32 compatible_width_limit_dp = 4; 74 optional int32 largest_width_limit_dp = 5; 75 // String retrieved from the seinfo tag found in selinux policy. This value 76 // can be set through the mac_permissions.xml policy construct. This value 77 // is used for setting an SELinux security context on the process as well as 78 // its data directory. 79 optional string seinfo = 6; 80 // The seinfo tag generated per-user. This value may change based upon the 81 // user's configuration. For example, when an instant app is installed for a 82 // user. It is an error if this field is ever null when trying to 83 // start a new process. 84 optional string seinfo_user = 7; 85 // Full path to the device-protected directory assigned to the package for 86 // its persistent data. 87 optional string device_protected_data_dir = 8; 88 // Full path to the credential-protected directory assigned to the package 89 // for its persistent data. 90 optional string credential_protected_data_dir = 9; 91 // Paths to all shared libraries this application is linked against. This 92 // field is only set if the PackageManager.GET_SHARED_LIBRARY_FILES} flag 93 // was used when retrieving the structure. 94 repeated string shared_library_files = 10; 95 optional string manage_space_activity_name = 11; 96 optional int32 description_res = 12; 97 optional int32 ui_options = 13; 98 optional bool supports_rtl = 14; 99 oneof full_backup_content { 100 // An optional attribute that indicates the app supports automatic backup 101 // of app data. 0 is the default and means the app's entire data folder + 102 // managed external storage will be backed up; Any negative value 103 // indicates the app does not support full-data backup, though it may 104 // still want to participate via the traditional key/value backup API; A 105 // positive number specifies an xml resource in which the application has 106 // defined its backup include/exclude criteria. The data in this field is 107 // of the format "@xml/<number>". 108 string content = 15; 109 bool is_full_backup = 16; 110 } 111 optional int32 network_security_config_res = 17; 112 optional int32 category = 18; 113 optional int32 enable_gwp_asan = 19; 114 optional int32 enable_memtag = 20; 115 optional bool native_heap_zero_init = 21; 116 optional bool allow_cross_uid_activity_switch_from_below = 22; 117 } 118 optional Detail detail = 17; 119 repeated string overlay_paths = 18; 120 repeated string known_activity_embedding_certs = 19; 121} 122