Register VibrationSettings as a listener to:
1) virtual displays creation and removal.
2) App Uids running on virtual displays.
These will be used in combination to ignore vibration initiated from a virtual display.

This change also consolicates the fix to avoid Null reference when VirtualDeviceManger
is not present in the available system services. See also ag/19744341.

Test: VibrationSettingsTest, VibratorManagerServiceTest

bug: 189474679

Change-Id: Ie10dbfe65bb3ab9d62ed5c7b5ed7095a51bccf24
Merged-In: Ie10dbfe65bb3ab9d62ed5c7b5ed7095a51bccf24
(cherry picked from commit a0ae5c195186971e0b581451a3da856645a1fd6d)
10 files changed