1 /* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef OHOS_ABILITY_RUNTIME_APP_MGR_CONSTANTS_H 17 #define OHOS_ABILITY_RUNTIME_APP_MGR_CONSTANTS_H 18 19 namespace OHOS { 20 namespace AppExecFwk { 21 namespace Constants { 22 constexpr const char* APP_MGR_SERVICE_NAME = "AppMgrService"; 23 } // namespace Constants 24 25 enum class ApplicationState { 26 APP_STATE_CREATE = 0, 27 APP_STATE_READY, 28 APP_STATE_FOREGROUND, 29 APP_STATE_FOCUS, 30 APP_STATE_BACKGROUND, 31 APP_STATE_TERMINATED, 32 APP_STATE_END, 33 APP_STATE_SET_COLD_START = 99, 34 APP_STATE_CACHED = 100, 35 APP_STATE_PRE_FOREGROUND = 101, 36 }; 37 38 enum class WatchdogVisibilityState { 39 WATCHDOG_STATE_READY = 0, 40 WATCHDOG_STATE_VISIBILITY, 41 WATCHDOG_STATE_UNVISIBILITY, 42 }; 43 44 enum class ApplicationPendingState { 45 READY = 0, 46 FOREGROUNDING, 47 BACKGROUNDING, 48 }; 49 50 enum class ApplicationScheduleState { 51 SCHEDULE_READY = 0, 52 SCHEDULE_FOREGROUNDING, 53 SCHEDULE_BACKGROUNDING, 54 }; 55 56 enum class AbilityState { 57 ABILITY_STATE_CREATE = 0, 58 ABILITY_STATE_READY, 59 ABILITY_STATE_FOREGROUND, 60 ABILITY_STATE_FOCUS, 61 ABILITY_STATE_BACKGROUND, 62 ABILITY_STATE_TERMINATED, 63 ABILITY_STATE_END, 64 ABILITY_STATE_CONNECTED, 65 ABILITY_STATE_DISCONNECTED, 66 }; 67 68 enum class ExtensionState { 69 EXTENSION_STATE_CREATE = 0, 70 EXTENSION_STATE_READY, 71 EXTENSION_STATE_CONNECTED, 72 EXTENSION_STATE_DISCONNECTED, 73 EXTENSION_STATE_TERMINATED, 74 EXTENSION_STATE_FOREGROUND, 75 EXTENSION_STATE_BACKGROUND, 76 }; 77 78 enum AppMgrResultCode { 79 RESULT_OK = 0, 80 ERROR_SERVICE_NOT_READY, 81 ERROR_SERVICE_NOT_CONNECTED, 82 ERROR_KILL_APPLICATION, 83 ERROR_KILL_PROCESSES_BY_PIDS, 84 }; 85 86 enum class ProcessChangeReason { 87 REASON_NONE = 0, 88 REASON_REMOTE_DIED, 89 REASON_APP_TERMINATED, 90 REASON_APP_TERMINATED_TIMEOUT, 91 }; 92 93 enum class ProcessType { 94 NORMAL = 0, 95 EXTENSION, 96 RENDER, 97 GPU, 98 CHILD, 99 }; 100 101 enum class AppStartType { 102 COLD = 0, 103 HOT, 104 MULTI_INSTANCE, 105 PROCESS_CACHE_LAUNCH, 106 WARM 107 }; 108 109 enum class PreloadMode { 110 PRELOAD_NONE = -1, 111 PRESS_DOWN = 0, 112 PRE_MAKE = 1, 113 PRELOAD_MODULE = 2, 114 PRELOAD_BY_PHASE = 3, 115 }; 116 117 enum class PreloadPhase { 118 UNSPECIFIED = 0, 119 PROCESS_CREATED = 1, 120 ABILITY_STAGE_CREATED = 2, 121 WINDOW_STAGE_CREATED = 3 122 }; 123 124 enum class AppStartReason { 125 NONE = 0, 126 PRE_MAKE = 1, 127 PRELOAD_MODULE = 2, 128 SUGGEST_CACHE = 3, 129 PRESS_DOWN = 4, 130 PRELOAD_BY_PHASE_PROCESS_CREATED = 5, 131 PRELOAD_BY_PHASE_ABILITY_STAGE_CREATED = 6, 132 STARTUP_HIDE = 7, 133 }; 134 135 enum class PreloadState { 136 NONE = 0, 137 PRELOADING = 1, 138 PRELOADED = 2, 139 }; 140 141 enum class SupportProcessCacheState { 142 UNSPECIFIED = 0, 143 SUPPORT, 144 NOT_SUPPORT 145 }; 146 } // namespace AppExecFwk 147 } // namespace OHOS 148 #endif // OHOS_ABILITY_RUNTIME_APP_MGR_CONSTANTS_H 149