diff --git a/wmserver/src/zidl/window_manager_proxy.cpp b/wmserver/src/zidl/window_manager_proxy.cpp index 6aee5483..8c9f04b8 100644 --- a/wmserver/src/zidl/window_manager_proxy.cpp +++ b/wmserver/src/zidl/window_manager_proxy.cpp @@ -590,22 +590,12 @@ void WindowManagerProxy::MinimizeWindowsByLauncher(std::vector windowI WLOGFE("WriteInterfaceToken failed"); return; } - auto size = static_cast(windowIds.size()); - const uint32_t maxWindowNum = 100; - if (size > maxWindowNum) { - WLOGFE("windowNum cannot exceeds than 100"); + + if (!data.WriteUInt32Vector(windowIds)) { + WLOGFE("Write windowIds failed"); return; } - if (!data.WriteUint32(size)) { - WLOGFE("Write windowNum failed"); - return; - } - for (auto id : windowIds) { - if (!data.WriteUint32(id)) { - WLOGFE("Write windowId failed"); - return; - } - } + if (!data.WriteBool(isAnimated)) { WLOGFE("Write isAnimated failed"); return; diff --git a/wmserver/src/zidl/window_manager_stub.cpp b/wmserver/src/zidl/window_manager_stub.cpp index cee4a0e3..ba9832d4 100644 --- a/wmserver/src/zidl/window_manager_stub.cpp +++ b/wmserver/src/zidl/window_manager_stub.cpp @@ -201,10 +201,7 @@ int32_t WindowManagerStub::OnRemoteRequest(uint32_t code, MessageParcel &data, M } case WindowManagerMessage::TRANS_ID_GET_ANIMATION_CALLBACK: { std::vector windowIds; - uint32_t windowNum = data.ReadUint32(); - for (uint32_t i = 0; i < windowNum; ++i) { - windowIds.push_back(data.ReadUint32()); - } + data.ReadUInt32Vector(&windowIds); bool isAnimated = data.ReadBool(); sptr finishedCallback = nullptr; MinimizeWindowsByLauncher(windowIds, isAnimated, finishedCallback);