Fix mute/unmute operation with CallManager.
It is for bug 2968263.
The Mute concept is call based. PhoneUitls maintains a connectionMuteTable to track
the mute state of each connection. For every preciseCallSateChanged event, the table
gets updated for all foreground and background connections. For every UI mute/unmute
operation the table gets updated for affected foreground connections.
Meanwhile, clean up setMute() and getMute() APIs in PhoneUtils since all in-call operation
can only mute/unmute foreground call, which means works on foreground phone.
Also enforce all in-call UI use setMute() instead of setMuteInternal().
Change-Id: Ib608e040230d46b57434a0ac2597a6fb676ad639
6 files changed