Pointer Icon Refactor: Show cursor immediately when mouse is connected

When a mouse or touchpad is connected, show the mouse cursor
immediately, instead of waiting for the first event to be generated by
the device.

This also means that the mouse cursor position will be valid whenever
there is a mouse or touchpad connected, whereas before, the cursor
position would be invalid until the first event is generated by the
device.

Bug: 315509086
Bug: 290924778
Bug: 293587049
Test: atest inputflinger_tests
Change-Id: I55898a3de1beb0f83f5da199521f26a886fb596c
diff --git a/services/inputflinger/PointerChoreographer.h b/services/inputflinger/PointerChoreographer.h
index 9b809a1..f46419e 100644
--- a/services/inputflinger/PointerChoreographer.h
+++ b/services/inputflinger/PointerChoreographer.h
@@ -139,6 +139,7 @@
     int32_t mDefaultMouseDisplayId GUARDED_BY(mLock);
     int32_t mNotifiedPointerDisplayId GUARDED_BY(mLock);
     std::vector<InputDeviceInfo> mInputDeviceInfos GUARDED_BY(mLock);
+    std::set<DeviceId> mMouseDevices GUARDED_BY(mLock);
     std::vector<DisplayViewport> mViewports GUARDED_BY(mLock);
     bool mShowTouchesEnabled GUARDED_BY(mLock);
     bool mStylusPointerIconEnabled GUARDED_BY(mLock);