| /* |
| * Copyright (C) 2017 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. |
| */ |
| |
| syntax = "proto2"; |
| option java_multiple_files = true; |
| |
| import "frameworks/base/core/proto/android/privacy.proto"; |
| |
| package android.content.pm; |
| |
| message PackageItemInfoProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional string name = 1; |
| optional string package_name = 2; |
| optional int32 label_res = 3; |
| optional string non_localized_label = 4; |
| optional int32 icon = 5; |
| optional int32 banner = 6; |
| } |
| |
| // Proto of android.content.pm.ApplicationInfo which extends PackageItemInfo |
| message ApplicationInfoProto { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional PackageItemInfoProto package = 1; |
| optional string permission = 2; |
| optional string process_name = 3; |
| optional int32 uid = 4; |
| optional int32 flags = 5; |
| optional int32 private_flags = 6; |
| optional int32 theme = 7; |
| optional string source_dir = 8; |
| optional string public_source_dir = 9; |
| repeated string split_source_dirs = 10; |
| repeated string split_public_source_dirs = 11; |
| repeated string resource_dirs = 12; |
| optional string data_dir = 13; |
| optional string class_loader_name = 14; |
| repeated string split_class_loader_names = 15; |
| |
| message Version { |
| option (.android.msg_privacy).dest = DEST_AUTOMATIC; |
| |
| optional bool enabled = 1; |
| optional int32 min_sdk_version = 2; |
| optional int32 target_sdk_version = 3; |
| optional int32 version_code = 4; |
| optional int32 target_sandbox_version = 5; |
| } |
| optional Version version = 16; |
| |
| message Detail { |
| option (.android.msg_privacy).dest = DEST_EXPLICIT; |
| |
| optional string class_name = 1; |
| optional string task_affinity = 2; |
| optional int32 requires_smallest_width_dp = 3; |
| optional int32 compatible_width_limit_dp = 4; |
| optional int32 largest_width_limit_dp = 5; |
| // String retrieved from the seinfo tag found in selinux policy. This value |
| // can be set through the mac_permissions.xml policy construct. This value |
| // is used for setting an SELinux security context on the process as well as |
| // its data directory. |
| optional string seinfo = 6; |
| // The seinfo tag generated per-user. This value may change based upon the |
| // user's configuration. For example, when an instant app is installed for a |
| // user. It is an error if this field is ever null when trying to |
| // start a new process. |
| optional string seinfo_user = 7; |
| // Full path to the device-protected directory assigned to the package for |
| // its persistent data. |
| optional string device_protected_data_dir = 8; |
| // Full path to the credential-protected directory assigned to the package |
| // for its persistent data. |
| optional string credential_protected_data_dir = 9; |
| // Paths to all shared libraries this application is linked against. This |
| // field is only set if the PackageManager.GET_SHARED_LIBRARY_FILES} flag |
| // was used when retrieving the structure. |
| repeated string shared_library_files = 10; |
| optional string manage_space_activity_name = 11; |
| optional int32 description_res = 12; |
| optional int32 ui_options = 13; |
| optional bool supports_rtl = 14; |
| oneof full_backup_content { |
| // An optional attribute that indicates the app supports automatic backup |
| // of app data. 0 is the default and means the app's entire data folder + |
| // managed external storage will be backed up; Any negative value |
| // indicates the app does not support full-data backup, though it may |
| // still want to participate via the traditional key/value backup API; A |
| // positive number specifies an xml resource in which the application has |
| // defined its backup include/exclude criteria. The data in this field is |
| // of the format "@xml/<number>". |
| string content = 15; |
| bool is_full_backup = 16; |
| } |
| optional int32 network_security_config_res = 17; |
| optional int32 category = 18; |
| } |
| optional Detail detail = 17; |
| } |