HSP: Correctly hang up call when key is pressed

* When ringing, key pressed event should answer call
* When in call and audio is not active, key pressed event should connect
  audio to headset by setting it as active device
* When in call and audio is active, key pressed event should hang up
  call
* When call state is idle and audio is active, key pressed event should
  disconnect audio
* When idle and audio is not active, key pressed event should dial
  outgoing call using the last dialed number if exists

Bug: 74234576
Test: HeadsetStateMachineTest
Change-Id: Idc0925f1b4e77128e00a50927d0f8442792e5a8e
(cherry picked from commit 405293b65f0f5c0ef739d7ebf95e4db653595ddc)
4 files changed