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 17 syntax = "proto2"; 18 19 package android.app; 20 21 option java_outer_classname = "AppProtoEnums"; 22 option java_multiple_files = true; 23 24 // ActivityManagerInternal.java's APP_TRANSITION reasons. 25 enum 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 enum ProcessStateEnum { 42 // Unlike the ActivityManager PROCESS_STATE values, the ordering and numerical values 43 // here are completely fixed and arbitrary. Order is irrelevant. 44 // No attempt need be made to keep them in sync. 45 // The values here must not be modified. Any new process states can be appended to the end. 46 47 // Process state that is unknown to this proto file (i.e. is not mapped 48 // by ActivityManager.processStateAmToProto()). Can only happen if there's a bug in the mapping. 49 PROCESS_STATE_UNKNOWN_TO_PROTO = 998; 50 // Not a real process state. 51 PROCESS_STATE_UNKNOWN = 999; 52 // Process is a persistent system process. 53 PROCESS_STATE_PERSISTENT = 1000; 54 // Process is a persistent system process and is doing UI. 55 PROCESS_STATE_PERSISTENT_UI = 1001; 56 // Process is hosting the current top activities. Note that this covers 57 // all activities that are visible to the user. 58 PROCESS_STATE_TOP = 1002; 59 // Process is hosting a foreground service. 60 PROCESS_STATE_FOREGROUND_SERVICE = 1003; 61 // Process is hosting a foreground service due to a system binding. 62 PROCESS_STATE_BOUND_FOREGROUND_SERVICE = 1004; 63 // Process is important to the user, and something they are aware of. 64 PROCESS_STATE_IMPORTANT_FOREGROUND = 1005; 65 // Process is important to the user, but not something they are aware of. 66 PROCESS_STATE_IMPORTANT_BACKGROUND = 1006; 67 // Process is in the background transient so we will try to keep running. 68 PROCESS_STATE_TRANSIENT_BACKGROUND = 1007; 69 // Process is in the background running a backup/restore operation. 70 PROCESS_STATE_BACKUP = 1008; 71 // Process is in the background running a service. Unlike oom_adj, this 72 // level is used for both the normal running in background state and the 73 // executing operations state. 74 PROCESS_STATE_SERVICE = 1009; 75 // Process is in the background running a receiver. Note that from the 76 // perspective of oom_adj, receivers run at a higher foreground level, but 77 // for our prioritization here that is not necessary and putting them 78 // below services means many fewer changes in some process states as they 79 // receive broadcasts. 80 PROCESS_STATE_RECEIVER = 1010; 81 // Same as PROCESS_STATE_TOP but while device is sleeping. 82 PROCESS_STATE_TOP_SLEEPING = 1011; 83 // Process is in the background, but it can't restore its state so we want 84 // to try to avoid killing it. 85 PROCESS_STATE_HEAVY_WEIGHT = 1012; 86 // Process is in the background but hosts the home activity. 87 PROCESS_STATE_HOME = 1013; 88 // Process is in the background but hosts the last shown activity. 89 PROCESS_STATE_LAST_ACTIVITY = 1014; 90 // Process is being cached for later use and contains activities. 91 PROCESS_STATE_CACHED_ACTIVITY = 1015; 92 // Process is being cached for later use and is a client of another cached 93 // process that contains activities. 94 PROCESS_STATE_CACHED_ACTIVITY_CLIENT = 1016; 95 // Process is being cached for later use and has an activity that corresponds 96 // to an existing recent task. 97 PROCESS_STATE_CACHED_RECENT = 1017; 98 // Process is being cached for later use and is empty. 99 PROCESS_STATE_CACHED_EMPTY = 1018; 100 // Process does not exist. 101 PROCESS_STATE_NONEXISTENT = 1019; 102 } 103 104