History log of /frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e70617d81dcd42350a737b11c25532e1d43df4ff 22-Jan-2015 Legler Wu <legler.wu@mediatek.com> [DS] Correct the access method for telephony system property

Revise the method to access telephony system property.
Add several PROPERTY_XXX_XXX_MSIM for MSIM type system properties. If
caller use the old one, it will be dispatched to new one and get by
default phone id.
Ex. PROPERTY_ICC_OPERATOR_NUMERIC

Bug: 18675498
Change-Id: I68b4de1817bb5a34d4a54685332f856e79a39d60
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
e9fdc85df2111a0a0d7d240bbc11ed5b14b01376 28-Jan-2015 xinhe <xinhe@google.com> Sprint: MMS cannot be sent in the UK

This is due to Sprint network at UK is actually GSM/UMTS. Thus we need GSM phone with CSIM to provide Nai too.

Bug:18241756
Change-Id: Iffe7dc2bee9c93cddfb4c94dcf477f2474d71ea8
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
062a2a3838c8d8adf16f4d9fbde8d52450da0336 13-Jan-2015 Shishir Agrawal <shishir@google.com> Make UICC code subID-less.

MSIM code introduced code in the UICC objects that refer to the subIds.
This is potentially very dangerous becuase subIds are only initialized after
the UICC object is completely initialized. Hence using subId in the UICC code
could lead to lots of properties being not set correctly.

The new code, uses the phoneId everywhere within the UICC code, which is
initialized when the UICC object is created and will remain constant for the
lifetime of the UICC object.

Bug: 18748407
Change-Id: I1f50abc40b8592751cdeca2de2c76ac9f2d40768
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
5866914ae9798adebcb84cd710bca660b797bff0 06-Jan-2015 Amit Mahajan <amitmahajan@google.com> Change to update phone # in subInfo when RuimRecords have been read.

Issue was seen because both SIMRecords and RuimRecords are read for CDMA
but subInfo is updated when SIMRecords are read. Phone # is updated
based on RuimRecords but subInfo is not updated then. Change is to call
an API to update # in subInfo after RuimRecords are read.

Bug: 18789473
Change-Id: I70f521e73dda6b2849e0c477cc8de639d4281b84
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
f60ab49ba2975886b4ad52095c355a455ab745c4 23-Dec-2014 Etan Cohen <etancohen@google.com> Merge "Update GSM/CDMA getState API to consider state of the IMS phone as well." into lmp-mr1-dev
f1099a9dfe0250a6b343de0646413db4034381de 15-Dec-2014 Etan Cohen <etancohen@google.com> Uses TTY mode and VoLTE over TTY support to determine call type: IMS or CS.

Bug: 18593974
Change-Id: I5a993688ade0269bcf3ca61c69cf9c274e694a13
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
4f5f5e2aab6a42cdb9493bddcb3c3d9530bc778f 18-Dec-2014 Etan Cohen <etancohen@google.com> Update GSM/CDMA getState API to consider state of the IMS phone as well.

Provides a true indication if the combined phone is IDLE or not.

Fix the one location where this combined information may cause issues: the
decision whether can send SMS over IMS or not.

Bug: 18774469
Change-Id: Iddb91798ae7278addbbf013d3880e126a7a29fdb
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
299dad50409e907993fa96c7401d4f10c58018b1 11-Nov-2014 Wink Saville <wink@google.com> Update SubscriptionManager API as per API council.

bug: 17575308
Change-Id: Ib39a60e4f75981a466e9d606ec627756efad018d
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
367855488aacde260410dad0eddc18b183cf852f 07-Nov-2014 Etan Cohen <etancohen@google.com> Added debug messages for dialing - more VoLTE information.

Bug: 18242297
Change-Id: I70891341fd581c1b2bce8bb7c8b55081d44638ad
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
0b83b4f03096a3b7111d758407786538fdfd3dff 24-Oct-2014 Etan Cohen <etancohen@google.com> Separate VoLTE and VT configurations.

Change-Id: Id5c673c9329e01ec47a257252c70ecbe127df988
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
776e350a422070a0579900bfcc542766241c1414 23-Oct-2014 Sukanya Rajkhowa <srajkh@codeaurora.org> am 26a4150c: Telephony: Voice mail notification related changes

* commit '26a4150cfb8cd317eb64994b9d9fd6109bd87ba7':
Telephony: Voice mail notification related changes
26a4150cfb8cd317eb64994b9d9fd6109bd87ba7 03-Jan-2014 Sukanya Rajkhowa <srajkh@codeaurora.org> Telephony: Voice mail notification related changes

* Separate voice mail notify from SIM/RUIM card

* For GSM store voice mail count in phone memory
irrespective of SIM write result.

* Display voice mail count for GSM

Bug: 17299884

Change-Id: I368bfb98c8798ed1f43bcc330e6d97e8f95f0f54
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
8d0025d614edb5075f72b2fc95b0cae069068283 20-Oct-2014 Wink Saville <wink@google.com> am 2b40e622: Radio Capability Support.

* commit '2b40e6226b4b71408964bca46f0a9f256cd4f523':
Radio Capability Support.
2b40e6226b4b71408964bca46f0a9f256cd4f523 18-Oct-2014 Wink Saville <wink@google.com> Radio Capability Support.

New design of capability switch for L.
Add new RIL requests:
RIL_REQUEST_GET_RADIO_CAPABILITY
RIL_REQUEST_SET_RADIO_CAPABILITY
RIL_UNSOL_RADIO_CAPABILITY

These commands allow the framework to communicate what the Radio
Capabilities for each logical modem has or should be using.

It can support 2/3/4G switch and has flexible architecture to support
future technology.

Change-Id: Iedf7f608d2ba3c06a883500f2d85abb98e69d9c1
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
2351b17aba5350004fc76707f3b3d2859ce773c8 15-Oct-2014 xinhe <xinhe@google.com> Sprint: MMS proxy authorization does not include NAI

Read the NAI from CSIM and pass it to MMS module
Bug:17752727

Change-Id: I2f8bbe3cdf4a447f7ecf13e06733615a2e60ec53
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
474410449d1c576e4731d7018c2579aec7a52e6a 11-Oct-2014 Yorke Lee <yorkelee@google.com> am 97d4c648: am 4a00d523: Pass in connection to CDMAPhone.notifyUnknownConnection

* commit '97d4c648a2f6563439e084c65bef538bb1176e99':
Pass in connection to CDMAPhone.notifyUnknownConnection
4a00d523459470e604728784d36a3dd2a0f6c331 10-Oct-2014 Yorke Lee <yorkelee@google.com> Pass in connection to CDMAPhone.notifyUnknownConnection

An equivalent change has already been made in GSMPhone.

Bug: 17939852
Change-Id: I546618b3d56b2c855e33d8a5604478262f21514c
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
b7aff911e1106eb2eb16fd2bafae0ed8f4d4d4f7 14-Aug-2014 Shriram Ganesh <sganesh@codeaurora.org> Ims: Send user selected TTY mode to lower layers.

Irrespective of whether TTY device is connected or not
send TTY mode setting to modem whenever user changes it
from settings.

Change-Id: I6f6b82e3bb7fd326f71b0aabf4c1098a06c8941c
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
5bf6757ac96865fc84e4a4326b76cf6d9b136800 26-Sep-2014 Libin.Tang@motorola.com <w16529@motorola.com> IMS:make volte call based on volte run time capability.

Bug: 17182366
Change-Id: I763d2061c8e7eee188dfd40a5582ecd3ab1dd967
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
7771a0a487bc9253872034025e9c91283af4425f 30-Sep-2014 Etan Cohen <etancohen@google.com> Make sure network set messages are routed even when phone is being switched

Phone will normally be switched as part of network set command process. This
may result in the network set command not being completed.

Bug: 17202095
Change-Id: Ida004effebb7f7e793899866aab649d043f90109
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
80111bd9a39f8c4b6828b68e7f326172e251c78e 24-Sep-2014 Etan Cohen <etancohen@google.com> Provide a hybrid ServiceState consisting of base phone object and IMS SS.

Original code used either base phone SS or IMS phone SS (if base phone
was not in service). Now merge the two to provide the baseline SS information
from the base phone and only the voice SS information from the IMS phone
(and only if the base phone is not in service).

Bug: 17627405
Change-Id: I3ace832f9be700282105a52088715b8039e56666
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
2d265969ca301ba3720458ea9da2ec8d6a18bb8d 22-Sep-2014 Xia Ying <yingxia@motorola.com> Handling service number convert while roaming.

When roaming in GSM/UMTS and internal CDMA network,
(1)change VZW custumer service numeber *611 to +19085594899.
(2)change VZW voice mail number *86 to +1MDN.

Change-Id: I69f69fb698f059b7a2365d2906fe0f7cc41636d7
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
b5a68902bcc5010be1678f8c1720d73538d66063 10-Sep-2014 Amit Mahajan <amitmahajan@google.com> Merge "Support to load default voicemail number from the configuration." into lmp-dev
4fe735103bd4d8026a25f4b0b40784fe60cddac4 04-Sep-2014 Xia Ying <yingxia@motorola.com> Support to load default voicemail number from the configuration.

If there is no preload VM number in the sim card, carriers such as
Verizon require to load a default vm number from the configurantion.

Bug: 17209959
Change-Id: I04df49b29452135edfebd9ea2bc047e91b7f208c
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
4bf26bda6f06dfc66ac7b0fe0ee0099d23f8b36c 09-Sep-2014 Xia Ying <yingxia@motorola.com> Voicemail notification disappears after power cycle

Fail to notify messageWaitingChanged to App, it is
due to could not get subid before Ruim records loaded.

Bug: 17427871
Change-Id: I6d2dddfecda4747a72d6a4ac53bbaa86becd966b
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
279a26768a5fde8f0dd72e4b9e951c1c32265aab 04-Sep-2014 Shishir Agrawal <shishir@google.com> API change: SetOperatorBrandOverride should not take iccId as a param.

Taking ICCID as a parameter is not scure since a carrier can override the
brand for other carriers. We should override only the current ICCID.

Bug: 17390144

Change-Id: I8128695205b893b51bd5ca7f78b2980a49173768
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
7bfb61e8d99661c5ae176cd2d80602917dbe9b07 05-Sep-2014 Amit Mahajan <amitmahajan@google.com> Merge "Voicemail notification disappears after power cycle" into lmp-dev
ab57aa5d465ef3a6dc0895b2408276617a2f6fa0 04-Sep-2014 Tom Taylor <tomtaylor@google.com> Save mcc/mnc in SubInfoRecord

Bug 17157686

Add MCC/MNC columns to siminfo table.
Set the sub info's mcc and mnc when it changes.

Change-Id: I543018c3960af46a14dd234540549d13bc49e579
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
633cfab71fd9d2fba4d7ef2fa5e833bb1561e318 14-Aug-2014 Xia Ying <yingxia@motorola.com> Voicemail notification disappears after power cycle

For CDMA phone, use VM_COUNT_CDMA + phoneId as key to save
voice mail count, but using VM_COUNT_CDMA as key to read
voice mail count when powering up is not right, should use
VM_COUNT_CDMA + phoneId as key to check vm count.

Bug: 17016403
Change-Id: Iba12a753ac3c042f5e10e8b8d68b5b62b72a0e3d
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
e84571be717f0b45c60aa5ad5d07337d81cf23b8 29-Aug-2014 Wink Saville <wink@google.com> Include IMS service state when determining GSM/CDMA Phone service state.

Also, made both getServiceState calls identical, it would be desirable
to promote getServiceState to PhoneBase but since the mSST variable is
Object Specific that wasn't trivial to do, so for now the code is
duplicated.

Bug: 17326988
Change-Id: I548abf213ab098cd31e9f9c90d231135fba3be6a
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
c6bfb9fe8381b05d9f3cfdf842e9381ca9d4c8f4 09-Aug-2014 Etan Cohen <etancohen@google.com> Conference calling for IMS: add code to delegate from parent GSM/CDMA phone.

Bug: 17221493
Change-Id: I261922349cb0574a0b726e831bc5205bb2b37019
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
d14733be2ce1783c0947b713733a33d98b25102d 21-Aug-2014 Amit Mahajan <amitmahajan@google.com> Merge "Adding APIs to get IMEI/MEID" into lmp-dev
054702be1e6900b20d825b24f34a4387572c2321 19-Aug-2014 Amit Mahajan <amitmahajan@google.com> Adding APIs to get IMEI/MEID

Change-Id: I553b7c019b20a64ff1049f35b0e3999ab82b7cce
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
284fb669478713333afe8ad2af329e4a6497911d 19-Aug-2014 Etan Cohen <etancohen@google.com> Enable VoLTE/VT with overlay overrides.

This reverts commit 24b1f38ee9ef3da624dde258da170c54649bf89b.

Bug: 17134661
Change-Id: I7c021017b257a221ca98c07c539b0c6d227ce1da
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
24b1f38ee9ef3da624dde258da170c54649bf89b 16-Aug-2014 Etan Cohen <etancohen@google.com> Force IMS disable.

Work-around - needed until VZN provisioning code enabled.

Change-Id: I5c276d8da9d506ead3985c2e9c8a1b85854675df
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
e2aa4828ce7a944d74da5cbb3094bfc05e07eff9 14-Aug-2014 Etan Cohen <etancohen@google.com> IMS default state hard-coded value replaced with reference to a defined constant.

Allows changing defaults from single definition.

Change-Id: I9b46fde36dcabc3a980a2ef8be305ed3f7fe362e
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
530036ca1f522f477c438466c0577aad38c74d03 11-Aug-2014 Etan Cohen <etancohen@google.com> Replace configuration used to control IMS MO calls with official config

Use Enhanced 4G LTE Mode configuration to control MO. Replaces a temporary
Radio Info debug settings. Will most likely be enhanced by actual information
about feature provisioning (or registration).

Change-Id: I20e86bbbb2c881f62db75bf2f24498ab06a58f4d
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
f9a248ba28469d55ea75f032a9cc7e2f55c16c9f 09-Aug-2014 Etan Cohen <etancohen@google.com> Do not reset IMS Phone status when containing phone RADIO_ON event received.

Change-Id: Ied7658fb4f6652e471430afc9bb892162beaa222
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
04e36a78936967df68d9175ac09dd3f087727888 01-Aug-2014 Uma Maheswari Ramalingam <umam@codeaurora.org> Add ECBM functionality for IMS

Code for adding ECBM functionality for IMS.

Change-Id: I2833c81baf0a55a18ac6433c47fd76bad7cf0ec9
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
8c3879362ce5a7a7c8151ec415e4d394812df357 02-Aug-2014 Etan Cohen <etancohen@google.com> Added debug system property to enable/disable IMS VoLTE/VT

If property is 0: IMS VoLTE isn't used.
If property is 1 then IMS VoLTE is used if provisioned, registered etc.

Action on property missing defined by defined constant.

Change-Id: If526c27b422811afe7b72283ee5e89555a313559
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
38b5fac001d38ad7a4f886ba7fcaf7c417216b01 31-Jul-2014 Etan Cohen <etancohen@google.com> Transfer ownership of IMS Phone when RAT tech change

Transfer ownership of the IMS phone and performs needed unregistrations
and registrations when RAT tech change forces a phone destroy/create.

Update notify on ringing phone to delegate directly to the parent phone of
the IMS Phone.

Change-Id: I02a14366ff339a09115a438715e7ee1124bb2a56
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
e1ee2bd66189f70a127fa6d6c95750cbe655e227 19-Jul-2014 Shishir Agrawal <shishir@google.com> Merge "Adding the ability for carrier app to override SPN and carrier name." into lmp-dev
b93bb3538c55f173f94a4ee7510d9d1521d8f731 18-Jul-2014 Shishir Agrawal <shishir@google.com> Adding the ability for carrier app to override SPN and carrier name.

The change allows system apps (holding MODIFY_PHONE_STATE permission) or
carrier apps to override the "carrier branding" on a per ICCID basis. The
override affects the service provider name as well as the network operator
name. The override is also saved as a SharedPreference and will persist for
the iccId across reboots.

Change-Id: I985ba247e10e2501e3d0d21567ccadc46f365879
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
5d0d72d9b7dc34c93303f6732541bbb74fed53da 18-Jul-2014 Etan Cohen <etancohen@google.com> Add support for incoming calls on voice phone

Change-Id: I85775776427ead1482ea88683a755451e76f97c1

Conflicts:
src/java/com/android/internal/telephony/cdma/CDMAPhone.java
src/java/com/android/internal/telephony/gsm/GSMPhone.java
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
6d05f561549a66b597a5119665ccc3bf8a962d16 16-Jul-2014 Andrew Lee <anwlee@google.com> Include video state when accepting call on phone.

Bug: 16013878
Bug: 16015750
Change-Id: Iae14ea443394fe0c805cb0a9dfc01dcb600cff70
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
6bbcbfd62c9aa5787e7c33936e2246ff05b59d58 08-Jul-2014 Tyler Gunn <tgunn@google.com> Adding support for specifying videoState in dial methods in Phone.

In ImsPhoneCallTracker, wired up dial to start a call with
the correct IMS call type.

Bug: 16014224
Change-Id: If131529fee7eb03e63fa445d04e15246e51967be
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
888c60a7fe1c8f3612ab8e8ec5f2f7ca8f24e766 03-Jul-2014 Etan Cohen <etancohen@google.com> Remove VoicePhone interface

VoicePhone interface was not a generic voice phone. It was a partial
implementation of an ImsPhone (i.e. served no added-value purpose but
confused functionality). Removed.

Change-Id: Ida5d0fb2b09dcc6ec295ddd7a03f2cf6536b840b

Conflicts:
CleanSpec.mk
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
077d04f2ca9fbf1b17302aff609aba5d1659f56b 31-May-2014 Shriram Ganesh <sganesh@quicinc.com> Allow ImsPhone to handle e911 calls

Allow ImsPhone to handle emergency calls

Change-Id: If40fb8326d165f5b1093c77982ed9747cba596ca
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
a8467dd0c524787104b1ccdddc5e8af10ba729ed 13-Jun-2014 Wink Saville <wink@google.com> Merge kwd to master

Change-Id: Idb607c0aa32f80fe4fe1539aedea7a221e9e7f04
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
3a6fa6e964a0cb361f79302afe18b8d7f5f9ceef 22-May-2014 Robert Greenwalt <rgreenwalt@google.com> Move dis/enable of mobile data to Telephony

ConnectivityService doesn't do this anymore.

bug:15077247
Change-Id: I3208c91b2c0369b594987f39ca29da7478435513
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
f61aaae6608243be4e0da97a56ff9fed488cb173 07-Apr-2014 Shishir Agrawal <shishir@google.com> Reset network selection mode to "automatic" for CDMA phones.

If a phone switches from a GSM phone to a CDMA phone, the network selection
mode is not changed. Given that CDMA phones do not allow a "manual" network
selection mode, this causes issues. This CL set the mode to "automatic"
on every CDMA NV ready and RUIM ready events.

Change-Id: I0166ecfe2abecf26270ae5330ae32af5b09ca57e
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
d47b57ab12007d107d04eef324094972a12de735 11-Mar-2014 Robert Greenwalt <rgreenwalt@google.com> am f810d58e: am b0b637db: Switch from SIM to carrier info for wifi country

* commit 'f810d58e68c195c8559b551b5887c674531b8927':
Switch from SIM to carrier info for wifi country
b0b637dbf2a67c0e7eee917c0809f1cc54983986 06-Mar-2014 Robert Greenwalt <rgreenwalt@google.com> Switch from SIM to carrier info for wifi country

Now will also inform when no known country too.

bug:11062898
Change-Id: I4a938119c1c06898b39b3bcc6124031d2f66dd71
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
0742246233c3f03f864d23e52d89e1845d994701 27-May-2013 Antonio Marín Cerezuela <amarin@swissms.ch> Telephony API extension v2

Added the following notifications:

public void notifyPreciseCallState(Phone sender);
public void notifyDisconnectCause(Connection.DisconnectCause cause, int preciseCause);
public void notifyPreciseDataConnectionFailed(Phone sender, String reason, String apnType, String apn, String failCause);

Change-Id: If3b88c679507c529b746046c4a17cf6d9974bd09
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
ce06370fc58f59abda3cb072326e9425da3d755d 13-Nov-2013 Wink Saville <wink@google.com> Telephony: unchange SIM info from CDMAPhone when SIM exists

This change is to prevent for updating the properties of 3GPP SIM
from the CDMAPhone when the 3GPP SIM exists on the card.

Bug: 11189478
Bug: 11360679
Change-Id: If849f8e0d6d6a1750cae045e35f3f92d73db4a20
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
ace9a749c5a2a5e07527f728b7331423d16c36cd 30-Oct-2013 Sukanya Rajkhowa <srajkh@codeaurora.org> SMS over IMS bug fixes

This change includes the following:
1) SMS over IMS remaining patches which address review comments

2) Fix for Bug:11378993
For MT SMS over IMS, if an application uses the createFromPdu(byte[] pdu) API
instead of createFromPdu(byte[] pdu,String format) API, we first try to create
SmsMessage from raw PDU with the format of active phone. That either returns a
valid SmsMessage object or throws a RuntimeException causing the correct format
to be used the next time. If GsmSmsAddress is not valid, we should throw
a RuntimeException which is handled by createFromPdu(byte[] pdu)

3) Fix for Bug:11424054
Register for ICC changes and handle new SMS on ICC

Bug: 11378993, 11424054
Change-Id: I94bcfcf93d8205c2916997091617899c6ebdd5e5
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
3522c54a64f577f2b657a775dae9b4eb2d8003d5 25-Oct-2013 Wink Saville <wink@google.com> Few PIN/PUK fixes

Following changes have been made as part of this:
-> Changes done to display retry counter on wrong entry of
PIN1,and message to indicate Code accepted/PIN1 blocked
during PIN1 verification as per certain carrier requirements.
-> The current APIs that are used to verify the PIN and PUK only convey
whether the operation succeeded or failed. As a result on ANY failure
clients ask the user to re-enter the PIN.
Add 2 new APIs that report the actual error code and returns the
number of attempts remaing in case of failure.
-> FDN Service state was derived based on the state of PIN2. Update the
state of FDN service based on the FACILTY_LOCK messages instead.
-> Change the default value of function getIccLockEnabled to false.
When sim is deactivated/absent & user navigates to
Settings->Security->Set up SIM/RUIM card lock,
checkbox for "Lock Sim Card" option should be
unchecked by default.
-> PIN1 can be changed only after enabling SIM lock. RIL returns
REQUEST_NOT_SUPPORTED error if user tries to change PIN1 without
enabling SIM lock.
Handle the error and display appropriate message when trying to
change PIN1 using MMI code.
-> Added MMI support for change PIN1/PIN2 and unblocking PIN2

Bug: 9928717
Change-Id: I73718c9e6a8aa7244097e0dd4593a6226ff0ac08
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
ffe6e68213ae3220497188fed814e271b472292a 16-Oct-2013 Jake Hamby <jhamby@google.com> Clear CDMA latitude/longitude when location setting is off.

Clear CDMA base station latitude/longitude when returning
cell locations if user's location setting is disabled.

Bug: 11104404
Change-Id: I120c236ee57e37417ba7db3356678d33a087cc3d
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
1260f1c6c909f2940989b72afe1b91fd83845eaa 14-Sep-2013 Sukanya Rajkhowa <srajkh@codeaurora.org> Support SMS over IMS

ImsSMSDispatcher is part of IccSmsInterfaceManager.
It always receives calls to send sms first and decides
whether to use ims call flow or gsm/cdma based on response
to REQUEST_IMS_REGISTRATION_STATE.

When ims is registered and sms is supported, the request also returns
sms format to use.

In case of sms over ims failure, RIL_REQUEST_IMS_SEND_SMS sets
messageRef from RIL_SMS_RESPONSE of corresponding failed MO SMS, and
sets retry field to non-zero. If voice is available, sends
RIL_REQUEST_IMS_SEND_SMS retries with data encoded based on voice tech
available. If voice is not available, sets retry counter to max and
skips retries and sends failure to client.

Bug: 9626411

Change-Id: I4c63c8fc0eb2191847b509e66772e3de27d491ed
Signed-off-by: Ed Tam <etam@google.com>

Conflicts:
src/java/com/android/internal/telephony/gsm/GSMPhone.java
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
6f2a3e1ea86ae7ae2e04eb95582e54eec7a2f864 14-Sep-2013 Sukanya Rajkhowa <srajkh@codeaurora.org> Reorganize IccSmsInterfaceManager

Move duplicate functionality of RuimSmsInterfaceManager and
SimSmsInterfaceManager to the parent IccSmsInterfaceManager.
Earlier IccSmsInterfaceManagerProxy could only support RUIM
on CDMALTEPhone and SIM on GSMPhone.New architecture allows
for RUIM and SIM support for both GSMPhone and CDMALTEPhone

Change-Id: I8a3046fd0e8c366beefea267a79e14e4b1941d09
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
8469152d2c6bdaf4632a07880bd1bcd6af78d10b 16-Sep-2013 duho.ro <duho.ro@lge.com> UICC: to avoid overwriting ICC operator numeric

When the SIM card is inserted and the radio tech is CDMA,
init() of CDMAPhone overwrites the ICC operator numeric as
CDMA_HOME_OPERATOR_NUMERIC. It makes some abnormal state when the
CDMA_HOME_OPERATOR_NUMERIC has a wrong value or empty.
This change is skipping the overwriting ICC operator numeric when UICC
card has a SIM/USIM application because the application has its own
operator numeric.

Bug: 10774885
Change-Id: I0171000ef38fad23858f7266ab0cae3bd314b6b1
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
fba544106298510dc3edf110ab2be92270f08c13 22-Nov-2011 Anshul Jain <anshulj@codeaurora.org> Telephony: Handle RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE

Handle RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE as a way to exit from
Emergency Callback Mode

Bug: 10749583
Change-Id: Ia572ac5a4d5ab38166453dcdf26fb0a667bba74e
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
05b2bd6d8fb038e35c51e5eab36c7dd9886b1da5 13-Sep-2013 Jake Hamby <jhamby@google.com> Merge "Fix voicemail notification for Sprint." into klp-dev
df53e221838a87a2d5d5175c1b8372e8515a822c 12-Sep-2013 Jake Hamby <jhamby@google.com> Fix voicemail notification for Sprint.

Sprint voicemail notification wasn't showing up because we were
looking for a CSIM application on the UICC and couldn't find it.
Added code to CDMAPhone.onUpdateIccAvailability() to load the USIM
application if we fail to get the CSIM application.

Bug: 9908333
Change-Id: I5c69c9eea6972e377b10a4057492f9ecc8233028
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
5e2000b856a7959609e8f15148a3584ec372f865 12-Sep-2013 Wink Saville <wink@google.com> Telephony: Ignore events on a destroyed phone

It is possible to receive responses from RIL after phone has released
it's references. Ignore events in such cases, since those events no
longer make sense, and some phone members have been de-initialized.

Make CallTrackers notify UI when ending calls in dispose, since
it has already unregistered, and won't receive the CALL_STATE_CHANGED

Change-Id: I5d8fd9ce3f74b9ae9b5b645565bd24d11be0aebc
CRs-Fixed: 228731, 228005, 415801, 350739
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
8e416432ae310dd451f1360dfd4f70d8ef9b3903 06-Sep-2013 duho.ro <duho.ro@lge.com> UICC: get ICCID from SIM for CDMAPhone state

If the phone state is CDMAPhone and the UICC does not have a CDMA application,
getIccSerialNumber() can not read the ICCID from SIM.
This changes are changing the reference of the card application object
from RUIMRecords to SIMRecords. So, this method is able to get the ICCID
from SIMRecords, if the UICC has a SIM/USIM.

Bug: 10564873
Change-Id: Id55f794828f1f1a89905298776500df90088b17e
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
0d4bcdf379842af4b6304809156971e926f374f0 18-Mar-2013 Jake Hamby <jhamby@google.com> Refactor inbound (MT) SMS handling into new handler classes.

Moved all MT SMS handling to separate StateMachine classes, which
save all incoming PDUs in the SmsProvider "raw" table, previously
used only for storing PDUs of concatenated messages. Then we ACK the
message, before starting the ordered broadcast as usual. If a receiver
of the broadcast sets the status to failure, we ignore it, but in the
future we could provide a mechanism to redeliver the broadcast.

New classes are (without com.android.internal.telephony prefix):
- CellBroadcastHandler
- InboundSmsHandler
- InboundSmsTracker
- SmsBroadcastUndelivered
- WakeLockStateMachine
- cdma.CdmaInboundSmsHandler
- cdma.CdmaServiceCategoryProgramHandler
- gsm.GsmCellBroadcastHandler
- gsm.GsmInboundSmsHandler

This fixes a bug in the SMS dispatcher. Previously we delivered
incoming SM's as ordered broadcasts and then sent an acknowledgment
to the SMSC after the broadcast completed. It was possible for the
ordered broadcast to take over 20 seconds to complete, causing SMS
retransmissions because we didn't ACK quickly enough. Also, a
broadcast receiver could set the result code to failure (the AOSP
MMS app never does this), causing us to negatively acknowledge the
SMS, potentially leading to many retries and a backlog on the SMSC.

The reason for saving all PDUs in the raw table before ACKing is so
InboundSmsHandler can handle the failure case of a device crash or
power failure in between ACKing the message and the delivery of the
ordered broadcast to receivers. This is handled when the Phone class
starts, creating a new thread to run SmsBroadcastUndelivered.
This Runnable scans the raw table once, finding all complete
PDUs and sending IncomingSmsTrackers to the state machine to
broadcast them again to receivers. In the worst case, a message might
be added twice to the MMS inbox, but it won't be lost.

However, due to the current MMS app implementation, which immediately
acknowledges the ordered broadcast before starting a new Service to
process the message, there is a very short window of time when a
message could potentially be lost, if the MMS app or device crashed
after the ordered broadcast returns and the message is deleted from
the raw table, but before the MMS service has added the message to
its own tables. To fix this will probably require API changes.

Another improvement from this change: SmsBroadcastUndelivered also
deletes PDUs for incomplete multipart messages that are older than
30 days. We've never garbage collected this table in the past, so
it's possible for a phone to accumulate a number of old PDUs in the
raw table if not all components arrived successfully.

The wake lock handling is also improved in this version, as we now
acquire a wakelock when the state machine leaves the Idle state,
releasing it 3 seconds after returning to the idle state, instead
of the previous 5-second timeout. If a new SMS arrives while a
broadcast is being delivered, we add it to the raw table and ACK the
new PDU immediately, then send the InboundSmsTracker as a message to
handle when the previous broadcast completes.

In order to keep track of whether a PDU is in 3GPP or 3GPP2 format,
the destination port column of the raw table is extended with three
flags: 3GPP format, 3GPP2 format, and no destination port present.
Because the destination port is a 16-bit value in both 3GPP and
3GPP2, the upper bits of the destination port can be used for flags.
This saves us from having to modify the SMS provider to update the
DB version and to add extra columns to keep track of these flags.

Bug: 7099232
Change-Id: Ibbc01ccb83320f4b6112fe3dd31355eb6f570b67
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
6651da75a59ee54f154b2a82c76392a3385108bb 02-Apr-2013 Robert Greenwalt <rgreenwalt@google.com> Merge "make new API to retrieve group identifier level1" into jb-mr2-dev
c6bbea82bf74ebb492508199b6f3e172b7ce860a 28-Mar-2013 Wink Saville <wink@google.com> Map DcConstants.RETRYING to PhoneConstants.State.DISCONNECTED.

Previously RETRYING was mapped to CONNECTING this means that
ConnectivityService will not remove the route and a subsequent
change in IP addresses won't work because an old route has not
been removed.

By mapping to DISCONNECTED ConnectivityService will remove the
route. Another alternative would be to add PhoneConstants.State.RETRYING
but this is a simpler change so we'll try it first.

Bug: 8486114
Change-Id: I1c9946a1e441feda83f13730e835445624a87218
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
0e4abef0d7e978d4c3dea5199f451a1c69158d03 21-Mar-2013 Sungmin Choi <sungmin.choi@lge.com> make new API to retrieve group identifier level1

For mvno, user can add or edit mvno data field. To pre-provide
the mvno data of the edited apn when the user selects one of
the mvno types, need to support IMSI, SPN, and GID1 data.
To support GID1, make API to retrieve group identifier level1.

bug:6445254
Change-Id: I1bc280054cc7cd37e78a279866cefd62872a19fb
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
454b1dfd508844b42eb775e4ab2359be74d3672b 23-Mar-2013 Wink Saville <wink@google.com> Rename a few files and variables.

Change-Id: I4e90dbf57797b9485920f943e24fa7a4c29d070b
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
ff4e317d24f0d23bdc0f306d53ddc51f2f1ecf6a 22-Mar-2013 Wink Saville <wink@google.com> Move retrying into DC.

This is the first step in refactoring for bug 4772191.

Bug: 4772191
Change-Id: Id54a20ab192783c63939158670faaf531a527640
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
22d85a8e3a575a6d01d2c788587971657dfe20c6 23-Feb-2013 Wink Saville <wink@google.com> Clean up member variables.

Change-Id: Ib60f350131ade626aca682407ea0b4377b16f6c6
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
cbaa45bbf2cab852b6c9c3a887e9f803d4e857ea 23-Feb-2013 Wink Saville <wink@google.com> Clean up

- Add @Overrides where needed.
- Update javadoc comments
- Remove extra semi-colons
- Rename DataConnection.java to DataConnectionBase.java
- Rename GsmDataConnection.java to DataConnection.java
- Add defaults to switch statements
- Remove/fix most "if (false)" statements. Fixed by using a CONSTANT
- Fix hidden variables by hoisting to base class or renaming
- Tweak some debug output

Change-Id: If38de2fdeaacafbf40cdfd7f84dc5c52030ba2a3
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
4918296afe1c667e9523cdfc799f558f7ebc2bfb 21-Feb-2013 Wink Saville <wink@google.com> Move DataConnection related classes to their own package.

Change-Id: I34ee9e87545e6b15ebf4d3ec101d4ed3d322f7b2
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
1d272b4f018e5d7a0f70b70d76398c20d33e234b 12-Dec-2012 Robert Greenwalt <rgreenwalt@google.com> Merge "Remove unused INITING state."
60dc9dc311361f9fb52155ea28d383d55afa90d8 11-Dec-2012 Wink Saville <wink@google.com> Merge commit '7e4b734a' into fix-merge-conflict

* commit '7e4b734a':
Telephony: Move uicc classes into uicc package

Change-Id: Iacc7f1805500bfe55299aaedbe0241ebba8e8b23
d720945f2be5ea5fe0faf67e67d9ea0e184eba67 01-Aug-2012 Alex Yakavenka <ayakav@codeaurora.org> Telephony: Move uicc classes into uicc package

Reduce constructor visibility to package where
possible

Dependent Changes:
I3b718b9aea1f21c7906c8243b4ca0db6af495a08
I80204a2f3dc57cac875abeab390bb9db7a636ff7
Ib9c19e8b157dc7ec74eb14baca5bd3b5caf08c47

Change-Id: Ib4f43374c041cb5eaf2e3883e5ea28b2eb2c9a69
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
ded9c0af7fa49504c047275ed34c2d3b22bf0c3a 07-Dec-2012 Wink Saville <wink@google.com> Use Rlog

Change-Id: Ie013f51215de8380b8de74161b6056b010711cfd
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
13cf7e43f92022a7bb71950b388805c60726589f 06-Dec-2012 Robert Greenwalt <rgreenwalt@google.com> Remove unused INITING state.

Change-Id: I56dd80988a064836f9171021f57a7bbf367090c8
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
99c2e1d6749cfad2a8ca94a47857d8c3bfc09454 27-Nov-2012 Wink Saville <wink@google.com> Use Rlog instead of Log.

Change-Id: I2f44193b294513e743526e5c163e7d9a45308b28
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
f92cb4bd5519427a0db673709d94683a8baf203a 16-Nov-2012 Wink Saville <wink@google.com> Remove CdmaDCT and CdmaDC.

Change-Id: Ifa251706326dae6b1676c79fa591f056a853953d
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
2e648e5c481ac90f64d71e1643c83bc67f8c0e7f 16-Nov-2012 Wink Saville <wink@google.com> Revert "Remove CdmaDCT and CdmaDC."

This reverts commit 88f9756a023639f48e85680b8bf2cd1469a5471a

Change-Id: I9b4f140b06acfc9d5f0856f380313a097171437a
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
88f9756a023639f48e85680b8bf2cd1469a5471a 15-Nov-2012 Wink Saville <wink@google.com> Remove CdmaDCT and CdmaDC.

Change-Id: I11ead478231bdd5f0b67bc2354e161eab3d4fd87
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
565013a713156a0ddcc46dc3a0077e4c268ce272 08-Sep-2012 Wink Saville <wink@google.com> Merge commit '599f207f' into fix-merge-conflict

* commit '599f207f':
Telephony: Remove CdmaLteUicc objects

Change-Id: I5d63ea7edbcb1e7fe4010bcb3e5c9d6c961827d6
e287feac673ff68565b766e0e463d105fa9cef9d 10-Jul-2012 Alex Yakavenka <ayakav@codeaurora.org> Telephony: Remove CdmaLteUicc objects

-Pass IccCard object to GsmMmiCode
-Create IccCardProxy
-Make IccCard an interface and pass instance of IccCardProxy to
external applications (PhoneApp). IccCardProxy will use internal
UiccCard to map Icc requests to current active application on
UiccCard to maintain backwards compatibility for external
applications
-Add documentation to UiccController

The primary advantage of UiccController is that we can work with
multiple uicc applications at the same time. And that is a
requirement for modes like Cdma/Lte. The existing code supports
Cdma/Lte only partially and with guessing on modem side. However,
some things modem can guess, while others - it can't.

For instance, when a user tries to edit the fdn list the current
code will pass ef_id for fdn (0x6F3B). But the modem will have no
clue which fdn list the user wants to edit (csim or usim, both
have path 7FFF), and it's impossible for modem to guess correctly
all the time. All the modem can do is try to be consistent and
hope another device is doing same things. Imagine you bring your
card from another Cdma/Lte device to your new Cdma/Lte device:
if this modem uses different fdn file, it won't work as all
existing entries won't be there.

Another example is when the modem's guess is wrong for files like
csim/ef_li (7FFF 6F3A) versus usim/ef_adn (7FFF 6F3A). They have
same ef_ids so Android really should pass aid of the app it wants
to access. Without aids there is no way modem can know for sure
which file Android wants to read! However, in the current code
even Android doesn't know which aid it wants to read file from
since CdmaLteRecords has only 1 aid.

All of these problems cause more and more hacks, both in the modem
and in Android side. UiccController cleans up current code and
provides framework to work with multiple Uicc applications at the
same time.

Change-Id: I60216887b14140bdf833a8ed579ba16cad932bdc
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
cbbf6deee30d702e398939f4bb464f5e821f5e6c 30-Aug-2012 Dianne Hackborn <hackbod@google.com> Update to send sticky broadcasts to all users.

Change-Id: I66312f142348282b90fb63f8f20361446d56fb03
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
15e350dbdedb12c36c4432375e8c58a633b1e492 13-Aug-2012 Wink Saville <wink@google.com> Merge "Telephony: Signal Strength cleanup"
049ab0421f32e6effc5d1277b69bd382cebadb18 09-Aug-2012 Wink Saville <wink@google.com> Merge commit 'e0e2ebb5' into fix-merge-conflict

* commit 'e0e2ebb5':
Telephony: Dynamically instantiate IccCard

Change-Id: I37d65c140033f110bc4990f68adf9489737c9c38
e0e2ebb5a50e580cbe6957dcafb3495a2d0a27f2 27-Jul-2012 Alex Yakavenka <ayakav@codeaurora.org> Telephony: Dynamically instantiate IccCard

Instantiate when get_sim_status request returns

Change-Id: I9c9333d23f1e0b23256731b245577d1a25721647
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
bb36adde615d3d85fa0fc23935197c6bc6a799ed 27-Jul-2012 Alex Yakavenka <ayakav@codeaurora.org> Telephony: Dynamically instantiate IccCard

Instantiate when get_sim_status request returns

Change-Id: I9c9333d23f1e0b23256731b245577d1a25721647
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
5b81adc82a53b3064f4baa3acfeabef31586588a 10-Jul-2012 Uma Maheswari Ramalingam <umam@codeaurora.org> Telephony: Signal Strength cleanup

Make signal strength parsing common for all modes

Change-Id: I41bce658c536dc30558224c8ca76d6d70afb78ee
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
ef1d4bff9bbf7d967dbcace73f08910e14e367d0 17-Jul-2012 Wink Saville <wink@google.com> Revise CellInfo API's

Change-Id: I35bc22caf4a6a2255f2ce122690823f8d602b359
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
c38bb60d867c5d61d90b7179a9ed2b2d1848124f 12-Jul-2012 Wink Saville <wink@google.com> Create telephony-common - DO NOT MERGE

telephony-common was created by moving some of
frameworks/base/telephony
to:
frameworks/opt/telephony

Change-Id: I32cbb5eec1fa239c1587e055c8f7ef4fc48fb62c
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java
0825495a331bb44df395a0cdb79fab85e68db5d5 12-Jul-2012 Wink Saville <wink@google.com> Create telephony-common

telephony-common was created by moving some of
frameworks/base/telephony
to:
frameworks/opt/telephony

Change-Id: I32cbb5eec1fa239c1587e055c8f7ef4fc48fb62c
/frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CDMAPhone.java