Fix rumble not working due to deprecated API call #1454
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The constant
VIBRATOR_SERVICE
is marked as deprecated in API level 31. According to this post on Stack Overflow, the correct way to get the system defaultVibrator
instance is to retrieve it from theVibratorManager
service, which the original code already has but isn't used to retrieve theVibrator
instance.My Redmi K40 was affected by this, and there was no on-device rumble even if no external controller is connected. By applying the patched code, the rumble works as expected. As the original usage is deprecated, I'd expect this patch would help Moonlight work better on more newer devices and systems.