1 /*
2  * Copyright (c) 2022-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 #ifndef MOCK_OHOS_ABILITY_RUNTIME_MOCK_ABILITY_DELEGATOR_STUB_H
17 #define MOCK_OHOS_ABILITY_RUNTIME_MOCK_ABILITY_DELEGATOR_STUB_H
18 
19 #include "gmock/gmock.h"
20 
21 #include "string_ex.h"
22 #include "ability_manager_errors.h"
23 #include "ability_manager_stub.h"
24 
25 namespace OHOS {
26 namespace AAFwk {
27 class MockAbilityDelegatorStub : public AbilityManagerStub {
28 public:
29     MockAbilityDelegatorStub();
30     int StartAbility(const Want& want, int32_t userId = DEFAULT_INVAL_VALUE,
31         int requestCode = DEFAULT_INVAL_VALUE) override;
32     MOCK_METHOD4(StartAbility, int(const Want& want, const sptr<IRemoteObject>& callerToken,
33         int32_t userId, int requestCode));
34     MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
35         sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
36     MOCK_METHOD5(StartAbility, int(const Want& want, const AbilityStartSetting& abilityStartSetting,
37         const sptr<IRemoteObject>& callerToken, int32_t userId, int requestCode));
38     MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken,
39         uint64_t intentId, int32_t userId));
40     int StartAbility(const Want& want, const StartOptions& startOptions,
41         const sptr<IRemoteObject>& callerToken, int requestCode = DEFAULT_INVAL_VALUE,
42         int32_t userId = DEFAULT_INVAL_VALUE) override;
43     int StartAbilityAsCaller(const Want& want, const StartOptions& startOptions,
44         const sptr<IRemoteObject>& callerToken, sptr<IRemoteObject> asCallerSourceToken,
45         int requestCode = DEFAULT_INVAL_VALUE, int32_t userId = DEFAULT_INVAL_VALUE) override;
46     MOCK_METHOD3(TerminateAbility, int(const sptr<IRemoteObject>& token, int resultCode, const Want* resultWant));
47     int CloseAbility(const sptr<IRemoteObject>& token, int resultCode = DEFAULT_INVAL_VALUE,
48         const Want* resultWant = nullptr) override;
49     int MinimizeAbility(const sptr<IRemoteObject>& token, bool fromUser = false) override;
50     MOCK_METHOD4(ConnectAbility, int(const Want& want, const sptr<IAbilityConnection>& connect,
51         const sptr<IRemoteObject>& callerToken, int32_t userId));
52     MOCK_METHOD1(DisconnectAbility, int(sptr<IAbilityConnection> connect));
53     MOCK_METHOD3(AcquireDataAbility,
54         sptr<IAbilityScheduler>(const Uri& uri, bool tryBind, const sptr<IRemoteObject>& callerToken));
55     MOCK_METHOD2(
56         ReleaseDataAbility, int(sptr<IAbilityScheduler> dataAbilityScheduler, const sptr<IRemoteObject>& callerToken));
57     MOCK_METHOD2(AddWindowInfo, void(const sptr<IRemoteObject>& token, int32_t windowToken));
58     MOCK_METHOD2(AttachAbilityThread, int(const sptr<IAbilityScheduler>& scheduler, const sptr<IRemoteObject>& token));
59     MOCK_METHOD3(AbilityTransitionDone, int(const sptr<IRemoteObject>& token, int state, const PacMap&));
60     MOCK_METHOD2(
61         ScheduleConnectAbilityDone, int(const sptr<IRemoteObject>& token, const sptr<IRemoteObject>& remoteObject));
62     MOCK_METHOD1(ScheduleDisconnectAbilityDone, int(const sptr<IRemoteObject>& token));
63     MOCK_METHOD1(ScheduleCommandAbilityDone, int(const sptr<IRemoteObject>& token));
64     MOCK_METHOD4(ScheduleCommandAbilityWindowDone, int(const sptr<IRemoteObject> &token,
65         const sptr<SessionInfo> &sessionInfo, WindowCommand winCmd, AbilityCommand abilityCmd));
66     void DumpState(const std::string& args, std::vector<std::string>& state) override;
67     int StopServiceAbility(const Want& want, int32_t userId = DEFAULT_INVAL_VALUE,
68         const sptr<IRemoteObject> &token = nullptr) override;
69     MOCK_METHOD1(MoveMissionToTop, int(int32_t missionId));
70     MOCK_METHOD1(RemoveMission, int(int id));
71     MOCK_METHOD1(RemoveStack, int(int id));
72     MOCK_METHOD2(KillProcess, int(const std::string& bundleName, const bool clearPageStack));
73     MOCK_METHOD2(UninstallApp, int(const std::string& bundleName, int32_t uid));
74     MOCK_METHOD3(UninstallApp, int32_t(const std::string& bundleName, int32_t uid, int32_t appIndex));
75     MOCK_METHOD2(MoveMissionToEnd, int(const sptr<IRemoteObject>& token, const bool nonFirst));
76     MOCK_METHOD1(IsFirstInMission, bool(const sptr<IRemoteObject>& token));
77     MOCK_METHOD4(CompelVerifyPermission, int(const std::string& permission, int pid, int uid, std::string& message));
78     MOCK_METHOD3(
79         GetWantSender, sptr<IWantSender>(const WantSenderInfo& wantSenderInfo, const sptr<IRemoteObject>& callerToken,
80         int32_t uid));
81     MOCK_METHOD2(SendWantSender, int(sptr<IWantSender> target, const SenderInfo& senderInfo));
82     MOCK_METHOD1(CancelWantSender, void(const sptr<IWantSender>& sender));
83     MOCK_METHOD1(GetPendingWantUid, int(const sptr<IWantSender>& target));
84     MOCK_METHOD1(GetPendingWantUserId, int(const sptr<IWantSender>& target));
85     MOCK_METHOD1(GetPendingWantBundleName, std::string(const sptr<IWantSender>& target));
86     MOCK_METHOD1(GetPendingWantCode, int(const sptr<IWantSender>& target));
87     MOCK_METHOD1(GetPendingWantType, int(const sptr<IWantSender>& target));
88     MOCK_METHOD2(RegisterCancelListener, void(const sptr<IWantSender>& sender, const sptr<IWantReceiver>& receiver));
89     MOCK_METHOD2(UnregisterCancelListener, void(const sptr<IWantSender>& sender, const sptr<IWantReceiver>& receiver));
90     MOCK_METHOD2(GetPendingRequestWant, int(const sptr<IWantSender>& target, std::shared_ptr<Want>& want));
91     MOCK_METHOD1(LockMission, int(int));
92     MOCK_METHOD1(UnlockMission, int(int));
93     MOCK_METHOD0(GetMissionLockModeState, int());
94     MOCK_METHOD2(
95         ChangeFocusAbility, int(const sptr<IRemoteObject>& lostFocusToken, const sptr<IRemoteObject>& getFocusToken));
96     MOCK_METHOD1(MinimizeMultiWindow, int(int missionId));
97     MOCK_METHOD1(MaximizeMultiWindow, int(int missionId));
98     MOCK_METHOD1(CloseMultiWindow, int(int missionId));
99     MOCK_METHOD1(GetPendinTerminateAbilityTestgRequestWant, void(int id));
100     MOCK_METHOD1(SetShowOnLockScreen, int(bool isAllow));
101     MOCK_METHOD3(StartContinuation, int(const Want& want, const sptr<IRemoteObject>& abilityToken, int32_t status));
102     MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
103     MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
104         int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
105     MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));
106     MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
107     MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
108     MOCK_METHOD1(UnlockMissionForCleanup, int(int32_t missionId));
109     MOCK_METHOD1(RegisterMissionListener, int(const sptr<IMissionListener>& listener));
110     MOCK_METHOD1(UnRegisterMissionListener, int(const sptr<IMissionListener>& listener));
111     MOCK_METHOD3(
112         GetMissionInfos, int(const std::string& deviceId, int32_t numMax, std::vector<MissionInfo>& missionInfos));
113     MOCK_METHOD3(GetMissionInfo, int(const std::string& deviceId, int32_t missionId, MissionInfo& missionInfo));
114     MOCK_METHOD1(CleanMission, int(int32_t missionId));
115     MOCK_METHOD0(CleanAllMissions, int());
116     MOCK_METHOD1(MoveMissionToFront, int(int32_t missionId));
117     MOCK_METHOD2(MoveMissionToFront, int(int32_t missionId, const StartOptions& startOptions));
118     MOCK_METHOD2(MoveMissionsToForeground, int(const std::vector<int32_t>& missionIds, int32_t topMissionId));
119     MOCK_METHOD2(MoveMissionsToBackground, int(const std::vector<int32_t>& missionIds, std::vector<int32_t>& result));
120     MOCK_METHOD1(GetAbilityRunningInfos, int(std::vector<AbilityRunningInfo>& info));
121     MOCK_METHOD2(GetExtensionRunningInfos, int(int upperLimit, std::vector<ExtensionRunningInfo>& info));
122     MOCK_METHOD1(GetProcessRunningInfos, int(std::vector<AppExecFwk::RunningProcessInfo>& info));
123     MOCK_METHOD2(GetWantSenderInfo, int(const sptr<IWantSender>& target, std::shared_ptr<WantSenderInfo>& info));
124     MOCK_METHOD2(AcquireShareData, int32_t(const int32_t &missionId, const sptr<IAcquireShareDataCallback> &shareData));
125     MOCK_METHOD4(ShareDataDone, int32_t(const sptr<IRemoteObject> &token,
126         const int32_t &resultCode, const int32_t &uniqueId, WantParams &wantParam));
127     MOCK_METHOD2(SetMissionContinueState, int(const sptr<IRemoteObject>& token, const AAFwk::ContinueState& state));
128     int StartUser(int userId, sptr<IUserCallback> callback) override;
129     int StopUser(int userId, const sptr<IUserCallback>& callback) override;
130     int LogoutUser(int32_t userId) override;
131     int StartSyncRemoteMissions(const std::string& devId, bool fixConflict, int64_t tag) override;
132     int StopSyncRemoteMissions(const std::string& devId) override;
133     int RegisterMissionListener(const std::string& deviceId,
134         const sptr<IRemoteMissionListener>& listener) override;
135     int UnRegisterMissionListener(const std::string& deviceId,
136         const sptr<IRemoteMissionListener>& listener) override;
137     int StartAbilityByCall(const Want& want, const sptr<IAbilityConnection>& connect,
138         const sptr<IRemoteObject>& callerToken, int32_t accountId = DEFAULT_INVAL_VALUE) override;
139     void CallRequestDone(const sptr<IRemoteObject>& token, const sptr<IRemoteObject>& callStub) override;
140     int ReleaseCall(const sptr<IAbilityConnection>& connect,
141         const AppExecFwk::ElementName& element) override;
142     int GetMissionSnapshot(const std::string& deviceId, int32_t missionId,
143         MissionSnapshot& snapshot, bool isLowResolution) override;
144     int RegisterSnapshotHandler(const sptr<ISnapshotHandler>& handler) override;
145     int SetAbilityController(const sptr<AppExecFwk::IAbilityController>& abilityController,
146         bool imAStabilityTest) override;
147     bool IsRunningInStabilityTest() override;
148     void DumpSysState(
149         const std::string& args, std::vector<std::string>& info, bool isClient, bool isUserID, int UserID) override;
150     int StartUserTest(const Want& want, const sptr<IRemoteObject>& observer) override;
151     int FinishUserTest(
152         const std::string& msg, const int64_t& resultCode, const std::string& bundleName) override;
153     int GetTopAbility(sptr<IRemoteObject>& token) override;
154     int DelegatorDoAbilityForeground(const sptr<IRemoteObject>& token) override;
155     int DelegatorDoAbilityBackground(const sptr<IRemoteObject>& token) override;
156     int32_t ReportDrawnCompleted(const sptr<IRemoteObject>& callerToken) override;
157     int DoAbilityForeground(const sptr<IRemoteObject>& token, uint32_t flag);
158     int DoAbilityBackground(const sptr<IRemoteObject>& token, uint32_t flag);
159     int32_t GetMissionIdByToken(const sptr<IRemoteObject>& token);
160     void GetAbilityTokenByCalleeObj(const sptr<IRemoteObject> &callStub, sptr<IRemoteObject> &token);
SetApplicationAutoStartupByEDM(const AutoStartupInfo & info,bool flag)161     int32_t SetApplicationAutoStartupByEDM(const AutoStartupInfo &info, bool flag) override
162     {
163         return 0;
164     }
165 
CancelApplicationAutoStartupByEDM(const AutoStartupInfo & info,bool flag)166     int32_t CancelApplicationAutoStartupByEDM(const AutoStartupInfo &info, bool flag) override
167     {
168         return 0;
169     }
170 
GetForegroundUIAbilities(std::vector<AppExecFwk::AbilityStateData> & list)171     virtual int32_t GetForegroundUIAbilities(std::vector<AppExecFwk::AbilityStateData> &list)
172     {
173         return 0;
174     }
175 #ifdef ABILITY_COMMAND_FOR_TEST
176     int ForceTimeoutForTest(const std::string& abilityName, const std::string& state) override;
177 #endif
178 #ifdef SUPPORT_GRAPHICS
179     MOCK_METHOD2(SetMissionLabel, int(const sptr<IRemoteObject>& token, const std::string& label));
180     int SetMissionIcon(
181         const sptr<IRemoteObject>& token, const std::shared_ptr<OHOS::Media::PixelMap>& icon) override;
182     int RegisterWindowManagerServiceHandler(const sptr<IWindowManagerServiceHandler>& handler,
183         bool animationEnabled = true);
CompleteFirstFrameDrawing(const sptr<IRemoteObject> & abilityToken)184     void CompleteFirstFrameDrawing(const sptr<IRemoteObject>& abilityToken) override {}
185 #endif
186     MOCK_METHOD2(IsValidMissionIds, int32_t(const std::vector<int32_t>&, std::vector<MissionValidResult>&));
187     MOCK_METHOD1(RegisterAppDebugListener, int32_t(sptr<AppExecFwk::IAppDebugListener> listener));
188     MOCK_METHOD1(UnregisterAppDebugListener, int32_t(sptr<AppExecFwk::IAppDebugListener> listener));
189     MOCK_METHOD1(AttachAppDebug, int32_t(const std::string &bundleName));
190     MOCK_METHOD1(DetachAppDebug, int32_t(const std::string &bundleName));
191     MOCK_METHOD3(ExecuteIntent, int32_t(uint64_t key, const sptr<IRemoteObject> &callerToken,
192         const InsightIntentExecuteParam &param));
193     MOCK_METHOD3(ExecuteInsightIntentDone, int32_t(const sptr<IRemoteObject> &token, uint64_t intentId,
194         const InsightIntentExecuteResult &result));
195     MOCK_METHOD5(StartAbilityWithSpecifyTokenId, int(const Want& want, const sptr<IRemoteObject>& callerToken,
196         uint32_t specifyTokenId, int32_t userId, int requestCode));
197 public:
198     std::string powerState_;
199     static bool finishFlag_;
200 };
201 
202 enum TESTCASE_BRANCH {
203     BRANCH_1 = 1,
204     BRANCH_2 = 2,
205     BRANCH_3 = 3,
206 };
207 
208 class MockAbilityDelegatorStub2 : public AbilityManagerStub {
209 public:
210     MockAbilityDelegatorStub2();
211     int StartAbility(const Want& want, int32_t userId = DEFAULT_INVAL_VALUE, int requestCode = -1) override;
212     MOCK_METHOD4(StartAbility, int(const Want& want, const sptr<IRemoteObject>& callerToken,
213         int32_t userId, int requestCode));
214     MOCK_METHOD5(StartAbilityAsCaller, int(const Want& want, const sptr<IRemoteObject>& callerToken,
215         sptr<IRemoteObject> asCallerSourceToken, int32_t userId, int requestCode));
216     MOCK_METHOD5(StartAbility, int(const Want& want, const AbilityStartSetting& abilityStartSetting,
217         const sptr<IRemoteObject>& callerToken, int32_t userId, int requestCode));
218     MOCK_METHOD4(StartAbilityByInsightIntent, int32_t(const Want& want, const sptr<IRemoteObject>& callerToken,
219         uint64_t intentId, int32_t userId));
220     int StartAbility(const Want& want, const StartOptions& startOptions,
221         const sptr<IRemoteObject>& callerToken, int requestCode = DEFAULT_INVAL_VALUE,
222         int32_t userId = DEFAULT_INVAL_VALUE) override;
223     int StartAbilityAsCaller(const Want& want, const StartOptions& startOptions,
224         const sptr<IRemoteObject>& callerToken, sptr<IRemoteObject> asCallerSourceToken,
225         int requestCode = DEFAULT_INVAL_VALUE, int32_t userId = DEFAULT_INVAL_VALUE) override;
226     MOCK_METHOD3(TerminateAbility, int(const sptr<IRemoteObject>& token, int resultCode, const Want* resultWant));
227     int CloseAbility(const sptr<IRemoteObject>& token, int resultCode = DEFAULT_INVAL_VALUE,
228         const Want* resultWant = nullptr) override;
229     int MinimizeAbility(const sptr<IRemoteObject>& token, bool fromUser = false) override;
230     MOCK_METHOD4(ConnectAbility, int(const Want& want, const sptr<IAbilityConnection>& connect,
231         const sptr<IRemoteObject>& callerToken, int32_t userId));
232     MOCK_METHOD1(DisconnectAbility, int(sptr<IAbilityConnection> connect));
233     MOCK_METHOD3(AcquireDataAbility,
234         sptr<IAbilityScheduler>(const Uri& uri, bool tryBind, const sptr<IRemoteObject>& callerToken));
235     MOCK_METHOD2(
236         ReleaseDataAbility, int(sptr<IAbilityScheduler> dataAbilityScheduler, const sptr<IRemoteObject>& callerToken));
237     MOCK_METHOD2(AddWindowInfo, void(const sptr<IRemoteObject>& token, int32_t windowToken));
238     MOCK_METHOD2(AttachAbilityThread, int(const sptr<IAbilityScheduler>& scheduler, const sptr<IRemoteObject>& token));
239     MOCK_METHOD3(AbilityTransitionDone, int(const sptr<IRemoteObject>& token, int state, const PacMap&));
240     MOCK_METHOD2(
241         ScheduleConnectAbilityDone, int(const sptr<IRemoteObject>& token, const sptr<IRemoteObject>& remoteObject));
242     MOCK_METHOD1(ScheduleDisconnectAbilityDone, int(const sptr<IRemoteObject>& token));
243     MOCK_METHOD1(ScheduleCommandAbilityDone, int(const sptr<IRemoteObject>& token));
244     MOCK_METHOD4(ScheduleCommandAbilityWindowDone, int(const sptr<IRemoteObject> &token,
245         const sptr<SessionInfo> &sessionInfo, WindowCommand winCmd, AbilityCommand abilityCmd));
246     void DumpState(const std::string& args, std::vector<std::string>& state) override;
247     int StopServiceAbility(const Want& want, int32_t userId = DEFAULT_INVAL_VALUE,
248         const sptr<IRemoteObject> &token = nullptr) override;
249     MOCK_METHOD1(MoveMissionToTop, int(int32_t missionId));
250     MOCK_METHOD1(RemoveMission, int(int id));
251     MOCK_METHOD1(RemoveStack, int(int id));
252     MOCK_METHOD2(KillProcess, int(const std::string& bundleName, const bool clearPageStack));
253     MOCK_METHOD2(UninstallApp, int(const std::string& bundleName, int32_t uid));
254     MOCK_METHOD3(UninstallApp, int32_t(const std::string& bundleName, int32_t uid, int32_t appIndex));
255     MOCK_METHOD2(MoveMissionToEnd, int(const sptr<IRemoteObject>& token, const bool nonFirst));
256     MOCK_METHOD1(IsFirstInMission, bool(const sptr<IRemoteObject>& token));
257     MOCK_METHOD4(CompelVerifyPermission, int(const std::string& permission, int pid, int uid, std::string& message));
258     MOCK_METHOD3(
259         GetWantSender, sptr<IWantSender>(const WantSenderInfo& wantSenderInfo, const sptr<IRemoteObject>& callerToken,
260         int32_t uid));
261     MOCK_METHOD2(SendWantSender, int(sptr<IWantSender> target, const SenderInfo& senderInfo));
262     MOCK_METHOD1(CancelWantSender, void(const sptr<IWantSender>& sender));
263     MOCK_METHOD1(GetPendingWantUid, int(const sptr<IWantSender>& target));
264     MOCK_METHOD1(GetPendingWantUserId, int(const sptr<IWantSender>& target));
265     MOCK_METHOD1(GetPendingWantBundleName, std::string(const sptr<IWantSender>& target));
266     MOCK_METHOD1(GetPendingWantCode, int(const sptr<IWantSender>& target));
267     MOCK_METHOD1(GetPendingWantType, int(const sptr<IWantSender>& target));
268     MOCK_METHOD2(RegisterCancelListener, void(const sptr<IWantSender>& sender, const sptr<IWantReceiver>& receiver));
269     MOCK_METHOD2(UnregisterCancelListener, void(const sptr<IWantSender>& sender, const sptr<IWantReceiver>& receiver));
270     MOCK_METHOD2(GetPendingRequestWant, int(const sptr<IWantSender>& target, std::shared_ptr<Want>& want));
271     MOCK_METHOD1(LockMission, int(int));
272     MOCK_METHOD1(UnlockMission, int(int));
273     MOCK_METHOD0(GetMissionLockModeState, int());
274     MOCK_METHOD2(
275         ChangeFocusAbility, int(const sptr<IRemoteObject>& lostFocusToken, const sptr<IRemoteObject>& getFocusToken));
276     MOCK_METHOD1(MinimizeMultiWindow, int(int missionId));
277     MOCK_METHOD1(MaximizeMultiWindow, int(int missionId));
278     MOCK_METHOD1(CloseMultiWindow, int(int missionId));
279     MOCK_METHOD1(GetPendinTerminateAbilityTestgRequestWant, void(int id));
280     MOCK_METHOD1(SetShowOnLockScreen, int(bool isAllow));
281     MOCK_METHOD3(StartContinuation, int(const Want& want, const sptr<IRemoteObject>& abilityToken, int32_t status));
282     MOCK_METHOD2(NotifyContinuationResult, int(int32_t missionId, int32_t result));
283     MOCK_METHOD5(ContinueMission, int(const std::string& srcDeviceId, const std::string& dstDeviceId,
284         int32_t missionId, const sptr<IRemoteObject>& callBack, AAFwk::WantParams& wantParams));
285     MOCK_METHOD3(ContinueAbility, int(const std::string& deviceId, int32_t missionId, uint32_t versionCode));
286     MOCK_METHOD3(NotifyCompleteContinuation, void(const std::string& deviceId, int32_t sessionId, bool isSuccess));
287     MOCK_METHOD1(LockMissionForCleanup, int(int32_t missionId));
288     MOCK_METHOD1(UnlockMissionForCleanup, int(int32_t missionId));
289     MOCK_METHOD1(RegisterMissionListener, int(const sptr<IMissionListener>& listener));
290     MOCK_METHOD1(UnRegisterMissionListener, int(const sptr<IMissionListener>& listener));
291     MOCK_METHOD3(
292         GetMissionInfos, int(const std::string& deviceId, int32_t numMax, std::vector<MissionInfo>& missionInfos));
293     MOCK_METHOD3(GetMissionInfo, int(const std::string& deviceId, int32_t missionId, MissionInfo& missionInfo));
294     MOCK_METHOD1(CleanMission, int(int32_t missionId));
295     MOCK_METHOD0(CleanAllMissions, int());
296     MOCK_METHOD1(MoveMissionToFront, int(int32_t missionId));
297     MOCK_METHOD2(MoveMissionToFront, int(int32_t missionId, const StartOptions& startOptions));
298     MOCK_METHOD2(MoveMissionsToForeground, int(const std::vector<int32_t>& missionIds, int32_t topMissionId));
299     MOCK_METHOD2(MoveMissionsToBackground, int(const std::vector<int32_t>& missionIds, std::vector<int32_t>& result));
300     MOCK_METHOD1(GetAbilityRunningInfos, int(std::vector<AbilityRunningInfo>& info));
301     MOCK_METHOD2(GetExtensionRunningInfos, int(int upperLimit, std::vector<ExtensionRunningInfo>& info));
302     MOCK_METHOD1(GetProcessRunningInfos, int(std::vector<AppExecFwk::RunningProcessInfo>& info));
303     MOCK_METHOD2(GetWantSenderInfo, int(const sptr<IWantSender>& target, std::shared_ptr<WantSenderInfo>& info));
304     MOCK_METHOD2(AcquireShareData, int32_t(const int32_t &missionId, const sptr<IAcquireShareDataCallback> &shareData));
305     MOCK_METHOD4(ShareDataDone, int32_t(const sptr<IRemoteObject> &token,
306         const int32_t &resultCode, const int32_t &uniqueId, WantParams &wantParam));
307     MOCK_METHOD2(SetMissionContinueState, int(const sptr<IRemoteObject>& token, const AAFwk::ContinueState& state));
308     int StartUser(int userId, sptr<IUserCallback> callback) override;
309     int StopUser(int userId, const sptr<IUserCallback>& callback) override;
310     int LogoutUser(int32_t userId) override;
311     int StartSyncRemoteMissions(const std::string& devId, bool fixConflict, int64_t tag) override;
312     int StopSyncRemoteMissions(const std::string& devId) override;
313     int RegisterMissionListener(const std::string& deviceId,
314         const sptr<IRemoteMissionListener>& listener) override;
315     int UnRegisterMissionListener(const std::string& deviceId,
316         const sptr<IRemoteMissionListener>& listener) override;
317     int StartAbilityByCall(const Want& want, const sptr<IAbilityConnection>& connect,
318         const sptr<IRemoteObject>& callerToken, int32_t accountId = DEFAULT_INVAL_VALUE) override;
319     void CallRequestDone(const sptr<IRemoteObject>& token, const sptr<IRemoteObject>& callStub) override;
GetForegroundUIAbilities(std::vector<AppExecFwk::AbilityStateData> & list)320     virtual int32_t GetForegroundUIAbilities(std::vector<AppExecFwk::AbilityStateData> &list)
321     {
322         return 0;
323     }
324     int ReleaseCall(const sptr<IAbilityConnection>& connect,
325         const AppExecFwk::ElementName& element) override;
326     int GetMissionSnapshot(const std::string& deviceId, int32_t missionId,
327         MissionSnapshot& snapshot, bool isLowResolution) override;
328     int RegisterSnapshotHandler(const sptr<ISnapshotHandler>& handler) override;
329     int SetAbilityController(const sptr<AppExecFwk::IAbilityController>& abilityController,
330         bool imAStabilityTest) override;
331     bool IsRunningInStabilityTest() override;
332     void DumpSysState(
333         const std::string& args, std::vector<std::string>& info, bool isClient, bool isUserID, int UserID) override;
334     int StartUserTest(const Want& want, const sptr<IRemoteObject>& observer) override;
335     int FinishUserTest(
336         const std::string& msg, const int64_t& resultCode, const std::string& bundleName) override;
337     int GetTopAbility(sptr<IRemoteObject>& token) override;
338     AppExecFwk::ElementName GetTopAbility(bool isNeedLocalDeviceId = true) override;
339     int DelegatorDoAbilityForeground(const sptr<IRemoteObject>& token) override;
340     int DelegatorDoAbilityBackground(const sptr<IRemoteObject>& token) override;
341     int32_t ReportDrawnCompleted(const sptr<IRemoteObject>& callerToken) override;
342     int DoAbilityForeground(const sptr<IRemoteObject>& token, uint32_t flag);
343     int DoAbilityBackground(const sptr<IRemoteObject>& token, uint32_t flag);
344     int32_t GetMissionIdByToken(const sptr<IRemoteObject>& token);
345     void GetAbilityTokenByCalleeObj(const sptr<IRemoteObject> &callStub, sptr<IRemoteObject> &token);
SetApplicationAutoStartupByEDM(const AutoStartupInfo & info,bool flag)346     int32_t SetApplicationAutoStartupByEDM(const AutoStartupInfo &info, bool flag) override
347     {
348         return 0;
349     }
350 
CancelApplicationAutoStartupByEDM(const AutoStartupInfo & info,bool flag)351     int32_t CancelApplicationAutoStartupByEDM(const AutoStartupInfo &info, bool flag) override
352     {
353         return 0;
354     }
355 #ifdef ABILITY_COMMAND_FOR_TEST
356     int ForceTimeoutForTest(const std::string& abilityName, const std::string& state) override;
357 #endif
358 #ifdef SUPPORT_GRAPHICS
359     MOCK_METHOD2(SetMissionLabel, int(const sptr<IRemoteObject>& token, const std::string& label));
360     int SetMissionIcon(
361         const sptr<IRemoteObject>& token, const std::shared_ptr<OHOS::Media::PixelMap>& icon) override;
362     int RegisterWindowManagerServiceHandler(const sptr<IWindowManagerServiceHandler>& handler,
363         bool animationEnabled = true);
CompleteFirstFrameDrawing(const sptr<IRemoteObject> & abilityToken)364     void CompleteFirstFrameDrawing(const sptr<IRemoteObject>& abilityToken) override {}
365 #endif
366     MOCK_METHOD2(IsValidMissionIds, int32_t(const std::vector<int32_t>&, std::vector<MissionValidResult>&));
367     MOCK_METHOD1(RegisterAppDebugListener, int32_t(sptr<AppExecFwk::IAppDebugListener> listener));
368     MOCK_METHOD1(UnregisterAppDebugListener, int32_t(sptr<AppExecFwk::IAppDebugListener> listener));
369     MOCK_METHOD1(AttachAppDebug, int32_t(const std::string &bundleName));
370     MOCK_METHOD1(DetachAppDebug, int32_t(const std::string &bundleName));
371     MOCK_METHOD3(ExecuteIntent, int32_t(uint64_t key, const sptr<IRemoteObject> &callerToken,
372         const InsightIntentExecuteParam &param));
373     MOCK_METHOD3(ExecuteInsightIntentDone, int32_t(const sptr<IRemoteObject> &token, uint64_t intentId,
374         const InsightIntentExecuteResult &result));
375     MOCK_METHOD5(StartAbilityWithSpecifyTokenId, int(const Want& want, const sptr<IRemoteObject>& callerToken,
376         uint32_t specifyTokenId, int32_t userId, int requestCode));
377 public:
378     std::string powerState_;
379     static bool finishFlag_;
380     static TESTCASE_BRANCH testcaseBranch_;
381 };
382 }  // namespace AAFwk
383 }  // namespace OHOS
384 
385 #endif  // MOCK_OHOS_ABILITY_RUNTIME_MOCK_ABILITY_DELEGATOR_STUB_H
386