1/* 2 * Copyright (C) 2017 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17syntax = "proto2"; 18 19package android.app; 20 21option java_outer_classname = "AppProtoEnums"; 22option java_multiple_files = true; 23 24// ActivityManagerInternal.java's APP_TRANSITION reasons. 25enum AppTransitionReasonEnum { 26 APP_TRANSITION_REASON_UNKNOWN = 0; 27 // The transition was started because we drew the splash screen. 28 APP_TRANSITION_SPLASH_SCREEN = 1; 29 // The transition was started because we all app windows were drawn. 30 APP_TRANSITION_WINDOWS_DRAWN = 2; 31 // The transition was started because of a timeout. 32 APP_TRANSITION_TIMEOUT = 3; 33 // The transition was started because of a we drew a task snapshot. 34 APP_TRANSITION_SNAPSHOT = 4; 35 // The transition was started because it was a recents animation and we only needed to wait on 36 // the wallpaper. 37 APP_TRANSITION_RECENTS_ANIM = 5; 38} 39 40// ActivityManager.java PROCESS_STATEs 41// Next tag: 1021 42enum ProcessStateEnum { 43 // Unlike the ActivityManager PROCESS_STATE values, the ordering and numerical values 44 // here are completely fixed and arbitrary. Order is irrelevant. 45 // No attempt need be made to keep them in sync. 46 // The values here must not be modified. Any new process states can be appended to the end. 47 48 // Process state that is unknown to this proto file (i.e. is not mapped 49 // by ActivityManager.processStateAmToProto()). Can only happen if there's a bug in the mapping. 50 PROCESS_STATE_UNKNOWN_TO_PROTO = 998; 51 // Not a real process state. 52 PROCESS_STATE_UNKNOWN = 999; 53 // Process is a persistent system process. 54 PROCESS_STATE_PERSISTENT = 1000; 55 // Process is a persistent system process and is doing UI. 56 PROCESS_STATE_PERSISTENT_UI = 1001; 57 // Process is hosting the current top activities. Note that this covers 58 // all activities that are visible to the user. 59 PROCESS_STATE_TOP = 1002; 60 // Process is bound to a TOP app. 61 PROCESS_STATE_BOUND_TOP = 1020; 62 // Process is hosting a foreground service. 63 PROCESS_STATE_FOREGROUND_SERVICE = 1003; 64 // Process is hosting a service bound by the system or another foreground app. 65 PROCESS_STATE_BOUND_FOREGROUND_SERVICE = 1004; 66 // Process is important to the user, and something they are aware of. 67 PROCESS_STATE_IMPORTANT_FOREGROUND = 1005; 68 // Process is important to the user, but not something they are aware of. 69 PROCESS_STATE_IMPORTANT_BACKGROUND = 1006; 70 // Process is in the background transient so we will try to keep running. 71 PROCESS_STATE_TRANSIENT_BACKGROUND = 1007; 72 // Process is in the background running a backup/restore operation. 73 PROCESS_STATE_BACKUP = 1008; 74 // Process is in the background running a service. Unlike oom_adj, this 75 // level is used for both the normal running in background state and the 76 // executing operations state. 77 PROCESS_STATE_SERVICE = 1009; 78 // Process is in the background running a receiver. Note that from the 79 // perspective of oom_adj, receivers run at a higher foreground level, but 80 // for our prioritization here that is not necessary and putting them 81 // below services means many fewer changes in some process states as they 82 // receive broadcasts. 83 PROCESS_STATE_RECEIVER = 1010; 84 // Same as PROCESS_STATE_TOP but while device is sleeping. 85 PROCESS_STATE_TOP_SLEEPING = 1011; 86 // Process is in the background, but it can't restore its state so we want 87 // to try to avoid killing it. 88 PROCESS_STATE_HEAVY_WEIGHT = 1012; 89 // Process is in the background but hosts the home activity. 90 PROCESS_STATE_HOME = 1013; 91 // Process is in the background but hosts the last shown activity. 92 PROCESS_STATE_LAST_ACTIVITY = 1014; 93 // Process is being cached for later use and contains activities. 94 PROCESS_STATE_CACHED_ACTIVITY = 1015; 95 // Process is being cached for later use and is a client of another cached 96 // process that contains activities. 97 PROCESS_STATE_CACHED_ACTIVITY_CLIENT = 1016; 98 // Process is being cached for later use and has an activity that corresponds 99 // to an existing recent task. 100 PROCESS_STATE_CACHED_RECENT = 1017; 101 // Process is being cached for later use and is empty. 102 PROCESS_STATE_CACHED_EMPTY = 1018; 103 // Process does not exist. 104 PROCESS_STATE_NONEXISTENT = 1019; 105} 106 107