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 }