1 /* 2 * Copyright (c) 2025 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 #include "js_app_process_state.h" 17 18 #include "hilog_tag_wrapper.h" 19 20 namespace OHOS { 21 namespace AbilityRuntime { ConvertToJsAppProcessState(AppExecFwk::AppProcessState appProcessState,bool isFocused)22JsAppProcessState ConvertToJsAppProcessState(AppExecFwk::AppProcessState appProcessState, bool isFocused) 23 { 24 JsAppProcessState processState; 25 switch (appProcessState) { 26 case AppExecFwk::AppProcessState::APP_STATE_CREATE: 27 case AppExecFwk::AppProcessState::APP_STATE_READY: 28 processState = STATE_CREATE; 29 break; 30 case AppExecFwk::AppProcessState::APP_STATE_FOREGROUND: 31 processState = isFocused ? STATE_ACTIVE : STATE_FOREGROUND; 32 break; 33 case AppExecFwk::AppProcessState::APP_STATE_BACKGROUND: 34 processState = STATE_BACKGROUND; 35 break; 36 case AppExecFwk::AppProcessState::APP_STATE_TERMINATED: 37 case AppExecFwk::AppProcessState::APP_STATE_END: 38 processState = STATE_DESTROY; 39 break; 40 default: 41 TAG_LOGE(AAFwkTag::APPMGR, "invalid state"); 42 processState = STATE_DESTROY; 43 break; 44 } 45 return processState; 46 } 47 } // namespace AbilityRuntime 48 } // namespace OHOS