| /* |
| * Copyright (C) 2020 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package android.app; |
| |
| /** |
| * Defines the PROCESS_STATE_* values used by ActivityManager. |
| * These values are shared by Java and native side. |
| * {@hide} |
| */ |
| @Backing(type="int") |
| enum ProcessStateEnum { |
| /** @hide Not a real process state. */ |
| UNKNOWN = -1, |
| |
| /** @hide Process is a persistent system process. */ |
| PERSISTENT = 0, |
| |
| /** @hide Process is a persistent system process and is doing UI. */ |
| PERSISTENT_UI = 1, |
| |
| /** @hide Process is hosting the current top activities. Note that this covers |
| * all activities that are visible to the user. */ |
| TOP = 2, |
| |
| /** @hide Process is bound to a TOP app. */ |
| BOUND_TOP = 3, |
| |
| /** @hide Process is hosting a foreground service. */ |
| FOREGROUND_SERVICE = 4, |
| |
| /** @hide Process is hosting a foreground service due to a system binding. */ |
| BOUND_FOREGROUND_SERVICE = 5, |
| |
| /** @hide Process is important to the user, and something they are aware of. */ |
| IMPORTANT_FOREGROUND = 6, |
| |
| /** @hide Process is important to the user, but not something they are aware of. */ |
| IMPORTANT_BACKGROUND = 7, |
| |
| /** @hide Process is in the background transient so we will try to keep running. */ |
| TRANSIENT_BACKGROUND = 8, |
| |
| /** @hide Process is in the background running a backup/restore operation. */ |
| BACKUP = 9, |
| |
| /** @hide Process is in the background running a service. Unlike oom_adj, this level |
| * is used for both the normal running in background state and the executing |
| * operations state. */ |
| SERVICE = 10, |
| |
| /** @hide Process is in the background running a receiver. Note that from the |
| * perspective of oom_adj, receivers run at a higher foreground level, but for our |
| * prioritization here that is not necessary and putting them below services means |
| * many fewer changes in some process states as they receive broadcasts. */ |
| RECEIVER = 11, |
| |
| /** @hide Same as {@link #PROCESS_STATE_TOP} but while device is sleeping. */ |
| TOP_SLEEPING = 12, |
| |
| /** @hide Process is in the background, but it can't restore its state so we want |
| * to try to avoid killing it. */ |
| HEAVY_WEIGHT = 13, |
| |
| /** @hide Process is in the background but hosts the home activity. */ |
| HOME = 14, |
| |
| /** @hide Process is in the background but hosts the last shown activity. */ |
| LAST_ACTIVITY = 15, |
| |
| /** @hide Process is being cached for later use and contains activities. */ |
| CACHED_ACTIVITY = 16, |
| |
| /** @hide Process is being cached for later use and is a client of another cached |
| * process that contains activities. */ |
| CACHED_ACTIVITY_CLIENT = 17, |
| |
| /** @hide Process is being cached for later use and has an activity that corresponds |
| * to an existing recent task. */ |
| CACHED_RECENT = 18, |
| |
| /** @hide Process is being cached for later use and is empty. */ |
| CACHED_EMPTY = 19, |
| |
| /** @hide Process does not exist. */ |
| NONEXISTENT = 20, |
| |
| } |