summaryrefslogtreecommitdiffstats
path: root/telephony
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix mncLength in cases with a malformed AD_DONE msg from SIMRobert Greenwalt2009-09-041-35/+41
| | | | | | | Several cases error out and skip our guessing of the mcnLength. This results in no operator_numeric being set and no APN's matching. bug: 2101770
* Merge change 23870 into eclairAndroid (Google) Code Review2009-09-032-1/+11
|\ | | | | | | | | * changes: Allow hasIccCard to be useable by any processes.
| * Allow hasIccCard to be useable by any processes.Wink Saville2009-09-032-1/+11
| | | | | | | | | | | | | | | | This is accomplished by adding hasIccCard to ITelephony and do the implemenation in PhoneInterfaceManager.java. Then change TelephonyManager to use getITelephony().hasIccCard(). Change-Id: I26970fdf92a058502b8156a4f52c14e213217fc6
* | Implement USIM and add support for importing emails from USIM.Jaikumar Ganesh2009-09-039-47/+564
| | | | | | | | | | | | Refer to 3GPP Spec 31.102 for more details. We read and parse USIM records instead of the RIL doing it for us. We only support reading of USIM Phonebook records.
* | Promote MccTable to telephony and use it for both gsm/cdmaRobert Greenwalt2009-09-038-150/+173
|/ | | | | | This adds timezone/locale/wifi-regulator-channels initialization to cdma (gsm already had it). bug: 2071211
* Exit Emergency Callback Mode if phone process crashes/restartsLibin Tang2009-09-031-1/+4
| | | | | | | | | If the phone process crashes while the phone is in ECM, there is currently no way to get out of ECM without rebooting the phone. This change forces the phone out of ECM if the phone process restarts. Change-Id: Ie4eb103fdc151ca20aa0b29dec43e60ad819e5b7
* Merge change 23793 into eclairAndroid (Google) Code Review2009-09-031-5/+13
|\ | | | | | | | | * changes: add conditional verbose logging for when sending a SMS message.
| * add conditional verbose logging for when sending a SMS message.Wei Huang2009-09-031-5/+13
| | | | | | | | Change-Id: I969e4cbee87ce5a42eaf5809292442e90db294cf
* | Fix the issue that dialing *86 during call, the dialing voicemail screen is ↵Libin Tang2009-09-022-334/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not shown. The change fixes the issue that dialing *86 during the call, the dialing voicemail screen is not shown, instead it shows feature code screen. For CDMA, when flash is sent to the network, there is no response from the network to indicate if the feature code is completed or not. This is different from MMI code in GSM network. So it's confusing to show any UI to indicate MMI (feature code) for CDMA. The change is to remove the feature code handling in CDMAPone, and handle the feature code dialing the same way as the 3 way call dialing. Basically, when feature code is dialed, the dialing screen will be shown.
* | Merge change 23607 into eclairAndroid (Google) Code Review2009-09-022-12/+24
|\ \ | |/ |/| | | | | * changes: Reject (NAK) CDMA SMS with unknown teleservice ids.
| * Reject (NAK) CDMA SMS with unknown teleservice ids.Tammo Spalink2009-09-022-12/+24
| | | | | | | | | | | | | | Addresses issue: http://buganizer/issue?id=2066191 Change-Id: I56124379534bf19f128b6228749c7ee2ef455fed
* | Merge change 23510 into eclairAndroid (Google) Code Review2009-09-021-1/+1
|\ \ | | | | | | | | | | | | * changes: SMS-to-email fix for messages from the web
| * | SMS-to-email fix for messages from the webSatish Roddom2009-09-021-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Certain carrier websites allow sending SMS to phones on their network. They allow filling out a "Reply to Address" which can be a phone number. The website may send that message to the device as an SMS-to-email, but the "From" address will be an SMS short code and not a valid email address. When the user replies to this message, the response is directed to the short code and not delivered correctly. In extractEmailAddressFromMessageBody(), currently it checks if the sender is a shortcode and an email address is present as the first word in the message body. If so, it replaces the email address as the sender replacing the short code. The fix to support the above case is remove the email address check and treat the first word as FROM address regardless of what the user types. Change-Id: Ifd39a39b352f204024c76fde293164dcd2b0896b
* | Merge change 23548 into eclairAndroid (Google) Code Review2009-09-021-0/+3
|\ \ | |/ |/| | | | | * changes: Fix some sign in errors.
| * Fix some sign in errors.jsh2009-09-011-0/+3
| | | | | | | | | | | | | | | | AccountManagerService.SimWatcher was checking if storedImsi = "initial" instead of null as an initial condition. Also, on NV-only CDMA devices we were only sending SIM_STATE_CHANGED notifications when the radio powered down, which meant storedImsi was only initialized if the radio powered down.
* | Add hasIccCard to IccCard and TelephonyManager.Wink Saville2009-09-012-0/+20
|/ | | | | | | | | | | | Expose the presence/absence of IccCards in the system. This is needed to fix bug 2033811 which needs to show some SIM menus in the Mms app and Contact apps only if there is a SIM and on CDMA there is no sims yet. The current implementation assumes CDMA never has an IccCard this is true at the moment but needs to change. Change-Id: I4167368e364623ea68e9b2778556e6d730b1e715
* Some fixes to SMS processing in the framework.jsh2009-09-013-27/+57
| | | | | | | | | | | | Always process class 0 and other unstored SMS (eg, MWI). We were rejecting all SMS messages in storage full situations, but certain messages do not require storage. Also, notify apps when the framework rejects MT SMS, with new SMS_REJECTED_ACTION intent. b/2066775 b/2015906
* Move SMS pdu creation fully into the central Phone process.Tammo Spalink2009-09-0111-118/+276
| | | | | | | | | | | | | | | | | | | Previously pdu creation was haphazardly done sometimes by the app and sometimes centrally by the phone process -- specifically the phone process did creation for multipart texts. This change gets rid of the previous IPC interface for sending raw pdus to SMSDispatch in the phone process, and instead makes everything work like multipart messages worked before, namely the structured data is passed and pdu encoding done centrally. The motivation for this was the need to ensure that CDMA message id numbers were strictly monotonic, including across reboots, which necessitated central state in the form of a system property, which could in turn only be modified by the phone process. Hence, this (in part) addresses issue: http://buganizer/issue?id=2075760 Change-Id: I94ca207b6e657c465e8472534704db8646ee277c
* Allow fragmentText to be called for singleton CDMA messages.Tammo Spalink2009-09-012-2/+17
| | | | | | | | Corrects for previous partner changes, addressing issue: http://buganizer/issue?id=2063332 Change-Id: I49e564d81c5db3e92a6bad973f21a02a7302875d
* Merge change 23271 into eclairAndroid (Google) Code Review2009-08-313-219/+166
|\ | | | | | | | | * changes: Cleanup egregious style issues.
| * Cleanup egregious style issues.Tammo Spalink2009-08-313-219/+166
| | | | | | | | | | | | No actual code logic changes, only cosmetics. Change-Id: I81d537610394fcb119dd80ddbc3d3f0295fd5a9a
* | Don't mark an APN disabled if setup failsRobert Greenwalt2009-08-283-13/+3
| | | | | | | | | | | | | | | | | | | | | | | | We need to leave the phone in a connectable state so that it connects whenever it's able (reception or just timing). If we mark it disabled on failure it wont try again. The retry comes from the phone layer, not from ConnectivityService. Also Fix the Phone layer so it retries even if it disconnected by request (DATA_DISABLED). This was a bug from long ago that didn't become visible until recently with fast wifi and slow mobile teardown. Change-Id: I04bf39fba0cb578c87d5fc6ea5d220820ff9f364
* | Merge change 23182 into eclairAndroid (Google) Code Review2009-08-282-10/+53
|\ \ | | | | | | | | | | | | * changes: MO SMS fail after sending 100 messages
| * | MO SMS fail after sending 100 messagesYong Liu2009-08-282-10/+53
| |/ | | | | | | | | | | After sending 100 messages, SMSDispatcher always displays dialog to user to confirm the sending. If the user sends messages too fast then there will be more than one dialogs waiting for the response, but SMSDisptcher can only handle one.
* | Fix bug 2040024 phone rings only once sometimes.Wink Saville2009-08-287-367/+406
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The phone only rang once on rings that did't loop. In the GSM phones the vendor ril sends a RIL_UNSOL_CALL_RING event to cause the phone to properly play non-looping ring tones. To reproduce select a non-looping ring tone such as "Digital Phone" and call it from another phone, the phone will only ring once. Three solutions were discussed: *) Have all ring tones loop; rejected because to more space would be taken by the silence. *) Require all vendor RIL's to send RIL_UNSOL_CALL_RING; rejected because it is inefficient to send a notification from the bottom of the stack. *) Modify the PhoneApp or the audio layer; rejected because it would be to big of change. *) Modify the framework; this is the solution accepted. The framework was modified to use two now properties to control the call ring notification. ro.telephony.multiple_call_ring: a boolean that if true the vendor ril is assumed to send multiple RIL_UNSOL_CALL_RING messages. If false only one is assumed and the framework will generate additional events. (The default if absent is true). ro.telephony.call_ring_delay: the delay in milli-seconds between the generated events. (default if absent is 3000) To minimize code duplication this change does some reorganization of the PhoneBase class hierarchy and PhoneBase becomes a handler and implements a default handleMessage method handles events associated with call ring notification. This handler is overridden by derived classes, CDMAPhone and GSMPhone which will pass unknown events to PhoneBase.handleMessage and thus handle call notification for any derived class. Change-Id: I5b147b2b69b647d9987052f16ada41c9b66e4bf1
* optimize MCC tableTammo Spalink2009-08-281-366/+493
| | | | | | | | | | | | | | Replace a table of objects that was created at boot in a costly manner, with a pre-generated table of more densely formatted numerical data. Based on data from runhat on the phone process, this looks to shrink the memory footprint from about 16kB to less then 2kB. Addresses http://buganizer/issue?id=874072 Change-Id: I5a7b9d7de4c9b9a0360e8370252582969fbd8d4f
* Merge change 22529 into eclairAndroid (Google) Code Review2009-08-273-43/+59
|\ | | | | | | | | * changes: Track apn Enable synchronously and notice failures
| * Track apn Enable synchronously and notice failuresRobert Greenwalt2009-08-273-43/+59
| | | | | | | | | | | | | | Another way to fix this problem. Notice the failures of dataSetup and mark the requesting apn as unenabled so future attempts can be made. bug: 2069221
* | Integrate CDMA provisioning into SetupWizardJim Miller2009-08-261-0/+5
|/
* Note net availability even when apn not enabledRobert Greenwalt2009-08-241-1/+2
| | | | | | | | Fixes a problem where mms apn was on when we lost the network (airplane mode) but mms was off when airplane mode was turned off so it kept thinking we didn't have access and future mms always failed. bug: 2075145
* I am getting tired of the java doc warnings, so fix them.Dianne Hackborn2009-08-245-6/+12
| | | | Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
* Fix missing break statement found by Motorola.Wink Saville2009-08-221-0/+1
|
* Merge change 22362 into eclairAndroid (Google) Code Review2009-08-211-82/+101
|\ | | | | | | | | * changes: Fix +NANP issue and cleanup plus code conversion.
| * Fix +NANP issue and cleanup plus code conversion.Libin Tang2009-08-211-82/+101
| | | | | | | | | | | | | | | | This patch includes the plus code conversion clean up. 1. change the plus code conversion based on the current and default number systems retrieved from MCC. 2. for format such as +NANP, replace the '+' with the current IDP (011). 3. comments changes.
* | Disable data call in emergency callGuo-Bin Zhang2009-08-212-0/+32
| | | | | | | | Same change as 79ef673d56e2599932b8b7f13695d23b4df54d09 rebased
* | Framework changes to support HSDPA/HSUPA/HSPALi Zhe2009-08-215-23/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HSDPA: High-Speed Downlink Packet Access HSUPA: High-Speend Uplink Packet Access HSPA: High-Speed Packet Access Add support for HSDPA/HSUPA/HSPA: 1) extend TelephonyManager.NETWORK_TYPE for HSDPA/HSUPA/HSPA 2) extend ServiceState.RADIO_TECHNOLOGY for HSDPA/HSUPA/HSPA 3) set radioTechnology into ServiceState in GsmServiceStateTracker 4) change the implementation of TelephonyManager.getNetworkType to solve the competition timing issue between the time of setting system property and the time of receiving notification through PhoneStateListener 4.1) add a getNetworkType interface in ITelephony.aidl 5) add icons resources for HSDPA/HSUPA/HSPA 6) make use of HSDPA/HSUPA/HSPA icons in StatusBarPolicy
* | Merge change 22282 into eclairAndroid (Google) Code Review2009-08-211-1/+7
|\ \ | | | | | | | | | | | | * changes: Fix Calling screen shows "In Call" on pressing mute button
| * | Fix Calling screen shows "In Call" on pressing mute buttonGuo-Bin Zhang2009-08-201-1/+7
| |/ | | | | | | | | | | | | Send a flash command to CDMA network for putting the other party on hold. For CDMA networks which do not support this the user would just hear a beep from the network. For CDMA networks which do support this, it will put the other party on hold.
* | Delay radio reset to wait for data cleanup in CdmaDataConnectionTrackerYong Zhang2009-08-202-13/+45
|/ | | | | | | | | | | | | | | | | | | | | | | | | Issue to be addressed: In radioRestart() method in CdmaDataConnectionTracker, if the radio is restarted right after cleaning up connection, it is possible that the connection setup request triggered by radio-on may happen before the connection cleanup has been completed so that the connection may not be set up correctly after the radio is restarted. The end result could be that the phone lost the data capability. The patch includes the following changes: 1) Add EVENT_RESTART_RADIO in DataConnectionTracker. 2) In CdmaDataConnectionTracker, method restartRadio(), send a message delayed by 20s, the purpose of which is to wait for connection cleanup to be completed, then to restart radio. 3) In CdmaDataConnectionTracker, method trySetupData(), don't try to setup data if there is pending message to restart radio. Addtional notes: A system property is not used to config the delayed timer because we think this fix is to address the unusual error case and waiting for long time should not impact user experience much. 12s is the longest time to complete the data cleanup as we have seen so far, so we are using a 20s timer.
* more cdma sms debug loggingTammo Spalink2009-08-201-2/+10
|
* cdma sms encoding tweaks and logging / debugging annotations.Tammo Spalink2009-08-203-8/+15
|
* Fix various issues found when testing Mms.Robert Greenwalt2009-08-191-6/+9
| | | | | | | | | Fix some race conditions (check isTeardownRequested). Fix the passing of mInterfaceName to subtypes (mms, etc). Fix the generation of CONNECTED message to already active subtypes. Fix the enabling of Data in DataConnectionTracker. bug: 2065037
* Converting CallerInfo to new Contacts API.Dmitri Plotnikov2009-08-192-20/+13
|
* Return ICC Card ABSENT instead of NOT_READY when it is not present.Jaikumar Ganesh2009-08-181-1/+1
|
* Dormant ICON was not being displayed, fixes bug 2039239.Wink Saville2009-08-181-2/+2
|
* E911 call fix in ECMWink Saville2009-08-185-30/+158
| | | | | | | | | | | | | | | Based on the VZW requirement, phone should be still in ECM mode in 2nd emergency call. but in the current phone call, if a 2nd emergency call is originated, ECM mode will exit. For fixing this problem, the coding design is as below: 1. In framework, canceling the first ECM timer immediately upon the origination of the 2nd E911 call, and restarting a new timer when the 2nd E911 ends. 2. Framework needs to syncronize the timer with phone app by sending notification to phone app to inform timer is canceled or re-started, since phone app needs to show how much ECM time left on the status bar. 3. In phone app's emergency callback mode service, the timer in this service will be canceled when it receives the timer cancel notification from framework; the timer will be restarted once it receives timer restart notification from framework.
* resolved conflicts for merge of 696b912e to eclairjohnwang2009-08-172-11/+55
|\ | | | | | | | | | | | | | | modified: telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java modified: telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java modified: telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java modified: telephony/java/com/android/internal/telephony/gsm/GsmServiceStateTracker.java
| * Use dataRoaming in dataConnectionTracker.John Wang2009-08-132-11/+55
| | | | | | | | | | | | | | Seperate dataRoaming from gsmRoaming. dataRoaming is based on +CGREG returns in GSM while gsmRoaming is based on +CREG returns. Previously, the status of dataRoaming is always treated the same as gsmRoaming. However there is a situation where +CREG returns 0 and +CGREG returns 5, i.e., gsmRoaming is off and dataRoaming is on. In such situation, the phone should setup data connection if the phone enables data service when roaming (for example, data only card). The phone shouldn't setup data connection if the phone disable data service when roaming (to prevent roaming data charge). So gsmDataConnectionTracker should use dataRoaming instead of gsmRoaming to decide if data service allowed. modified: GsmDataConnectionTracker.java modified: GsmServiceStateTracker.java
* | Fix CDMA to startup/shutdown based on apn en/disabRobert Greenwalt2009-08-176-403/+299
| | | | | | | | | | Fixes MMS during wifi. Also fixes CDMA for ConnectivityManager change.
* | Replace loop-delay in setPowerStateToDesired() with async approachYong Zhang2009-08-153-12/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issues to be addressed: The method setPowerStateToDesired() in CdmaServiceStateTracker class sends a msg to CdmaDataConnectionTracker class to deactive data call, and then starts a loop which calls SystemClock.sleep() to wait for several seconds.The purpose of this is to wait for data-disconnection before sending RADIO_POWER off request. However, the CdmaServiceStateTracker and CdmaDataConnectionTracker are running in the same process so that the CdmaDataConnectionTracker is not able to process the message to deactive data before the loop ends. The patch includes the following changes: 1) In setPowerStateToDesired() in CdmaServiceStateTracker, replace implementation of loop-delay by sending a delayed msg to set RADIO_POWER off. 2) In CdmaDataConnectionTracker, when getting EVENT_DISCONNECT_DONE, call a new method in CdmaServiceStateTracker to process pending request to turn RADIO_POWER off.