Commit Graph

2937 Commits

Author SHA1 Message Date
Treehugger Robot
f892a8ce9f Merge "Add @UnsupportedAppUsage annotations" 2018-08-02 15:11:40 +00:00
Mathew Inwood
45321deeef Add @UnsupportedAppUsage annotations
For packages:
  com.android.ims.internal.uce.uceservice
  com.android.ims.internal.uce.presence
  com.android.ims.internal.uce.options
  com.android.ims.internal.uce.common
  com.android.ims.internal
  com.android.ims

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Change-Id: I9e39973bf43a80f17038f7e239a94ef2209e6e2a
Merged-In: Ib1819d4d15e730c0f224b45fb72f3225b0dddf91
2018-08-01 14:07:13 +01:00
Nathan Harold
3892d05850 Pass SdkVersion to getNeighboringCellInfo
Bug: 62490173
Test: tested manually with SL4A (P and P+ SDK)
Change-Id: I65bae72ab8379f996486e7f4326eddf1b305658a
2018-07-30 17:19:59 -07:00
Malcolm Chen
6cc64f7244 Have proper permission check in getConfigForSubId
In CarrierConfigManager, add pass context in constructor, so that
when calling CarrierConfigLoader#getConfigForSubId, it can pass
callingPackage.

Bug: 73136824
Test: regression
Change-Id: I4bbff4ea30e2d5473c14d24d6833bf3ca3c595ec
Merged-In: I4bbff4ea30e2d5473c14d24d6833bf3ca3c595ec
2018-07-28 01:41:06 +00:00
Brad Ebinger
24edc2bc42 Quick style fixup of ISmsImplBase
Test: Compiles
Change-Id: Ic27db060e402d8a3239fe588a229c246c3228184
2018-07-19 16:17:31 -07:00
Nathan Harold
13e47d018d Re-Number RIL Message IDs to Match RIL.h
-Renumber RIL requests to match the message IDs
 for NATT Keepalive messages.
-Update comments to indicate RIL+HAL and HAL-only
 messages.
-Add new message offsets to explicitly support
 HAL-only messages in the list.

Bug: 110181475
Test: runtest frameworks-telephony
Change-Id: I58544f9291f426b5c195ece81113e15ed423d2df
2018-07-12 13:38:20 -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
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
Brad Ebinger
f03b8e2471 Merge "Telephony: Introduce a base class for ISMS.aidl." 2018-06-27 18:24:51 +00:00
Ajay Nambi
0bfe9438b1 Telephony: Introduce a base class for ISMS.aidl.
Add a dummy base class implementation for
AIDL APIs defined. Clients can override the
required APIs.

Bug: 73994017
Change-Id: Ifd14e04ae0467a7b963cd993cfd514660f14fa95
2018-06-26 22:54:03 +00:00
Treehugger Robot
a0b9309ba2 Merge "Removed dead code in DcTracker" 2018-06-22 00:21:43 +00:00
Jack Yu
2de4c6ca12 Removed dead code in DcTracker
This work is part of IWLAN refactoring

Test: Build
Bug: 73659459
Change-Id: I041bdda1e168dde0bf5bff08c8c235986d2d8d7d
2018-06-21 14:56:48 -07:00
Brad Ebinger
a54d5e31e3 Merge "Clean up old Context references in ImsConfig" 2018-06-20 16:43:58 +00:00
Nathan Harold
7a061af317 Use Uppercase instead of Lowercase for PLMN Decode
A change to IccUtils converted from using lowercase
to uppercase and broke the PLMN trimming logic.

This resolves bugs where the platform may report
5-digit PLMNs with an invalid trailing 'F' character.

This fixes an issue introduced by aosp/575243, which
impacts the Manual Network Selection menu and
the public API.

Bug: 79561854
Test: compilation
Merged-In: I5ea7867cd9c11fe4454188fd1f30bf58b2911712
Change-Id: I5ea7867cd9c11fe4454188fd1f30bf58b2911712
(cherry picked from commit b70fbc85f7)
2018-06-18 11:50:43 -07:00
Brad Ebinger
669a4497e1 Clean up old Context references in ImsConfig
Bug: 77941698
Test: Manual
Merged-In: I9d9b5ac97c710b1d742fc25730e3e28172ff75e3
Change-Id: Ieb24830ef60d1bc383639777f8e22d0dc994782a
2018-06-11 12:59:30 -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
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
Eric Schwarzenbach
45ed35e577 Add constant for PhysicalChannelConfig UNSOL
Bug: 78791811
Test: compilation

Change-Id: I48404342daaaf74d81386aa64cac99ae1a5dfa8b
(cherry picked from commit ef44f95cd4)
2018-05-16 16:24:28 -07:00
Shuo Qian
1c11e207af Restore the OEM hook implementation and usage
The current plan is to keep the OEM hook implementation in the framework
, this is for legacy device and old device upgrading (per b/78098059).

For P launching device, the OEM hook service is removed in hal, so the 
OEM hook api in framework should return something dummy, and prevent 
infinite loop to get service, but these parts should be done in seperate
CLs after this restore CL is merged.

This reverts commit f09bde2809.

Bug: 34344851
Change-Id: I2aea9be9aa7cecd4f7a1f1783391f0af173bfc59
Test: pass Treehugger tests; pass cuttlefish test RilE2eTests

Merged-In: I1f2117331a7f846b192c5f956f3841d58cb8154b
2018-04-27 01:27:54 +00:00
Shuo Qian
f09bde2809 Revert "Revert "Remove the OEM hook implementation and usage""
This reverts commit 00b89515a5.

Change-Id: I61c5d47fabf760bfefe843fb7a31f0a481c94c50

Merged-In: Icb06aea5eb42fd156a967c4d4e39aefc51d91cf4
2018-04-25 01:59:53 +00:00
sqian
00b89515a5 Revert "Remove the OEM hook implementation and usage"
This reverts commit 2635a89c8c.

Bug: 34344851
Change-Id: I96697165fd75054de42f007c16ca294ed6725708
2018-04-17 11:55:30 -07:00
fionaxu
780b62b3b5 A test api to override carrier information
This API should only be used for testing purpose e.g., CTS/GTS/SL4A
By overriding carrier information, we could force a particular carrier id,
carrier's config, but also any country or carrier overlays to be loaded
when using a test SIM with a call box.

Bug: 72332597
Test: atest CtsTelephonyTestCases:CarrierIdentificationTest

Change-Id: Icd5804375ef9334c9f6c382cc6a774b9c9c15213
(cherry picked from commit 5b509b81a0)
Merged-in: 5b509b81a0
2018-04-12 22:19:15 +00:00
fionaxu
4801a078cd Change getGroupIdLevel1() to use subId from TelephonyManager Instance
Bug: 77905912
Test: Build
Change-Id: I720971ce115147b994e27611a0dcf052989180ec
(cherry picked from commit 272e8cf87e)
Merged-in: 272e8cf87e
2018-04-11 18:10:12 -07:00
Pankaj Kanwar
644d5ea61c Merge "Address IMSI privacy issues." 2018-04-03 16:05:51 +00:00
pkanwar
26509cda7e Address IMSI privacy issues.
Added method resetCarrierKeysForImsiEncryption
to allow for keys to be reset.

Bug: 35606429
Test: manual
Change-Id: Id2e92917b50fa2163b2bab112df6e80b5e9c5795
Merged-In: Id2e92917b50fa2163b2bab112df6e80b5e9c5795
2018-04-03 00:26:27 +00:00
Eric Schwarzenbach
a36ada4b95 Merge "Add constants for reporting criteria" 2018-03-27 20:59:20 +00:00
Eric Schwarzenbach
7ff6e14cf4 Add constants for reporting criteria
Adds RILConstants and TelephonyManager constants for reporting and
setting indication filter bits.

Bug: 72117365
Test: make
Change-Id: Ia52ffdbc9ea2499893ece518aba4a99c6fe4ee90
2018-03-23 11:21:44 -07:00
Treehugger Robot
78a7b5d44a Merge "Add empty CdmaSmsSubaddress to CDMA PDU parsing" 2018-03-19 21:04:56 +00:00
Brad Ebinger
22018a8ce7 Add empty CdmaSmsSubaddress to CDMA PDU parsing
We were not providing an empty subaddress when
parsing CDMA PDU, which caused an NPE when receiving
CDMA IMS SMS.

Bug: 73994015
Test: Manual, MT/MO SMS
Change-Id: I07be3ac64341eb9235f6da1b6870ac746188f73a
2018-03-16 11:34:20 -07:00
Treehugger Robot
985b17957a Merge "Allow carrier privileged apps to access Telephony/Subscription APIs." 2018-03-14 00:10:12 +00:00
Treehugger Robot
57479b64b7 Merge "Carrier id api rename" 2018-03-13 18:28:50 +00:00
Brad Ebinger
4b10333c26 Merge "Remove IMS Emergency Calling availability API" 2018-03-13 16:30:45 +00:00
fionaxu
2a09217315 Carrier id api rename
Rename getAndroidCarrierIdForSubscription to getSimCarrierId.
Drop prefix "Android" as Android is implicit everywhere.

Rename carrierName to CarrierIdName to imply correlation between
these two APIs. This also helps to differentiate from another API
getSimOperatorName.

Bug: 71584605
Test: build
Change-Id: Iba4b1c21522741b8c11836a4c39004064736b4c6
(cherry picked from commit c8d483e488)
Merged-in: Iba4b1c21522741b8c11836a4c39004064736b4c6
2018-03-13 04:43:15 +00:00
Jeff Davidson
e652cb1736 Allow carrier privileged apps to access Telephony/Subscription APIs.
-All public APIs in TelephonyManager which require READ_PHONE_STATE
will now also be documented to accept carrier privileged callers as
well. (One exception is the change callbacks in each, which will be
addressed in a separate CL).

-For SubscriptionManager, callers without READ_PHONE_STATE will now be
able to access the subscription list; however, the resulting list will
be filtered to only include subscriptions for which the caller has
carrier privileges.

-All @see references to hasCarrierPrivileges have been removed in
favor of an inline {@link}. The @see section is set apart from the
rest of the Javadoc and thus appears out of context of where it's
actually relevant; moreover, it is often placed in the middle of a
line which makes it invalid. Using {@link} inlines the reference where
it's actually relevant.

-@SuppressAutodoc is added to any public method which has a
@RequiresPermission declaration that isn't a sufficient description of
the allowed callers, i.e. for APIs which accept carrier-privileged
callers, or the default dialer app or other exceptional cases. This
ensures redundant (but incorrect) requires permission declarations
aren't autogenerated.

Bug: 70041899
Test: TreeHugger, unit tests in topic
Change-Id: Ia5cc145c19d99fe2b87e3425bb95281980edef6f
Merged-In: Ia5cc145c19d99fe2b87e3425bb95281980edef6f
(cherry picked from commit bc10ce1efe)
2018-03-12 18:48:03 -07:00
Brad Ebinger
6fc1a2f0d4 Merge "Support Dynamic ImsService Querying" 2018-03-12 22:53:47 +00:00
Jordan Liu
a65ddc98b0 Remove getDefaultSim hidden api
It just returns 0 and is misleading, as sim id is not really a thing.

Bug: 74450373
Test: manual
Change-Id: I90bd1bf06e5318c31798bf3d216c558db3922441
2018-03-09 16:08:21 -08:00
Brad Ebinger
2e665a98b3 Remove IMS Emergency Calling availability API
Moving to an async update model for updating
IMS emergency calling availability, so this
API is unneeded.

Bug: 74389647
Test: Telephony ImsService testapp
Change-Id: Ib7b7dc5b1438f038b370ae9faf152fb15ed4acd5
2018-03-08 16:21:42 -08:00
Brad Ebinger
a33eddcdd3 Support Dynamic ImsService Querying
1) Provide a "default" impl for MmTelFeature
instead of returning null.

2) Introduce a FeatureSlotPair, which maps a SIM
slot ID to a ImsFeature. This allows the ImsService
to provide which features it supports for multi-SIM
phones.

3) Pipe through ImsResolver state to help prevent IMS
operation when the ImsResolver is in the process of
figuring out feature capabilities.

Test: Telephony ImsService test app, telephony unit tests
Bug: 72642524

Change-Id: Idb95f7651af200026d62e8b29eaed30bc0ebc9d3
2018-03-08 10:14:03 -08:00
Pengquan Meng
27c64aaf3c Merge "Telephony(MSIM): Default NW mode property for each slot" 2018-03-08 17:56:28 +00:00
Sandeep Gutta
9dc1a9c07a Telephony(MSIM): Default NW mode property for each slot
For dual SIM devices, add provision to configure different default
Network modes for each slot, using the existing system property to
configure this default network modes.

Bug: 28384694
Test: manual - Checked different default NW mode can be set
for each slot.
Change-Id: I72b11522cb51a425e28ddc407014387a20cb2cd7
2018-03-05 13:19:29 +00:00
Jack Yu
03664c94ae Merge "Added indication update mode support" 2018-03-01 20:04:29 +00:00
Jack Yu
7ae19636ca Added indication update mode support
Adde the indication update mode support so that a system
component can control the behavior of indication update. This
will be used by the bluetooth stack when some BT devices such like
carkit is connected, modem will continue update the signal strength
even when the screen is off.

Test: Manual
Bug: 65112388
Merged-In: I4bb4894eaaba401f655e5dc25138275f5e8498e1
Change-Id: I4bb4894eaaba401f655e5dc25138275f5e8498e1
(cherry picked from commit 1a1c35750b)
2018-03-01 10:37:43 -08:00
Treehugger Robot
44d13875ff Merge "Plumb PhysicalChannelConfig all the way up." 2018-03-01 03:48:32 +00:00
Treehugger Robot
59391aa4a0 Merge "Modify shouldProcessCall API to remove redundancy" 2018-02-28 03:02:27 +00:00
Mengjun Leng
b379ce981b Add support for sending message with priority, link control and validity period options
1. Added support for message priority(indicates the priority of a
   SMS to the network in the PDU) in 3gpp2
2. Added support for link control(indicates whether network can
   expect more messages or not so it can decide whether to retain
   the radio link or not) while sending multiple messages
3. Added support for validity period(indicates how much time the
   SMS is valid at the SMSC) support in 3gpp
4. Amended UT test cases for API changes and add UT validity period
   test case

Test: Verfied sending short SMS, long SMS, MMS, SMS with emoji on
      live network

Bug: 34962629
2018-02-24 01:14:03 +00:00
Jeff Davidson
d7bf38ad00 Factor out telephony permission checks into a helper class.
The aim is to cut down on duplicate code (for a particularly high-risk
area) and make it easier to expand READ_PHONE_STATE access to
carrier-privileged apps in a follow-up CL.

No major functional changes are intended, although some logging will
change slightly (different tag / less verbose carrier privilege
logging without DBG flag).

Bug: 70041899
Test: bit FrameworksTelephonyTests:*, nothing visibly broken on boot
Merged-In: I3b2aa9b8d6177a25d532060009508ef31baea69c
Change-Id: I3b2aa9b8d6177a25d532060009508ef31baea69c
2018-02-21 17:30:41 -08:00
Brad Ebinger
611f996de3 Modify shouldProcessCall API to remove redundancy
No need to differentiate between CSFB for emergency
and non-emergency calls.

Test: Telephony unit tests
Bug: 72642113
Change-Id: Ibc5aed284be030cc584d774f122d6082ff013f5f
2018-02-20 11:07:37 -08:00
Eric Schwarzenbach
4ce04ddea1 Plumb PhysicalChannelConfig all the way up.
Updates TelephonyRegistry and PhoneStateListener to propagate
unsolicited PhysicalChannelConfig updates.

Bug: 72117533
Test: runtest frameworks-telephony

Change-Id: Ia6a6c4c76f95bd57bbd10c33abe9d10752f98caa
2018-02-16 10:28:37 -08:00
Brad Ebinger
64afdd9376 MSIM support for hidden IMS capability and registration query APIs.
Modifies TelephonyManager APIs to better support MSIM devices
and adds a method to query MMTEL IMS Registration technology.

Test: Manual, telephony unit tests.
Bug: 35128252
Merged-In: Ie37185bd3477635094a0db998918ba5ad59842be
Change-Id: Ie37185bd3477635094a0db998918ba5ad59842be
2018-02-14 18:36:17 +00:00
Pooja Jain
d34698def5 IMS: Add support in frameworks for call deflection feature
Call deflection feature is useful to deflect MT call to another
number.

Test: Manual

Bug: 62170348
Change-Id: Idfbcc175a856aa0bb9476f8c73d7a614a3af0700
2018-02-07 12:29:16 +05:30