Do not show pointer for disabled device
We currently display the pointer for all devices that support displaying
it, but there are actually some devices that are disabled and shouldn't
actually have it displayed for them, here's an implementation for that.
This is done by adding an enabled state to the InputDeviceInfo to
determine its disabled status.
Bug: 335795596
Test: atest inputflinger_tests
Signed-off-by: Linnan Li <lilinnan@xiaomi.corp-partner.google.com>
(cherry picked from https://partner-android-review.googlesource.com/q/commit:d7c5c6d376f5eae7cbb7cce5ea12f2ba420d87ab)
Merged-In: Ibdad9f8424a29d83412866eace0ef96026fb270a
Change-Id: Ibdad9f8424a29d83412866eace0ef96026fb270a
diff --git a/services/inputflinger/reader/InputDevice.cpp b/services/inputflinger/reader/InputDevice.cpp
index 782c84a..af1ab4a 100644
--- a/services/inputflinger/reader/InputDevice.cpp
+++ b/services/inputflinger/reader/InputDevice.cpp
@@ -409,7 +409,7 @@
InputDeviceInfo outDeviceInfo;
outDeviceInfo.initialize(mId, mGeneration, mControllerNumber, mIdentifier, mAlias, mIsExternal,
mHasMic, getAssociatedDisplayId().value_or(ADISPLAY_ID_NONE),
- {mShouldSmoothScroll});
+ {mShouldSmoothScroll}, isEnabled());
for_each_mapper(
[&outDeviceInfo](InputMapper& mapper) { mapper.populateDeviceInfo(outDeviceInfo); });