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
196c6e9cab42bccb44ebb4b30e7eab7394c0dbb759Yi Jinpackage com.android.server.am;
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 {
4121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
420d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
4321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ActivityManagerServiceDumpActivitiesProto activities = 1;
44129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
4521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ActivityManagerServiceDumpBroadcastsProto broadcasts = 2;
46129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
4721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ActivityManagerServiceDumpServicesProto services = 3;
48129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
4921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ActivityManagerServiceDumpProcessesProto processes = 4;
504346f0a15cc8298d354e5257f81f637399b78514Steven Timotius}
514346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
526b51414154e621a073e898835d9ffaa671c862d8Yi Jin// "dumpsys activity --proto activities"
532b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jinmessage ActivityManagerServiceDumpActivitiesProto {
5421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
552b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin
5621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ActivityStackSupervisorProto activity_stack_supervisor = 1;
572b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin}
582b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin
594346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityStackSupervisorProto {
6021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
6221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
6321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ActivityDisplayProto displays = 2;
6421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional KeyguardControllerProto keyguard_controller = 3;
6521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 focused_stack_id = 4;
6621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .com.android.server.wm.IdentifierProto resumed_activity = 5;
6721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Whether or not the home activity is the recents activity. This is needed for the CTS tests to
6821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // know what activity types to check for when invoking splitscreen multi-window.
6921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool is_home_recents_component = 6;
704346f0a15cc8298d354e5257f81f637399b78514Steven Timotius}
714346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
724346f0a15cc8298d354e5257f81f637399b78514Steven Timotius/* represents ActivityStackSupervisor.ActivityDisplay */
734346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityDisplayProto {
7421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
750d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
7621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
7721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 id = 2;
7821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ActivityStackProto stacks = 3;
794346f0a15cc8298d354e5257f81f637399b78514Steven Timotius}
804346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
814346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityStackProto {
8221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
8321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
8421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
8521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 id = 2;
8621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated TaskRecordProto tasks = 3;
8721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .com.android.server.wm.IdentifierProto resumed_activity = 4;
8821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 display_id = 5;
8921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool fullscreen = 6;
9021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.graphics.RectProto bounds = 7;
914346f0a15cc8298d354e5257f81f637399b78514Steven Timotius}
924346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
934346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage TaskRecordProto {
9421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
9621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
9721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 id = 2;
9821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ActivityRecordProto activities = 3;
9921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 stack_id = 4;
10021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.graphics.RectProto last_non_fullscreen_bounds = 5;
10121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string real_activity = 6;
10221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string orig_activity = 7;
10321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 activity_type = 8;
10421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 resize_mode = 9;
10521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool fullscreen = 10;
10621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.graphics.RectProto bounds = 11;
10721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 min_width = 12;
10821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 min_height = 13;
1094346f0a15cc8298d354e5257f81f637399b78514Steven Timotius}
1104346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
1114346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage ActivityRecordProto {
11221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
11321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
11421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .com.android.server.wm.ConfigurationContainerProto configuration_container = 1;
11521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .com.android.server.wm.IdentifierProto identifier = 2;
11621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string state = 3;
11721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool visible = 4;
11821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool front_of_task = 5;
11921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 proc_id = 6;
12030eab1f43074590fb08dd48de0bf786561622effWale Ogunwale    optional bool translucent = 7;
1214346f0a15cc8298d354e5257f81f637399b78514Steven Timotius}
1224346f0a15cc8298d354e5257f81f637399b78514Steven Timotius
1234346f0a15cc8298d354e5257f81f637399b78514Steven Timotiusmessage KeyguardControllerProto {
12421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1250d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
12621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool keyguard_showing = 1;
12721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool keyguard_occluded = 2;
128129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
129129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
1306b51414154e621a073e898835d9ffaa671c862d8Yi Jin// "dumpsys activity --proto broadcasts"
1312b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jinmessage ActivityManagerServiceDumpBroadcastsProto {
13221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1330d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
13421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ReceiverListProto receiver_list = 1;
135129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
13621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .com.android.server.IntentResolverProto receiver_resolver = 2;
137129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
13821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated BroadcastQueueProto broadcast_queue = 3;
139129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
14021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated StickyBroadcastProto sticky_broadcasts = 4;
141129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
14221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message MainHandler {
14321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
14469040223a9d96d25adf306e4302be87985db0b81Yi Jin
14521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string handler = 1;
14621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.os.LooperProto looper = 2;
14721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
14821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional MainHandler handler = 5;
149129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
150129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
151129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage ReceiverListProto {
15221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
15321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
15421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ProcessRecordProto app = 1;
15521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 pid = 2;
15621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 uid = 3;
15721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 user = 4;
15821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional BroadcastRecordProto current = 5;
15921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool linked_to_death = 6;
16021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated BroadcastFilterProto filters = 7;
16121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string hex_hash = 8; // used to find this ReceiverList object in IntentResolver
162129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
163129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
164129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage ProcessRecordProto {
16521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
16621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
16721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 pid = 1;
16821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string process_name = 2;
16921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 uid = 3;
17021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 user_id = 4;
17121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 app_id = 5;
17221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 isolated_app_id = 6;
17321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool persistent = 7;
174129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
175129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
176129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage BroadcastRecordProto {
17721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1780d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
17921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 user_id = 1;
18021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string intent_action = 2;
181129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
182129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
183129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage BroadcastFilterProto {
18421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1850d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
18621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.content.IntentFilterProto intent_filter = 1;
18721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string required_permission = 2;
18821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string hex_hash = 3; // used to find the BroadcastFilter object in IntentResolver
18921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 owning_user_id = 4;
190129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
191129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
192129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage BroadcastQueueProto {
19321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
1940d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
19521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string queue_name = 1;
19621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated BroadcastRecordProto parallel_broadcasts = 2;
19721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated BroadcastRecordProto ordered_broadcasts = 3;
19821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional BroadcastRecordProto pending_broadcast = 4;
19921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated BroadcastRecordProto historical_broadcasts = 5;
200129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
20121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message BroadcastSummary {
20221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
2030d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
20421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.content.IntentProto intent = 1;
20521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int64 enqueue_clock_time_ms = 2;
20621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int64 dispatch_clock_time_ms = 3;
20721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int64 finish_clock_time_ms = 4;
20821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
20921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated BroadcastSummary historical_broadcasts_summary = 6;
210129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
211129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
2122b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jinmessage MemInfoDumpProto {
2130d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
2140d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
21521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 uptime_duration_ms = 1;
21621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 elapsed_realtime_ms = 2;
217598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams
21821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message ProcessMemory {
21921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
2200d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
22121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 pid = 1;
22221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string process_name = 2;
22321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
22421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        message MemoryInfo {
22521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            option (.android.msg_privacy).dest = DEST_AUTOMATIC;
22621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
22721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional string name = 1;
22821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            // The proportional set size for the heap.
22921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 total_pss_kb = 2;
23021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            // The proportional set size that is swappable for the heap.
23121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 clean_pss_kb = 3;
23221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            // The private dirty pages used by the heap.
23321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 shared_dirty_kb = 4;
23421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            // The shared dirty pages used by the heap.
23521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 private_dirty_kb = 5;
23621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            // The shared clean pages used by the heap.
23721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 shared_clean_kb = 6;
23821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            // The private clean pages used by the heap.
23921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 private_clean_kb = 7;
24021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            oneof dirty_swap {
24121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                // The dirty the pages that have been swapped out.
24221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                int32 dirty_swap_kb = 8;
24321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                // The dirty the pages that have been swapped out, proportional.
24421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                int32 dirty_swap_pss_kb = 9;
24521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            }
24621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        }
24721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        message HeapInfo {
24821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            option (.android.msg_privacy).dest = DEST_AUTOMATIC;
24921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
25021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional MemoryInfo mem_info = 1;
25121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 heap_size_kb = 2;
25221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 heap_alloc_kb = 3;
25321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 heap_free_kb = 4;
25421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        }
25521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional HeapInfo native_heap = 3;
25621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional HeapInfo dalvik_heap = 4;
25721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        repeated MemoryInfo other_heaps = 5;
25821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional MemoryInfo unknown_heap = 6;
25921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        // Summation of native_heap, dalvik_heap, and other_heaps.
26021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional HeapInfo total_heap = 7;
26121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
26221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        repeated MemoryInfo dalvik_details = 8;
26321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
26421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        message AppSummary {
26521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            option (.android.msg_privacy).dest = DEST_AUTOMATIC;
26621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
26721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 java_heap_pss_kb = 1;
26821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 native_heap_pss_kb = 2;
26921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 code_pss_kb = 3;
27021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 stack_pss_kb = 4;
27121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 graphics_pss_kb = 5;
27221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 private_other_pss_kb = 6;
27321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 system_pss_kb = 7;
27421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
27521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            oneof total_swap {
27621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                int32 total_swap_pss = 8;
27721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                int32 total_swap_kb = 9;
27821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            }
27921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        }
28021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional AppSummary app_summary = 9;
281598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams    }
28221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ProcessMemory native_processes = 3;
283983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams
28421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message AppData {
28521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
2860d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
28721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional ProcessMemory process_memory = 1;
28821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
28921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        message ObjectStats {
29021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            option (.android.msg_privacy).dest = DEST_AUTOMATIC;
29121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
29221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 view_instance_count = 1;
29321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 view_root_instance_count = 2;
29421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 app_context_instance_count = 3;
29521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 activity_instance_count = 4;
29621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 global_asset_count = 5;
29721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 global_asset_manager_count = 6;
29821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 local_binder_object_count = 7;
29921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 proxy_binder_object_count = 8;
30021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int64 parcel_memory_kb = 9;
30121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 parcel_count = 10;
30221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 binder_object_death_count = 11;
30321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 open_ssl_socket_count = 12;
30421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 webview_instance_count = 13;
30521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        }
30621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional ObjectStats objects = 2;
30721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
30821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        message SqlStats {
30921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            option (.android.msg_privacy).dest = DEST_AUTOMATIC;
31021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
31121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 memory_used_kb = 1;
31221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 pagecache_overflow_kb = 2;
31321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 malloc_size_kb = 3;
31421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
31521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            message Database {
31621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                option (.android.msg_privacy).dest = DEST_AUTOMATIC;
31721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
31821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                optional string name = 1;
31921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                optional int32 page_size = 2;
32021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                optional int32 db_size = 3;
32121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                // Number of lookaside slots:
32221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                // http://www.sqlite.org/c3ref/c_dbstatus_lookaside_used.html
32321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                optional int32 lookaside_b = 4;
32421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                // Statement cache stats: hits/misses/cachesize
32521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                optional string cache = 5;
32621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            }
32721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            repeated Database databases = 4;
32821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        }
32921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional SqlStats sql = 3;
33021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
33121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string asset_allocations = 4;
33221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string unreachable_memory = 5;
333983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    }
33421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated AppData app_processes = 4;
3350d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
33621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message MemItem {
3370d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
3380d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
33921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string tag = 1;
34021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string label = 2;
34121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 id = 3;
34221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool is_proc = 4;
34321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool has_activities = 5;
34421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int64 pss_kb = 6;
34521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int64 swap_pss_kb = 7;
34621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        repeated MemItem sub_items = 8;
347983829fec505c35b054c917668e9a54f2f4c26e4Kweku Adams    }
34821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated MemItem total_pss_by_process = 5;
34921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated MemItem total_pss_by_oom_adjustment = 6;
35021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated MemItem total_pss_by_category = 7;
35121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
35221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 total_ram_kb = 8;
35321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .com.android.internal.app.procstats.ProcessStatsProto.MemoryFactor status = 9;
35421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Total free RAM = cached_pss_kb + cached_kernel_kb + free_kb.
35521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 cached_pss_kb = 10;
35621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 cached_kernel_kb = 11;
35721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 free_kb = 12;
35821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Total used RAM = used_pss_kb + used_kernel_kb.
35921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 used_pss_kb = 13;
36021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 used_kernel_kb = 14;
36121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
36221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 lost_ram_kb = 15;
36321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
36421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 total_zram_kb = 16;
36521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 zram_physical_used_in_swap_kb = 17;
36621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 total_zram_swap_kb = 18;
36721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
36821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 ksm_sharing_kb = 19;
36921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 ksm_shared_kb = 20;
37021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 ksm_unshared_kb = 21;
37121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 ksm_volatile_kb = 22;
37221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
37321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // The approximate per-application memory class of the current device. This
37421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // gives developers an idea of how hard a memory limit you should impose on
37521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // their application to let the overall system work best. The value is in
37621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // megabytes; the baseline Android memory class is 16 (which happens to be the
37721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Java heap limit of those devices); some devices with more memory may have
37821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // 24 or even higher numbers.
37921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 tuning_mb = 23;
38021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // The approximate per-application memory class of the current device when an
38121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // application is running with a large heap. This is the space available for
38221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // memory-intensive applications; most applications should not need this
38321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // amount of memory, and should instead stay with the tuning_mb limit. The
38421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // value is in megabytes. This may be the same size as tuning_mb on memory
38521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // constrained devices, or it may be significantly larger on devices with a
38621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // large amount of available RAM.
38721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // This is the size of the application's Dalvik heap if it has specified
38821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // 'android:largeHeap="true"' in its manifest.
38921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 tuning_large_mb = 24;
39021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
39121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 oom_kb = 25;
39221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
39321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // The maximum pss size in kb that we consider a process acceptable to restore
39421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // from its cached state for running in the background when RAM is low.
39521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 restore_limit_kb = 26;
39621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
39721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool is_low_ram_device = 27;
39821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool is_high_end_gfx = 28;
399598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams}
400598e9a277daa7a1cbbcf264754cb5605f097bd55Kweku Adams
401129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jinmessage StickyBroadcastProto {
40221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4030d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
40421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 user = 1;
405129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
40621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message StickyAction {
40721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4080d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
40921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string name = 1;
41021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        repeated .android.content.IntentProto intents = 2;
41121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
41221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated StickyAction actions = 2;
413129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
414129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
4156b51414154e621a073e898835d9ffaa671c862d8Yi Jin// "dumpsys activity --proto service"
4162b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jinmessage ActivityManagerServiceDumpServicesProto {
41721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4182b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin
41921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ActiveServicesProto active_services = 1;
4202b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin}
4212b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jin
4226b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage ActiveServicesProto {
42383fb1d58b5c27f531a606a97ff25e549ea57426bYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
42483fb1d58b5c27f531a606a97ff25e549ea57426bYi Jin
42521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message ServicesByUser {
42621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
42721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
42821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 user_id = 1;
42921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        repeated ServiceRecordProto service_records = 2;
43021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
43121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ServicesByUser services_by_users = 1;
4326b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
4336b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4346b51414154e621a073e898835d9ffaa671c862d8Yi Jin// corresponds to ActivityManagerService.GrantUri Java class
4356b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage GrantUriProto {
43621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4370d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
43821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 source_user_id = 1;
43921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string uri = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
4406b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
4416b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4426b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage NeededUriGrantsProto {
44321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4440d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
44521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string target_package = 1;
44621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 target_uid = 2;
44721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 flags = 3;
4486b51414154e621a073e898835d9ffaa671c862d8Yi Jin
44921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated GrantUriProto grants = 4;
4506b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
4516b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4526b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage UriPermissionOwnerProto {
45321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_EXPLICIT;
4540d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
45521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string owner = 1;
45621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated GrantUriProto read_perms = 2;
45721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated GrantUriProto write_perms = 3;
4586b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
4596b51414154e621a073e898835d9ffaa671c862d8Yi Jin
4606b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage ServiceRecordProto {
46121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4620d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
46321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string short_name = 1;
46421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool is_running = 2; // false if the application service is null
46521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 pid = 3;
46621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.content.IntentProto intent = 4;
46721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string package_name = 5;
46821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string process_name = 6;
46921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string permission = 7;
4706b51414154e621a073e898835d9ffaa671c862d8Yi Jin
47121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message AppInfo {
47221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_EXPLICIT;
4730d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
47421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string base_dir = 1;
47521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string res_dir = 2;
47621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string data_dir = 3;
47721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
47821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional AppInfo appinfo = 8;
47921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ProcessRecordProto app = 9;
48021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ProcessRecordProto isolated_proc = 10;
48121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool whitelist_manager = 11;
48221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool delayed = 12;
4830d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
48421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message Foreground {
48521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
4866b51414154e621a073e898835d9ffaa671c862d8Yi Jin
48721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 id = 1;
48821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.app.NotificationProto notification = 2;
48921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
49021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional Foreground foreground = 13;
4916b51414154e621a073e898835d9ffaa671c862d8Yi Jin
49221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.util.Duration create_real_time = 14;
49321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.util.Duration starting_bg_timeout = 15;
49421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.util.Duration last_activity_time = 16;
49521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.util.Duration restart_time = 17;
49621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool created_from_fg = 18;
4970d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
49821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // variables used to track states related to service start
49921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message Start {
50021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
5016b51414154e621a073e898835d9ffaa671c862d8Yi Jin
50221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool start_requested = 1;
50321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool delayed_stop = 2;
50421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool stop_if_killed = 3;
50521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool call_start = 4;
50621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 last_start_id = 5;
50721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
50821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional Start start = 19;
5090d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
51021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message ExecuteNesting {
51121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
5126b51414154e621a073e898835d9ffaa671c862d8Yi Jin
51321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 execute_nesting = 1;
51421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool execute_fg = 2;
51521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.util.Duration executing_start = 3;
51621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
51721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ExecuteNesting execute = 20;
5186b51414154e621a073e898835d9ffaa671c862d8Yi Jin
51921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.util.Duration destory_time = 21;
5200d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
52121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message Crash {
52221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
5236b51414154e621a073e898835d9ffaa671c862d8Yi Jin
52421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 restart_count = 1;
52521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.util.Duration restart_delay = 2;
52621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.util.Duration next_restart_time = 3;
52721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 crash_count = 4;
52821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
52921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional Crash crash = 22;
53021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
53121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message StartItem {
53221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
5330d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
53421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 id = 1;
53521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.util.Duration duration = 2;
53621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 delivery_count = 3;
53721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 done_executing_count = 4;
53821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.content.IntentProto intent = 5;
53921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional NeededUriGrantsProto needed_grants = 6;
54021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional UriPermissionOwnerProto uri_permissions = 7;
54121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
54221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated StartItem delivered_starts = 23;
54321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated StartItem pending_starts = 24;
54421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
54521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated IntentBindRecordProto bindings = 25;
54621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ConnectionRecordProto connections = 26;
54721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
54821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Next Tag: 27
5496b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
5506b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5516b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage ConnectionRecordProto {
55221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
55321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
55421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // used to find same record, e.g. AppBindRecord has the hex_hash
55521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string hex_hash = 1; // cross reference the object and avoid double logging.
55621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 user_id = 2;
55721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
55821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    enum Flag {
55921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        AUTO_CREATE = 0;
56021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        DEBUG_UNBIND = 1;
56121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        NOT_FG = 2;
56221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        IMPORTANT_BG = 3;
56321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        ABOVE_CLIENT = 4;
56421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        ALLOW_OOM_MANAGEMENT = 5;
56521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        WAIVE_PRIORITY = 6;
56621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        IMPORTANT = 7;
56721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        ADJUST_WITH_ACTIVITY = 8;
56821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        FG_SERVICE_WHILE_AWAKE = 9;
56921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        FG_SERVICE = 10;
57021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        TREAT_LIKE_ACTIVITY = 11;
57121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        VISIBLE = 12;
57221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        SHOWING_UI = 13;
57321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        NOT_VISIBLE = 14;
57421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        DEAD = 15;
57521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
57621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated Flag flags = 3;
57721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string service_name = 4;
5786b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
5796b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5806b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage AppBindRecordProto {
58121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
5820d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
58321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string service_name = 1;
58421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string client_proc_name = 2;
58521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated string connections = 3; // hex_hash of ConnectionRecordProto
5866b51414154e621a073e898835d9ffaa671c862d8Yi Jin}
5876b51414154e621a073e898835d9ffaa671c862d8Yi Jin
5886b51414154e621a073e898835d9ffaa671c862d8Yi Jinmessage IntentBindRecordProto {
58921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
5906b51414154e621a073e898835d9ffaa671c862d8Yi Jin
59121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.content.IntentProto intent = 1;
59221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string binder = 2;
59321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool auto_create = 3; // value of BIND_AUTO_CREATE flag.
59421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool requested = 4;
59521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool received = 5;
59621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool has_bound = 6;
59721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool do_rebind = 7;
59821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
59921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated AppBindRecordProto apps = 8;
600129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
601129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin
6026b51414154e621a073e898835d9ffaa671c862d8Yi Jin// TODO: "dumpsys activity --proto processes"
6032b30f322128722d7e5bec8a6a737f3762a6ae98aYi Jinmessage ActivityManagerServiceDumpProcessesProto {
60421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6050d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
60621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ProcessRecordProto procs = 1;
60721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ProcessRecordProto isolated_procs = 2;
60821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ActiveInstrumentationProto active_instrumentations = 3;
60921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated UidRecordProto active_uids = 4;
61021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated UidRecordProto validate_uids = 5;
611148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
61221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Process LRU list (sorted by oom_adj)
61321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message LruProcesses {
61421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6150d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
61621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 size = 1;
61721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 non_act_at = 2;
61821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 non_svc_at = 3;
61921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        repeated ProcessOomProto list = 4;
62021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
62121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional LruProcesses lru_procs = 6;
62221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ProcessRecordProto pids_self_locked = 7;
62321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Foreground Processes
62421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ImportanceTokenProto important_procs = 8;
62521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Persisent processes that are starting
62621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ProcessRecordProto persistent_starting_procs = 9;
62721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Processes that are being removed
62821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ProcessRecordProto removed_procs = 10;
62921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Processes that are on old until the system is ready
63021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ProcessRecordProto on_hold_procs = 11;
63121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Processes that are waiting to GC
63221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ProcessToGcProto gc_procs = 12;
63321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional AppErrorsProto app_errors = 13;
63421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional UserControllerProto user_controller = 14;
63521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ProcessRecordProto home_proc = 15;
63621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ProcessRecordProto previous_proc = 16;
63721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 previous_proc_visible_time_ms = 17;
63821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ProcessRecordProto heavy_weight_proc = 18;
63921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.content.ConfigurationProto global_configuration = 19;
64021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // ActivityStackSupervisorProto dumps these values as well, still here?
64121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // repeated ActivityDisplayProto displays = 20;
64221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
64321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool config_will_change = 21;
64421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
64521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message ScreenCompatPackage {
64621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6470d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
64821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string package = 1;
64921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 mode = 2;
65021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
65121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ScreenCompatPackage screen_compat_packages = 22;
652148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
65321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message UidObserverRegistrationProto {
65421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6550d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
65621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 uid = 1;
65721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string package = 2;
65821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        repeated .android.app.UidObserverFlag flags = 3;
65921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 cut_point = 4; // only available when UID_OBSERVER_PROCSTATE is on
660148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
66121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        message ProcState {
66221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6630d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
66421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 uid = 1;
66521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 state = 2;
66621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        }
66721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        repeated ProcState last_proc_states = 5;
668148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    }
66921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated UidObserverRegistrationProto uid_observers = 23;
67021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated int32 device_idle_whitelist = 24;
67121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated int32 device_idle_temp_whitelist = 25;
672148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
67321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message PendingTempWhitelist {
67421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6750d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
67621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 target_uid = 1;
67721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int64 duration_ms = 2;
67821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string tag = 3;
67921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
68021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated PendingTempWhitelist pending_temp_whitelist = 26;
681148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
68221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message SleepStatus {
68321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6840d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
68521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.os.PowerManagerInternalProto.Wakefulness wakefulness = 1;
68621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        repeated string sleep_tokens = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
68721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool sleeping = 3;
68821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool shutting_down = 4;
68921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool test_pss_mode = 5;
69021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
69121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional SleepStatus sleep_status = 27;
692148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
69321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message Voice {
69421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
6950d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
69621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string session = 1;
69721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.os.PowerManagerProto.WakeLock wakelock = 2;
69821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
69921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional Voice running_voice = 28;
700148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
70121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional VrControllerProto vr_controller = 29;
702148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
70321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message DebugApp {
70421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7050d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
70621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string debug_app = 1;
70721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string orig_debug_app = 2;
70821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool debug_transient = 3;
70921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool orig_wait_for_debugger = 4;
71021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
71121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional DebugApp debug = 30;
71221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional AppTimeTrackerProto current_tracker = 31;
713148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
71421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message MemWatchProcess {
71521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7160d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
71721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        message Process {
71821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7190d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
72021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional string name = 1;
721148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
72221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            message MemStats {
72321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7240d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
72521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                optional int32 uid = 1;
72621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                optional string size = 2;
72721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams                optional string report_to = 3;
72821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            }
72921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            repeated MemStats mem_stats = 2;
73021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        }
73121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        repeated Process procs = 1;
732148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
73321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        message Dump {
73421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7350d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
73621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional string proc_name = 1;
73721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional string file = 2 [ (.android.privacy).dest = DEST_EXPLICIT ];
73821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 pid = 3;
73921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 uid = 4;
74021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        }
74121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional Dump dump = 2;
742148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    }
74321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional MemWatchProcess mem_watch_processes = 32;
74421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string track_allocation_app = 33;
745148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
74621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message Profile {
74721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7480d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
74921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string app_name = 1;
75021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional ProcessRecordProto proc = 2;
75121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.app.ProfilerInfoProto info = 3;
75221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 type = 4;
75321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
75421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional Profile profile = 34;
75521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string native_debugging_app = 35;
75621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool always_finish_activities = 36;
757148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
75821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message Controller {
75921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
7600d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
76121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string controller = 1;
76221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool is_a_monkey = 2;
76321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
76421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional Controller controller = 37;
76521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
76621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 total_persistent_procs = 38;
76721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool processes_ready = 39;
76821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool system_ready = 40;
76921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool booted = 41;
77021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 factory_test = 42;
77121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool booting = 43;
77221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool call_finish_booting = 44;
77321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool boot_animation_complete = 45;
77421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 last_power_check_uptime_ms = 46;
77521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.os.PowerManagerProto.WakeLock going_to_sleep = 47;
77621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.os.PowerManagerProto.WakeLock launching_activity = 48;
77721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 adj_seq = 49;
77821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 lru_seq = 50;
77921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 num_non_cached_procs = 51;
78021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 num_cached_hidden_procs = 52;
78121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 num_service_procs = 53;
78221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 new_num_service_procs = 54;
78321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool allow_lower_mem_level = 55;
78421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 last_memory_level = 56;
78521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 last_num_processes = 57;
78621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.util.Duration last_idle_time = 58;
78721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 low_ram_since_last_idle_ms = 59;
788148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
789148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
790148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ActiveInstrumentationProto {
79121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
79221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
79321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.content.ComponentNameProto class = 1;
79421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool finished = 2;
79521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ProcessRecordProto running_processes = 3;
79621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated string target_processes = 4;
79721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.content.pm.ApplicationInfoProto target_info = 5;
79821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string profile_file = 6;
79921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string watcher = 7;
80021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string ui_automation_connection = 8;
80121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string arguments = 9 [ (.android.privacy).dest = DEST_EXPLICIT ];
802148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
803148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
804148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// Proto definition of com.android.server.am.UidRecord.java
805148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage UidRecordProto {
8060d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
8070d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
80821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 uid = 1;
80921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.app.ProcessStateEnum current = 2;
81021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool ephemeral = 3;
81121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool fg_services = 4;
81221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool whilelist = 5;
81321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.util.Duration last_background_time = 6;
81421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool idle = 7;
81521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
81621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    enum Change {
81721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        CHANGE_GONE = 0;
81821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        CHANGE_IDLE = 1;
81921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        CHANGE_ACTIVE = 2;
82021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        CHANGE_CACHED = 3;
82121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        CHANGE_UNCACHED = 4;
82221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
82321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated Change last_reported_changes = 8;
82421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 num_procs = 9;
82521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
82621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message ProcStateSequence {
82721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
82821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
82921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int64 cururent = 1;
83021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int64 last_network_updated = 2;
83121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int64 last_dispatched = 3;
83221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
83321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ProcStateSequence network_state_update = 10;
834163967fe8ef994a69a48b6940deb7cad0fcdec37Yi Jin
83521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Next Tag: 11
836148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
837148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
838148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// proto of class ImportanceToken in ActivityManagerService
839148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ImportanceTokenProto {
84021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_EXPLICIT;
8410d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
84221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 pid = 1;
84321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string token = 2;
84421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string reason = 3;
845148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
846148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
8476c6e9cab42bccb44ebb4b30e7eab7394c0dbb759Yi Jin// proto of class VrController.java
8486c6e9cab42bccb44ebb4b30e7eab7394c0dbb759Yi Jinmessage VrControllerProto {
84921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
85021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
85121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    enum VrMode {
85221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        FLAG_NON_VR_MODE = 0;
85321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        FLAG_VR_MODE = 1;
85421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        FLAG_PERSISTENT_VR_MODE = 2;
85521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
85621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated VrMode vr_mode = 1;
85721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 render_thread_id = 2;
8586c6e9cab42bccb44ebb4b30e7eab7394c0dbb759Yi Jin}
8596c6e9cab42bccb44ebb4b30e7eab7394c0dbb759Yi Jin
860148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ProcessOomProto {
8610d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
8620d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
86321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool persistent = 1;
86421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 num = 2;
86521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string oom_adj = 3;
86621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
86721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    // Activity manager's version of Process enum, see ProcessList.java
86821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    enum SchedGroup {
86921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        SCHED_GROUP_UNKNOWN = -1;
87021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        SCHED_GROUP_BACKGROUND = 0;
87121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        SCHED_GROUP_DEFAULT = 1;
87221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        SCHED_GROUP_TOP_APP = 2;
87321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        SCHED_GROUP_TOP_APP_BOUND = 3;
87421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
87521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional SchedGroup sched_group = 4 [ default = SCHED_GROUP_UNKNOWN];
87621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
87721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    oneof Foreground {
87821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        bool activities = 5;
87921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        bool services = 6;
88021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
88121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
88221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.app.ProcessStateEnum state = 7;
88321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int32 trim_memory_level = 8;
88421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ProcessRecordProto proc = 9;
88521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string adj_type = 10;
88621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
88721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    oneof AdjTarget {
88821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        .android.content.ComponentNameProto adj_target_component_name = 11;
88921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        string adj_target_object = 12;
89021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
89121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
89221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    oneof AdjSource {
89321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        ProcessRecordProto adj_source_proc = 13;
89421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        string adj_source_object = 14;
89521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
89621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
89721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message Detail {
89821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
89921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
90021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 max_adj = 1;
90121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 cur_raw_adj = 2;
90221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 set_raw_adj = 3;
90321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 cur_adj = 4;
90421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 set_adj = 5;
90521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.app.ProcessStateEnum current_state = 7;
90621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional .android.app.ProcessStateEnum set_state = 8;
90721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string last_pss = 9;
90821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string last_swap_pss = 10;
90921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string last_cached_pss = 11;
91021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool cached = 12;
91121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool empty = 13;
91221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional bool has_above_client = 14;
91321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
91421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        // only make sense if process is a service
91521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        message CpuRunTime {
91621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            option (.android.msg_privacy).dest = DEST_AUTOMATIC;
91721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
91821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int64 over_ms = 1;
91921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int64 used_ms = 2;
92021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional float ultilization = 3; // ratio of cpu time usage
92121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        }
92221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional CpuRunTime service_run_time = 15;
923148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    }
92421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional Detail detail = 15;
925148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
926148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
927148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage ProcessToGcProto {
92821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9290d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
93021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional ProcessRecordProto proc = 1;
93121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool report_low_memory = 2;
93221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 now_uptime_ms = 3;
93321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 last_gced_ms = 4;
93421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 last_low_memory_ms = 5;
935148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
936148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
937148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// sync with com.android.server.am.AppErrors.java
938148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage AppErrorsProto {
93921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
940148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
94121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 now_uptime_ms = 1;
942148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
94321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message ProcessCrashTime {
94421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9450d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
94621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string process_name = 1;
947148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
94821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        message Entry {
94921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9500d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
95121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 uid = 1;
95221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int64 last_crashed_at_ms = 2;
95321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        }
95421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        repeated Entry entries = 2;
955148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    }
95621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated ProcessCrashTime process_crash_times = 2;
957148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
95821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message BadProcess {
95921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9600d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
96121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string process_name = 1;
962148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
96321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        message Entry {
96421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9650d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
96621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int32 uid = 1;
96721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional int64 crashed_at_ms = 2;
96821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional string short_msg = 3;
96921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional string long_msg = 4 [ (.android.privacy).dest = DEST_EXPLICIT ];
97021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams            optional string stack = 5 [ (.android.privacy).dest = DEST_EXPLICIT ];
97121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        }
97221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        repeated Entry entries = 2;
973148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin    }
97421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated BadProcess bad_processes = 3;
975148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
976148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
977148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// sync with com.android.server.am.UserState.java
978148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage UserStateProto {
97921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
98021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
98121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    enum State {
98221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        STATE_BOOTING = 0;
98321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        STATE_RUNNING_LOCKED = 1;
98421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        STATE_RUNNING_UNLOCKING = 2;
98521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        STATE_RUNNING_UNLOCKED = 3;
98621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        STATE_STOPPING = 4;
98721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        STATE_SHUTDOWN = 5;
98821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
98921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional State state = 1;
99021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional bool switching = 2;
991148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
992148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
993148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// sync with com.android.server.am.UserController.java
994148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage UserControllerProto {
9950d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
9960d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
99721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message User {
99821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
999148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
100021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 id = 1;
100121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional UserStateProto state = 2;
100221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
100321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated User started_users = 1;
100421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated int32 started_user_array = 2;
100521b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated int32 user_lru = 3;
10060d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
100721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message UserProfile {
100821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
100921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams
101021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 user = 1;
101121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int32 profile = 2;
101221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
101321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated UserProfile user_profile_group_ids = 4;
1014148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin}
1015148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
1016148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin// sync with com.android.server.am.AppTimeTracker.java
1017148d7f4291d675fc17852d530be32b7dba06fc93Yi Jinmessage AppTimeTrackerProto {
101821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    option (.android.msg_privacy).dest = DEST_AUTOMATIC;
10190d7bc2d17d6e6781aec04c87cd3ada21b67f73acYi Jin
102021b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string receiver = 1;
102121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional int64 total_duration_ms = 2;
1022148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
102321b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    message PackageTime {
102421b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        option (.android.msg_privacy).dest = DEST_AUTOMATIC;
102569040223a9d96d25adf306e4302be87985db0b81Yi Jin
102621b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional string package = 1;
102721b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams        optional int64 duration_ms = 2;
102821b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    }
102921b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    repeated PackageTime package_times = 3;
1030148d7f4291d675fc17852d530be32b7dba06fc93Yi Jin
103121b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional .android.util.Duration started_time = 4;
103221b8d26084d32b94c8f71cfd4e3f47f31a654e6dKweku Adams    optional string started_package = 5;
1033129fc6ce194659eed25fc37bb382eed61a14b7a7Yi Jin}
1034