* Copyright (c) 2021 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef OHOS_WINDOW_MANAGER_INTERFACE_H
#define OHOS_WINDOW_MANAGER_INTERFACE_H
#include <iremote_broker.h>
#include <rs_iwindow_animation_finished_callback.h>
#include "common/include/window_session_property.h"
#include "interfaces/include/ws_common_inner.h"
#include "pixel_map.h"
#include "session/container/include/zidl/session_stage_interface.h"
#include "session/container/include/zidl/window_event_channel_interface.h"
#include "window_property.h"
#include "window_transition_info.h"
#include "mission_snapshot.h"
#include "zidl/window_interface.h"
#include "zidl/window_manager_agent_interface.h"
#include "interfaces/include/ws_common.h"
namespace OHOS {
namespace Rosen {
class RSIWindowAnimationController;
class RSSurfaceNode;
class IUIEffectController;
class IUIEffectControllerClient;
class IWindowManager : public IRemoteBroker {
public:
DECLARE_INTERFACE_DESCRIPTOR(u"OHOS.IWindowManager");
enum class WindowManagerMessage : uint32_t {
TRANS_ID_CREATE_WINDOW,
TRANS_ID_ADD_WINDOW,
TRANS_ID_REMOVE_WINDOW,
TRANS_ID_DESTROY_WINDOW,
TRANS_ID_REQUEST_FOCUS,
TRANS_ID_REGISTER_FOCUS_CHANGED_LISTENER,
TRANS_ID_UNREGISTER_FOCUS_CHANGED_LISTENER,
TRANS_ID_REGISTER_WINDOW_MANAGER_AGENT,
TRANS_ID_UNREGISTER_WINDOW_MANAGER_AGENT,
TRANS_ID_GET_AVOID_AREA,
TRANS_ID_GET_TOP_WINDOW_ID,
TRANS_ID_PROCESS_POINT_DOWN,
TRANS_ID_PROCESS_POINT_UP,
TRANS_ID_MINIMIZE_ALL_APP_WINDOWS,
TRANS_ID_TOGGLE_SHOWN_STATE_FOR_ALL_APP_WINDOWS,
TRANS_ID_SET_BACKGROUND_BLUR,
TRANS_ID_SET_ALPHA,
TRANS_ID_UPDATE_LAYOUT_MODE,
TRANS_ID_NOTIFY_SCREEN_SHOT_EVENT,
TRANS_ID_UPDATE_PROPERTY,
TRANS_ID_GET_ACCESSIBILITY_WINDOW_INFO_ID,
TRANS_ID_LIST_WINDOW_INFO,
TRANS_ID_GET_WINDOW_LAYOUT_INFO,
TRANS_ID_GET_GLOBAL_WINDOW_MODE,
TRANS_ID_GET_TOP_NAV_DEST_NAME,
TRANS_ID_GET_VISIBILITY_WINDOW_INFO_ID,
TRANS_ID_ANIMATION_SET_CONTROLLER,
TRANS_ID_GET_SYSTEM_CONFIG,
TRANS_ID_NOTIFY_WINDOW_TRANSITION,
TRANS_ID_GET_FULLSCREEN_AND_SPLIT_HOT_ZONE,
TRANS_ID_GET_ANIMATION_CALLBACK,
TRANS_ID_UPDATE_AVOIDAREA_LISTENER,
TRANS_ID_UPDATE_RS_TREE,
TRANS_ID_BIND_DIALOG_TARGET,
TRANS_ID_NOTIFY_READY_MOVE_OR_DRAG,
TRANS_ID_SET_ANCHOR_AND_SCALE,
TRANS_ID_SET_ANCHOR_OFFSET,
TRANS_ID_OFF_WINDOW_ZOOM,
TRANS_ID_RAISE_WINDOW_Z_ORDER,
TRANS_ID_GET_SNAPSHOT,
TRANS_ID_GESTURE_NAVIGATION_ENABLED,
TRANS_ID_SET_WINDOW_GRAVITY,
TRANS_ID_DISPATCH_KEY_EVENT,
TRANS_ID_NOTIFY_DUMP_INFO_RESULT,
TRANS_ID_GET_WINDOW_ANIMATION_TARGETS,
TRANS_ID_SET_MAXIMIZE_MODE,
TRANS_ID_GET_MAXIMIZE_MODE,
TRANS_ID_GET_FOCUS_WINDOW_INFO,
TRANS_ID_ADD_EXTENSION_WINDOW_STAGE_TO_SCB,
TRANS_ID_UPDATE_MODALEXTENSION_RECT_TO_SCB,
TRANS_ID_PROCESS_MODALEXTENSION_POINTDOWN_TO_SCB,
TRANS_ID_UPDATE_EXTENSION_WINDOW_FLAGS,
TRANS_ID_GET_HOST_WINDOW_RECT,
TRANS_ID_GET_UNRELIABLE_WINDOW_INFO_ID,
TRANS_ID_GET_FREE_MULTI_WINDOW_ENABLE_STATE,
TRANS_ID_SET_IMAGE_FOR_RECENT,
TRANS_ID_SET_IMAGE_FOR_RECENT_PIXELMAP,
TRANS_ID_REMOVE_IMAGE_FOR_RECENT,
TRANS_ID_GET_FLOAT_VIEW_LIMITS,
TRANS_ID_GET_WINDOW_STATE_SNAPSHOT,
};
virtual WMError CreateWindow(sptr<IWindow>& window, sptr<WindowProperty>& property,
const std::shared_ptr<RSSurfaceNode>& surfaceNode,
uint32_t& windowId, sptr<IRemoteObject> token) = 0;
virtual WMError AddWindow(sptr<WindowProperty>& property) = 0;
virtual WMError RemoveWindow(uint32_t windowId, bool isFromInnerkits) = 0;
virtual WMError DestroyWindow(uint32_t windowId, bool onlySelf = false) = 0;
virtual WMError RequestFocus(uint32_t windowId) = 0;
virtual AvoidArea GetAvoidAreaByType(uint32_t windowId, AvoidAreaType type,
const Rect& rect = Rect::EMPTY_RECT) = 0;
virtual WMError GetTopWindowId(uint32_t mainWinId, uint32_t& topWinId) = 0;
virtual void NotifyServerReadyToMoveOrDrag(uint32_t windowId, sptr<WindowProperty>& windowProperty,
sptr<MoveDragProperty>& moveDragProperty) = 0;
virtual void ProcessPointDown(uint32_t windowId, bool isPointDown) = 0;
virtual void ProcessPointUp(uint32_t windowId) = 0;
virtual WMError MinimizeAllAppWindows(DisplayId displayId, int32_t excludeWindowId = 0) = 0;
virtual WMError ToggleShownStateForAllAppWindows() = 0;
virtual WMError SetWindowLayoutMode(WindowLayoutMode mode) = 0;
virtual WMError NotifyScreenshotEvent(ScreenshotEventType type) = 0;
virtual WMError UpdateProperty(sptr<WindowProperty>& windowProperty, PropertyChangeAction action,
bool isAsyncTask = false) = 0;
virtual WMError SetWindowGravity(uint32_t windowId, WindowGravity gravity, uint32_t percent) = 0;
virtual WMError RegisterWindowManagerAgent(WindowManagerAgentType type,
const sptr<IWindowManagerAgent>& windowManagerAgent, int32_t instanceUserId = INVALID_USER_ID) = 0;
virtual WMError UnregisterWindowManagerAgent(WindowManagerAgentType type,
const sptr<IWindowManagerAgent>& windowManagerAgent, int32_t instanceUserId = INVALID_USER_ID) = 0;
virtual WMError RegisterWindowPropertyChangeAgent(WindowInfoKey windowInfoKey, uint32_t interestInfo,
const sptr<IWindowManagerAgent>& windowManagerAgent, int32_t instanceUserId = INVALID_USER_ID)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError UnregisterWindowPropertyChangeAgent(WindowInfoKey windowInfoKey, uint32_t interestInfo,
const sptr<IWindowManagerAgent>& windowManagerAgent, int32_t instanceUserId = INVALID_USER_ID)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError RecoverWindowPropertyChangeFlag(uint32_t observedFlags, uint32_t interestedFlags)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError GetAccessibilityWindowInfo(std::vector<sptr<AccessibilityWindowInfo>>& infos) = 0;
virtual WMError GetUnreliableWindowInfo(int32_t windowId, std::vector<sptr<UnreliableWindowInfo>>& infos) = 0;
virtual WMError ListWindowInfo(const WindowInfoOption& windowInfoOption,
std::vector<sptr<WindowInfo>>& infos) { return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; }
virtual WMError UpdateWindowModeByIdForUITest(int32_t windowId, int32_t updateMode) { return WMError::WM_OK; }
virtual WMError GetAllWindowLayoutInfo(DisplayId displayId, std::vector<sptr<WindowLayoutInfo>>& infos,
const WindowInfoOptions& option = WindowInfoOptions(), bool useHookedSize = true)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError GetAllMainWindowInfo(std::vector<sptr<MainWindowInfo>>& infos)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError GetMainWindowSnapshot(const std::vector<int32_t>& windowIds,
const WindowSnapshotConfiguration& config, const sptr<IRemoteObject>& callback)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError SetWindowSnapshotSkip(int32_t windowId, bool isSkip)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError GetGlobalWindowMode(DisplayId displayId, GlobalWindowMode& globalWinMode)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError GetTopNavDestinationName(int32_t windowId,
std::string& topNavDestName) { return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; }
virtual WMError SetScreenWatermarkImage(const std::shared_ptr<Media::PixelMap>& pixelMap, uint32_t priority,
std::string& bundleName) { return WMError::WM_DO_NOTHING; }
virtual WMError CleanScreenWatermarkImage(const std::shared_ptr<Media::PixelMap>& pixelMap)
{
return WMError::WM_DO_NOTHING;
}
virtual WMError RecoverScreenWatermarkImage(const std::string& bundleName, uint32_t priority)
{
return WMError::WM_DO_NOTHING;
}
virtual WMError SetWatermarkImageForApp(const std::shared_ptr<Media::PixelMap>& pixelMap,
std::string& watermarkName) { return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; }
virtual WMError RecoverWatermarkImageForApp(const std::string& watermarkName)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError GetVisibilityWindowInfo(std::vector<sptr<WindowVisibilityInfo>>& infos,
bool useHookedSize = true) = 0;
virtual WMError SetWindowAnimationController(const sptr<RSIWindowAnimationController>& controller) = 0;
virtual WMError GetSystemConfig(SystemConfig& systemConfig) = 0;
virtual WMError NotifyWindowTransition(sptr<WindowTransitionInfo>& from, sptr<WindowTransitionInfo>& to,
bool isFromClient = false) = 0;
virtual WMError GetModeChangeHotZones(DisplayId displayId, ModeChangeHotZones& hotZones) = 0;
virtual void MinimizeWindowsByLauncher(std::vector<uint32_t> windowIds, bool isAnimated,
sptr<RSIWindowAnimationFinishedCallback>& finishCallback) = 0;
virtual WMError UpdateAvoidAreaListener(uint32_t windowId, bool haveListener) = 0;
virtual WMError UpdateRsTree(uint32_t windowId, bool isAdd) = 0;
virtual WMError BindDialogTarget(uint32_t& windowId, sptr<IRemoteObject> targetToken) = 0;
virtual void SetAnchorAndScale(int32_t x, int32_t y, float scale) = 0;
virtual void SetAnchorOffset(int32_t deltaX, int32_t deltaY) = 0;
virtual void OffWindowZoom() = 0;
virtual WMError RaiseToAppTop(uint32_t windowId) = 0;
virtual std::shared_ptr<Media::PixelMap> GetSnapshot(int32_t windowId) = 0;
virtual WMError SetGestureNavigationEnabled(bool enable) = 0;
virtual void DispatchKeyEvent(uint32_t windowId, std::shared_ptr<MMI::KeyEvent> event) = 0;
virtual void NotifyDumpInfoResult(const std::vector<std::string>& info) {};
virtual WSError DumpSessionAll(std::vector<std::string>& infos) { return WSError::WS_OK; }
virtual WSError DumpSessionWithId(int32_t persistentId, std::vector<std::string>& infos) { return WSError::WS_OK; }
virtual WSError GetUIContentRemoteObj(int32_t persistentId, sptr<IRemoteObject>& uiContentRemoteObj)
{
return WSError::WS_OK;
}
virtual WMError GetRootUIContentRemoteObj(DisplayId displayId, sptr<IRemoteObject>& uiContentRemoteObj)
{
return WMError::WM_DO_NOTHING;
}
virtual WMError GetWindowAnimationTargets(std::vector<uint32_t> missionIds,
std::vector<sptr<RSWindowAnimationTarget>>& targets) = 0;
virtual void SetMaximizeMode(MaximizeMode maximizeMode) = 0;
virtual MaximizeMode GetMaximizeMode() = 0;
virtual void GetFocusWindowInfo(FocusChangeInfo& focusInfo, DisplayId displayId = DEFAULT_DISPLAY_ID) = 0;
virtual void GetFocusWindowInfoByAbilityToken(FocusChangeInfo& focusInfo,
const sptr<IRemoteObject>& abilityToken) {}
virtual void GetAllGroupInfo(std::unordered_map<DisplayId, DisplayGroupId>& displayId2GroupIdMap,
std::vector<sptr<FocusChangeInfo>>& allFocusInfoList) {};
virtual WMError CheckWindowId(int32_t windowId, int32_t& pid) { return WMError::WM_OK; }
virtual WSError UpdateSessionAvoidAreaListener(int32_t persistentId, bool haveListener) { return WSError::WS_OK; }
virtual WSError UpdateSessionTouchOutsideListener(int32_t& persistentId, bool haveListener)
{
return WSError::WS_OK;
}
virtual WSError NotifyWindowExtensionVisibilityChange(int32_t pid, int32_t uid, bool visible)
{
return WSError::WS_OK;
}
virtual WSError RaiseWindowToTop(int32_t persistentId) { return WSError::WS_OK; }
virtual WSError UpdateSessionWindowVisibilityListener(int32_t persistentId, bool haveListener)
{
return WSError::WS_OK;
}
virtual WMError UpdateSessionScreenshotListener(int32_t persistentId, bool haveListener)
{
return WMError::WM_OK;
}
virtual WMError UpdateSessionOcclusionStateListener(int32_t persistentId, bool haveListener)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError GetWindowStateSnapshot(int32_t persistentId, std::string& winStateSnapshotJsonStr)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WSError NotifySurfaceNodeAlphaUpdate(int32_t persistentId, float alpha)
{
return WSError::WS_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WSError ShiftAppWindowFocus(int32_t sourcePersistentId, int32_t targetPersistentId)
{
return WSError::WS_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WSError SetSpecificWindowZIndex(WindowType windowType, int32_t zIndex)
{
return WSError::WS_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WSError ResetSpecificWindowZIndex(int32_t pid)
{
return WSError::WS_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WSError MoveMainWindowToTargetDisplay(DisplayId displayId, int32_t windowId)
{
return WSError::WS_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WSErrorResult CreateAndConnectSpecificSession(const sptr<ISessionStage>& sessionStage,
const sptr<IWindowEventChannel>& eventChannel, uint64_t nodeId,
sptr<WindowSessionProperty> property, int32_t& persistentId, sptr<ISession>& session,
SystemSessionConfig& systemConfig, sptr<IRemoteObject>& renderSession,
std::shared_ptr<RSSurfaceNode>& surfaceNode,
sptr<IRemoteObject> token = nullptr) { return WSErrorResult(); }
virtual WSError RecoverAndConnectSpecificSession(const sptr<ISessionStage>& sessionStage,
const sptr<IWindowEventChannel>& eventChannel, const std::shared_ptr<RSSurfaceNode>& surfaceNode,
sptr<WindowSessionProperty> property, sptr<ISession>& session, sptr<IRemoteObject> token = nullptr)
{
return WSError::WS_OK;
}
virtual WSErrorResult DestroyAndDisconnectSpecificSession(const int32_t persistentId) { return WSErrorResult(); }
virtual WSErrorResult DestroyAndDisconnectSpecificSessionWithDetachCallback(const int32_t persistentId,
const sptr<IRemoteObject>& callback) { return WSErrorResult(); }
virtual WSError RecoverAndReconnectSceneSession(const sptr<ISessionStage>& sessionStage,
const sptr<IWindowEventChannel>& eventChannel, const std::shared_ptr<RSSurfaceNode>& surfaceNode,
sptr<ISession>& session, sptr<WindowSessionProperty> property, sptr<IRemoteObject> token = nullptr)
{
return WSError::WS_OK;
}
virtual WSError BindDialogSessionTarget(uint64_t persistentId, sptr<IRemoteObject> targetToken)
{
return WSError::WS_OK;
}
virtual WSError SetSessionGravity(int32_t persistentId, SessionGravity gravity, uint32_t percent)
{
return WSError::WS_OK;
}
virtual WMError GetCrossProcessWindowInfo(CrossProcessWindowInfo& crossProcessWindowInfo)
{
return WMError::WM_OK;
}
virtual WMError RequestFocusStatus(int32_t persistentId, bool isFocused, bool byForeground = true,
FocusChangeReason reason = FocusChangeReason::DEFAULT)
{
return WMError::WM_OK;
}
virtual WMError RequestFocusStatusBySA(int32_t persistentId, bool isFocused = true,
bool byForeground = true, FocusChangeReason reason = FocusChangeReason::SA_REQUEST)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError Snapshot(std::shared_ptr<Media::PixelMap>& pixelMap,
int32_t persistentId, const SnapshotConfig& config)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError GetSnapshotByWindowId(int32_t persistentId, std::shared_ptr<Media::PixelMap>& pixelMap)
{
return WMError::WM_OK;
}
virtual void AddExtensionWindowStageToSCB(const sptr<ISessionStage>& sessionStage,
const sptr<IRemoteObject>& token, uint64_t surfaceNodeId, int64_t startModalExtensionTimeStamp,
bool isConstrainedModal = false) {}
virtual void RemoveExtensionWindowStageFromSCB(const sptr<ISessionStage>& sessionStage,
const sptr<IRemoteObject>& token, bool isConstrainedModal = false) {}
virtual void UpdateModalExtensionRect(const sptr<IRemoteObject>& token, Rect rect) {}
virtual void ProcessModalExtensionPointDown(const sptr<IRemoteObject>& token, int32_t posX, int32_t posY) {}
virtual WSError AddOrRemoveSecureSession(int32_t persistentId, bool shouldHide)
{
return WSError::WS_OK;
}
virtual WSError UpdateExtWindowFlags(const sptr<IRemoteObject>& token, uint32_t extWindowFlags,
uint32_t extWindowActions)
{
return WSError::WS_OK;
}
virtual WMError ConvertToRelativeCoordinateExtended(const Rect& rect, Rect& newRect, DisplayId& newDisplayId)
{
return WMError::WM_OK;
}
virtual WSError GetHostWindowRect(int32_t hostWindowId, Rect& rect, bool useHookedSize = false)
{
return WSError::WS_OK;
}
virtual WSError GetHostGlobalScaledRect(int32_t hostWindowId, Rect& globalScaledRect,
bool useHookedSize = false)
{
return WSError::WS_OK;
}
virtual WSError GetFreeMultiWindowEnableState(bool& enable) { return WSError::WS_OK; }
virtual WMError GetCallingWindowWindowStatus(uint32_t callingWindowId, WindowStatus& windowStatus)
{
return WMError::WM_OK;
}
virtual WMError GetCallingWindowRect(uint32_t callingWindowId, Rect& rect)
{
return WMError::WM_OK;
}
virtual WMError GetWindowModeType(WindowModeType& windowModeType)
{
return WMError::WM_OK;
};
virtual WMError GetWindowStyleType(WindowStyleType& windowStyleType)
{
return WMError::WM_OK;
};
virtual WMError GetParentMainWindowId(int32_t windowId, int32_t& mainWindowId) { return WMError::WM_OK; }
virtual WMError NotifySupportRotationRegistered() { return WMError::WM_OK; }
virtual WMError SkipSnapshotForAppProcess(int32_t pid, bool skip) { return WMError::WM_OK; }
virtual WMError SetProcessWatermark(int32_t pid, const std::string& watermarkName,
bool isEnabled) { return WMError::WM_OK; }
virtual WMError RecoverProcessWatermark(int32_t pid, const std::string& watermarkName)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
virtual WMError GetWindowIdsByCoordinate(DisplayId displayId, int32_t windowNumber,
int32_t x, int32_t y, std::vector<int32_t>& windowIds) { return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; }
virtual WMError UpdateScreenLockStatusForApp(
const std::string& bundleName, bool isRelease) { return WMError::WM_OK; }
virtual WMError IsPcWindow(bool& isPcWindow) { return WMError::WM_OK; }
virtual WMError IsFreeMultiWindow(bool& isFreeMultiWindow) { return WMError::WM_OK; }
virtual WMError IsPcOrPadFreeMultiWindowMode(bool& isPcOrPadFreeMultiWindowMode) { return WMError::WM_OK; }
virtual WMError IsWindowRectAutoSave(const std::string& key, bool& enabled,
int persistentId) { return WMError::WM_OK; }
virtual WMError SetImageForRecent(uint32_t imgResourceId, ImageFit imageFit,
int32_t persistentId) { return WMError::WM_OK; }
virtual WMError SetImageForRecentPixelMap(const std::shared_ptr<Media::PixelMap>& pixelMap, ImageFit imageFit,
int32_t persistentId) { return WMError::WM_OK; }
virtual WMError RemoveImageForRecent(int32_t persistentId) { return WMError::WM_OK; }
virtual WMError GetDisplayIdByWindowId(const std::vector<uint64_t>& windowIds,
std::unordered_map<uint64_t, DisplayId>& windowDisplayIdMap) { return WMError::WM_OK; }
virtual WMError SetGlobalDragResizeType(DragResizeType dragResizeType) { return WMError::WM_OK; }
virtual WMError GetGlobalDragResizeType(DragResizeType& dragResizeType) { return WMError::WM_OK; }
virtual WMError SetAppDragResizeType(const std::string& bundleName,
DragResizeType dragResizeType) { return WMError::WM_OK; }
virtual WMError GetAppDragResizeType(const std::string& bundleName,
DragResizeType& dragResizeType) { return WMError::WM_OK; }
virtual WMError SetAppKeyFramePolicy(const std::string& bundleName,
const KeyFramePolicy& keyFramePolicy) { return WMError::WM_OK; }
virtual WMError ShiftAppWindowPointerEvent(int32_t sourcePersistentId, int32_t targetPersistentId,
int32_t fingerId) { return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; }
virtual WMError SetStartWindowBackgroundColor(const std::string& moduleName, const std::string& abilityName,
uint32_t color, int32_t uid) { return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; }
virtual WMError NotifyWatchGestureConsumeResult(int32_t keyCode,
bool isConsumed) { return WMError::WM_OK; }
virtual WMError NotifyWatchFocusActiveChange(bool isActive) { return WMError::WM_OK; }
virtual WMError HasFloatingWindowForeground(const sptr<IRemoteObject>& abilityToken,
bool& hasOrNot) { return WMError::WM_OK; }
virtual WMError MinimizeByWindowId(const std::vector<int32_t>& windowIds) { return WMError::WM_OK; }
virtual WMError SetForegroundWindowNum(uint32_t windowNum) { return WMError::WM_OK; }
virtual WSError UseImplicitAnimation(int32_t hostWindowId, bool useImplicit) { return WSError::WS_OK; }
virtual WMError AnimateTo(int32_t windowId, const WindowAnimationProperty& animationProperty,
const WindowAnimationOption& animationOption) { return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; }
virtual WMError AddSessionBlackList(const std::unordered_set<std::string>& bundleNames,
const std::unordered_set<std::string>& privacyWindowTags) { return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; }
virtual WMError RemoveSessionBlackList(const std::unordered_set<std::string>& bundleNames,
const std::unordered_set<std::string>& privacyWindowTags) { return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; }
* Sub Window
*/
virtual WMError SetParentWindow(int32_t subWindowId, int32_t newParentWindowId) { return WMError::WM_OK; }
* Window Animation
*/
virtual WMError CreateUIEffectController(const sptr<IUIEffectControllerClient>& controllerClient,
sptr<IUIEffectController>& controller, int32_t& controllerId) { return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; };
* PiP Window
*/
virtual WMError GetPiPSettingSwitchStatus(bool& switchStatus) { return WMError::WM_OK; }
virtual WMError GetIsPipEnabled(bool& isPipEnabled) { return WMError::WM_OK; }
* Window outline
*/
virtual WMError UpdateOutline(const sptr<IRemoteObject>& remoteObject, const OutlineParams& outlineParams)
{
return WMError::WM_OK;
}
* Float view
*/
virtual WMError GetFloatViewLimits(uint32_t templateType, FloatViewLimits& limits)
{
return WMError::WM_ERROR_DEVICE_NOT_SUPPORT;
}
};
}
}
#endif