summaryrefslogtreecommitdiffstats
path: root/telephony/java/android/telephony/cdma
Commit message (Collapse)AuthorAgeFilesLines
* Implement CMAS service category program results.Jake Hamby2012-07-252-9/+153
| | | | | | | | | | Correctly handle CDMA Service Category Program Data requests, and send the SCPT response to the message center. Parcel SCPD operations as an ArrayList instead of an array (current version will throw ClassCastException when the array is cast). Bug: 6853691 Change-Id: I949ea68891c78306059248832e59a593ab606e11
* am 4853f944: am 3fe79dfd: Merge "Adds utility method to convert 0.25 secs to ↵Wink Saville2012-06-111-0/+16
|\ | | | | | | | | | | | | decimal degrees" * commit '4853f944ac4befba42219f6db8ed02b44a3e0d2b': Adds utility method to convert 0.25 secs to decimal degrees
| * Merge "Adds utility method to convert 0.25 secs to decimal degrees"Wink Saville2012-06-111-0/+16
| |\
| | * Adds utility method to convert 0.25 secs to decimal degreesSean Barbeau2012-05-021-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a utility method that converts latitude and longitude in quarter seconds units to decimal degrees units. The Telephony API returns CDMA base station latitude and longitude in quarter seconds due to a 3GPP telecom standard, while the Android Location API, and the vast majority of application-level code, uses decimal degrees. For example, to measure the distance from the user's current location to the base station using the Location API Location.distanceBetween() method (http://goo.gl/YjO8O), the base station lat and long would need to be converted to decimal degrees first. Since most application developers will likely never use lat/long information in quarter seconds units, and instead will need this information in decimal degrees, this utility method will frequently be used by anyone querying base station location data from CdmaCellLocation. Sample values to test conversion: 0.25 seconds: lat = 399491, long = -1189145 is equivalent to decimal degrees: lat = 27.742430555555554, long = -82.57951388888888 Change-Id: If03e741f5035a37519f50d4fb2fb3e3eef2505da Signed-off-by: Sean Barbeau <sjbarbeau@gmail.com>
* | | am c07055c4: am bc69f97c: Merge "Adds documentation to CdmaCellLocation get ↵Wink Saville2012-06-111-2/+14
|\ \ \ | |/ / | | | | | | | | | | | | | | | lat/long methods" * commit 'c07055c4a6e92a6c82e193c5b87b35d97418a73b': Adds documentation to CdmaCellLocation get lat/long methods
| * | Adds documentation to CdmaCellLocation get lat/long methodsSean Barbeau2012-01-121-2/+14
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds better documentation to the getBaseStationLatitude() and getBaseStationLongitude() methods to indicate the units for latitude and longitude in CdmaCellLocation. Unlike the Android Location API methods, latitude and longitude in CdmaCellLocation are not in decimal degrees but instead in 0.25 seconds due to a more obscure 3GPP standard underlying the Telephony API. The current Javadocs on the Android developer page (http://goo.gl/hvWo6) do not indicate the units for latitude and longitude in CdmaCellLocation, making it very difficult for developers to interpret the output of these methods, especially since 0.25 seconds is not a commonly used unit for latitude and longitude in application-level code. This patch adds clear documentation to these methods so developers can clearly understand the units for latitude and longitude without having to dig through the Android platform source code. Change-Id: I259bfe3b68e3999804877821680fb99a22937651 Signed-off-by: Sean Barbeau <sjbarbeau@gmail.com>
* | Add support for CMAS warning notifications over CDMA.Jake Hamby2012-03-131-0/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor SMS Cell Broadcast support to enable receiving CMAS warning notifications over CDMA. The CellBroadcastReceiver app must also be updated with the corresponding change. All cell broadcasts are now delivered as a Parcelable SmsCbMessage object in the "message" extra of the SMS_CB_RECEIVED_ACTION or SMS_EMERGENCY_CB_RECEIVED_ACTION, instead of as a GSM/UMTS "pdu" byte array. Existing functionality for ETWS and CMAS alerts over GSM/UMTS continues to be supported using the new radio-technology independent SmsCbMessage and related objects. Test cases are added to verify that valid and invalid broadcast data is handled appropriately. Unit testing discovered a bug in the BitwiseOutputStream utility class used by the added test cases. When the BitwiseOutputStream object must be expanded (in the private possExpand() method), the mEnd field is not updated to the new array size. This causes a new array to be allocated on every new write, and for all data beyond the original array allocation to be replaced with zeroes. Fixed by adding a line to possExpand() to update mEnd. Added a test case to BitwiseStreamsTest to verify the fix. Besides the test cases, BitwiseOutputStream is only used by BearerData in two places, both of which allocate a sufficient initial buffer. So the bug in BitwiseOutputStream is not critical to fix for normal operation, but should be fixed so that the test cases using it function correctly. Bug: 5856308 Change-Id: I201ecbf11607fd200aaae3cbb32561efabf65672
* | Revert "Add support for CMAS warning notifications over CDMA." I'll submit ↵Jake Hamby2012-02-291-210/+0
| | | | | | | | | | again when the app change is ready. This reverts commit 0c49f03a0429b5c0c4a619256f7bca86a4997ae8
* | Add support for CMAS warning notifications over CDMA.Jake Hamby2012-02-281-0/+210
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor SMS Cell Broadcast support to enable receiving CMAS warning notifications over CDMA. The CellBroadcastReceiver app must also be updated with the corresponding change. All cell broadcasts are now delivered as a Parcelable SmsCbMessage object in the "message" extra of the SMS_CB_RECEIVED_ACTION or SMS_EMERGENCY_CB_RECEIVED_ACTION, instead of as a GSM/UMTS "pdu" byte array. Existing functionality for ETWS and CMAS alerts over GSM/UMTS continues to be supported using the new radio-technology independent SmsCbMessage and related objects. Test cases are added to verify that valid and invalid broadcast data is handled appropriately. Unit testing discovered a bug in the BitwiseOutputStream utility class used by the added test cases. When the BitwiseOutputStream object must be expanded (in the private possExpand() method), the mEnd field is not updated to the new array size. This causes a new array to be allocated on every new write, and for all data beyond the original array allocation to be replaced with zeroes. Fixed by adding a line to possExpand() to update mEnd. Added a test case to BitwiseStreamsTest to verify the fix. Besides the test cases, BitwiseOutputStream is only used by BearerData in two places, both of which allocate a sufficient initial buffer. So the bug in BitwiseOutputStream is not critical to fix for normal operation, but should be fixed so that the test cases using it function correctly. Bug: 5856308 Change-Id: Ie3e6af747976ce9b8a3e71e76fec71709cf86545
* Make getCellLocation return null if not available.John Wang2010-03-111-0/+12
| | | | | | | | For bug 2422284. Check the cell location and return null if the location is not available. Change-Id: Ie9a331b906a8253c9a9596365af8705dc03823ce
* Map base station lat-lng of "0","0" to undefined.Mark Vandevoorde2010-02-121-12/+17
| | | | | | Also introduce a public constant for the invalid lat/lng value. Change-Id: Ifaa1e563bfa94c06dfbba51157b9160055442682
* telephony/cdma: Fix Erroneous Roaming Indicators and Latitude-Longitude parsingNaveen Kalla2009-10-211-10/+26
| | | | | | | | | | | | | | | When Android Telephony receives response to GET_REGISTRATION_STATE message from RIL it may contain few fields set to NULL. Due to a parsing exception encountered while parsing that field, the remaining fields will not be parsed even if they are valid data. Ignore all fields that are NULL while letting it parse non-NULL data. For Latitude and Longitude, the values should not be hexadecimal. They shall be parsed as decimal values as specified in the 3GPP2 C.S0005-A specification. Invalid value is changed from -1 to Integer.MAX_VALUE. Bug: 2201613 Change-Id: I13dd02fcfa2ae7fcb6f21c4b94b830786bd7270c
* telephony: Add CdmaCellLocation class to the public API.Mike Lockwood2009-09-171-3/+3
| | | | | | | Its twin sister GsmCellLocation is public, so this really should be in the SDK too. Change-Id: If6f5899047546a7398f1e4191c67acf15555c21b Signed-off-by: Mike Lockwood <lockwood@android.com>
* CDMA: Add Network ID and System ID to CdmaCellLocation.Mike Lockwood2009-07-121-3/+45
| | | | Signed-off-by: Mike Lockwood <lockwood@android.com>
* AI 144245: Fix merge conflict for megering in the CDMA changes in to master ↵Wink Saville2009-04-022-0/+151
from donutburger. Automated import of CL 144245