1eace7efcSopenharmony_ci/* 2eace7efcSopenharmony_ci * Copyright (c) 2022-2024 Huawei Device Co., Ltd. 3eace7efcSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4eace7efcSopenharmony_ci * you may not use this file except in compliance with the License. 5eace7efcSopenharmony_ci * You may obtain a copy of the License at 6eace7efcSopenharmony_ci * 7eace7efcSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8eace7efcSopenharmony_ci * 9eace7efcSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10eace7efcSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11eace7efcSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12eace7efcSopenharmony_ci * See the License for the specific language governing permissions and 13eace7efcSopenharmony_ci * limitations under the License. 14eace7efcSopenharmony_ci */ 15eace7efcSopenharmony_ci 16eace7efcSopenharmony_ci#ifndef OHOS_ABILITY_RUNTIME_APPLICATION_UTIL_H 17eace7efcSopenharmony_ci#define OHOS_ABILITY_RUNTIME_APPLICATION_UTIL_H 18eace7efcSopenharmony_ci 19eace7efcSopenharmony_ci#include "common_event_manager.h" 20eace7efcSopenharmony_ci#include "common_event_support.h" 21eace7efcSopenharmony_ci#include "hilog_tag_wrapper.h" 22eace7efcSopenharmony_ci#include "parameters.h" 23eace7efcSopenharmony_ci#include "want.h" 24eace7efcSopenharmony_ci 25eace7efcSopenharmony_cinamespace OHOS { 26eace7efcSopenharmony_cinamespace AAFwk { 27eace7efcSopenharmony_cinamespace ApplicationUtil { 28eace7efcSopenharmony_ciusing Want = OHOS::AAFwk::Want; 29eace7efcSopenharmony_ciconstexpr int32_t BOOT_COMPLETED_SIZE = 6; 30eace7efcSopenharmony_ciconstexpr const char* BOOTEVENT_BOOT_COMPLETED = "bootevent.boot.completed"; 31eace7efcSopenharmony_ciconstexpr const char* ENABLE_APP_GALLERY_SELECTOR_UTIL = "abilitymanagerservice.support.appgallery.selector"; 32eace7efcSopenharmony_ci 33eace7efcSopenharmony_ci[[maybe_unused]] static void AppFwkBootEventCallback(const char *key, const char *value, void *context) 34eace7efcSopenharmony_ci{ 35eace7efcSopenharmony_ci if (strcmp(key, "bootevent.boot.completed") == 0 && strcmp(value, "true") == 0) { 36eace7efcSopenharmony_ci Want want; 37eace7efcSopenharmony_ci want.SetAction(EventFwk::CommonEventSupport::COMMON_EVENT_BOOT_COMPLETED); 38eace7efcSopenharmony_ci EventFwk::CommonEventData commonData {want}; 39eace7efcSopenharmony_ci TAG_LOGI(AAFwkTag::ABILITYMGR, "init call, AppFwkBootEventCallback"); 40eace7efcSopenharmony_ci EventFwk::CommonEventManager::PublishCommonEvent(commonData); 41eace7efcSopenharmony_ci TAG_LOGI(AAFwkTag::ABILITYMGR, "init call, AppFwkBootEventCallback push BootEvent"); 42eace7efcSopenharmony_ci return; 43eace7efcSopenharmony_ci } 44eace7efcSopenharmony_ci TAG_LOGE(AAFwkTag::ABILITYMGR, "init call, AppFwkBootEventCallback key: %{public}s, value: %{public}s", key, value); 45eace7efcSopenharmony_ci} 46eace7efcSopenharmony_ci 47eace7efcSopenharmony_ciinline bool IsBootCompleted() 48eace7efcSopenharmony_ci{ 49eace7efcSopenharmony_ci TAG_LOGD(AAFwkTag::ABILITYMGR, "call"); 50eace7efcSopenharmony_ci std::string ret = OHOS::system::GetParameter(BOOTEVENT_BOOT_COMPLETED, "false"); 51eace7efcSopenharmony_ci if (ret == "true") { 52eace7efcSopenharmony_ci return true; 53eace7efcSopenharmony_ci } 54eace7efcSopenharmony_ci return false; 55eace7efcSopenharmony_ci} 56eace7efcSopenharmony_ci 57eace7efcSopenharmony_ciinline bool IsEnableAppGallerySelector() 58eace7efcSopenharmony_ci{ 59eace7efcSopenharmony_ci TAG_LOGD(AAFwkTag::ABILITYMGR, "call"); 60eace7efcSopenharmony_ci std::string ret = OHOS::system::GetParameter(ENABLE_APP_GALLERY_SELECTOR_UTIL, "true"); 61eace7efcSopenharmony_ci if (ret == "true") { 62eace7efcSopenharmony_ci return true; 63eace7efcSopenharmony_ci } 64eace7efcSopenharmony_ci return false; 65eace7efcSopenharmony_ci} 66eace7efcSopenharmony_ci} // namespace ApplicationlUtil 67eace7efcSopenharmony_ci} // namespace AAFwk 68eace7efcSopenharmony_ci} // namespace OHOS 69eace7efcSopenharmony_ci#endif // OHOS_ABILITY_RUNTIME_APPLICATION_UTIL_H 70