Tests for correct decoding when TP-OA contains non-integer information

When receiving a GSM SMS message where the TP-Originating-Address
(TP-OA) field contains non-integer information, it is currently
decoded incorrectly.

This CL adds support for decoding BCD according to spec:
ETSI TS 123 040 V9.3.0

Section: 9.1.2.3 Semi-octet representation
"If a mobile receives an address field containing non-integer
 information in the semi-octets other than "1111" (e.g. 1110)
 it shall display the semi-octet as the representation given
 in GSM 44.008 [12] under "called BCD number", viz 1010="*",
 1011="#", 1100="a", 1101="b", 1110="c"."

 This also updated the codes related to the BCD decoding.

See frmks/base commit with the same Change-Id

Bug: 65042708
Test: runtest --path frameworks/opt/telephony/tests/telephonytests/src/com/android/internal/telephony/GsmSmsTest.java --test-method testAddressing
Change-Id: Ied2d6ca4d84d5c3ca6cc5c4d9875d2ff2a8e5df9
4 files changed