Updating Force Use toggling for Communication use case

setForceUse toggling is shaky when toggling either through
setSpeakerphoneOn and setBluetoothScoOn. Depending on call sequence
an application may unintentionally trigger a routing use case it
does not want.
The main root cause is that neither of these calls take the
previous state into account. A call to setSpeakerPhoneOn will for
example partly disable any active BT SCO routing.

Change-Id: I436ee5a8da2d9ea5a2e4e89eec083c8118a5ff7e
1 file changed