activitymanagerservice.proto revision 2b30f322128722d7e5bec8a6a737f3762a6ae98a
14346f0a15cc8298d354e5257f81f637399b78514Steven Timotius/*
24346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * Copyright (C) 2017 The Android Open Source Project
34346f0a15cc8298d354e5257f81f637399b78514Steven Timotius *
44346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * Licensed under the Apache License, Version 2.0 (the "License");
54346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * you may not use this file except in compliance with the License.
64346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * You may obtain a copy of the License at
74346f0a15cc8298d354e5257f81f637399b78514Steven Timotius *
84346f0a15cc8298d354e5257f81f637399b78514Steven Timotius *      http://www.apache.org/licenses/LICENSE-2.0
94346f0a15cc8298d354e5257f81f637399b78514Steven Timotius *
104346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * Unless required by applicable law or agreed to in writing, software
114346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * distributed under the License is distributed on an "AS IS" BASIS,
124346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * See the License for the specific language governing permissions and
144346f0a15cc8298d354e5257f81f637399b78514Steven Timotius * limitations under the License.
154346f0a15cc8298d354e5257f81f637399b78514Steven Timotius */
164346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
17c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jinsyntax = "proto2";
186b51414154e621a073e898835d9ffaa671c862d8Yi Jin
19598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adamspackage com.android.server.am.proto;
20598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams
21148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinimport "frameworks/base/core/proto/android/app/activitymanager.proto";
22db026a28aa56d725ef40e9f785d7582f6cd774b8Bookatzimport "frameworks/base/core/proto/android/app/enums.proto";
236b51414154e621a073e898835d9ffaa671c862d8Yi Jinimport "frameworks/base/core/proto/android/app/notification.proto";
24148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinimport "frameworks/base/core/proto/android/app/profilerinfo.proto";
25148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinimport "frameworks/base/core/proto/android/content/component_name.proto";
26148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinimport "frameworks/base/core/proto/android/content/configuration.proto";
27129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinimport "frameworks/base/core/proto/android/content/intent.proto";
28148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinimport "frameworks/base/core/proto/android/content/package_item_info.proto";
294346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusimport "frameworks/base/core/proto/android/graphics/rect.proto";
30983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adamsimport "frameworks/base/core/proto/android/internal/processstats.proto";
31129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinimport "frameworks/base/core/proto/android/os/looper.proto";
32148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinimport "frameworks/base/core/proto/android/os/powermanager.proto";
33598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adamsimport "frameworks/base/core/proto/android/server/intentresolver.proto";
34598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adamsimport "frameworks/base/core/proto/android/server/windowmanagerservice.proto";
356b51414154e621a073e898835d9ffaa671c862d8Yi Jinimport "frameworks/base/core/proto/android/util/common.proto";
360d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jinimport "frameworks/base/libs/incident/proto/android/privacy.proto";
374346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
384346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusoption java_multiple_files = true;
394346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
404346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityManagerServiceProto {
410d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
420d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
432b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin  optional ActivityManagerServiceDumpActivitiesProto activities = 1;
44129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
452b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin  optional ActivityManagerServiceDumpBroadcastsProto broadcasts = 2;
46129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
472b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin  optional ActivityManagerServiceDumpServicesProto services = 3;
48129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
492b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin  optional ActivityManagerServiceDumpProcessesProto processes = 4;
504346f0a15cc8298d354e5257f81f637399b78514Steven Timotius}
514346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
526b51414154e621a073e898835d9ffaa671c862d8Yi Jin// "dumpsys activity --proto activities"
532b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jinmessage ActivityManagerServiceDumpActivitiesProto {
542b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
552b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin
562b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin  optional ActivityStackSupervisorProto activity_stack_supervisor = 1;
572b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin}
582b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin
594346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityStackSupervisorProto {
600d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
610d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
62c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional .com.android.server.wm.proto.ConfigurationContainerProto configuration_container = 1;
634346f0a15cc8298d354e5257f81f637399b78514Steven Timotius  repeated ActivityDisplayProto displays = 2;
64c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional KeyguardControllerProto keyguard_controller = 3;
65c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 focused_stack_id = 4;
66c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional .com.android.server.wm.proto.IdentifierProto resumed_activity = 5;
67c1674270b588f07ae000237708aabd6871d839a5Winson Chung  // Whether or not the home activity is the recents activity. This is needed for the CTS tests to
68c1674270b588f07ae000237708aabd6871d839a5Winson Chung  // know what activity types to check for when invoking splitscreen multi-window.
69c1674270b588f07ae000237708aabd6871d839a5Winson Chung  optional bool is_home_recents_component = 6;
704346f0a15cc8298d354e5257f81f637399b78514Steven Timotius}
714346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
724346f0a15cc8298d354e5257f81f637399b78514Steven Timotius/* represents ActivityStackSupervisor.ActivityDisplay */
734346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityDisplayProto {
740d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
750d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
76c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional .com.android.server.wm.proto.ConfigurationContainerProto configuration_container = 1;
77c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 id = 2;
784346f0a15cc8298d354e5257f81f637399b78514Steven Timotius  repeated ActivityStackProto stacks = 3;
794346f0a15cc8298d354e5257f81f637399b78514Steven Timotius}
804346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
814346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityStackProto {
820d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
830d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
84c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional .com.android.server.wm.proto.ConfigurationContainerProto configuration_container = 1;
85c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 id = 2;
864346f0a15cc8298d354e5257f81f637399b78514Steven Timotius  repeated TaskRecordProto tasks = 3;
87c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional .com.android.server.wm.proto.IdentifierProto resumed_activity = 4;
88c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 display_id = 5;
89c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional bool fullscreen = 6;
90c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional .android.graphics.RectProto bounds = 7;
914346f0a15cc8298d354e5257f81f637399b78514Steven Timotius}
924346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
934346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage TaskRecordProto {
940d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
950d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
96c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional .com.android.server.wm.proto.ConfigurationContainerProto configuration_container = 1;
97c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 id = 2;
984346f0a15cc8298d354e5257f81f637399b78514Steven Timotius  repeated ActivityRecordProto activities = 3;
99c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 stack_id = 4;
100c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional .android.graphics.RectProto last_non_fullscreen_bounds = 5;
101c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional string real_activity = 6;
102c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional string orig_activity = 7;
103c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 activity_type = 8;
10466e16856ac874babd1156857cff281085a9a6732Wale Ogunwale  optional int32 resize_mode = 9;
10566e16856ac874babd1156857cff281085a9a6732Wale Ogunwale  optional bool fullscreen = 10;
10666e16856ac874babd1156857cff281085a9a6732Wale Ogunwale  optional .android.graphics.RectProto bounds = 11;
10766e16856ac874babd1156857cff281085a9a6732Wale Ogunwale  optional int32 min_width = 12;
10866e16856ac874babd1156857cff281085a9a6732Wale Ogunwale  optional int32 min_height = 13;
1094346f0a15cc8298d354e5257f81f637399b78514Steven Timotius}
1104346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
1114346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityRecordProto {
1120d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1130d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
114c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional .com.android.server.wm.proto.ConfigurationContainerProto configuration_container = 1;
115c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional .com.android.server.wm.proto.IdentifierProto identifier = 2;
116c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional string state = 3;
117c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional bool visible = 4;
118c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional bool front_of_task = 5;
119c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 proc_id = 6;
1204346f0a15cc8298d354e5257f81f637399b78514Steven Timotius}
1214346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
1224346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage KeyguardControllerProto {
1230d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1240d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
125c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional bool keyguard_showing = 1;
126c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional bool keyguard_occluded = 2;
127129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
128129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
1296b51414154e621a073e898835d9ffaa671c862d8Yi Jin// "dumpsys activity --proto broadcasts"
1302b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jinmessage ActivityManagerServiceDumpBroadcastsProto {
1310d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1320d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
133129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  repeated ReceiverListProto  receiver_list = 1;
134129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
135c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional .com.android.server.IntentResolverProto receiver_resolver = 2;
136129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
137129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  repeated BroadcastQueueProto broadcast_queue = 3;
138129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
139129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  repeated StickyBroadcastProto sticky_broadcasts = 4;
140129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
141129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  message MainHandler {
14269040223a9d96d25adf306e4302be87985db0b81Yi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
14369040223a9d96d25adf306e4302be87985db0b81Yi Jin
144c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin    optional string handler = 1;
145c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin    optional .android.os.LooperProto looper = 2;
146129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  }
147c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional MainHandler handler = 5;
148129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
149129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
150129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage ReceiverListProto {
1510d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1520d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
153c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional ProcessRecordProto app = 1;
154c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 pid = 2;
155c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 uid = 3;
156c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 user = 4;
157c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional BroadcastRecordProto current = 5;
158c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional bool linked_to_death = 6;
159129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  repeated BroadcastFilterProto filters = 7;
160c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional string hex_hash = 8; // this hash is used to find the object in IntentResolver
161129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
162129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
163129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage ProcessRecordProto {
1640d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1650d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
166c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 pid = 1;
167c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional string process_name = 2;
168c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 uid = 3;
169c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 user_id = 4;
170c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 app_id = 5;
171c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 isolated_app_id = 6;
172148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool persistent = 7;
173129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
174129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
175129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage BroadcastRecordProto {
1760d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1770d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
178c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 user_id = 1;
179c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional string intent_action = 2;
180129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
181129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
182129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage BroadcastFilterProto {
1830d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1840d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
185c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional .android.content.IntentFilterProto intent_filter = 1;
186c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional string required_permission = 2;
187c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional string hex_hash = 3; // used to find the object in IntentResolver
188c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 owning_user_id = 4;
189129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
190129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
191129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage BroadcastQueueProto {
1920d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1930d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
194c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional string queue_name = 1;
195129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  repeated BroadcastRecordProto parallel_broadcasts = 2;
196129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  repeated BroadcastRecordProto ordered_broadcasts = 3;
197c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional BroadcastRecordProto pending_broadcast = 4;
198129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  repeated BroadcastRecordProto historical_broadcasts = 5;
199129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
200129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  message BroadcastSummary {
2010d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
2020d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
203c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin    optional .android.content.IntentProto intent = 1;
204c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin    optional int64 enqueue_clock_time_ms = 2;
205c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin    optional int64 dispatch_clock_time_ms = 3;
206c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin    optional int64 finish_clock_time_ms = 4;
207129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  }
208129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  repeated BroadcastSummary historical_broadcasts_summary = 6;
209129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
210129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
2112b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jinmessage MemInfoDumpProto {
2120d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
2130d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
214598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams  optional int64 uptime_duration_ms = 1;
215598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams  optional int64 elapsed_realtime_ms = 2;
216598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams
217983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  message ProcessMemory {
2180d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
2190d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
220598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    optional int32 pid = 1;
221598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    optional string process_name = 2;
222598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams
223598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    message MemoryInfo {
2240d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      option (.android.msg_privacy).dest = DEST_AUTOMATIC;
2250d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
226598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional string name = 1;
227598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      // The proportional set size for the heap.
228598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 total_pss_kb = 2;
229598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      // The proportional set size that is swappable for the heap.
230598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 clean_pss_kb = 3;
231598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      // The private dirty pages used by the heap.
232598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 shared_dirty_kb = 4;
233598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      // The shared dirty pages used by the heap.
234598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 private_dirty_kb = 5;
235598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      // The shared clean pages used by the heap.
236598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 shared_clean_kb = 6;
237598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      // The private clean pages used by the heap.
238598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 private_clean_kb = 7;
239598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      oneof dirty_swap {
240598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams        // The dirty the pages that have been swapped out.
241598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams        int32 dirty_swap_kb = 8;
242598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams        // The dirty the pages that have been swapped out, proportional.
243598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams        int32 dirty_swap_pss_kb = 9;
244598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      }
245598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    }
246598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    message HeapInfo {
2470d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      option (.android.msg_privacy).dest = DEST_AUTOMATIC;
2480d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
249598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional MemoryInfo mem_info = 1;
250598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 heap_size_kb = 2;
251598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 heap_alloc_kb = 3;
252598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 heap_free_kb = 4;
253598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    }
254598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    optional HeapInfo native_heap = 3;
255598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    optional HeapInfo dalvik_heap = 4;
256598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    repeated MemoryInfo other_heaps = 5;
257983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional MemoryInfo unknown_heap = 6;
258598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    // Summation of native_heap, dalvik_heap, and other_heaps.
259598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    optional HeapInfo total_heap = 7;
260598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams
261598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    repeated MemoryInfo dalvik_details = 8;
262598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams
263598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    message AppSummary {
2640d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      option (.android.msg_privacy).dest = DEST_AUTOMATIC;
2650d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
266598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 java_heap_pss_kb = 1;
267598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 native_heap_pss_kb = 2;
268598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 code_pss_kb = 3;
269598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 stack_pss_kb = 4;
270598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 graphics_pss_kb = 5;
271598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 private_other_pss_kb = 6;
272598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      optional int32 system_pss_kb = 7;
273598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams
274598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      oneof total_swap {
275598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams        int32 total_swap_pss = 8;
276598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams        int32 total_swap_kb = 9;
277598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams      }
278598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    }
279598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    optional AppSummary app_summary = 9;
280598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams  }
281983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  repeated ProcessMemory native_processes = 3;
282983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
283983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  message AppData {
2840d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
2850d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
286983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional ProcessMemory process_memory = 1;
287983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
288983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    message ObjectStats {
2890d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      option (.android.msg_privacy).dest = DEST_AUTOMATIC;
2900d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
291983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 view_instance_count = 1;
292983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 view_root_instance_count = 2;
293983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 app_context_instance_count = 3;
294983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 activity_instance_count = 4;
295983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 global_asset_count = 5;
296983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 global_asset_manager_count = 6;
297983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 local_binder_object_count = 7;
298983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 proxy_binder_object_count = 8;
299983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int64 parcel_memory_kb = 9;
300983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 parcel_count = 10;
301983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 binder_object_death_count = 11;
302983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 open_ssl_socket_count = 12;
303983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 webview_instance_count = 13;
304983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    }
305983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional ObjectStats objects = 2;
306983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
307983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    message SqlStats {
3080d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      option (.android.msg_privacy).dest = DEST_AUTOMATIC;
3090d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
310983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 memory_used_kb = 1;
311983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 pagecache_overflow_kb = 2;
312983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      optional int32 malloc_size_kb = 3;
313983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
314983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      message Database {
3150d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
3160d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
317983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams        optional string name = 1;
318983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams        optional int32 page_size = 2;
319983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams        optional int32 db_size = 3;
320983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams        // Number of lookaside slots:
321983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams        // http://www.sqlite.org/c3ref/c_dbstatus_lookaside_used.html
322983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams        optional int32 lookaside_b = 4;
323983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams        // Statement cache stats: hits/misses/cachesize
324983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams        optional string cache = 5;
325983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      }
326983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams      repeated Database databases = 4;
327983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    }
328983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional SqlStats sql = 3;
329983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
330983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional string asset_allocations = 4;
331983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional string unreachable_memory = 5;
332983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  }
333983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  repeated AppData app_processes = 4;
334983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
335983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  message MemItem {
3360d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
3370d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
338983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional string tag = 1;
339983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional string label = 2;
340983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional int32 id = 3;
341983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional bool is_proc = 4;
342983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional bool has_activities = 5;
343983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional int64 pss_kb = 6;
344983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    optional int64 swap_pss_kb = 7;
345983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    repeated MemItem sub_items = 8;
346983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  }
347983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  repeated MemItem total_pss_by_process = 5;
348983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  repeated MemItem total_pss_by_oom_adjustment = 6;
349983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  repeated MemItem total_pss_by_category = 7;
350983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
351983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 total_ram_kb = 8;
352983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional .com.android.internal.app.procstats.ProcessStatsProto.MemoryFactor status = 9;
353983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // Total free RAM = cached_pss_kb + cached_kernel_kb + free_kb.
354983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 cached_pss_kb = 10;
355983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 cached_kernel_kb = 11;
356983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 free_kb = 12;
357983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // Total used RAM = used_pss_kb + used_kernel_kb.
358983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 used_pss_kb = 13;
359983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 used_kernel_kb = 14;
360983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
361983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 lost_ram_kb = 15;
362983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
363983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 total_zram_kb = 16;
364983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 zram_physical_used_in_swap_kb = 17;
365983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 total_zram_swap_kb = 18;
366983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
367983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 ksm_sharing_kb = 19;
368983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 ksm_shared_kb = 20;
369983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 ksm_unshared_kb = 21;
370983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 ksm_volatile_kb = 22;
371983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
372983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // The approximate per-application memory class of the current device. This
373983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // gives developers an idea of how hard a memory limit you should impose on
374983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // their application to let the overall system work best. The value is in
375983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // megabytes; the baseline Android memory class is 16 (which happens to be the
376983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // Java heap limit of those devices); some devices with more memory may have
377983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // 24 or even higher numbers.
378983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int32 tuning_mb = 23;
379983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // The approximate per-application memory class of the current device when an
380983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // application is running with a large heap. This is the space available for
381983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // memory-intensive applications; most applications should not need this
382983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // amount of memory, and should instead stay with the tuning_mb limit. The
383983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // value is in megabytes. This may be the same size as tuning_mb on memory
384983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // constrained devices, or it may be significantly larger on devices with a
385983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // large amount of available RAM.
386983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // This is the size of the application's Dalvik heap if it has specified
387983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // 'android:largeHeap="true"' in its manifest.
388983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int32 tuning_large_mb = 24;
389983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
390983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 oom_kb = 25;
391983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
392983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // The maximum pss size in kb that we consider a process acceptable to restore
393983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  // from its cached state for running in the background when RAM is low.
394983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional int64 restore_limit_kb = 26;
395983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
396983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional bool is_low_ram_device = 27;
397983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams  optional bool is_high_end_gfx = 28;
398598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams}
399598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams
400129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage StickyBroadcastProto {
4010d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4020d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
403c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin  optional int32 user = 1;
404129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
405129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  message StickyAction {
4060d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4070d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
408c7f93070b6a5c8c12afcb77eb4e95c3018e1729fYi Jin    optional string name = 1;
409129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin    repeated .android.content.IntentProto intents = 2;
410129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  }
411129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin  repeated StickyAction actions = 2;
412129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
413129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
4146b51414154e621a073e898835d9ffaa671c862d8Yi Jin// "dumpsys activity --proto service"
4152b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jinmessage ActivityManagerServiceDumpServicesProto {
4162b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4172b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin
4182b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin  optional ActiveServicesProto active_services = 1;
4192b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin}
4202b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin
4216b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage ActiveServicesProto {
4220d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4236b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4246b51414154e621a073e898835d9ffaa671c862d8Yi Jin  message ServicesByUser {
4256b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional int32 user_id = 1;
4266b51414154e621a073e898835d9ffaa671c862d8Yi Jin    repeated ServiceRecordProto service_records = 2;
4276b51414154e621a073e898835d9ffaa671c862d8Yi Jin  }
4286b51414154e621a073e898835d9ffaa671c862d8Yi Jin  repeated ServicesByUser services_by_users = 1;
4296b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
4306b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4316b51414154e621a073e898835d9ffaa671c862d8Yi Jin// corresponds to ActivityManagerService.GrantUri Java class
4326b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage GrantUriProto {
4330d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4340d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
4356b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional int32 source_user_id = 1;
4360d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  optional string uri = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
4376b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
4386b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4396b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage NeededUriGrantsProto {
4400d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4410d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
4426b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string target_package = 1;
4436b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional int32 target_uid = 2;
4446b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional int32 flags = 3;
4456b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4466b51414154e621a073e898835d9ffaa671c862d8Yi Jin  repeated GrantUriProto grants = 4;
4476b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
4486b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4496b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage UriPermissionOwnerProto {
4500d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_EXPLICIT;
4510d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
4526b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string owner = 1;
4536b51414154e621a073e898835d9ffaa671c862d8Yi Jin  repeated GrantUriProto read_perms = 2;
4546b51414154e621a073e898835d9ffaa671c862d8Yi Jin  repeated GrantUriProto write_perms = 3;
4556b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
4566b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4576b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage ServiceRecordProto {
4580d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4590d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
4606b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string short_name = 1;
4616b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string hex_hash = 2;
4626b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional bool is_running = 3; // false if the application service is null
4636b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional int32 pid = 4;
4646b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional .android.content.IntentProto intent = 5;
4656b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string package_name = 6;
4666b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string process_name = 7;
4676b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string permission = 8;
4686b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4696b51414154e621a073e898835d9ffaa671c862d8Yi Jin  message AppInfo {
4700d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_EXPLICIT;
4710d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
4726b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional string base_dir = 1;
4736b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional string res_dir = 2;
4746b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional string data_dir = 3;
4756b51414154e621a073e898835d9ffaa671c862d8Yi Jin  }
4766b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional AppInfo appinfo = 9;
4776b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional ProcessRecordProto app = 10;
4786b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional ProcessRecordProto isolated_proc = 11;
4796b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional bool whitelist_manager = 12;
4806b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional bool delayed = 13;
4816b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4826b51414154e621a073e898835d9ffaa671c862d8Yi Jin  message Foreground {
4830d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4840d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
4856b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional int32 id = 1;
4866b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional .android.app.NotificationProto notification = 2;
4876b51414154e621a073e898835d9ffaa671c862d8Yi Jin  }
4886b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional Foreground foreground = 14;
4896b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4906b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional .android.util.Duration create_real_time = 15;
4916b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional .android.util.Duration starting_bg_timeout = 16;
4926b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional .android.util.Duration last_activity_time = 17;
4936b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional .android.util.Duration restart_time = 18;
4946b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional bool created_from_fg = 19;
4956b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4966b51414154e621a073e898835d9ffaa671c862d8Yi Jin  // variables used to track states related to service start
4976b51414154e621a073e898835d9ffaa671c862d8Yi Jin  message Start {
4980d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4990d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
5006b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional bool start_requested = 1;
5016b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional bool delayed_stop = 2;
5026b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional bool stop_if_killed = 3;
5036b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional bool call_start = 4;
5046b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional int32 last_start_id = 5;
5056b51414154e621a073e898835d9ffaa671c862d8Yi Jin  }
5066b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional Start start = 20;
5076b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5086b51414154e621a073e898835d9ffaa671c862d8Yi Jin  message ExecuteNesting {
5090d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
5100d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
5116b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional int32 execute_nesting = 1;
5126b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional bool execute_fg = 2;
5136b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional .android.util.Duration executing_start = 3;
5146b51414154e621a073e898835d9ffaa671c862d8Yi Jin  }
5156b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional ExecuteNesting execute = 21;
5166b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5176b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional .android.util.Duration destory_time = 22;
5186b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5196b51414154e621a073e898835d9ffaa671c862d8Yi Jin  message Crash {
5200d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
5210d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
5226b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional int32 restart_count = 1;
5236b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional .android.util.Duration restart_delay = 2;
5246b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional .android.util.Duration next_restart_time = 3;
5256b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional int32 crash_count = 4;
5266b51414154e621a073e898835d9ffaa671c862d8Yi Jin  }
5276b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional Crash crash = 23;
5286b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5296b51414154e621a073e898835d9ffaa671c862d8Yi Jin  message StartItemProto {
5300d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
5310d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
5326b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional int32 id = 1;
5336b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional .android.util.Duration duration = 2;
5346b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional int32 delivery_count = 3;
5356b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional int32 done_executing_count = 4;
5366b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional .android.content.IntentProto intent = 5;
5376b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional NeededUriGrantsProto needed_grants = 6;
5386b51414154e621a073e898835d9ffaa671c862d8Yi Jin    optional UriPermissionOwnerProto uri_permissions = 7;
5396b51414154e621a073e898835d9ffaa671c862d8Yi Jin  }
5406b51414154e621a073e898835d9ffaa671c862d8Yi Jin  repeated StartItemProto delivered_starts = 24;
5416b51414154e621a073e898835d9ffaa671c862d8Yi Jin  repeated StartItemProto pending_starts = 25;
5426b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5436b51414154e621a073e898835d9ffaa671c862d8Yi Jin  repeated IntentBindRecordProto bindings = 26;
5446b51414154e621a073e898835d9ffaa671c862d8Yi Jin  repeated ConnectionRecordProto connections = 27;
5456b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
5466b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5476b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage ConnectionRecordProto {
5480d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
5490d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
5506b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string hex_hash = 1;
5516b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional int32 user_id = 2;
5526b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5536b51414154e621a073e898835d9ffaa671c862d8Yi Jin  enum Flag {
5546b51414154e621a073e898835d9ffaa671c862d8Yi Jin    AUTO_CREATE = 0;
5556b51414154e621a073e898835d9ffaa671c862d8Yi Jin    DEBUG_UNBIND = 1;
5566b51414154e621a073e898835d9ffaa671c862d8Yi Jin    NOT_FG = 2;
5576b51414154e621a073e898835d9ffaa671c862d8Yi Jin    IMPORTANT_BG = 3;
5586b51414154e621a073e898835d9ffaa671c862d8Yi Jin    ABOVE_CLIENT = 4;
5596b51414154e621a073e898835d9ffaa671c862d8Yi Jin    ALLOW_OOM_MANAGEMENT = 5;
5606b51414154e621a073e898835d9ffaa671c862d8Yi Jin    WAIVE_PRIORITY = 6;
5616b51414154e621a073e898835d9ffaa671c862d8Yi Jin    IMPORTANT = 7;
5626b51414154e621a073e898835d9ffaa671c862d8Yi Jin    ADJUST_WITH_ACTIVITY = 8;
563148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    FG_SERVICE_WHILE_AWAKE = 9;
5646b51414154e621a073e898835d9ffaa671c862d8Yi Jin    FG_SERVICE = 10;
5656b51414154e621a073e898835d9ffaa671c862d8Yi Jin    TREAT_LIKE_ACTIVITY = 11;
5666b51414154e621a073e898835d9ffaa671c862d8Yi Jin    VISIBLE = 12;
5676b51414154e621a073e898835d9ffaa671c862d8Yi Jin    SHOWING_UI = 13;
5686b51414154e621a073e898835d9ffaa671c862d8Yi Jin    NOT_VISIBLE = 14;
5696b51414154e621a073e898835d9ffaa671c862d8Yi Jin    DEAD = 15;
5706b51414154e621a073e898835d9ffaa671c862d8Yi Jin  }
5716b51414154e621a073e898835d9ffaa671c862d8Yi Jin  repeated Flag flags = 3;
5726b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string service_name = 4;
5736b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string conn_hex_hash = 5;
5746b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
5756b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5766b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage AppBindRecordProto {
5770d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
5780d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
5796b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string hex_hash = 1;
5806b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional ProcessRecordProto client = 2;
5816b51414154e621a073e898835d9ffaa671c862d8Yi Jin  repeated ConnectionRecordProto connections = 3;
5826b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
5836b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5846b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage IntentBindRecordProto {
5850d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
5860d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
5876b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string hex_hash = 1;
5886b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional bool is_create = 2;
5896b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional .android.content.IntentProto intent = 3;
5906b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional string binder = 4;
5916b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional bool requested = 5;
5926b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional bool received = 6;
5936b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional bool has_bound = 7;
5946b51414154e621a073e898835d9ffaa671c862d8Yi Jin  optional bool do_rebind = 8;
5956b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5966b51414154e621a073e898835d9ffaa671c862d8Yi Jin  repeated AppBindRecordProto apps = 9;
597129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
598129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
5996b51414154e621a073e898835d9ffaa671c862d8Yi Jin// TODO: "dumpsys activity --proto processes"
6002b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jinmessage ActivityManagerServiceDumpProcessesProto {
6010d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6020d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
603148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated ProcessRecordProto procs = 1;
604148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated ProcessRecordProto isolated_procs = 2;
605148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated ActiveInstrumentationProto active_instrumentations = 3;
606148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated UidRecordProto active_uids = 4;
607148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated UidRecordProto validate_uids = 5;
608148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
609148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  // Process LRU list (sorted by oom_adj)
610148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message LruProcesses {
6110d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6120d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
613148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 size = 1;
614148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 non_act_at = 2;
615148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 non_svc_at = 3;
616148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    repeated ProcessOomProto list = 4;
617148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
618148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional LruProcesses lru_procs = 6;
619148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated ProcessRecordProto pids_self_locked = 7;
620148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  // Foreground Processes
621148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated ImportanceTokenProto important_procs = 8;
622148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  // Persisent processes that are starting
623148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated ProcessRecordProto persistent_starting_procs = 9;
624148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  // Processes that are being removed
625148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated ProcessRecordProto removed_procs = 10;
626148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  // Processes that are on old until the system is ready
627148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated ProcessRecordProto on_hold_procs = 11;
628148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  // Processes that are waiting to GC
629148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated ProcessToGcProto gc_procs = 12;
630148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional AppErrorsProto app_errors = 13;
631148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional UserControllerProto user_controller = 14;
632148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional ProcessRecordProto home_proc = 15;
633148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional ProcessRecordProto previous_proc = 16;
634148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int64 previous_proc_visible_time_ms = 17;
635148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional ProcessRecordProto heavy_weight_proc = 18;
636148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional .android.content.ConfigurationProto global_configuration = 19;
637148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  // ActivityStackSupervisorProto dumps these values as well, still here?
638148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  // repeated ActivityDisplayProto displays = 20;
639148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
640148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool config_will_change = 21;
641148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
642148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message ScreenCompatPackage {
6430d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6440d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
645148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string package = 1;
646148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 mode = 2;
647148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
648148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated ScreenCompatPackage screen_compat_packages = 22;
649148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
650148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message UidObserverRegistrationProto {
6510d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6520d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
653148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 uid = 1;
654148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string package = 2;
655148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    repeated .android.app.UidObserverFlag flags = 3;
656148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 cut_point = 4; // only available when UID_OBSERVER_PROCSTATE is on
657148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
658148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    message ProcState {
6590d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6600d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
661148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional int32 uid = 1;
662148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional int32 state = 2;
663148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    }
664148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    repeated ProcState last_proc_states = 5;
665148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
666148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated UidObserverRegistrationProto uid_observers = 23;
667148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated int32 device_idle_whitelist = 24;
668148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated int32 device_idle_temp_whitelist = 25;
669148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
670148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message PendingTempWhitelist {
6710d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6720d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
673148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 target_uid = 1;
674148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int64 duration_ms = 2;
675148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string tag = 3;
676148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
677148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated PendingTempWhitelist pending_temp_whitelist = 26;
678148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
679148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message SleepStatus {
6800d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6810d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
682148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional .android.os.PowerManagerInternalProto.Wakefulness wakefulness = 1;
68369040223a9d96d25adf306e4302be87985db0b81Yi Jin    repeated string sleep_tokens = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
684148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional bool sleeping = 3;
685148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional bool shutting_down = 4;
686148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional bool test_pss_mode = 5;
687148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
688148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional SleepStatus sleep_status = 27;
689148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
690148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message VoiceProto {
69169040223a9d96d25adf306e4302be87985db0b81Yi Jin    option (.android.msg_privacy).dest = DEST_EXPLICIT;
6920d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
693148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string session = 1;
694148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional .android.os.PowerManagerProto.WakeLockProto wakelock = 2;
695148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
696148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional VoiceProto running_voice = 28;
697148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
698148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message VrControllerProto {
6990d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7000d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
701148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    enum VrMode {
702148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      FLAG_NON_VR_MODE = 0;
703148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      FLAG_VR_MODE = 1;
704148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      FLAG_PERSISTENT_VR_MODE = 2;
705148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    }
706148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    repeated VrMode vr_mode = 1;
707148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 render_thread_id = 2;
708148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
709148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional VrControllerProto vr_controller = 29;
710148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
711148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message DebugApp {
7120d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7130d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
714148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string debug_app = 1;
715148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string orig_debug_app = 2;
716148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional bool debug_transient = 3;
717148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional bool orig_wait_for_debugger = 4;
718148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
719148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional DebugApp debug = 30;
720148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional AppTimeTrackerProto current_tracker = 31;
721148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
722148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message MemWatchProcess {
7230d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7240d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
725148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    message Process {
7260d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7270d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
728148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional string name = 1;
729148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
730148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      message MemStats {
7310d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7320d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
733148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin        optional int32 uid = 1;
734148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin        optional string size = 2;
735148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin        optional string report_to = 3;
736148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      }
737148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      repeated MemStats mem_stats = 2;
738148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    }
739148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    repeated Process procs = 1;
740148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
741148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    message Dump {
7420d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7430d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
744148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional string proc_name = 1;
74569040223a9d96d25adf306e4302be87985db0b81Yi Jin      optional string file = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
746148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional int32 pid = 3;
747148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional int32 uid = 4;
748148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    }
749148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional Dump dump = 2;
750148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
751148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional MemWatchProcess mem_watch_processes = 32;
752148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional string track_allocation_app = 33;
753148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
754148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message Profile {
7550d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7560d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
757148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string app_name = 1;
758148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional ProcessRecordProto proc = 2;
759148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional .android.app.ProfilerInfoProto info = 3;
760148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 type = 4;
761148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
762148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional Profile profile = 34;
763148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional string native_debugging_app = 35;
764148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool always_finish_activities = 36;
765148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
766148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message Controller {
7670d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7680d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
769148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string controller = 1;
770148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional bool is_a_monkey = 2;
771148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
772148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional Controller controller = 37;
773148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
774148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 total_persistent_procs = 38;
775148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool processes_ready = 39;
776148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool system_ready = 40;
777148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool booted = 41;
778148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 factory_test = 42;
779148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool booting = 43;
780148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool call_finish_booting = 44;
781148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool boot_animation_complete = 45;
782148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int64 last_power_check_uptime_ms = 46;
783148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional .android.os.PowerManagerProto.WakeLockProto going_to_sleep = 47;
784148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional .android.os.PowerManagerProto.WakeLockProto launching_activity = 48;
785148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 adj_seq = 49;
786148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 lru_seq = 50;
787148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 num_non_cached_procs = 51;
788148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 num_cached_hidden_procs = 52;
789148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 num_service_procs = 53;
790148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 new_num_service_procs = 54;
791148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool allow_lower_mem_level = 55;
792148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 last_memory_level = 56;
793148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 last_num_processes = 57;
794148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional .android.util.Duration last_idle_time = 58;
795148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int64 low_ram_since_last_idle_ms = 59;
796148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
797148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
798148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ActiveInstrumentationProto {
7990d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
8000d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
801148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional .android.content.ComponentNameProto class = 1;
802148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool finished = 2;
803148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated ProcessRecordProto running_processes = 3;
804148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated string target_processes = 4;
805148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional .android.content.pm.ApplicationInfoProto target_info = 5;
806148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional string profile_file = 6;
807148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional string watcher = 7;
808148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional string ui_automation_connection = 8;
8090d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  optional string arguments = 9  [ (.android.privacy).dest = DEST_EXPLICIT ];
810148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
811148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
812148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// Proto definition of com.android.server.am.UidRecord.java
813148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage UidRecordProto {
8140d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
8150d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
816148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional string hex_hash = 1;
817148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 uid = 2;
818db026a28aa56d725ef40e9f785d7582f6cd774b8Bookatz  optional .android.app.ProcessStateEnum current = 3;
819148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool ephemeral = 4;
820148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool fg_services = 5;
821148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool whilelist = 6;
822148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional .android.util.Duration last_background_time = 7;
823148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool idle = 8;
824148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
825148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  enum Change {
826148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    CHANGE_GONE = 0;
827148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    CHANGE_IDLE = 1;
828148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    CHANGE_ACTIVE = 2;
829148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    CHANGE_CACHED = 3;
830148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    CHANGE_UNCACHED = 4;
831148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
832148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated Change last_reported_changes = 9;
833148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 num_procs = 10;
834148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
835148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message ProcStateSequence {
8360d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
8370d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
838148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int64 cururent = 1;
839148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int64 last_network_updated = 2;
840148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int64 last_dispatched = 3;
841148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
842148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional ProcStateSequence network_state_update = 11;
843148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
844148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
845148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// proto of class ImportanceToken in ActivityManagerService
846148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ImportanceTokenProto {
8470d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_EXPLICIT;
8480d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
849148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 pid = 1;
850148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional string token = 2;
851148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional string reason = 3;
852148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
853148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
854148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ProcessOomProto {
8550d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
8560d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
857148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool persistent = 1;
858148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 num = 2;
859148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional string oom_adj = 3;
860148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
861148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  // Activity manager's version of Process enum, see ProcessList.java
862148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  enum SchedGroup {
863148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    SCHED_GROUP_UNKNOWN = -1;
864148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    SCHED_GROUP_BACKGROUND = 0;
865148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    SCHED_GROUP_DEFAULT = 1;
866148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    SCHED_GROUP_TOP_APP = 2;
867148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    SCHED_GROUP_TOP_APP_BOUND = 3;
868148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
869148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional SchedGroup sched_group = 4 [ default = SCHED_GROUP_UNKNOWN];
870148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
871148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  oneof Foreground {
872148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    bool activities = 5;
873148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    bool services = 6;
874148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
875148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
876db026a28aa56d725ef40e9f785d7582f6cd774b8Bookatz  optional .android.app.ProcessStateEnum state = 7;
877148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int32 trim_memory_level = 8;
878148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional ProcessRecordProto proc = 9;
879148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional string adj_type = 10;
880148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
881148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  oneof AdjTarget {
882148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    .android.content.ComponentNameProto adj_target_component_name = 11;
883148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    string adj_target_object = 12;
884148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
885148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
886148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  oneof AdjSource {
887148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    ProcessRecordProto adj_source_proc = 13;
888148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    string adj_source_object = 14;
889148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
890148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
891148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message Detail {
8920d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
8930d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
894148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 max_adj = 1;
895148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 cur_raw_adj = 2;
896148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 set_raw_adj = 3;
897148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 cur_adj = 4;
898148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 set_adj = 5;
899db026a28aa56d725ef40e9f785d7582f6cd774b8Bookatz    optional .android.app.ProcessStateEnum current_state = 7;
900db026a28aa56d725ef40e9f785d7582f6cd774b8Bookatz    optional .android.app.ProcessStateEnum set_state = 8;
901148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string last_pss = 9;
902148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string last_swap_pss = 10;
903148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string last_cached_pss = 11;
904148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional bool cached = 12;
905148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional bool empty = 13;
906148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional bool has_above_client = 14;
907148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
908148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    // only make sense if process is a service
909148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    message CpuRunTime {
9100d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9110d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
912148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional int64 over_ms = 1;
913148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional int64 used_ms = 2;
914148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional float ultilization = 3; // ratio of cpu time usage
915148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    }
916148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional CpuRunTime service_run_time = 15;
917148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
918148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional Detail detail = 15;
919148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
920148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
921148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ProcessToGcProto {
9220d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9230d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
924148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional ProcessRecordProto proc = 1;
925148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool report_low_memory = 2;
926148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int64 now_uptime_ms = 3;
927148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int64 last_gced_ms = 4;
928148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int64 last_low_memory_ms = 5;
929148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
930148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
931148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// sync with com.android.server.am.AppErrors.java
932148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage AppErrorsProto {
9330d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
934148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
935148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int64 now_uptime_ms = 1;
936148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
937148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message ProcessCrashTime {
9380d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9390d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
940148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string process_name = 1;
941148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
942148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    message Entry {
9430d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9440d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
945148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional int32 uid = 1;
946148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional int64 last_crashed_at_ms = 2;
947148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    }
948148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    repeated Entry entries = 2;
949148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
950148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated ProcessCrashTime process_crash_times = 2;
951148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
952148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message BadProcess {
9530d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9540d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
955148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string process_name = 1;
956148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
957148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    message Entry {
9580d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9590d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
960148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional int32 uid = 1;
961148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional int64 crashed_at_ms = 2;
962148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin      optional string short_msg = 3;
9630d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      optional string long_msg = 4  [ (.android.privacy).dest = DEST_EXPLICIT ];
9640d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin      optional string stack = 5  [ (.android.privacy).dest = DEST_EXPLICIT ];
965148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    }
966148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    repeated Entry entries = 2;
967148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
968148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated BadProcess bad_processes = 3;
969148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
970148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
971148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// sync with com.android.server.am.UserState.java
972148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage UserStateProto {
9730d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9740d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
975148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  enum State {
976148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    STATE_BOOTING = 0;
977148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    STATE_RUNNING_LOCKED = 1;
978148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    STATE_RUNNING_UNLOCKING = 2;
979148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    STATE_RUNNING_UNLOCKED = 3;
980148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    STATE_STOPPING = 4;
981148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    STATE_SHUTDOWN = 5;
982148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
983148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional State state = 1;
984148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional bool switching = 2;
985148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
986148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
987148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// sync with com.android.server.am.UserController.java
988148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage UserControllerProto {
9890d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9900d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
991148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message User {
9920d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9930d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
994148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 id = 1;
995148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional UserStateProto state = 2;
996148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
997148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated User started_users = 1;
998148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated int32 started_user_array = 2;
999148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated int32 user_lru = 3;
1000148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
1001148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message UserProfile {
10020d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
10030d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
1004148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 user = 1;
1005148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int32 profile = 2;
1006148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
1007148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated UserProfile user_profile_group_ids = 4;
1008148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
1009148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
1010148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// sync with com.android.server.am.AppTimeTracker.java
1011148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage AppTimeTrackerProto {
10120d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin  option (.android.msg_privacy).dest = DEST_AUTOMATIC;
10130d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
1014148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional string receiver = 1;
1015148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional int64 total_duration_ms = 2;
1016148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
1017148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  message PackageTime {
101869040223a9d96d25adf306e4302be87985db0b81Yi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
101969040223a9d96d25adf306e4302be87985db0b81Yi Jin
1020148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional string package = 1;
1021148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    optional int64 duration_ms = 2;
1022148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  }
1023148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  repeated PackageTime package_times = 3;
1024148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
1025148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional .android.util.Duration started_time = 4;
1026148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin  optional string started_package = 5;
1027129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
1028