File: package.proto

package info (click to toggle)
android-platform-frameworks-base 1%3A10.0.0%2Br36-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 321,788 kB
  • sloc: java: 962,234; cpp: 274,314; xml: 242,770; python: 5,060; sh: 1,432; ansic: 494; makefile: 47; sed: 19
file content (136 lines) | stat: -rw-r--r-- 5,287 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/*
 * 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";
package android.service.pm;

import "frameworks/base/core/proto/android/content/featureinfo.proto";
import "frameworks/base/core/proto/android/privacy.proto";

option java_multiple_files = true;
option java_outer_classname = "PackageServiceProto";

message PackageServiceDumpProto {
    option (android.msg_privacy).dest = DEST_AUTOMATIC;

    message PackageShortProto {
        option (android.msg_privacy).dest = DEST_AUTOMATIC;

        // Name of package. e.g. "com.android.providers.telephony".
        optional string name = 1;
        // UID for this package as assigned by Android OS.
        optional int32 uid = 2;
    }
    message SharedLibraryProto {
        option (android.msg_privacy).dest = DEST_AUTOMATIC;

        optional string name = 1;
        // True if library path is not null (jar), false otherwise (apk)
        optional bool is_jar = 2;
        // Should be filled if is_jar is true
        optional string path = 3;
        // Should be filled if is_jar is false
        optional string apk = 4;
    }
    message SharedUserProto {
        option (android.msg_privacy).dest = DEST_AUTOMATIC;

        optional int32 uid = 1;
        // Name of the shared UID. eg: android.uid.bluetooth
        optional string name = 2;
    }

    // Installed packages.
    optional PackageShortProto required_verifier_package = 1;
    optional PackageShortProto verifier_package = 2;
    repeated SharedLibraryProto shared_libraries = 3;
    repeated android.content.pm.FeatureInfoProto features = 4;
    repeated PackageProto packages = 5;
    repeated SharedUserProto shared_users = 6;
    // Messages from the settings problem file
    repeated string messages = 7 [ (android.privacy).dest = DEST_EXPLICIT ];
}

message PackageProto {
    option (android.msg_privacy).dest = DEST_AUTOMATIC;

    message SplitProto {
        option (android.msg_privacy).dest = DEST_AUTOMATIC;

        // The split name of package, e.g. base
        optional string name = 1;
        optional int32 revision_code = 2;
    }
    message UserInfoProto {
        option (android.msg_privacy).dest = DEST_AUTOMATIC;

        enum InstallType {
            NOT_INSTALLED_FOR_USER = 0;
            FULL_APP_INSTALL = 1;
            INSTANT_APP_INSTALL = 2;
        }
        // Enum values gotten from PackageManger.java
        enum EnabledState {
            // This component or application is in its default enabled state
            // (as specified in its manifest).
            COMPONENT_ENABLED_STATE_DEFAULT = 0;
            // This component or application has been explictily enabled, regardless
            // of what it has specified in its manifest.
            COMPONENT_ENABLED_STATE_ENABLED = 1;
            // This component or application has been explicitly disabled, regardless of
            // what it has specified in its manifest.
            COMPONENT_ENABLED_STATE_DISABLED = 2;
            // The user has explicitly disabled the application, regardless of what it has
            // specified in its manifest.
            COMPONENT_ENABLED_STATE_DISABLED_USER = 3;
            // This application should be considered, until the point where the user actually
            // wants to use it.
            COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED = 4;
        }

        optional int32 id = 1;
        optional InstallType install_type = 2;
        // Is the app restricted by owner / admin
        optional bool is_hidden = 3;
        optional bool is_suspended = 4;
        optional bool is_stopped = 5;
        optional bool is_launched = 6;
        optional EnabledState enabled_state = 7;
        optional string last_disabled_app_caller = 8;
        optional string suspending_package = 9;
        optional int32 distraction_flags = 10;
    }

    // Name of package. e.g. "com.android.providers.telephony".
    optional string name = 1;
    // UID for this package as assigned by Android OS.
    optional int32 uid = 2;
    // Package's reported version.
    optional int32 version_code = 3;
    // Package's reported version string (what's displayed to the user).
    optional string version_string = 4;
    // UTC timestamp of install
    optional int64 install_time_ms = 5;
    // Millisecond UTC timestamp of latest update adjusted to Google's server clock.
    optional int64 update_time_ms = 6;
    // From "dumpsys package" - name of package which installed this one.
    // Typically "" if system app or "com.android.vending" if Play Store.
    optional string installer_name = 7;
    // Split APKs.
    repeated SplitProto splits = 8;
    // Per-user package info.
    repeated UserInfoProto users = 9;
}