1 /*
2  * Copyright (c) 2023-2023 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 "brightness_manager.h"
17 
18 namespace OHOS {
19 namespace DisplayPowerMgr {
Get()20 BrightnessManager& BrightnessManager::Get()
21 {
22     static BrightnessManager brightnessManager;
23     return brightnessManager;
24 }
25 
Init(uint32_t defaultMax,uint32_t defaultMin)26 void BrightnessManager::Init(uint32_t defaultMax, uint32_t defaultMin)
27 {
28 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
29     mBrightnessManagerExt.Init(defaultMax, defaultMin);
30 #else
31     BrightnessService::Get().Init(defaultMax, defaultMin);
32 #endif
33 }
34 
DeInit()35 void BrightnessManager::DeInit()
36 {
37 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
38     mBrightnessManagerExt.DeInit();
39 #else
40     BrightnessService::Get().DeInit();
41 #endif
42 }
43 
SetDisplayState(uint32_t id,DisplayState state)44 void BrightnessManager::SetDisplayState(uint32_t id, DisplayState state)
45 {
46 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
47     mBrightnessManagerExt.SetDisplayState(id, state);
48 #else
49     BrightnessService::Get().SetDisplayState(id, state);
50 #endif
51 }
52 
GetState()53 DisplayState BrightnessManager::GetState()
54 {
55 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
56     return mBrightnessManagerExt.GetState();
57 #else
58     return BrightnessService::Get().GetDisplayState();
59 #endif
60 }
61 
AutoAdjustBrightness(bool enable)62 bool BrightnessManager::AutoAdjustBrightness(bool enable)
63 {
64 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
65     return mBrightnessManagerExt.AutoAdjustBrightness(enable);
66 #else
67     #ifdef ENABLE_SENSOR_PART
68         return BrightnessService::Get().AutoAdjustBrightness(enable);
69     #else
70         return false;
71     #endif
72 #endif
73 }
74 
SetBrightness(uint32_t value,uint32_t gradualDuration,bool continuous)75 bool BrightnessManager::SetBrightness(uint32_t value, uint32_t gradualDuration, bool continuous)
76 {
77 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
78     return mBrightnessManagerExt.SetBrightness(value, gradualDuration, continuous);
79 #else
80     return BrightnessService::Get().SetBrightness(value, gradualDuration, continuous);
81 #endif
82 }
83 
DiscountBrightness(double discount)84 bool BrightnessManager::DiscountBrightness(double discount)
85 {
86 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
87     return mBrightnessManagerExt.DiscountBrightness(discount);
88 #else
89     return BrightnessService::Get().DiscountBrightness(discount);
90 #endif
91 }
92 
GetDiscount() const93 double BrightnessManager::GetDiscount() const
94 {
95 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
96     return mBrightnessManagerExt.GetDiscount();
97 #else
98     return BrightnessService::Get().GetDiscount();
99 #endif
100 }
101 
SetScreenOnBrightness()102 void BrightnessManager::SetScreenOnBrightness()
103 {
104 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
105     mBrightnessManagerExt.SetScreenOnBrightness();
106 #else
107     BrightnessService::Get().SetScreenOnBrightness();
108 #endif
109 }
110 
GetScreenOnBrightness() const111 uint32_t BrightnessManager::GetScreenOnBrightness() const
112 {
113 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
114     return mBrightnessManagerExt.GetScreenOnBrightness();
115 #else
116     return BrightnessService::Get().GetScreenOnBrightness(false);
117 #endif
118 }
119 
ClearOffset()120 void BrightnessManager::ClearOffset()
121 {
122 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
123     mBrightnessManagerExt.ClearOffset();
124 #else
125     BrightnessService::Get().ClearOffset();
126 #endif
127 }
128 
OverrideBrightness(uint32_t value,uint32_t gradualDuration)129 bool BrightnessManager::OverrideBrightness(uint32_t value, uint32_t gradualDuration)
130 {
131 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
132     return mBrightnessManagerExt.OverrideBrightness(value, gradualDuration);
133 #else
134     return BrightnessService::Get().OverrideBrightness(value, gradualDuration);
135 #endif
136 }
137 
RestoreBrightness(uint32_t gradualDuration)138 bool BrightnessManager::RestoreBrightness(uint32_t gradualDuration)
139 {
140 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
141     return mBrightnessManagerExt.RestoreBrightness(gradualDuration);
142 #else
143     return BrightnessService::Get().RestoreBrightness(gradualDuration);
144 #endif
145 }
146 
BoostBrightness(uint32_t timeoutMs,uint32_t gradualDuration)147 bool BrightnessManager::BoostBrightness(uint32_t timeoutMs, uint32_t gradualDuration)
148 {
149 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
150     return mBrightnessManagerExt.BoostBrightness(timeoutMs, gradualDuration);
151 #else
152     return BrightnessService::Get().BoostBrightness(timeoutMs, gradualDuration);
153 #endif
154 }
155 
CancelBoostBrightness(uint32_t gradualDuration)156 bool BrightnessManager::CancelBoostBrightness(uint32_t gradualDuration)
157 {
158 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
159     return mBrightnessManagerExt.CancelBoostBrightness(gradualDuration);
160 #else
161     return BrightnessService::Get().CancelBoostBrightness(gradualDuration);
162 #endif
163 }
164 
GetBrightness()165 uint32_t BrightnessManager::GetBrightness()
166 {
167 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
168     return mBrightnessManagerExt.GetBrightness();
169 #else
170     return BrightnessService::Get().GetBrightness();
171 #endif
172 }
173 
GetDeviceBrightness()174 uint32_t BrightnessManager::GetDeviceBrightness()
175 {
176 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
177     return mBrightnessManagerExt.GetDeviceBrightness();
178 #else
179     return BrightnessService::Get().GetDeviceBrightness();
180 #endif
181 }
182 
SetLightBrightnessThreshold(std::vector<int32_t> threshold,sptr<IDisplayBrightnessCallback> callback)183 uint32_t BrightnessManager::SetLightBrightnessThreshold(
184     std::vector<int32_t> threshold, sptr<IDisplayBrightnessCallback> callback)
185 {
186 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
187     return mBrightnessManagerExt.SetLightBrightnessThreshold(threshold, callback);
188 #else
189     return BrightnessService::Get().SetLightBrightnessThreshold(threshold, callback);
190 #endif
191 }
192 
IsBrightnessOverridden() const193 bool BrightnessManager::IsBrightnessOverridden() const
194 {
195 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
196     return mBrightnessManagerExt.IsBrightnessOverridden();
197 #else
198     return BrightnessService::Get().IsBrightnessOverridden();
199 #endif
200 }
201 
IsBrightnessBoosted() const202 bool BrightnessManager::IsBrightnessBoosted() const
203 {
204 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
205     return mBrightnessManagerExt.IsBrightnessBoosted();
206 #else
207     return BrightnessService::Get().IsBrightnessBoosted();
208 #endif
209 }
210 
GetCurrentDisplayId(uint32_t defaultId) const211 uint32_t BrightnessManager::GetCurrentDisplayId(uint32_t defaultId) const
212 {
213 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
214     return mBrightnessManagerExt.GetCurrentDisplayId(defaultId);
215 #else
216     return BrightnessService::Get().GetCurrentDisplayId(defaultId);
217 #endif
218 }
219 
SetDisplayId(uint32_t id)220 void BrightnessManager::SetDisplayId(uint32_t id)
221 {
222 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
223     mBrightnessManagerExt.SetDisplayId(id);
224 #else
225     BrightnessService::Get().SetDisplayId(id);
226 #endif
227 }
228 
SetMaxBrightness(double value)229 bool BrightnessManager::SetMaxBrightness(double value)
230 {
231 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
232     return mBrightnessManagerExt.SetMaxBrightness(value);
233 #else
234     return BrightnessService::Get().SetMaxBrightness(value);
235 #endif
236 }
237 
SetMaxBrightnessNit(uint32_t nit)238 bool BrightnessManager::SetMaxBrightnessNit(uint32_t nit)
239 {
240 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
241     return mBrightnessManagerExt.SetMaxBrightnessNit(nit);
242 #else
243     return BrightnessService::Get().SetMaxBrightnessNit(nit);
244 #endif
245 }
246 } // namespace DisplayPowerMgr
247 } // namespace OHOS
248