Commit Graph

2991 Commits

Author SHA1 Message Date
Jack Yu
1cbcc50d0a Merge "Revert "Added documentation for network registration state"" 2018-07-12 18:16:26 +00:00
Nathan Harold
24eaa6ab3d Merge "Remove Duplicate Override for Operator Alphas" 2018-07-12 18:08:05 +00:00
Jack Yu
7e1be05b14 Revert "Added documentation for network registration state"
This reverts commit b4094993f7.

Reason for revert: Caused merge conflict. Need to come up with a better solution.

Change-Id: Id7b7f35c25775a7a095b77a90724cf3a0f8daf7e
2018-07-12 17:39:12 +00:00
Jack Yu
b4094993f7 Added documentation for network registration state
Also renamed denial reason to reject cause to match
the 3GPP spec.

Bug: 73659459
Test: Build
Change-Id: Ia7b4a53070c06edd98ae767fd6f56c4000d8e4d0
2018-07-11 11:08:48 -07:00
Nathan Harold
c1e5c3ea82 Merge "Update Wcdma and Tdscdma CellInfo for HAL 1.2" 2018-07-11 17:58:50 +00:00
Nathan Harold
59356594d2 Remove Duplicate Override for Operator Alphas
These methods override the base class methods
and don't actually add any value. Removing them
as redundant.

Bug: 76153768
Test: telephony unit test - testCellIdentityTdscdma()
Change-Id: I98200a7198e182e6279851c51082bf625ee09fe9
2018-07-10 13:50:44 -07:00
Nathan Harold
054b79d49f Update Wcdma and Tdscdma CellInfo for HAL 1.2
In HAL 1.2 WCDMA and TDSCMA were updated to bring
them in line with the other CellInfo types. WCDMA
was missing support for Rscp and Ec/No; the former
being the primary measurement used for WCDMA signal
strength. TDSCDMA was missing support for RSSI, and
the definition for RSCP was incorrect, so it was fixed
to use the PCCPH RSCP.

Furthermore, TDSCDMA support was unavailable except
in the CellIdentity. This patch pipes support from the
HAL to the framework, adding CellInfoTdscdma, which is
primarily for Asia.

-Add RSCP and Ec/No fields to CellSignalStrengthWcdma
-Add CellInfoTdscdma and CellSignalStrengthTdscdma
-Add UARFCN and Alphas support for CellIdentityTdscdma
-Fix a bug in the equals() check for CellIdentity
-Update documentation for CellInfo<RAT> classes and
 the getLevel() methods of CellSignalStrength<RAT>

Bug: 76153768
Test: RILTests added for TDSCDMA
Merged-In: I71e0998f1a9bd7656d495003a8ee5ef616ca4f43
Change-Id: I71e0998f1a9bd7656d495003a8ee5ef616ca4f43
(cherry picked from commit 88f44024bb)
2018-07-10 13:24:36 -07:00
David Kelly
db6a391957 Type Allocation Code & Manufacturer Code
- Addition of getTypeAllocationCode & getManufacturerCode to
android.telephony.TelephonyManager.

- 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 getTypeAllocationCode 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
getImei which is protected by the READ_PHONE_STATE permission.

- The reasoning behind adding getManufacturerCode 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
getMeid 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: run cts -m CtsTelephonyTestCases
Bug: 74613795
Change-Id: I5a586b5a362b39aae13357329efb19eb93f0434c
Signed-off-by: David Kelly <dkelly@afilias.info>
2018-07-04 08:23:09 +00:00
Sumit Das
c9373d843e ImsMultiEndPoint - Sip Notify Change
-Added log message, getter method and set/read from parcel

Change-Id: I832bd2cf51382bb0919ab0ea1b5c7fcba8b2b136
2018-07-03 21:41:03 +00:00
Treehugger Robot
38f7576297 Merge "Reordered the params for network registration" 2018-07-02 23:56:11 +00:00
Nathan Harold
5e8a5d4b79 Merge "Update Docstrings for CellSignalStrengthLte" 2018-07-02 20:40:55 +00:00
Jack Yu
2e371c1b5a Merge "Used APN type instead of APN id" 2018-06-29 23:54:32 +00:00
Jack Yu
bfa6635c30 Used APN type instead of APN id
APN id is similar to ApnSetting.ApnType. We can just use the apn
type. No need to use APN id anymore.

Test: Telephony sanity tests + unit tests
Bug: 77511388
Merged-In: If41845604ea14f36272262da110d682eea0d5451
Change-Id: If41845604ea14f36272262da110d682eea0d5451
(cherry picked from commit f42d06010a)
2018-06-29 14:52:52 -07:00
Nathan Harold
4d7a010983 Merge changes I0d635067,I1424973b
* changes:
  Simplify equals() method of ServiceState
  Update ServiceState.hashCode()
2018-06-29 21:23:26 +00:00
Amit Mahajan
ab790a123b Add new carrier config for CDMA registered PLMN when not roaming.
Test: manual
Bug: 80145031
Merged-in: I6533b4097f729df88f287348924563c6f459401c
Change-Id: I6533b4097f729df88f287348924563c6f459401c
(cherry picked from commit 22e89f4773)
2018-06-29 11:02:56 -07:00
Jack Yu
7928c4d1c3 Reordered the params for network registration
Test: Build
Bug: 73659459
Change-Id: I1af2c49a937177173b760d30b030da20f03c01d7
2018-06-28 15:29:08 -07:00
Brad Ebinger
36a9fa62be Merge "Emergency SMS carrier config flag" 2018-06-28 22:16:10 +00:00
Nathan Harold
9ca4d43922 Merge "Allow Cell Location for SYSTEM_UID and ROOT_UID" 2018-06-28 22:05:56 +00:00
Nathan Harold
df54d98be6 Allow Cell Location for SYSTEM_UID and ROOT_UID
This change permits the system uid and root uid to
access cellular location information via the binder.
Previously this was restricted to the phone uid, but
running with uid=system is a privileged situation,
which makes me think this this wasn't intentional.

Also add a few lines of debug code to make issues
in LocationAccessPolicy easier to track down in the
future.

Bug: 110806860
Test: manual - ran with SL4A as SYSTEM_UID and
    verified access to getAllCellInfo.

Merged-In: Ie18be2cd72c49f1859d1434428f82f164bed8756
Change-Id: Ie18be2cd72c49f1859d1434428f82f164bed8756
2018-06-28 19:09:51 +00:00
Nathan Harold
7ee5f2185d Simplify equals() method of ServiceState
For whatever reason, ServiceState used a
somewhat-convoluted check for null and
class type. Updating to use a canonical
and brief approach.

Bug: 8675309
Test: compilation
Change-Id: I0d635067a06093affff478e13c28bbbe2bfda7df
2018-06-27 18:55:49 -07:00
Nathan Harold
b220fde296 Update ServiceState.hashCode()
hashCode() was missing about 10 fields and was
using some unnecessary bespoke logic to generate
hashes for individual fields. This CL simplifies
the hashCode() implementation and adds the missing
fields.

Bug: 8675309
Test: compilation
Change-Id: I1424973b11fcc6480d6f8c83d5fd0eb1b5533c7f
2018-06-27 17:13:03 -07:00
Tyler Gunn
af228ca978 Merge "ImsMultiEndPoint - Sip Notify Change" 2018-06-27 20:02:37 +00:00
Avinash Nalluri
ceaf7226cf Emergency SMS carrier config flag
Allow send sms over ims to emergency number when the device is in
lte/limited lte mode without normal ims registration.
Modem will use emergency ims pdn to submit sms to network.

Change-Id: I5762102c695fe309a4a5b318abccded5c50154e0
Bug: 110462046
2018-06-27 08:46:54 -07:00
Nathan Harold
bace6e3132 Update Docstrings for CellSignalStrengthLte
Add comments to the docstrings to indicate optional
values that may not always be reported. Users are
still reporting bugs for missing fields, which we
consider optional. This should clarify which methods
are optional vs mandatory for LTE.

For signal strength, RSRP is mandatory, and TA is
mandatory while in LTE_ACTIVE. RSSNR, RSRQ, and CQI
are all optional.

Bug: 36995487
Test: compilation (docstring-only change)
Change-Id: I05af5d42cbf6836109efe6441e95223e81671534
2018-06-26 17:21:28 -07:00
Tyler Gunn
690f008e3f Merge "Update onDeregistered docs to make capability change expectations clear." 2018-06-26 21:14:27 +00:00
Treehugger Robot
3838ff457e Merge "Update comments for TelephonyManager.getUiccSlotsInfo()" 2018-06-25 22:22:25 +00:00
Brad Ebinger
6bebb8418c Merge "Fix Possible Deadlock with getFeatureState" 2018-06-25 17:30:02 +00:00
Brad Ebinger
8f074959e5 Fix Possible Deadlock with getFeatureState
Use the ImsFeature lock for concurrency in MmTelFeature
instead of declaring its own lock.

Also, fixed up some other concurrency code.

Bug: 110507525
Test: Manual, Telephony Unit Tests
Change-Id: I5a7ef1beca619873a7c228bed0e1b82843d4de63
2018-06-22 16:14:17 -07:00
Sumit Das
0c7adfae2a ImsMultiEndPoint - Sip Notify Change
-Propagate the local-identity field to AOSP to help differentiate
between local calls and calls on secondary devices

Change-Id: I78c8f721dcffa167c7d65c474f13a8a377e4cd39
2018-06-22 16:08:57 -07:00
Jack Yu
063ed82eef Fixed the incorrect permission for data/network service binding
The permission renaming was done in ag/3552774. Other places
need to be fixed accordingly.

Test: Unit tests
Bug: 73659459
Change-Id: Ic325d666c333eef22dba95f8d2488fb172810c2c
2018-06-15 14:34:22 -07:00
Tyler Gunn
b48c662e21 Update onDeregistered docs to make capability change expectations clear.
Updating the onDeregistered docs to make it clear that the ImsService
must report any feature capability changes to the framework prior to
de-registration.

Bug: 73076695
Test: Docs only change.
Merged-In: Ib9bc88bfb43670f04c8afde36d0947255399397a
Change-Id: Ib9bc88bfb43670f04c8afde36d0947255399397a
2018-06-15 09:15:32 -07:00
yuemingw
457c62801b Remove internal ApnSetting.
Bug: 77511388
Test: atest FrameworksTelephonyTests
Change-Id: I0da354c7d55ac49f90ca1376e8f2034e65e4e274
Merged-In: I9757ef4aae269d828c98a7363c98629c9be74846
2018-06-13 12:52:25 +01:00
Benjamin Miller
ce3d429832 Docs: noted that setting proxy hostnames on an ApnSetting requires an internet connection for DNS.
Doc-only change.
Also improved the class descriptions and fixed some typos.

Bug: 80238372
Test: make ds-docs with visual inspection of generated HTML
Change-Id: I460d70d692cc1a04cf0efd6b9d0b1e13a9403968
Merged-In: Id4a00c1a44dc3cbbaefc94c0438eb1a077f06e5e
2018-06-13 12:50:57 +01:00
Brad Ebinger
0be0692691 Merge "Update Docs to clarify using a Message across IPC" 2018-06-11 19:56:07 +00:00
Brad Ebinger
7db23752ab Merge "Adds a private field to parceled data." 2018-06-08 17:03:14 +00:00
Brad Ebinger
442b546e2a Merge "Unhide @SystemApi Constructor" 2018-06-08 17:02:48 +00:00
Brad Ebinger
929772680a Update Docs to clarify using a Message across IPC
When using Message across IPC, the message must be sent
with a Messenger. Update Docs to reflect this.

Bug: 77870347
Test: Telephony Unit Tests
Merged-In: Ie1a0be63d26136f14cd30c354b889ec0311cc7ee
Change-Id: I27977a13f7ccb6875b5fdb7eb6c6836a84166eeb
2018-06-06 16:05:54 -07:00
Brad Ebinger
a54bdfad40 Adds a private field to parceled data.
Bug: 77957465
Test: Manual/GTS
Merged-In: Ib87a7af0654cc1ec0db052d8ee72f4c74c0aea04
Change-Id: I321b667f9186feaf2579bd4dd27ebf67fc2e0d52
2018-06-06 15:59:28 -07:00
Brad Ebinger
4ae252f80f Unhide @SystemApi Constructor
There are a few small classes that never got properly
exposed as @SystemApi. These classes were not caught
because vendors currently build against the source
directly and have access to hidden APIs. We can not
change the vendor code at this point (different vendor
code for each year for all supported devices), but
we can start pulling back the API for new devices.

1) Keep all public mutable fields @hide and put
todo (and file bug b/74402619) to make fields
private or final.

2) Add public constructor that populates all fields
so that @hide public mutable fields can be set to
private/final in the future.

3) Provide getters for fields that will not be
public in the future.

In this way, we can make minimal API changes for P,
support new vendor/3rd party ImsServices, and phase
out old ImsService implementations that still build
against the source instead of using the correct
@SystemApi.

Bug: 77278031
Bug: 74402619
Test: Manual
Merged-In: Idbf2a71018f1bd06f8445b07fc52bc65cb6776f6
Change-Id: Ifa3b6d0cbdb12e92efc699b760ca874768a89a7c
2018-06-06 15:55:04 -07:00
Brad Ebinger
2388c0cb4c Add GTS test APIs for testing ImsService
Bug: 77141737
Test: Manual
Merged-In: Id60cf07121cf98ab3f0a10af10cf70beb25feb54
Change-Id: Ia41a96b5013bc6a7f534c347db72a14348c1fc5d
2018-06-06 15:28:32 -07:00
Amit Mahajan
70dfbbce29 Update comments for TelephonyManager.getUiccSlotsInfo()
Test: treehugger
Bug: 109757298
Change-Id: I737c8349bb27c4bbbdb1a37bb147249fe30ffa7f
2018-06-05 16:45:07 -07:00
Hall Liu
bb2ce1010e Merge "Fix MbmsDownloadSession documentation" 2018-05-31 21:16:05 +00:00
Hall Liu
7cdacd3c30 Fix MbmsDownloadSession documentation
Fix the TODO from forever ago and update the docs for the listener
registration methods.

Change-Id: I1276d0afe430e1b50c0af1fdfacb12a89ea5aa38
Fixes: 80493663
Test: None, comments only
2018-05-31 11:40:11 -07:00
Omkar Kolangade
275b1358eb IMS: Support for Implicit Call Rejection
Adding an API in MmTelFeature to allow IMS
Service to report the reasons for implicit
call rejections by lower layers. Corresponding
ImsReasonInfo codes are also being added.

The call rejections are not related to any
call session or a call that Framework is aware
of.

Change-Id: Ie47a239856db21e84d199a7620edf7b6ceeb81bc
2018-05-31 01:37:47 +00:00
Tyler Gunn
b1b864cee2 Merge "Require READ_CALL_LOG permission to see phone numbers in phone state." 2018-05-19 00:13:15 +00:00
Tyler Gunn
84dad9565f Require READ_CALL_LOG permission to see phone numbers in phone state.
Incoming and outgoing call phone numbers are visible in the phone state
broadcast and via the PhoneStateListener.  To enhance user privacy, change
to require the READ_CALL_LOG permission in order to receive the call
phone numbers.

This means to see phone numbers:
1. android.intent.action.PHONE_STATE - requires READ_PHONE_STATE and
READ_CALL_LOG permission.
2. PhoneStateListener#onCallStateChanged - now required READ_CALL_LOG
permission.

To support this new behavior, added sendBroadcastAsUserMultiplePermissions
method to context to allow sending the broadcast to all users while
requiring the two permissions.

Bug: 78650469
Test: Created PHONE_STATE broadcast receiver in test app and verified that
when no permissions are granted, the phone number is empty for incoming
and outgoing calls.
Test: Granted Phone state permission to test app and verified that phone
number is not populated.
Test: Granted test app read call log permission and verified that phone
number is populated.
Test: Created PhoneStateListener in test app and verified that when no
permissions are granted, phone number is empty for incoming and outgoing.
calls.
Test: Granted read call log permission to test app and verified that both
the incoming and outgoing numbers are populated.

Change-Id: I857ea00cc58a0abbb77960643f361dd6dd9c8b56
2018-05-18 14:37:43 -07:00
Xiangyu/Malcolm Chen
54bd56d6c5 Merge "Add carrier config for partial sms raw message expiration." 2018-05-18 21:05:55 +00:00
Xiangyu/Malcolm Chen
147dc32b0b Merge "Fix UiccSlotInfo equals method." 2018-05-18 21:05:43 +00:00
Malcolm Chen
b668535a69 Add carrier config for partial sms raw message expiration.
Everytime at boot-up, we check Sms raw table, and delete the rows
with any partial message that is too old. By default the expiration
age is 30 days, but we want to make it configurable.

Bug: 77910620
Test: sanity-test
Change-Id: Ibd2374324be5513cbd09c04889e7b96051c26fb4
Merged-In: Ibd2374324be5513cbd09c04889e7b96051c26fb4
2018-05-17 16:49:12 -07:00
Malcolm Chen
9fd71f8ec5 Fix UiccSlotInfo equals method.
In UiccSlotInfo#equals method, it's comparing Strings incorrectly.

Bug: 78033760
Test: GTS test
Change-Id: I4fed0a70ee0ef06bcf7a1af544e6aebced31d9c2
Merged-In: I4fed0a70ee0ef06bcf7a1af544e6aebced31d9c2
2018-05-17 16:30:32 -07:00