Home | History | Annotate | Download | only in app
      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