1f16e0440Sopenharmony_ci/* 2f16e0440Sopenharmony_ci * Copyright (c) 2022-2023 Huawei Device Co., Ltd. 3f16e0440Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4f16e0440Sopenharmony_ci * you may not use this file except in compliance with the License. 5f16e0440Sopenharmony_ci * You may obtain a copy of the License at 6f16e0440Sopenharmony_ci * 7f16e0440Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8f16e0440Sopenharmony_ci * 9f16e0440Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10f16e0440Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11f16e0440Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12f16e0440Sopenharmony_ci * See the License for the specific language governing permissions and 13f16e0440Sopenharmony_ci * limitations under the License. 14f16e0440Sopenharmony_ci */ 15f16e0440Sopenharmony_ci 16f16e0440Sopenharmony_ci#include "battery_backlight.h" 17f16e0440Sopenharmony_ci 18f16e0440Sopenharmony_ci#include "charger_log.h" 19f16e0440Sopenharmony_ci#include "hdf_base.h" 20f16e0440Sopenharmony_ci 21f16e0440Sopenharmony_cinamespace OHOS { 22f16e0440Sopenharmony_cinamespace PowerMgr { 23f16e0440Sopenharmony_cinamespace { 24f16e0440Sopenharmony_ciconstexpr uint32_t BACKLIGHT_ON = 128; 25f16e0440Sopenharmony_ci} 26f16e0440Sopenharmony_ci 27f16e0440Sopenharmony_ciBatteryBacklight::BatteryBacklight() 28f16e0440Sopenharmony_ci{ 29f16e0440Sopenharmony_ci if (composer_ == nullptr) { 30f16e0440Sopenharmony_ci composer_.reset(V1_2::IDisplayComposerInterface::Get()); 31f16e0440Sopenharmony_ci if (composer_ == nullptr) { 32f16e0440Sopenharmony_ci return; 33f16e0440Sopenharmony_ci } 34f16e0440Sopenharmony_ci } 35f16e0440Sopenharmony_ci} 36f16e0440Sopenharmony_ci 37f16e0440Sopenharmony_ciBatteryBacklight::~BatteryBacklight() 38f16e0440Sopenharmony_ci{ 39f16e0440Sopenharmony_ci} 40f16e0440Sopenharmony_ci 41f16e0440Sopenharmony_civoid BatteryBacklight::TurnOnScreen() 42f16e0440Sopenharmony_ci{ 43f16e0440Sopenharmony_ci if (screenState_ != SCREEN_ON) { 44f16e0440Sopenharmony_ci BATTERY_HILOGD(FEATURE_CHARGING, "turn on screen"); 45f16e0440Sopenharmony_ci uint32_t devId = 0; 46f16e0440Sopenharmony_ci composer_->SetDisplayPowerStatus(devId, V1_0::POWER_STATUS_ON); 47f16e0440Sopenharmony_ci composer_->SetDisplayBacklight(devId, BACKLIGHT_ON); 48f16e0440Sopenharmony_ci screenState_ = SCREEN_ON; 49f16e0440Sopenharmony_ci } 50f16e0440Sopenharmony_ci} 51f16e0440Sopenharmony_ci 52f16e0440Sopenharmony_civoid BatteryBacklight::TurnOffScreen() 53f16e0440Sopenharmony_ci{ 54f16e0440Sopenharmony_ci if (screenState_ != SCREEN_OFF) { 55f16e0440Sopenharmony_ci BATTERY_HILOGD(FEATURE_CHARGING, "turn off screen"); 56f16e0440Sopenharmony_ci uint32_t devId = 0; 57f16e0440Sopenharmony_ci composer_->SetDisplayPowerStatus(devId, V1_0::POWER_STATUS_OFF); 58f16e0440Sopenharmony_ci screenState_ = SCREEN_OFF; 59f16e0440Sopenharmony_ci } 60f16e0440Sopenharmony_ci} 61f16e0440Sopenharmony_ci 62f16e0440Sopenharmony_ciint32_t BatteryBacklight::GetScreenState() 63f16e0440Sopenharmony_ci{ 64f16e0440Sopenharmony_ci return screenState_; 65f16e0440Sopenharmony_ci} 66f16e0440Sopenharmony_ci} // namespace PowerMgr 67f16e0440Sopenharmony_ci} // namespace OHOS 68