1 /*
2 * Copyright (c) 2024-2024 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 "mock_brightness_manager_interface.h"
17
18 #include <cstdint>
19 #include <list>
20 #include <vector>
21 namespace OHOS {
22 namespace DisplayPowerMgr {
23 static std::list<double> g_values{};
24
25 // 打桩接口
MockSetValue(double value)26 void MockSetValue(double value)
27 {
28 g_values.emplace_back(value);
29 }
30
31 // 清理打桩数据
MockClearValues(void)32 void MockClearValues(void)
33 {
34 g_values.clear();
35 }
36
MockReturnValue(void)37 static double MockReturnValue(void)
38 {
39 auto v = g_values.front();
40 g_values.pop_front();
41 return v;
42 }
43
MockReturnBool(void)44 static bool MockReturnBool(void)
45 {
46 return MockReturnValue() >= 0;
47 }
48
Init(uint32_t defaultMax,uint32_t defaultMin)49 void Init(uint32_t defaultMax, uint32_t defaultMin)
50 {
51 }
52
DeInit()53 void DeInit()
54 {
55 }
56
SetDisplayState(uint32_t id,DisplayState state)57 void SetDisplayState(uint32_t id, DisplayState state)
58 {
59 }
60
GetDisplayState()61 DisplayState GetDisplayState()
62 {
63 return static_cast<DisplayState>(MockReturnBool());
64 }
65
AutoAdjustBrightness(bool enable)66 bool AutoAdjustBrightness(bool enable)
67 {
68 return MockReturnBool();
69 }
70
SetBrightness(uint32_t value,uint32_t gradualDuration,bool continuous)71 bool SetBrightness(uint32_t value, uint32_t gradualDuration, bool continuous)
72 {
73 return MockReturnBool();
74 }
75
DiscountBrightness(double discount)76 bool DiscountBrightness(double discount)
77 {
78 return MockReturnBool();
79 }
80
GetDiscount()81 double GetDiscount()
82 {
83 return MockReturnValue();
84 }
85
SetScreenOnBrightness()86 void SetScreenOnBrightness()
87 {
88 }
89
GetScreenOnBrightness()90 uint32_t GetScreenOnBrightness()
91 {
92 return MockReturnValue();
93 }
94
OverrideBrightness(uint32_t value,uint32_t gradualDuration)95 bool OverrideBrightness(uint32_t value, uint32_t gradualDuration)
96 {
97 return MockReturnBool();
98 }
99
RestoreBrightness(uint32_t gradualDuration)100 bool RestoreBrightness(uint32_t gradualDuration)
101 {
102 return MockReturnBool();
103 }
104
BoostBrightness(uint32_t timeoutMs,uint32_t gradualDuration)105 bool BoostBrightness(uint32_t timeoutMs, uint32_t gradualDuration)
106 {
107 return MockReturnBool();
108 }
109
CancelBoostBrightness(uint32_t gradualDuration)110 bool CancelBoostBrightness(uint32_t gradualDuration)
111 {
112 return MockReturnBool();
113 }
114
IsBrightnessOverridden()115 bool IsBrightnessOverridden()
116 {
117 return MockReturnBool();
118 }
119
IsBrightnessBoosted()120 bool IsBrightnessBoosted()
121 {
122 return MockReturnBool();
123 }
124
GetBrightness()125 uint32_t GetBrightness()
126 {
127 return MockReturnValue();
128 }
129
GetDeviceBrightness()130 uint32_t GetDeviceBrightness()
131 {
132 return MockReturnValue();
133 }
134
ClearOffset()135 void ClearOffset()
136 {
137 }
138
GetCurrentDisplayId(uint32_t defaultId)139 uint32_t GetCurrentDisplayId(uint32_t defaultId)
140 {
141 return MockReturnValue();
142 }
143
SetDisplayId(uint32_t id)144 void SetDisplayId(uint32_t id)
145 {
146 }
147
SetLightBrightnessThreshold(std::vector<int32_t> threshold,sptr<IDisplayBrightnessCallback> callback)148 uint32_t SetLightBrightnessThreshold(std::vector<int32_t> threshold, sptr<IDisplayBrightnessCallback> callback)
149 {
150 return MockReturnValue();
151 }
152
SetMaxBrightness(double value)153 bool SetMaxBrightness(double value)
154 {
155 return MockReturnBool();
156 }
157
SetMaxBrightnessNit(uint32_t maxNit)158 bool SetMaxBrightnessNit(uint32_t maxNit)
159 {
160 return MockReturnBool();
161 }
162
MockInitBrightnessManagerExt(OHOS::DisplayPowerMgr::BrightnessManagerExt & ext)163 void MockInitBrightnessManagerExt(OHOS::DisplayPowerMgr::BrightnessManagerExt& ext)
164 {
165 ext.mBrightnessManagerExtEnable = true;
166 ext.mBrightnessManagerInitFunc = reinterpret_cast<void*>(Init);
167 ext.mBrightnessManagerDeInitFunc = reinterpret_cast<void*>(DeInit);
168 ext.mSetDisplayStateFunc = reinterpret_cast<void*>(SetDisplayState);
169 ext.mGetDisplayStateFunc = reinterpret_cast<void*>(GetDisplayState);
170 ext.mAutoAdjustBrightnessFunc = reinterpret_cast<void*>(AutoAdjustBrightness);
171 ext.mSetBrightnessFunc = reinterpret_cast<void*>(SetBrightness);
172 ext.mDiscountBrightnessFunc = reinterpret_cast<void*>(DiscountBrightness);
173 ext.mGetDiscountFunc = reinterpret_cast<void*>(GetDiscount);
174 ext.mSetScreenOnBrightnessFunc = reinterpret_cast<void*>(SetScreenOnBrightness);
175 ext.mGetScreenOnBrightnessFunc = reinterpret_cast<void*>(GetScreenOnBrightness);
176 ext.mOverrideBrightnessFunc = reinterpret_cast<void*>(OverrideBrightness);
177 ext.mRestoreBrightnessFunc = reinterpret_cast<void*>(RestoreBrightness);
178 ext.mBoostBrightnessFunc = reinterpret_cast<void*>(BoostBrightness);
179 ext.mCancelBoostBrightnessFunc = reinterpret_cast<void*>(CancelBoostBrightness);
180 ext.mIsBrightnessOverriddenFunc = reinterpret_cast<void*>(IsBrightnessOverridden);
181 ext.mIsBrightnessBoostedFunc = reinterpret_cast<void*>(IsBrightnessBoosted);
182 ext.mGetBrightnessFunc = reinterpret_cast<void*>(GetBrightness);
183 ext.mGetDeviceBrightnessFunc = reinterpret_cast<void*>(GetDeviceBrightness);
184 ext.mClearOffsetFunc = reinterpret_cast<void*>(ClearOffset);
185 ext.mGetCurrentDisplayIdFunc = reinterpret_cast<void*>(GetCurrentDisplayId);
186 ext.mSetDisplayIdFunc = reinterpret_cast<void*>(SetDisplayId);
187 ext.mSetLightBrightnessThresholdFunc = reinterpret_cast<void*>(SetLightBrightnessThreshold);
188 ext.mSetMaxBrightnessFunc = reinterpret_cast<void*>(SetMaxBrightness);
189 ext.mSetMaxBrightnessNitFunc = reinterpret_cast<void*>(SetMaxBrightnessNit);
190 }
191
MockDeInitBrightnessManagerExt(OHOS::DisplayPowerMgr::BrightnessManagerExt & ext)192 void MockDeInitBrightnessManagerExt(OHOS::DisplayPowerMgr::BrightnessManagerExt& ext)
193 {
194 ext.mBrightnessManagerExtEnable = false;
195 ext.mBrightnessManagerInitFunc = nullptr;
196 ext.mBrightnessManagerDeInitFunc = nullptr;
197 ext.mSetDisplayStateFunc = nullptr;
198 ext.mGetDisplayStateFunc = nullptr;
199 ext.mAutoAdjustBrightnessFunc = nullptr;
200 ext.mSetBrightnessFunc = nullptr;
201 ext.mDiscountBrightnessFunc = nullptr;
202 ext.mGetDiscountFunc = nullptr;
203 ext.mSetScreenOnBrightnessFunc = nullptr;
204 ext.mGetScreenOnBrightnessFunc = nullptr;
205 ext.mOverrideBrightnessFunc = nullptr;
206 ext.mRestoreBrightnessFunc = nullptr;
207 ext.mBoostBrightnessFunc = nullptr;
208 ext.mCancelBoostBrightnessFunc = nullptr;
209 ext.mIsBrightnessOverriddenFunc = nullptr;
210 ext.mIsBrightnessBoostedFunc = nullptr;
211 ext.mGetBrightnessFunc = nullptr;
212 ext.mGetDeviceBrightnessFunc = nullptr;
213 ext.mClearOffsetFunc = nullptr;
214 ext.mGetCurrentDisplayIdFunc = nullptr;
215 ext.mSetDisplayIdFunc = nullptr;
216 ext.mSetLightBrightnessThresholdFunc = nullptr;
217 ext.mSetMaxBrightnessFunc = nullptr;
218 ext.mSetMaxBrightnessNitFunc = nullptr;
219 }
220 }
221 }