Type Allocation Code & Manufacturer Code

- Addition of getTypeAllocationCodeForSlot & getManufacturerCodeForSlot
to com.android.phone.PhoneInterfaceManager.

- The Type Allocation Code is the first eight characters of the IMEI.
The Type Allocation Code identifies a particular GSM device model.

- The Manufacturer Code is the first eight characters of the MEID.
The Manufacturer Code identifies the manufacturer of a CDMA device.

- The reasoning behind adding getTypeAllocationCodeForSlot is to be
able to obtain the Type Allocation Code without requiring the
READ_PHONE_STATE permission. Currently in order to obtain the
Type Allocation Code a substring operation must be performed on
getImeiForSlot which is protected by the READ_PHONE_STATE permission.

- The reasoning behind adding getManufacturerCodeForSlot is to be
able to obtain the Manufacturer Code without requiring the
READ_PHONE_STATE permission. Currently in order to obtain the
Manufacturer Code a substring operation must be performed on
getMeidForSlot which is protected by the READ_PHONE_STATE permission.

- The reasoning that these additional methods do not require the
READ_PHONE_STATE permission is that neither the Type Allocation
Code nor the Manufacturer Code can identify a unique device.
The Type Allocation Code and the Manufacturer Code are analogous
to other device information such as device model or device
screen dimensions.

Test: cts-tradefed run cts -m CtsTelephonyTestCases
Test: runtest.py --path frameworks/opt/telephony/tests/telephonytests
Bug: 74613795
Change-Id: I9a37cd57f74a353ff8407ac3b4253101d548a3fe
Signed-off-by: David Kelly <dkelly@afilias.info>
1 file changed