1 /* 2 * Copyright (c) 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 #ifndef MOCK_WINDOW_H 17 #define MOCK_WINDOW_H 18 19 #include "window.h" 20 #include <gmock/gmock.h> 21 22 namespace OHOS { 23 namespace Rosen { 24 class MockWindowChangeListener : public IWindowChangeListener { 25 public: 26 MOCK_METHOD3(OnSizeChange, void(Rect rect, WindowSizeChangeReason reason, 27 const std::shared_ptr<RSTransaction>& rsTransaction)); 28 MOCK_METHOD2(OnModeChange, void(WindowMode, bool)); 29 }; 30 31 class MockWindowLifeCycleListener : public IWindowLifeCycle { 32 public: 33 MOCK_METHOD0(AfterForeground, void(void)); 34 MOCK_METHOD0(AfterBackground, void(void)); 35 MOCK_METHOD0(AfterFocused, void(void)); 36 MOCK_METHOD0(AfterUnfocused, void(void)); 37 MOCK_METHOD1(ForegroundFailed, void(int32_t)); 38 MOCK_METHOD1(BackgroundFailed, void(int32_t)); 39 MOCK_METHOD0(AfterActive, void(void)); 40 MOCK_METHOD0(AfterInactive, void(void)); 41 MOCK_METHOD0(AfterResumed, void(void)); 42 MOCK_METHOD0(AfterPaused, void(void)); 43 MOCK_METHOD0(AfterDestroyed, void(void)); 44 MOCK_METHOD0(AfterDidForeground, void(void)); 45 MOCK_METHOD0(AfterDidBackground, void(void)); 46 }; 47 48 class MockWindowStageLifeCycleListener : public IWindowStageLifeCycle { 49 public: 50 MOCK_METHOD0(AfterLifecycleForeground, void(void)); 51 MOCK_METHOD0(AfterLifecycleBackground, void(void)); 52 MOCK_METHOD0(AfterLifecycleResumed, void(void)); 53 MOCK_METHOD0(AfterLifecyclePaused, void(void)); 54 }; 55 56 class MockAvoidAreaChangedListener : public IAvoidAreaChangedListener { 57 public: 58 MOCK_METHOD3(OnAvoidAreaChanged, void(const AvoidArea avoidArea, AvoidAreaType type, 59 const sptr<OccupiedAreaChangeInfo>& info)); 60 }; 61 62 class MockAcrossDisplaysChangeListener : public IAcrossDisplaysChangeListener { 63 public: 64 MOCK_METHOD1(OnAvoidAreaChanged, void(bool isAcrossDisplays)); 65 }; 66 67 class MockTouchOutsideListener : public ITouchOutsideListener { 68 public: 69 MOCK_CONST_METHOD0(OnTouchOutside, void()); 70 }; 71 72 class MockWindowStatusChangeListener : public IWindowStatusChangeListener { 73 public: 74 MOCK_METHOD1(OnWindowStatusChange, void(WindowStatus status)); 75 }; 76 77 class MockWindowStatusDidChangeListener : public IWindowStatusDidChangeListener { 78 public: 79 MOCK_METHOD1(OnWindowStatusDidChange, void(WindowStatus status)); 80 }; 81 82 class MockIOccupiedAreaChangeListener : public IOccupiedAreaChangeListener { 83 public: 84 MOCK_METHOD2(OnSizeChange, void(const sptr<OccupiedAreaChangeInfo>& info, 85 const std::shared_ptr<RSTransaction>& rsTransaction)); 86 }; 87 88 class MockIKeyboardWillShowListener : public IKeyboardWillShowListener { 89 public: 90 MOCK_METHOD2(OnKeyboardWillShow, void(const KeyboardAnimationInfo& keyboardAnimationInfo, 91 const KeyboardAnimationCurve& curve)); 92 }; 93 94 class MockIKeyboardWillHideListener : public IKeyboardWillHideListener { 95 public: 96 MOCK_METHOD2(OnKeyboardWillHide, void(const KeyboardAnimationInfo& keyboardAnimationInfo, 97 const KeyboardAnimationCurve& curve)); 98 }; 99 100 class MockIKeyboardDidShowListener : public IKeyboardDidShowListener { 101 public: 102 MOCK_METHOD0(OnKeyboardShow, void()); 103 }; 104 105 class MockIKeyboardDidHideListener : public IKeyboardDidHideListener { 106 public: 107 MOCK_METHOD0(OnKeyboardHide, void()); 108 }; 109 110 class MockInputEventConsumer : public IInputEventConsumer { 111 public: 112 MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::KeyEvent>&)); 113 MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::PointerEvent>&)); 114 MOCK_CONST_METHOD1(OnInputEvent, bool(const std::shared_ptr<MMI::AxisEvent>&)); 115 }; 116 117 class MockWindowNoInteractionListener : public IWindowNoInteractionListener { 118 public: 119 MOCK_METHOD0(OnWindowNoInteractionCallback, void()); 120 MOCK_METHOD1(SetTimeout, void(int64_t)); 121 MOCK_CONST_METHOD0(GetTimeout, int64_t()); 122 }; 123 124 class MockWindowTitleButtonRectChangedListener : public IWindowTitleButtonRectChangedListener { 125 public: 126 MOCK_METHOD1(OnWindowTitleButtonRectChanged, void(const TitleButtonRect&)); 127 }; 128 129 class MockWindowRectChangeListener : public IWindowRectChangeListener { 130 public: 131 MOCK_METHOD2(OnRectChange, void(Rect rect, WindowSizeChangeReason reason)); 132 }; 133 134 class MockIAceAbilityHandler : public IAceAbilityHandler { 135 public: 136 MOCK_METHOD1(SetBackgroundColor, void(uint32_t color)); 137 MOCK_METHOD0(GetBackgroundColor, uint32_t()); 138 }; 139 140 class MockIDisplayMoveListener : public IDisplayMoveListener { 141 public: 142 MOCK_METHOD2(OnDisplayMove, void(DisplayId from, DisplayId to)); 143 }; 144 145 class MockIWindowNoInteractionListener : public IWindowNoInteractionListener { 146 public: 147 MOCK_METHOD0(OnWindowNoInteractionCallback, void()); 148 }; 149 150 class MockIDialogDeathRecipientListener : public IDialogDeathRecipientListener { 151 public: 152 MOCK_CONST_METHOD0(OnDialogDeathRecipient, void()); 153 }; 154 155 class MockIDialogTargetTouchListener : public IDialogTargetTouchListener { 156 public: 157 MOCK_CONST_METHOD0(OnDialogTargetTouch, void()); 158 }; 159 160 class MockIScreenshotListener : public IScreenshotListener { 161 public: 162 MOCK_METHOD0(OnScreenshot, void()); 163 }; 164 165 class MockISubWindowCloseListener : public ISubWindowCloseListener { 166 public: 167 MOCK_METHOD1(OnSubWindowClose, void(bool&)); 168 }; 169 170 class MockIMainWindowCloseListener : public IMainWindowCloseListener { 171 public: 172 MOCK_METHOD1(OnMainWindowClose, void(bool&)); 173 }; 174 175 class MockIWindowWillCloseListener : public IWindowWillCloseListener { 176 public: 177 MOCK_METHOD1(OnWindowWillClose, void(sptr<Window> window)); 178 }; 179 180 class MockISwitchFreeMultiWindowListener : public ISwitchFreeMultiWindowListener { 181 public: 182 MOCK_METHOD1(OnSwitchFreeMultiWindow, void(bool)); 183 }; 184 185 class MockIWindowCrossAxisListener : public IWindowCrossAxisListener { 186 public: 187 MOCK_METHOD1(OnCrossAxisChange, void(CrossAxisState)); 188 }; 189 190 class MockIWaterfallModeChangeListener : public IWaterfallModeChangeListener { 191 public: 192 MOCK_METHOD1(OnWaterfallModeChange, void(bool isWaterfallMode)); 193 }; 194 195 class MockRectChangeInGlobalDisplayListener : public IRectChangeInGlobalDisplayListener { 196 public: 197 MOCK_METHOD(void, OnRectChangeInGlobalDisplay, (const Rect& rect, WindowSizeChangeReason reason), (override)); 198 }; 199 } // Rosen 200 } // OHOS 201 202 #endif