Fix concurrent external vibrations on ExternalVibratorService

The ongoing external vibration should be muted via
IExternalVibrationController and the service should not
set external control on the vibrator more than once.

Fix service to mute ongoing external vibration at the time it's
cancelled and to skip calls to setExternalControl when it's already set.

Fix: 193127756
Test: VibratorManagerServiceTest
Change-Id: If61f5fd2c41dc6d15655d9ce537c858caaf530c6
3 files changed