| /* |
| * Copyright (C) 2017 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. |
| */ |
| |
| syntax = "proto2"; |
| |
| package android.app; |
| |
| option java_outer_classname = "AppProtoEnums"; |
| option java_multiple_files = true; |
| |
| // ActivityManagerInternal.java's APP_TRANSITION reasons. |
| enum AppTransitionReasonEnum { |
| APP_TRANSITION_REASON_UNKNOWN = 0; |
| // The transition was started because we drew the splash screen. |
| APP_TRANSITION_SPLASH_SCREEN = 1; |
| // The transition was started because all app windows were drawn. |
| APP_TRANSITION_WINDOWS_DRAWN = 2; |
| // The transition was started because of a timeout. |
| APP_TRANSITION_TIMEOUT = 3; |
| // The transition was started because we drew a task snapshot. |
| APP_TRANSITION_SNAPSHOT = 4; |
| // The transition was started because it was a recents animation and we only needed to wait on |
| // the wallpaper. |
| APP_TRANSITION_RECENTS_ANIM = 5; |
| } |
| |
| // ActivityManager.java PROCESS_STATEs |
| // Next tag: 1021 |
| enum ProcessStateEnum { |
| // Unlike the ActivityManager PROCESS_STATE values, the ordering and numerical values |
| // here are completely fixed and arbitrary. Order is irrelevant. |
| // No attempt need be made to keep them in sync. |
| // The values here must not be modified. Any new process states can be appended to the end. |
| |
| // Process state that is unknown to this proto file (i.e. is not mapped |
| // by ActivityManager.processStateAmToProto()). Can only happen if there's a bug in the mapping. |
| PROCESS_STATE_UNKNOWN_TO_PROTO = 998; |
| // Not a real process state. |
| PROCESS_STATE_UNKNOWN = 999; |
| // Process is a persistent system process. |
| PROCESS_STATE_PERSISTENT = 1000; |
| // Process is a persistent system process and is doing UI. |
| PROCESS_STATE_PERSISTENT_UI = 1001; |
| // Process is hosting the current top activities. Note that this covers |
| // all activities that are visible to the user. |
| PROCESS_STATE_TOP = 1002; |
| // Process is bound to a TOP app. |
| PROCESS_STATE_BOUND_TOP = 1020; |
| // Process is hosting a foreground service. |
| PROCESS_STATE_FOREGROUND_SERVICE = 1003; |
| // Process is hosting a service bound by the system or another foreground app. |
| PROCESS_STATE_BOUND_FOREGROUND_SERVICE = 1004; |
| // Process is important to the user, and something they are aware of. |
| PROCESS_STATE_IMPORTANT_FOREGROUND = 1005; |
| // Process is important to the user, but not something they are aware of. |
| PROCESS_STATE_IMPORTANT_BACKGROUND = 1006; |
| // Process is in the background transient so we will try to keep running. |
| PROCESS_STATE_TRANSIENT_BACKGROUND = 1007; |
| // Process is in the background running a backup/restore operation. |
| PROCESS_STATE_BACKUP = 1008; |
| // 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. |
| PROCESS_STATE_SERVICE = 1009; |
| // 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. |
| PROCESS_STATE_RECEIVER = 1010; |
| // Same as PROCESS_STATE_TOP but while device is sleeping. |
| PROCESS_STATE_TOP_SLEEPING = 1011; |
| // Process is in the background, but it can't restore its state so we want |
| // to try to avoid killing it. |
| PROCESS_STATE_HEAVY_WEIGHT = 1012; |
| // Process is in the background but hosts the home activity. |
| PROCESS_STATE_HOME = 1013; |
| // Process is in the background but hosts the last shown activity. |
| PROCESS_STATE_LAST_ACTIVITY = 1014; |
| // Process is being cached for later use and contains activities. |
| PROCESS_STATE_CACHED_ACTIVITY = 1015; |
| // Process is being cached for later use and is a client of another cached |
| // process that contains activities. |
| PROCESS_STATE_CACHED_ACTIVITY_CLIENT = 1016; |
| // Process is being cached for later use and has an activity that corresponds |
| // to an existing recent task. |
| PROCESS_STATE_CACHED_RECENT = 1017; |
| // Process is being cached for later use and is empty. |
| PROCESS_STATE_CACHED_EMPTY = 1018; |
| // Process does not exist. |
| PROCESS_STATE_NONEXISTENT = 1019; |
| } |
| |
| // frameworks/base/services/core/java/com/android/server/am/OomAdjuster.java |
| // Proto enum equivalents for "OomAdjReason" |
| enum OomChangeReasonEnum { |
| OOM_ADJ_REASON_UNKNOWN_TO_PROTO = -1; |
| OOM_ADJ_REASON_NONE = 0; |
| OOM_ADJ_REASON_ACTIVITY = 1; |
| OOM_ADJ_REASON_FINISH_RECEIVER = 2; |
| OOM_ADJ_REASON_START_RECEIVER = 3; |
| OOM_ADJ_REASON_BIND_SERVICE = 4; |
| OOM_ADJ_REASON_UNBIND_SERVICE = 5; |
| OOM_ADJ_REASON_START_SERVICE = 6; |
| OOM_ADJ_REASON_GET_PROVIDER = 7; |
| OOM_ADJ_REASON_REMOVE_PROVIDER = 8; |
| OOM_ADJ_REASON_UI_VISIBILITY = 9; |
| OOM_ADJ_REASON_ALLOWLIST = 10; |
| OOM_ADJ_REASON_PROCESS_BEGIN = 11; |
| OOM_ADJ_REASON_PROCESS_END = 12; |
| OOM_ADJ_REASON_SHORT_FGS_TIMEOUT = 13; |
| OOM_ADJ_REASON_SYSTEM_INIT = 14; |
| OOM_ADJ_REASON_BACKUP = 15; |
| OOM_ADJ_REASON_SHELL = 16; |
| OOM_ADJ_REASON_REMOVE_TASK = 17; |
| OOM_ADJ_REASON_UID_IDLE = 18; |
| OOM_ADJ_REASON_STOP_SERVICE = 19; |
| OOM_ADJ_REASON_EXECUTING_SERVICE = 20; |
| OOM_ADJ_REASON_RESTRICTION_CHANGE = 21; |
| OOM_ADJ_REASON_COMPONENT_DISABLED = 22; |
| } |
| |
| // AppOpsManager.java - operation ids for logging |
| enum AppOpEnum { |
| APP_OP_NONE = -1; |
| APP_OP_COARSE_LOCATION = 0; |
| APP_OP_FINE_LOCATION = 1; |
| APP_OP_GPS = 2; |
| APP_OP_VIBRATE = 3; |
| APP_OP_READ_CONTACTS = 4; |
| APP_OP_WRITE_CONTACTS = 5; |
| APP_OP_READ_CALL_LOG = 6; |
| APP_OP_WRITE_CALL_LOG = 7; |
| APP_OP_READ_CALENDAR = 8; |
| APP_OP_WRITE_CALENDAR = 9; |
| APP_OP_WIFI_SCAN = 10; |
| APP_OP_POST_NOTIFICATION = 11; |
| APP_OP_NEIGHBORING_CELLS = 12; |
| APP_OP_CALL_PHONE = 13; |
| APP_OP_READ_SMS = 14; |
| APP_OP_WRITE_SMS = 15; |
| APP_OP_RECEIVE_SMS = 16; |
| APP_OP_RECEIVE_EMERGENCY_SMS = 17; |
| APP_OP_RECEIVE_MMS = 18; |
| APP_OP_RECEIVE_WAP_PUSH = 19; |
| APP_OP_SEND_SMS = 20; |
| APP_OP_READ_ICC_SMS = 21; |
| APP_OP_WRITE_ICC_SMS = 22; |
| APP_OP_WRITE_SETTINGS = 23; |
| APP_OP_SYSTEM_ALERT_WINDOW = 24; |
| APP_OP_ACCESS_NOTIFICATIONS = 25; |
| APP_OP_CAMERA = 26; |
| APP_OP_RECORD_AUDIO = 27; |
| APP_OP_PLAY_AUDIO = 28; |
| APP_OP_READ_CLIPBOARD = 29; |
| APP_OP_WRITE_CLIPBOARD = 30; |
| APP_OP_TAKE_MEDIA_BUTTONS = 31; |
| APP_OP_TAKE_AUDIO_FOCUS = 32; |
| APP_OP_AUDIO_MASTER_VOLUME = 33; |
| APP_OP_AUDIO_VOICE_VOLUME = 34; |
| APP_OP_AUDIO_RING_VOLUME = 35; |
| APP_OP_AUDIO_MEDIA_VOLUME = 36; |
| APP_OP_AUDIO_ALARM_VOLUME = 37; |
| APP_OP_AUDIO_NOTIFICATION_VOLUME = 38; |
| APP_OP_AUDIO_BLUETOOTH_VOLUME = 39; |
| APP_OP_WAKE_LOCK = 40; |
| APP_OP_MONITOR_LOCATION = 41; |
| APP_OP_MONITOR_HIGH_POWER_LOCATION = 42; |
| APP_OP_GET_USAGE_STATS = 43; |
| APP_OP_MUTE_MICROPHONE = 44; |
| APP_OP_TOAST_WINDOW = 45; |
| APP_OP_PROJECT_MEDIA = 46; |
| APP_OP_ACTIVATE_VPN = 47; |
| APP_OP_WRITE_WALLPAPER = 48; |
| APP_OP_ASSIST_STRUCTURE = 49; |
| APP_OP_ASSIST_SCREENSHOT = 50; |
| APP_OP_READ_PHONE_STATE = 51; |
| APP_OP_ADD_VOICEMAIL = 52; |
| APP_OP_USE_SIP = 53; |
| APP_OP_PROCESS_OUTGOING_CALLS = 54; |
| APP_OP_USE_FINGERPRINT = 55; |
| APP_OP_BODY_SENSORS = 56; |
| APP_OP_READ_CELL_BROADCASTS = 57; |
| APP_OP_MOCK_LOCATION = 58; |
| APP_OP_READ_EXTERNAL_STORAGE = 59; |
| APP_OP_WRITE_EXTERNAL_STORAGE = 60; |
| APP_OP_TURN_SCREEN_ON = 61; |
| APP_OP_GET_ACCOUNTS = 62; |
| APP_OP_RUN_IN_BACKGROUND = 63; |
| APP_OP_AUDIO_ACCESSIBILITY_VOLUME = 64; |
| APP_OP_READ_PHONE_NUMBERS = 65; |
| APP_OP_REQUEST_INSTALL_PACKAGES = 66; |
| APP_OP_PICTURE_IN_PICTURE = 67; |
| APP_OP_INSTANT_APP_START_FOREGROUND = 68; |
| APP_OP_ANSWER_PHONE_CALLS = 69; |
| APP_OP_RUN_ANY_IN_BACKGROUND = 70; |
| APP_OP_CHANGE_WIFI_STATE = 71; |
| APP_OP_REQUEST_DELETE_PACKAGES = 72; |
| APP_OP_BIND_ACCESSIBILITY_SERVICE = 73; |
| APP_OP_ACCEPT_HANDOVER = 74; |
| APP_OP_MANAGE_IPSEC_TUNNELS = 75; |
| APP_OP_START_FOREGROUND = 76; |
| APP_OP_BLUETOOTH_SCAN = 77; |
| APP_OP_USE_BIOMETRIC = 78; |
| APP_OP_ACTIVITY_RECOGNITION = 79; |
| APP_OP_SMS_FINANCIAL_TRANSACTIONS = 80; |
| APP_OP_READ_MEDIA_AUDIO = 81; |
| APP_OP_WRITE_MEDIA_AUDIO = 82; |
| APP_OP_READ_MEDIA_VIDEO = 83; |
| APP_OP_WRITE_MEDIA_VIDEO = 84; |
| APP_OP_READ_MEDIA_IMAGES = 85; |
| APP_OP_WRITE_MEDIA_IMAGES = 86; |
| APP_OP_LEGACY_STORAGE = 87; |
| APP_OP_ACCESS_ACCESSIBILITY = 88; |
| APP_OP_READ_DEVICE_IDENTIFIERS = 89; |
| APP_OP_ACCESS_MEDIA_LOCATION = 90; |
| APP_OP_QUERY_ALL_PACKAGES = 91; |
| APP_OP_MANAGE_EXTERNAL_STORAGE = 92; |
| APP_OP_INTERACT_ACROSS_PROFILES = 93; |
| APP_OP_ACTIVATE_PLATFORM_VPN = 94; |
| APP_OP_LOADER_USAGE_STATS = 95; |
| APP_OP_DEPRECATED_1 = 96 [deprecated = true]; |
| APP_OP_AUTO_REVOKE_PERMISSIONS_IF_UNUSED = 97; |
| APP_OP_AUTO_REVOKE_MANAGED_BY_INSTALLER = 98; |
| APP_OP_NO_ISOLATED_STORAGE = 99; |
| APP_OP_PHONE_CALL_MICROPHONE = 100; |
| APP_OP_PHONE_CALL_CAMERA = 101; |
| APP_OP_RECORD_AUDIO_HOTWORD = 102; |
| APP_OP_MANAGE_ONGOING_CALLS = 103; |
| APP_OP_MANAGE_CREDENTIALS = 104; |
| APP_OP_USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER = 105; |
| APP_OP_RECORD_AUDIO_OUTPUT = 106; |
| APP_OP_SCHEDULE_EXACT_ALARM = 107; |
| APP_OP_FINE_LOCATION_SOURCE = 108; |
| APP_OP_COARSE_LOCATION_SOURCE = 109; |
| APP_OP_MANAGE_MEDIA = 110; |
| APP_OP_BLUETOOTH_CONNECT = 111; |
| APP_OP_UWB_RANGING = 112; |
| APP_OP_ACTIVITY_RECOGNITION_SOURCE = 113; |
| APP_OP_BLUETOOTH_ADVERTISE = 114; |
| APP_OP_RECORD_INCOMING_PHONE_AUDIO = 115; |
| APP_OP_NEARBY_WIFI_DEVICES = 116; |
| APP_OP_ESTABLISH_VPN_SERVICE = 117; |
| APP_OP_ESTABLISH_VPN_MANAGER = 118; |
| APP_OP_ACCESS_RESTRICTED_SETTINGS = 119; |
| APP_OP_RECEIVE_AMBIENT_TRIGGER_AUDIO = 120; |
| APP_OP_RECEIVE_EXPLICIT_USER_INTERACTION_AUDIO = 121; |
| APP_OP_RUN_USER_INITIATED_JOBS = 122; |
| APP_OP_READ_MEDIA_VISUAL_USER_SELECTED = 123; |
| APP_OP_SYSTEM_EXEMPT_FROM_SUSPENSION = 124; |
| APP_OP_SYSTEM_EXEMPT_FROM_DISMISSIBLE_NOTIFICATIONS = 125; |
| APP_OP_READ_WRITE_HEALTH_DATA = 126; |
| APP_OP_FOREGROUND_SERVICE_SPECIAL_USE = 127; |
| APP_OP_SYSTEM_EXEMPT_FROM_POWER_RESTRICTIONS = 128; |
| APP_OP_SYSTEM_EXEMPT_FROM_HIBERNATION = 129; |
| APP_OP_SYSTEM_EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION = 130; |
| APP_OP_CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD = 131; |
| APP_OP_BODY_SENSORS_WRIST_TEMPERATURE = 132 [deprecated = true]; |
| APP_OP_USE_FULL_SCREEN_INTENT = 133; |
| APP_OP_CAMERA_SANDBOXED = 134; |
| APP_OP_RECORD_AUDIO_SANDBOXED = 135; |
| } |
| |
| /** |
| * The reason code that why app process is killed. |
| */ |
| enum AppExitReasonCode { |
| /** |
| * Application process died due to unknown reason. |
| */ |
| REASON_UNKNOWN = 0; |
| |
| /** |
| * Application process exit normally by itself, for example, |
| * via {@link android.os.Process#exit}; {@link #status} will specify the exit code. |
| * |
| * <p>Applications should normally not do this, as the system has a better knowledge |
| * in terms of process management.</p> |
| */ |
| REASON_EXIT_SELF = 1; |
| |
| /** |
| * Application process died due to the result of an OS signal; for example, |
| * {@link android.os.Process#SIGNAL_KILL}; {@link #status} will specify the signum. |
| */ |
| REASON_SIGNALED = 2; |
| |
| /** |
| * Application process was killed by the system low memory killer, meaning the system was |
| * under memory pressure at the time of kill. |
| */ |
| REASON_LOW_MEMORY = 3; |
| |
| /** |
| * Application process died because of an unhandled exception in Java code. |
| */ |
| REASON_CRASH = 4; |
| |
| /** |
| * Application process died because it's crashed due to a native code crash. |
| */ |
| REASON_CRASH_NATIVE = 5; |
| |
| /** |
| * Application process was killed due to being unresponsive (ANR). |
| */ |
| REASON_ANR = 6; |
| |
| /** |
| * Application process was killed because it took too long to attach to the system |
| * during the start. |
| */ |
| REASON_INITIALIZATION_FAILURE = 7; |
| |
| /** |
| * Application process was killed because of initialization failure, |
| * for example, it took too long to attach to the system during the start, |
| * or there was an error during initialization. |
| */ |
| REASON_PERMISSION_CHANGE = 8; |
| |
| /** |
| * Application process was killed by the activity manager due to excessive resource usage. |
| */ |
| REASON_EXCESSIVE_RESOURCE_USAGE = 9; |
| |
| /** |
| * Application process was killed because of the user request, for example, |
| * user clicked the "Force stop" button of the application in the Settings, |
| * or swiped away the application from Recents. |
| * <p> |
| * Prior to {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE}, one of the uses of this |
| * reason was indicate that an app was killed due to it being updated or any of its component states |
| * have changed without {@link android.content.pm.PackageManager#DONT_KILL_APP} |
| */ |
| REASON_USER_REQUESTED = 10; |
| |
| /** |
| * Application process was killed, because the user they are running as on devices |
| * with mutlple users, was stopped. |
| */ |
| REASON_USER_STOPPED = 11; |
| |
| /** |
| * Application process was killed because its dependency was going away, for example, |
| * a stable content provider connection's client will be killed if the provider is killed. |
| */ |
| REASON_DEPENDENCY_DIED = 12; |
| |
| /** |
| * Application process was killed by the system for various other reasons, |
| * for example, the application package got disabled by the user; |
| * {@link #description} will specify the cause given by the system. |
| */ |
| REASON_OTHER = 13; |
| |
| /** |
| * Application process was killed by App Freezer, for example, because it receives |
| * sync binder transactions while being frozen. |
| */ |
| REASON_FREEZER = 14; |
| |
| /** |
| * Application process was killed because the app was uninstalled, disabled, or any of its |
| * component states have changed without {@link android.content.pm.PackageManager#DONT_KILL_APP} |
| * <p> |
| * Prior to {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE}, |
| * {@link #REASON_USER_REQUESTED} was used to indicate that an app was updated. |
| */ |
| REASON_PACKAGE_STATE_CHANGE = 15; |
| |
| /** |
| * Application process was killed because it was updated. |
| * <p> |
| * Prior to {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE}, |
| * {@link #REASON_USER_REQUESTED} was used to indicate that an app was updated. |
| */ |
| REASON_PACKAGE_UPDATED = 16; |
| } |
| |
| /** |
| * The supplemental reason code that why app process is killed |
| */ |
| enum AppExitSubReasonCode { |
| /** |
| * Application process kills subReason is unknown. |
| */ |
| SUBREASON_UNKNOWN = 0; |
| |
| /** |
| * Application process was killed because user quit it on the "wait for debugger" dialog. |
| */ |
| SUBREASON_WAIT_FOR_DEBUGGER = 1; |
| |
| /** |
| * Application process was killed by the activity manager because there were too many cached |
| * processes. |
| */ |
| SUBREASON_TOO_MANY_CACHED = 2; |
| |
| /** |
| * Application process was killed by the activity manager because there were too many empty |
| * processes. |
| */ |
| SUBREASON_TOO_MANY_EMPTY = 3; |
| |
| /** |
| * Application process was killed by the activity manager because there were too many cached |
| * processes and this process had been in empty state for a long time. |
| */ |
| SUBREASON_TRIM_EMPTY = 4; |
| |
| /** |
| * Application process was killed by the activity manager because system was on |
| * memory pressure and this process took large amount of cached memory. |
| */ |
| SUBREASON_LARGE_CACHED = 5; |
| |
| /** |
| * Application process was killed by the activity manager because the system was on |
| * low memory pressure for a significant amount of time since last idle. |
| */ |
| SUBREASON_MEMORY_PRESSURE = 6; |
| |
| /** |
| * Application process was killed by the activity manager due to excessive CPU usage. |
| */ |
| SUBREASON_EXCESSIVE_CPU = 7; |
| |
| /** |
| * System update has done (so the system update process should be killed). |
| */ |
| SUBREASON_SYSTEM_UPDATE_DONE = 8; |
| |
| /** |
| * Kill all foreground services, for now it only occurs when enabling the quiet |
| * mode for the managed profile. |
| */ |
| SUBREASON_KILL_ALL_FG = 9; |
| |
| /** |
| * All background processes except certain ones were killed, for now it only occurs |
| * when the density of the default display is changed. |
| */ |
| SUBREASON_KILL_ALL_BG_EXCEPT = 10; |
| |
| /** |
| * The process associated with the UID was explicitly killed, for example, |
| * it could be because of permission changes. |
| */ |
| SUBREASON_KILL_UID = 11; |
| |
| /** |
| * The process was explicitly killed with its PID, typically because of |
| * the low memory for surfaces. |
| */ |
| SUBREASON_KILL_PID = 12; |
| |
| /** |
| * The start of the process was invalid. |
| */ |
| SUBREASON_INVALID_START = 13; |
| |
| /** |
| * The process was killed because it's in an invalid state, typically |
| * it's triggered from SHELL. |
| */ |
| SUBREASON_INVALID_STATE = 14; |
| |
| /** |
| * The process was killed when it's imperceptible to user, because it was |
| * in a bad state. |
| */ |
| SUBREASON_IMPERCEPTIBLE = 15; |
| |
| /** |
| * The process was killed because it's being moved out from LRU list. |
| */ |
| SUBREASON_REMOVE_LRU = 16; |
| |
| /** |
| * The process was killed because it's isolated and was in a cached state. |
| */ |
| SUBREASON_ISOLATED_NOT_NEEDED = 17; |
| |
| /** |
| * The process was killed because it's in forced-app-standby state, and it's cached and |
| * its uid state is idle; this would be set only when the reason is {@link #REASON_OTHER}. |
| */ |
| SUBREASON_CACHED_IDLE_FORCED_APP_STANDBY = 18; |
| |
| /** |
| * The process was killed because it fails to freeze/unfreeze binder |
| * or query binder frozen info while being frozen. |
| */ |
| SUBREASON_FREEZER_BINDER_IOCTL = 19; |
| |
| /** |
| * The process was killed because it receives sync binder transactions |
| * while being frozen. |
| */ |
| SUBREASON_FREEZER_BINDER_TRANSACTION = 20; |
| |
| /** |
| * The process was killed because of force-stop, it could be due to that |
| * the user clicked the "Force stop" button of the application in the Settings; |
| * this would be set only when the reason is {@link #REASON_USER_REQUESTED}. |
| */ |
| SUBREASON_FORCE_STOP = 21; |
| |
| /** |
| * The process was killed because the user removed the application away from Recents; |
| * this would be set only when the reason is {@link #REASON_USER_REQUESTED}. |
| */ |
| SUBREASON_REMOVE_TASK = 22; |
| |
| /** |
| * The process was killed because the user stopped the application from the task manager; |
| * this would be set only when the reason is {@link #REASON_USER_REQUESTED}. |
| */ |
| SUBREASON_STOP_APP = 23; |
| |
| /** |
| * The process was killed because the user stopped the application from developer options, |
| * or via the adb shell commmand interface; this would be set only when the reason is |
| * {@link #REASON_USER_REQUESTED}. |
| */ |
| SUBREASON_KILL_BACKGROUND = 24; |
| |
| /** |
| * The process was killed because of package update; this would be set only when the reason is |
| * {@link #REASON_PACKAGE_STATE_CHANGE}. |
| * |
| * @deprecated starting {@link android.os.Build.VERSION_CODES#TIRAMISU}, |
| * an app being killed due to a package update will have the reason |
| * {@link #REASON_PACKAGE_UPDATED} |
| */ |
| SUBREASON_PACKAGE_UPDATE = 25; |
| |
| /** |
| * The process was killed because of undelivered broadcasts; this would be set only when the |
| * reason is {@link #REASON_OTHER}. |
| */ |
| SUBREASON_UNDELIVERED_BROADCAST = 26; |
| |
| /** |
| * The process was killed because its associated SDK sandbox process (where it had loaded SDKs) |
| * had died; this would be set only when the reason is {@link #REASON_DEPENDENCY_DIED}. |
| */ |
| SUBREASON_SDK_SANDBOX_DIED = 27; |
| |
| /** |
| * The process was killed because it was an SDK sandbox process that was either not usable or |
| * was no longer being used; this would be set only when the reason is {@link #REASON_OTHER}. |
| */ |
| SUBREASON_SDK_SANDBOX_NOT_NEEDED = 28; |
| } |
| |
| /** |
| * The relative importance level that the system places on a process. |
| * Keep sync with the definitions in |
| * {@link android.app.ActivityManager.RunningAppProcessInfo} |
| */ |
| enum Importance { |
| option allow_alias = true; |
| |
| IMPORTANCE_FOREGROUND = 100; |
| IMPORTANCE_FOREGROUND_SERVICE = 125; |
| IMPORTANCE_TOP_SLEEPING_PRE_28 = 150; |
| IMPORTANCE_VISIBLE = 200; |
| IMPORTANCE_PERCEPTIBLE_PRE_26 = 130; |
| IMPORTANCE_PERCEPTIBLE = 230; |
| IMPORTANCE_CANT_SAVE_STATE_PRE_26 = 170; |
| IMPORTANCE_SERVICE = 300; |
| IMPORTANCE_TOP_SLEEPING = 325; |
| IMPORTANCE_CANT_SAVE_STATE = 350; |
| IMPORTANCE_CACHED = 400; |
| IMPORTANCE_BACKGROUND = 400; |
| IMPORTANCE_EMPTY = 500; |
| IMPORTANCE_GONE = 1000; |
| } |
| |
| /** |
| * The Resource APIs that are monitored. |
| */ |
| enum ResourceApiEnum { |
| |
| RESOURCE_API_NONE = 0; |
| RESOURCE_API_GET_VALUE = 1; |
| RESOURCE_API_RETRIEVE_ATTRIBUTES = 2; |
| } |
| |
| /** |
| * The game modes used by GameManager. |
| * |
| * <p>Also see {@link android.app.GameManager#GameMode}. |
| */ |
| enum GameMode { |
| GAME_MODE_UNSPECIFIED = 0; |
| GAME_MODE_UNSUPPORTED = 1; |
| GAME_MODE_STANDARD = 2; |
| GAME_MODE_PERFORMANCE = 3; |
| GAME_MODE_BATTERY = 4; |
| GAME_MODE_CUSTOM = 5; |
| } |
| |
| /** |
| * The result code of foreground service type policy check. |
| */ |
| enum FgsTypePolicyCheckEnum { |
| FGS_TYPE_POLICY_CHECK_UNKNOWN = 0; |
| FGS_TYPE_POLICY_CHECK_OK = 1; |
| FGS_TYPE_POLICY_CHECK_DEPRECATED = 2; |
| FGS_TYPE_POLICY_CHECK_DISABLED = 3; |
| FGS_TYPE_POLICY_CHECK_PERMISSION_DENIED_PERMISSIVE = 4; |
| FGS_TYPE_POLICY_CHECK_PERMISSION_DENIED_ENFORCED = 5; |
| } |
| |
| /** |
| * The type of the component this process is hosting. |
| */ |
| enum HostingComponentType { |
| HOSTING_COMPONENT_TYPE_EMPTY = 0x0; |
| HOSTING_COMPONENT_TYPE_SYSTEM = 0x0001; |
| HOSTING_COMPONENT_TYPE_PERSISTENT = 0x0002; |
| HOSTING_COMPONENT_TYPE_BACKUP = 0x0004; |
| HOSTING_COMPONENT_TYPE_INSTRUMENTATION = 0x0008; |
| HOSTING_COMPONENT_TYPE_ACTIVITY = 0x0010; |
| HOSTING_COMPONENT_TYPE_BROADCAST_RECEIVER = 0x0020; |
| HOSTING_COMPONENT_TYPE_PROVIDER = 0x0040; |
| HOSTING_COMPONENT_TYPE_STARTED_SERVICE = 0x0080; |
| HOSTING_COMPONENT_TYPE_FOREGROUND_SERVICE = 0x0100; |
| HOSTING_COMPONENT_TYPE_BOUND_SERVICE = 0x0200; |
| } |
| |
| /** |
| * Types of broadcast. |
| */ |
| enum BroadcastType { |
| BROADCAST_TYPE_NONE = 0; |
| BROADCAST_TYPE_BACKGROUND = 0x0001; // 1 << 0 |
| BROADCAST_TYPE_FOREGROUND = 0x0002; // 1 << 1 |
| BROADCAST_TYPE_ALARM = 0x0004; // 1 << 2 |
| BROADCAST_TYPE_INTERACTIVE = 0x0008; // 1 << 3 |
| BROADCAST_TYPE_ORDERED = 0x0010; // 1 << 4 |
| BROADCAST_TYPE_PRIORITIZED = 0x0020; // 1 << 5 |
| BROADCAST_TYPE_RESULT_TO = 0x0040; // 1 << 6 |
| BROADCAST_TYPE_DEFERRABLE_UNTIL_ACTIVE = 0x0080; // 1 << 7 |
| BROADCAST_TYPE_PUSH_MESSAGE = 0x0100; // 1 << 8 |
| BROADCAST_TYPE_PUSH_MESSAGE_OVER_QUOTA = 0x0200; // 1 << 9 |
| BROADCAST_TYPE_STICKY = 0x0400; // 1 << 10 |
| BROADCAST_TYPE_INITIAL_STICKY = 0x0800; // 1 << 11 |
| } |
| |
| /** |
| * Delivery group policy applied to a broadcast. |
| * Keep it in sync with BroadcastOptions#DeliveryGroupPolicy. |
| */ |
| enum BroadcastDeliveryGroupPolicy { |
| BROADCAST_DELIVERY_GROUP_POLICY_ALL = 0; |
| BROADCAST_DELIVERY_GROUP_POLICY_MOST_RECENT = 1; |
| BROADCAST_DELIVERY_GROUP_POLICY_MERGED = 2; |
| } |