1426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P/* 2426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * Copyright (C) 2017 The Android Open Source Project 3426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * 4426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * Licensed under the Apache License, Version 2.0 (the "License"); 5426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * you may not use this file except in compliance with the License. 6426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * You may obtain a copy of the License at 7426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * 8426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * http://www.apache.org/licenses/LICENSE-2.0 9426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * 10426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * Unless required by applicable law or agreed to in writing, software 11426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * distributed under the License is distributed on an "AS IS" BASIS, 12426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * See the License for the specific language governing permissions and 14426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P * limitations under the License. 15426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P */ 16426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P 17c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jinsyntax = "proto2"; 18426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta Ppackage android.service.pm; 19426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P 20d6759d46f96fe2c8955751b0fe8037d6c8a75464Yi Jinimport "frameworks/base/core/proto/android/content/featureinfo.proto"; 210d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jinimport "frameworks/base/libs/incident/proto/android/privacy.proto"; 22d6759d46f96fe2c8955751b0fe8037d6c8a75464Yi Jin 23426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta Poption java_multiple_files = true; 24426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta Poption java_outer_classname = "PackageServiceProto"; 25426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P 26426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta Pmessage PackageServiceDumpProto { 270d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin option (android.msg_privacy).dest = DEST_AUTOMATIC; 280d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin 29426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P message PackageShortProto { 300d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin option (android.msg_privacy).dest = DEST_AUTOMATIC; 310d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin 32426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Name of package. e.g. "com.android.providers.telephony". 33c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string name = 1; 34426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // UID for this package as assigned by Android OS. 35c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 uid = 2; 36426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P } 37426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P message SharedLibraryProto { 380d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin option (android.msg_privacy).dest = DEST_AUTOMATIC; 390d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin 40c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string name = 1; 41426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // True if library path is not null (jar), false otherwise (apk) 42c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional bool is_jar = 2; 43426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Should be filled if is_jar is true 44c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string path = 3; 45426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Should be filled if is_jar is false 46c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string apk = 4; 47426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P } 48426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P message SharedUserProto { 490d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin option (android.msg_privacy).dest = DEST_AUTOMATIC; 500d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin 51c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 user_id = 1; 5230c1ce2e576c1dc48a6e96603c29b95d52996a60Kweku Adams // Name of the shared UID. eg: android.uid.bluetooth 5330c1ce2e576c1dc48a6e96603c29b95d52996a60Kweku Adams optional string name = 2; 54426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P } 55426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P 56426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Installed packages. 57c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional PackageShortProto required_verifier_package = 1; 58c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional PackageShortProto verifier_package = 2; 59426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P repeated SharedLibraryProto shared_libraries = 3; 60d6759d46f96fe2c8955751b0fe8037d6c8a75464Yi Jin repeated android.content.pm.FeatureInfoProto features = 4; 61426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P repeated PackageProto packages = 5; 62426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P repeated SharedUserProto shared_users = 6; 63426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Messages from the settings problem file 640d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin repeated string messages = 7 [ (android.privacy).dest = DEST_EXPLICIT ]; 65426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P} 66426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P 67426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta Pmessage PackageProto { 680d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin option (android.msg_privacy).dest = DEST_AUTOMATIC; 690d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin 70426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P message SplitProto { 710d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin option (android.msg_privacy).dest = DEST_AUTOMATIC; 720d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin 730d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin // The split name of package, e.g. base 74c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string name = 1; 75c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 revision_code = 2; 76426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P } 77426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P message UserInfoProto { 780d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin option (android.msg_privacy).dest = DEST_AUTOMATIC; 790d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin 80426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P enum InstallType { 81426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P NOT_INSTALLED_FOR_USER = 0; 82426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P FULL_APP_INSTALL = 1; 83426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P INSTANT_APP_INSTALL = 2; 84426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P } 85426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Enum values gotten from PackageManger.java 86426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P enum EnabledState { 87426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // This component or application is in its default enabled state 88426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // (as specified in its manifest). 89426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P COMPONENT_ENABLED_STATE_DEFAULT = 0; 90426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // This component or application has been explictily enabled, regardless 91426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // of what it has specified in its manifest. 92426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P COMPONENT_ENABLED_STATE_ENABLED = 1; 93426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // This component or application has been explicitly disabled, regardless of 94426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // what it has specified in its manifest. 95426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P COMPONENT_ENABLED_STATE_DISABLED = 2; 96426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // The user has explicitly disabled the application, regardless of what it has 97426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // specified in its manifest. 98426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P COMPONENT_ENABLED_STATE_DISABLED_USER = 3; 99426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // This application should be considered, until the point where the user actually 100426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // wants to use it. 101426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED = 4; 102426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P } 103426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P 104c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 id = 1; 105c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional InstallType install_type = 2; 106426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Is the app restricted by owner / admin 107c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional bool is_hidden = 3; 108c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional bool is_suspended = 4; 109c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional bool is_stopped = 5; 110c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional bool is_launched = 6; 111c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional EnabledState enabled_state = 7; 112c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string last_disabled_app_caller = 8; 113021b57ab8df0927aa1f78a2f3bb01d5e70594b1aSuprabh Shukla optional string suspending_package = 9; 114426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P } 115426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P 116426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Name of package. e.g. "com.android.providers.telephony". 117c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string name = 1; 118426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // UID for this package as assigned by Android OS. 119c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 uid = 2; 120426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Package's reported version. 121c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int32 version_code = 3; 122426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Package's reported version string (what's displayed to the user). 123c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string version_string = 4; 124426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // UTC timestamp of install 125c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int64 install_time_ms = 5; 126426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Millisecond UTC timestamp of latest update adjusted to Google's server clock. 127c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional int64 update_time_ms = 6; 128426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // From "dumpsys package" - name of package which installed this one. 129426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Typically "" if system app or "com.android.vending" if Play Store. 130c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin optional string installer_name = 7; 131426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Split APKs. 132426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P repeated SplitProto splits = 8; 133426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P // Per-user package info. 134426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P repeated UserInfoProto users = 9; 135426cbefdf3c78bd0aa80b180ffc1fb8b5a226bc3Netta P} 136