diff --git a/frameworks/proxy/events/include/event_log_helper.h b/frameworks/proxy/events/include/event_log_helper.h index 6980da2f3cf27272524163f29415087c5b87e195..4b8224054769ffdfdf109439b3fd74ce2bd6a850 100644 --- a/frameworks/proxy/events/include/event_log_helper.h +++ b/frameworks/proxy/events/include/event_log_helper.h @@ -253,7 +253,7 @@ private: event->GetPointerAction() == PointerEvent::POINTER_ACTION_FINGERPRINT_SLIDE) { return; } - std::vector pointerIds{ event->GetPointerIds() }; + std::list pointerItems{ event->GetAllPointerItems() }; std::string isSimulate = event->HasFlag(InputEvent::EVENT_FLAG_SIMULATE) ? "true" : "false"; MMI_HILOGD("See InputTracking-Dict I:%{public}d, ET:%{public}s, AT:%{public}" PRId64 ", PA:%{public}s, ST:%{public}s, DI:%{public}d, WI:%{public}d, DPT:%{public}d" @@ -262,26 +262,22 @@ private: event->DumpPointerAction(), event->DumpSourceType(), event->GetTargetDisplayId(), event->GetTargetWindowId(), event->GetDispatchTimes(), isSimulate.c_str(), event->GetPressedButtons().size()); - for (const auto &pointerId : pointerIds) { - PointerEvent::PointerItem item; - if (!event->GetPointerItem(pointerId, item)) { - MMI_HILOG_HEADER(LOG_ERROR, lh, "Invalid pointer:%{public}d", pointerId); - return; - } + for (const auto &item : pointerItems) { if (!IsBetaVersion()) { MMI_HILOG_HEADER(LOG_INFO, lh, "PI:%{public}d, IP:%{public}d, P:%{public}.2f, MF:%{public}d, " "WI:%{public}d, OPI:%{public}d, SI:%{public}s, T:%{public}d", - pointerId, item.IsPressed(), item.GetPressure(), item.GetMoveFlag(), item.GetTargetWindowId(), - item.GetOriginPointerId(), isSimulate.c_str(), item.GetTwist()); + item.GetPointerId(), item.IsPressed(), item.GetPressure(), item.GetMoveFlag(), + item.GetTargetWindowId(), item.GetOriginPointerId(), isSimulate.c_str(), item.GetTwist()); } else { MMI_HILOG_HEADER(LOG_DEBUG, lh,"DX:%{private}d, DY:%{private}d, DXP:%{private}f, DYP:%{private}f," - "WXP:%{private}f, WYP:%{private}f, IP:%{public}d, P:%{public}.2f, MF:%{public}d," - "LA:%{public}d, SA:%{public}d, SI:%{public}s", + "FXP:%{private}f, FYP:%{private}f, WXP:%{private}f, WYP:%{private}f, IP:%{public}d," + " P:%{public}.2f, MF:%{public}d, LA:%{public}d, SA:%{public}d, SI:%{public}s", item.GetDisplayX(), item.GetDisplayY(), item.GetDisplayXPos(), item.GetDisplayYPos(), - item.GetWindowXPos(), item.GetWindowYPos(), item.IsPressed(), item.GetPressure(), - item.GetMoveFlag(), item.GetLongAxis(), item.GetShortAxis(), isSimulate.c_str()); + item.GetFixedDisplayXPos(), item.GetFixedDisplayYPos(), item.GetWindowXPos(), item.GetWindowYPos(), + item.IsPressed(), item.GetPressure(), item.GetMoveFlag(), item.GetLongAxis(), item.GetShortAxis(), + isSimulate.c_str()); MMI_HILOG_HEADER(LOG_INFO, lh, "%{public}d|%{public}d|%{public}d|%{public}d|%{public}" PRId64, - pointerId, item.GetTargetWindowId(), item.GetOriginPointerId(), + item.GetPointerId(), item.GetTargetWindowId(), item.GetOriginPointerId(), item.GetTwist(), item.GetDownTime()); } } @@ -303,7 +299,7 @@ private: static void Print(const std::shared_ptr event, const LogHeader &lh) { PrintDebugDict(); - std::vector pointerIds{ event->GetPointerIds() }; + std::list pointerItems{ event->GetAllPointerItems() }; std::string str; std::vector buffer = event->GetBuffer(); for (const auto &buff : buffer) { @@ -316,7 +312,7 @@ private: InputEvent::EventTypeToString(event->GetEventType()), event->GetSensorInputTime(), event->GetAction(), event->GetFlag(), event->DumpPointerAction(), event->DumpSourceType(), event->GetButtonId(), event->GetPointerId(), - pointerIds.size(), event->GetId(), buffer.size(), event->IsMarkEnabled()); + pointerItems.size(), event->GetId(), buffer.size(), event->IsMarkEnabled()); } else { MMI_HILOG_HEADER(LOG_DEBUG, lh, "ET:%{public}s, AT:%{public}" PRId64 ", SIT:%{public}" PRId64 ",A:%{public}d, AST:%{public}" PRId64 ", F:%{public}d, PA:%{public}s, ST:%{public}s, BI:%{public}d, " @@ -336,20 +332,15 @@ private: event->GetAxisValue(PointerEvent::AXIS_TYPE_ABS_BRAKE), event->GetAxisValue(PointerEvent::AXIS_TYPE_ABS_HAT0X), event->GetAxisValue(PointerEvent::AXIS_TYPE_ABS_HAT0Y), - event->GetAxisValue(PointerEvent::AXIS_TYPE_ABS_THROTTLE), event->GetPointerId(), pointerIds.size(), + event->GetAxisValue(PointerEvent::AXIS_TYPE_ABS_THROTTLE), event->GetPointerId(), pointerItems.size(), event->GetId(), buffer.size(), str.c_str(), event->IsMarkEnabled()); } - for (const auto &pointerId : pointerIds) { - PointerEvent::PointerItem item; - if (!event->GetPointerItem(pointerId, item)) { - MMI_HILOG_HEADER(LOG_ERROR, lh, "Invalid pointer:%{public}d", pointerId); - return; - } + for (const auto &item : pointerItems) { if (!IsBetaVersion()) { MMI_HILOG_HEADER(LOG_DEBUG, lh, "PI:%{public}d, IP:%{public}d, P:%{public}.2f, MF:%{public}d, ToolType:%{public}d, T:%{public}d", - pointerId, item.IsPressed(), item.GetPressure(), item.GetMoveFlag(), item.GetToolType(), + item.GetPointerId(), item.IsPressed(), item.GetPressure(), item.GetMoveFlag(), item.GetToolType(), item.GetTwist()); } else { if (event->HasFlag(InputEvent::EVENT_FLAG_PRIVACY_MODE)) { @@ -357,15 +348,16 @@ private: ", WX:%d, WY:%d, W:%{public}d, H:%{public}d, TX:%.2f, TY:%.2f, TDX:%d, TDY:%d, ToolWX:%d, " "ToolWY:%d, ToolW:%{public}d, ToolH:%{public}d, P:%{public}.2f, MF:%{public}d, " "ToolType:%{public}d, LA:%{public}d, SA:%{public}d, RawDx:%d, RawDy:%d, RawDisplayX:%d, " - "RawDisplayY:%d, T:%{public}d, DXP:%f, DYP:%f, WXP:%f, WYP:%f", - pointerId, item.GetDownTime(), item.IsPressed(), item.GetDisplayX(), item.GetDisplayY(), - item.GetWindowX(), item.GetWindowY(), item.GetWidth(), item.GetHeight(), item.GetTiltX(), - item.GetTiltY(), item.GetToolDisplayX(), item.GetToolDisplayY(), item.GetToolWindowX(), - item.GetToolWindowY(), item.GetToolWidth(), item.GetToolHeight(), item.GetPressure(), - item.GetMoveFlag(), item.GetToolType(), item.GetLongAxis(), item.GetShortAxis(), - item.GetRawDx(), item.GetRawDy(), item.GetRawDisplayX(), item.GetRawDisplayY(), - item.GetTwist(), item.GetDisplayXPos(), item.GetDisplayYPos(), - item.GetWindowXPos(), item.GetWindowYPos()); + "RawDisplayY:%d, T:%{public}d, DXP:%f, DYP:%f, FXP:%f, FYP:%f, WXP:%f, WYP:%f", + item.GetPointerId(), item.GetDownTime(), item.IsPressed(), item.GetDisplayX(), + item.GetDisplayY(), item.GetWindowX(), item.GetWindowY(), item.GetWidth(), item.GetHeight(), + item.GetTiltX(), item.GetTiltY(), item.GetToolDisplayX(), item.GetToolDisplayY(), + item.GetToolWindowX(), item.GetToolWindowY(), item.GetToolWidth(), item.GetToolHeight(), + item.GetPressure(), item.GetMoveFlag(), item.GetToolType(), item.GetLongAxis(), + item.GetShortAxis(), item.GetRawDx(), item.GetRawDy(), item.GetRawDisplayX(), + item.GetRawDisplayY(), item.GetTwist(), item.GetDisplayXPos(), item.GetDisplayYPos(), + item.GetFixedDisplayXPos(), item.GetFixedDisplayYPos(), item.GetWindowXPos(), + item.GetWindowYPos()); } else { MMI_HILOG_HEADER(LOG_DEBUG, lh,"PI:%{public}d, DT:%{public}" PRId64 ", IP:%{public}d, " "DX:%{private}d, DY:%{private}d, WX:%{private}d, WY:%{private}d, W:%{public}d, H:%{public}d, " @@ -373,22 +365,23 @@ private: "ToolWY:%{private}d, ToolW:%{public}d, ToolH:%{public}d, P:%{public}.2f, MF:%{public}d, " "ToolType:%{public}d, LA:%{public}d, SA:%{public}d, RawDx:%{private}d, RawDy:%{private}d" ", RawDisplayX:%{private}d, RawDisplayY:%{private}d, T:%{public}d" - ", DXP:%{private}f, DYP:%{private}f, WXP:%{private}f, WYP:%{private}f", - pointerId, item.GetDownTime(), item.IsPressed(), item.GetDisplayX(), item.GetDisplayY(), + ", DXP:%{private}f, DYP:%{private}f, FXP:%{private}f, FYP:%{private}f, WXP:%{private}f," + " WYP:%{private}f", item.GetPointerId(), + item.GetDownTime(), item.IsPressed(), item.GetDisplayX(), item.GetDisplayY(), item.GetWindowX(), item.GetWindowY(), item.GetWidth(), item.GetHeight(), item.GetTiltX(), item.GetTiltY(), item.GetToolDisplayX(), item.GetToolDisplayY(), item.GetToolWindowX(), item.GetToolWindowY(), item.GetToolWidth(), item.GetToolHeight(), item.GetPressure(), item.GetMoveFlag(), item.GetToolType(), item.GetLongAxis(), item.GetShortAxis(), item.GetRawDx(), item.GetRawDy(), item.GetRawDisplayX(), item.GetRawDisplayY(), - item.GetTwist(), item.GetDisplayXPos(), item.GetDisplayYPos(), - item.GetWindowXPos(), item.GetWindowYPos()); + item.GetTwist(), item.GetDisplayXPos(), item.GetDisplayYPos(), item.GetFixedDisplayXPos(), + item.GetFixedDisplayYPos(), item.GetWindowXPos(), item.GetWindowYPos()); } } if (!IsBetaVersion()) { MMI_HILOG_HEADER(LOG_DEBUG, lh, "PI:%{public}d" ", IP:%{public}d, P:%{public}.2f, MF:%{public}d, ToolType:%{public}d, " "T:%{public}d", - pointerId, item.IsPressed(), item.GetPressure(), item.GetMoveFlag(), item.GetToolType(), + item.GetPointerId(), item.IsPressed(), item.GetPressure(), item.GetMoveFlag(), item.GetToolType(), item.GetTwist()); } else { if (event->HasFlag(InputEvent::EVENT_FLAG_PRIVACY_MODE)) { @@ -397,15 +390,16 @@ private: "W:%{public}d, H:%{public}d, TX:%.2f, TY:%.2f, TDX:%d, TDY:%d, ToolWX:%d, ToolWY:%d, " "ToolW:%{public}d, ToolH:%{public}d, P:%{public}.2f, MF:%{public}d, " "ToolType:%{public}d, LA:%{public}d, SA:%{public}d, RawDx:%d, RawDy:%d, RawDisplayX:%d, " - "RawDisplayY:%d, T:%{public}d, DXP:%f, DYP:%f, WXP:%f, WYP:%f", - pointerId, item.GetDownTime(), item.IsPressed(), item.GetDisplayX(), + "RawDisplayY:%d, T:%{public}d, DXP:%f, DYP:%f, FXP:%f, FYP:%f, WXP:%f, WYP:%f", + item.GetPointerId(), item.GetDownTime(), item.IsPressed(), item.GetDisplayX(), item.GetDisplayY(), item.GetWindowX(), item.GetWindowY(), item.GetWidth(), item.GetHeight(), item.GetTiltX(), item.GetTiltY(), item.GetToolDisplayX(), item.GetToolDisplayY(), item.GetToolWindowX(), item.GetToolWindowY(), item.GetToolWidth(), item.GetToolHeight(), item.GetPressure(), item.GetMoveFlag(), item.GetToolType(), item.GetLongAxis(), item.GetShortAxis(), item.GetRawDx(), item.GetRawDy(), item.GetRawDisplayX(), item.GetRawDisplayY(), item.GetTwist(), item.GetDisplayXPos(), item.GetDisplayYPos(), - item.GetWindowXPos(), item.GetWindowYPos()); + item.GetFixedDisplayXPos(), item.GetFixedDisplayYPos(), item.GetWindowXPos(), + item.GetWindowYPos()); } else { MMI_HILOG_HEADER(LOG_DEBUG, lh, "PI:%{public}d, DT:%{public}" PRId64 ", IP:%{public}d, DX:%{private}d, DY:%{private}d, " @@ -414,15 +408,16 @@ private: "ToolWX:%{private}d, ToolWY:%{private}d, ToolW:%{public}d, ToolH:%{public}d, " "P:%{public}.2f, ToolType:%{public}d, LA:%{public}d, SA:%{public}d, " "RawDx:%{private}d, RawDy:%{private}d, RawDisplayX:%{private}d, RawDisplayY:%{private}d, " - "T:%{public}d, DXP:%{private}f, DYP:%{private}f, WXP:%{private}f, WYP:%{private}f", - pointerId, item.GetDownTime(), item.IsPressed(), item.GetDisplayX(), + "T:%{public}d, DXP:%{private}f, DYP:%{private}f, FXP:%{private}f, FYP:%{private}f," + " WXP:%{private}f, WYP:%{private}f", + item.GetPointerId(), item.GetDownTime(), item.IsPressed(), item.GetDisplayX(), item.GetDisplayY(), item.GetWindowX(), item.GetWindowY(), item.GetWidth(), item.GetHeight(), item.GetTiltX(), item.GetTiltY(), item.GetToolDisplayX(), item.GetToolDisplayY(), item.GetToolWindowX(), item.GetToolWindowY(), item.GetToolWidth(), item.GetToolHeight(), item.GetPressure(), item.GetToolType(), item.GetLongAxis(), item.GetShortAxis(), item.GetRawDx(), item.GetRawDy(), item.GetRawDisplayX(), item.GetRawDisplayY(), - item.GetTwist(), item.GetDisplayXPos(), item.GetDisplayYPos(), - item.GetWindowXPos(), item.GetWindowYPos()); + item.GetTwist(), item.GetDisplayXPos(), item.GetDisplayYPos(), item.GetFixedDisplayXPos(), + item.GetFixedDisplayYPos(), item.GetWindowXPos(), item.GetWindowYPos()); } } } diff --git a/service/event_dispatch/src/event_dispatch_handler.cpp b/service/event_dispatch/src/event_dispatch_handler.cpp index 64ec0b3a38f7259ae4f72b943ac7ffb29616e1f7..3955e725563895056e0cc35abe1bcc9f27f6245d 100644 --- a/service/event_dispatch/src/event_dispatch_handler.cpp +++ b/service/event_dispatch/src/event_dispatch_handler.cpp @@ -195,6 +195,7 @@ void EventDispatchHandler::HandleMultiWindowPointerEvent(std::shared_ptrFoldScreenRotation(point); for (auto windowId : windowIds) { auto pointerEvent = std::make_shared(*point); auto windowInfo = WIN_MGR->GetWindowAndDisplayInfo(windowId, point->GetTargetDisplayId()); diff --git a/service/message_handle/test/server_msg_handler_test.cpp b/service/message_handle/test/server_msg_handler_test.cpp index c36fd54d7e4100bb63c5ae440c67b3ececeb8255..6f88a6b17f0503b3e895e98ba1463bb6394a8b76 100644 --- a/service/message_handle/test/server_msg_handler_test.cpp +++ b/service/message_handle/test/server_msg_handler_test.cpp @@ -4429,6 +4429,11 @@ HWTEST_F(ServerMsgHandlerTest, ServerMsgHandlerTest_FixTargetWindowId02, TestSiz int32_t result = handler.FixTargetWindowId(pointerEvent, targetWindowIdMap, bNeedResetPointerId, diffPointerId); EXPECT_EQ(result, RET_ERR); + pointerEvent->SetPointerId(INT32_MAX - 1); + diffPointerId = 2; + result = handler.FixTargetWindowId(pointerEvent, targetWindowIdMap, bNeedResetPointerId, diffPointerId); + EXPECT_EQ(result, RET_ERR); + PointerEvent::PointerItem item; item.SetPointerId(1); pointerEvent->AddPointerItem(item); diff --git a/service/window_manager/src/touch_drawing_handler.cpp b/service/window_manager/src/touch_drawing_handler.cpp index 47e6f776526c57bc33ed19a649d0185004c6e555..7ec0aa50395e4d7a019f3e5a583320fb7374b436 100644 --- a/service/window_manager/src/touch_drawing_handler.cpp +++ b/service/window_manager/src/touch_drawing_handler.cpp @@ -424,11 +424,14 @@ void TouchDrawingHandler::DrawBubble() canvas->AttachBrush(brush); canvas->DrawCircle(centerPt, bubble_.innerCircleRadius); canvas->DetachBrush(); + CHKPV(surfaceNode_); if (pointerEvent_->GetPointerAction() == PointerEvent::POINTER_ACTION_DOWN && pointerEvent_->GetPointerId() == pointerId) { - MMI_HILOGI("Bubble is draw success, pointerAction:%{public}d, pointerId:%{public}d, physicalX:%{private}d," - " physicalY:%{private}d, width:%{public}d, height:%{public}d", pointerEvent_->GetPointerAction(), - pointerEvent_->GetPointerId(), displayXY.first, displayXY.second, scaleW_, scaleH_); + MMI_HILOGI("Bubble is draw success, %{public}d|%{public}d|%{private}d|%{private}d|%{public}d|%{public}d|" + "%{public}.2f|%{public}.2f|%{public}" PRIu64, pointerEvent_->GetPointerAction(), + pointerEvent_->GetPointerId(), displayXY.first, displayXY.second, scaleW_, scaleH_, + surfaceNode_->GetStagingProperties().GetRotation(), + bubbleCanvasNode_->GetStagingProperties().GetRotation(), bubbleCanvasNode_->GetId()); } } bubbleCanvasNode_->FinishRecording();