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