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,uint32_t reason)44 void BrightnessManager::SetDisplayState(uint32_t id, DisplayState state, uint32_t reason)
45 {
46 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
47 mBrightnessManagerExt.SetDisplayState(id, state, reason);
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
IsSupportLightSensor(void)62 bool BrightnessManager::IsSupportLightSensor(void)
63 {
64 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
65 return mBrightnessManagerExt.IsSupportLightSensor();
66 #else
67 return BrightnessService::Get().IsSupportLightSensor();
68 #endif
69 }
70
IsAutoAdjustBrightness(void)71 bool BrightnessManager::IsAutoAdjustBrightness(void)
72 {
73 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
74 return mBrightnessManagerExt.IsAutoAdjustBrightness();
75 #else
76 return BrightnessService::Get().IsAutoAdjustBrightness();
77 #endif
78 }
79
AutoAdjustBrightness(bool enable)80 bool BrightnessManager::AutoAdjustBrightness(bool enable)
81 {
82 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
83 return mBrightnessManagerExt.AutoAdjustBrightness(enable);
84 #else
85 #ifdef ENABLE_SENSOR_PART
86 return BrightnessService::Get().AutoAdjustBrightness(enable);
87 #else
88 return false;
89 #endif
90 #endif
91 }
92
SetBrightness(uint32_t value,uint32_t gradualDuration,bool continuous)93 bool BrightnessManager::SetBrightness(uint32_t value, uint32_t gradualDuration, bool continuous)
94 {
95 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
96 return mBrightnessManagerExt.SetBrightness(value, gradualDuration, continuous);
97 #else
98 return BrightnessService::Get().SetBrightness(value, gradualDuration, continuous);
99 #endif
100 }
101
DiscountBrightness(double discount)102 bool BrightnessManager::DiscountBrightness(double discount)
103 {
104 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
105 return mBrightnessManagerExt.DiscountBrightness(discount);
106 #else
107 return BrightnessService::Get().DiscountBrightness(discount);
108 #endif
109 }
110
GetDiscount() const111 double BrightnessManager::GetDiscount() const
112 {
113 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
114 return mBrightnessManagerExt.GetDiscount();
115 #else
116 return BrightnessService::Get().GetDiscount();
117 #endif
118 }
119
SetScreenOnBrightness()120 void BrightnessManager::SetScreenOnBrightness()
121 {
122 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
123 mBrightnessManagerExt.SetScreenOnBrightness();
124 #else
125 BrightnessService::Get().SetScreenOnBrightness();
126 #endif
127 }
128
GetScreenOnBrightness() const129 uint32_t BrightnessManager::GetScreenOnBrightness() const
130 {
131 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
132 return mBrightnessManagerExt.GetScreenOnBrightness();
133 #else
134 return BrightnessService::Get().GetScreenOnBrightness(false);
135 #endif
136 }
137
ClearOffset()138 void BrightnessManager::ClearOffset()
139 {
140 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
141 mBrightnessManagerExt.ClearOffset();
142 #else
143 BrightnessService::Get().ClearOffset();
144 #endif
145 }
146
OverrideBrightness(uint32_t value,uint32_t gradualDuration)147 bool BrightnessManager::OverrideBrightness(uint32_t value, uint32_t gradualDuration)
148 {
149 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
150 return mBrightnessManagerExt.OverrideBrightness(value, gradualDuration);
151 #else
152 return BrightnessService::Get().OverrideBrightness(value, gradualDuration);
153 #endif
154 }
155
RestoreBrightness(uint32_t gradualDuration)156 bool BrightnessManager::RestoreBrightness(uint32_t gradualDuration)
157 {
158 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
159 return mBrightnessManagerExt.RestoreBrightness(gradualDuration);
160 #else
161 return BrightnessService::Get().RestoreBrightness(gradualDuration);
162 #endif
163 }
164
BoostBrightness(uint32_t timeoutMs,uint32_t gradualDuration)165 bool BrightnessManager::BoostBrightness(uint32_t timeoutMs, uint32_t gradualDuration)
166 {
167 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
168 return mBrightnessManagerExt.BoostBrightness(timeoutMs, gradualDuration);
169 #else
170 return BrightnessService::Get().BoostBrightness(timeoutMs, gradualDuration);
171 #endif
172 }
173
CancelBoostBrightness(uint32_t gradualDuration)174 bool BrightnessManager::CancelBoostBrightness(uint32_t gradualDuration)
175 {
176 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
177 return mBrightnessManagerExt.CancelBoostBrightness(gradualDuration);
178 #else
179 return BrightnessService::Get().CancelBoostBrightness(gradualDuration);
180 #endif
181 }
182
GetBrightness()183 uint32_t BrightnessManager::GetBrightness()
184 {
185 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
186 return mBrightnessManagerExt.GetBrightness();
187 #else
188 return BrightnessService::Get().GetBrightness();
189 #endif
190 }
191
GetDeviceBrightness()192 uint32_t BrightnessManager::GetDeviceBrightness()
193 {
194 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
195 return mBrightnessManagerExt.GetDeviceBrightness();
196 #else
197 return BrightnessService::Get().GetDeviceBrightness();
198 #endif
199 }
200
SetLightBrightnessThreshold(std::vector<int32_t> threshold,sptr<IDisplayBrightnessCallback> callback)201 uint32_t BrightnessManager::SetLightBrightnessThreshold(
202 std::vector<int32_t> threshold, sptr<IDisplayBrightnessCallback> callback)
203 {
204 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
205 return mBrightnessManagerExt.SetLightBrightnessThreshold(threshold, callback);
206 #else
207 DISPLAY_HILOGW(FEAT_BRIGHTNESS, "BrightnessManager::SetLightBrightnessThreshold not support");
208 return BrightnessService::Get().SetLightBrightnessThreshold(threshold, callback);
209 #endif
210 }
211
IsBrightnessOverridden() const212 bool BrightnessManager::IsBrightnessOverridden() const
213 {
214 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
215 return mBrightnessManagerExt.IsBrightnessOverridden();
216 #else
217 return BrightnessService::Get().IsBrightnessOverridden();
218 #endif
219 }
220
IsBrightnessBoosted() const221 bool BrightnessManager::IsBrightnessBoosted() const
222 {
223 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
224 return mBrightnessManagerExt.IsBrightnessBoosted();
225 #else
226 return BrightnessService::Get().IsBrightnessBoosted();
227 #endif
228 }
229
GetCurrentDisplayId(uint32_t defaultId) const230 uint32_t BrightnessManager::GetCurrentDisplayId(uint32_t defaultId) const
231 {
232 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
233 return mBrightnessManagerExt.GetCurrentDisplayId(defaultId);
234 #else
235 return BrightnessService::Get().GetCurrentDisplayId(defaultId);
236 #endif
237 }
238
SetDisplayId(uint32_t id)239 void BrightnessManager::SetDisplayId(uint32_t id)
240 {
241 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
242 mBrightnessManagerExt.SetDisplayId(id);
243 #else
244 BrightnessService::Get().SetDisplayId(id);
245 #endif
246 }
247
SetMaxBrightness(double value)248 bool BrightnessManager::SetMaxBrightness(double value)
249 {
250 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
251 return mBrightnessManagerExt.SetMaxBrightness(value);
252 #else
253 return BrightnessService::Get().SetMaxBrightness(value);
254 #endif
255 }
256
SetMaxBrightnessNit(uint32_t nit)257 bool BrightnessManager::SetMaxBrightnessNit(uint32_t nit)
258 {
259 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
260 return mBrightnessManagerExt.SetMaxBrightnessNit(nit);
261 #else
262 return BrightnessService::Get().SetMaxBrightnessNit(nit);
263 #endif
264 }
265
NotifyScreenPowerStatus(uint32_t displayId,uint32_t status)266 int BrightnessManager::NotifyScreenPowerStatus(uint32_t displayId, uint32_t status)
267 {
268 DISPLAY_HILOGI(FEAT_BRIGHTNESS,
269 "BrightnessManager::NotifyScreenPowerStatus displayId:%{public}u, status:%{public}u", displayId, status);
270 #ifdef OHOS_BUILD_ENABLE_BRIGHTNESS_WRAPPER
271 return mBrightnessManagerExt.NotifyScreenPowerStatus(displayId, status);
272 #else
273 return BrightnessService::Get().NotifyScreenPowerStatus(displayId, status);
274 #endif
275 }
276 } // namespace DisplayPowerMgr
277 } // namespace OHOS
278