Telephony: Add 'ServiceCategory' to SMS finger print

In case of certain broadcast messages sent back to back, say if,
service category 0x0002 Administrative and service category
0x0003 Maintenance are sent in sequence,
one after the other, service category 0x0003 fails to be displayed
on the UI although modem sends it to telephony
layer. This is because telephony rejects/discards the new
incoming message - 0x0003 as its finger-print matches exactly
with the previously sent message 0x0002.

Bug: 7238888
Change-Id: Id48169924605f423ee97a0866e754462f8c4c30d
Handle ICC IO error

Following changes have been made as part of this:
-> At present in Android all ICC Card states other than ICC
   PRESENT are treated as ICC ABSENT. Adding functionality
   to handle ICC IO error card state.
->IccCardProxy broadcasts card error intent when application index
  received from UIM is invalid(i.e.mUiccAplication is null) during
  initialization of card for fraction of time. As a result of which
  "Invalid Card" is displayed on UI momentarily.

  To fix this, When app index received from UIM is invalid broadcast
  "NOT_READY" intent.

Change-Id: I229bd80cb5e487f4345bef9fb7fee60850f085d9
Bug: 10643652
Do not set audioGroup ECHO SUPRESSION mode

when speaker enable, do not set AudioGroup EC mode
if EC already supported in hardware.

Change-Id: I3623b0c49011d6db5e0060999d17963a7e58f775
Merge "Telephony: Add 'ServiceCategory' to SMS finger print"
Merge "Handle ICC IO error"
Merge "Do not set audioGroup ECHO SUPRESSION mode"
auto-merger: merge in from aosp/master