Commit Graph

66 Commits

Author SHA1 Message Date
Amit Mahajan
900aad9924 Avoid UnsupportedOperationException from getDefaultSmsSubscriptionId()
This is basically reverting to earlier behavior.

Test: basic sanity
Bug: 134375393
Change-Id: I44dc66f9f3d5d4dfcab95220d7a6a6be0ed5a825
2019-06-07 10:40:09 -07:00
Amit Mahajan
1c0a7a16c1 Fix the default sub id returned by SmsManager.
SmsManager.getDefaultSmsSubscriptionId() did not handle the case
of no default set with a single SIM present. This CL adds the
handling for that.

Test: manual SMS sanity on single sim and DSDS devices
Bug: 132259056
Change-Id: I72ee7af9f0b2662e1ac26b7d3db60c667d06c471
2019-05-21 13:21:03 -07:00
Taesu Lee
98d41e6917 Divide a message text into correctly sized parts
Message format info is required in order to divide a message text into
correctly sized parts on a device that supports for both 3GPP and 3GPP2
formats in multi-sim. And fixed to get default SMS subId from SmsManager
in SmsMessage class instead.

Test: Manual
Bug: 132259056
Merged-in: Id2512eb62504b7e789f58b7d9697009d565c4a18
Change-Id: Id2512eb62504b7e789f58b7d9697009d565c4a18
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
(cherry picked from commit 8debeeb126)
2019-05-21 10:32:59 -07:00
Brad Ebinger
360415aa13 Trampoline SMS disambig dialog to Telephony
SmsManager used to display a "select default SMS
subscription" dialog every time SmsManager was used
and no default SMS subscription was set. This change
fixes the following issues:
1_ getSubscriptionId no longer pops up a disambig
dialog.
2) The disambig dialog no longer sets the
default, rather it waits for the response from the
user and performs the operation when it receives
a response.
2a) Dialogs can no longer be created from background
services, so we now have a restriction that if
the disambig dialog is shown via a background service,
we will use phone 0 as default (backwards compat for
apps targeting <Q) or fail (on apps targeting Q+).
3) If there is only one active subscription, use that
to perform the operation on MSIM devices instead of
asking and only displaying the one active subscription.
4) Certain non "user-facing" APIs that are used by
carrier apps no longer will pop up a UI.

Bug: 131713446
Bug: 130853716
Bug: 129141025

Test: run SmsManagerTestApp; atest TelephonyFrameworksTests

Change-Id: I6be1c6d7bf6b6ee614b6a7d0369147e3b1890588
2019-05-10 00:14:23 +00:00
Brad Ebinger
fa82dddcf6 No longer show disambig when calling SmsManager#getSubId
SmsManager#getSubId used to show a disambig dialog to
pick a default SMS subscription when
SmsManager#getSubscriptionId was called. Since it was used
internally as well, it would cause many of these dialogs
to pop up over and over again.

Do not display the dialog anymore and instead move the
dialog pop up to the methods that actually require the use
of the dialog, such as sending a text.

Bug: 130853716
Test: Manual, Default SMS app
Change-Id: I71ad38f76750c750b149e4cdcb6fcf99ed89212e
2019-05-07 23:09:50 +00:00
Youming Ye
35c8488104 Pass in external packageName
Use external packageName when ActivityThread couldn't get calling package
due to calling identity cleaned.

Bug: 131287254
Test: Manual
Change-Id: Icec3ad7193bc5988799188a7a1e68aebc0dc109d
2019-05-03 15:09:49 -07:00
Brad Ebinger
440d168834 Merge "Do not show SMS SIM pick UI for Cell Broadcast Config change" am: 4ae4e50def am: f15dabde00
am: 511f86aa55

Change-Id: Id46383f86fe31460d8fde22e5e572e016e065fb7
2019-03-29 17:19:04 -07:00
Brad Ebinger
099d985844 Do not show SMS SIM pick UI for Cell Broadcast Config change
If the user did not pick their default SIM subscription for
SMS, we were showing many dialogs to the user whenever
SmsManager#getSubscriptionId was called for cell broadcast
related APIs.

Instead, if we instantiate the SmsManager using
SmsManager.getDefault() and the user has not set a default,
use the default Phone and do not show SIM picker activity
(consistent with legacy implementation).

Bug: 129315610
Test: set up DSDS, disable eSIM operator in settings
Change-Id: I3cc4839632eede75c8943836432b07978d0efda0
2019-03-29 13:23:11 -07:00
Hayden Gomes
587d3691d6 Merge "Moving BT SMS logic to internal telephony" am: 2b7db36a14 am: a75c1cdc4d
am: 65031370d1

Change-Id: Ied62479bdec70dbb3527aa79a64ce9b250fc1454
2019-03-27 12:32:25 -07:00
chen xu
9c7fad9235 move short code definitions to SmsManager Test API
Bug: 127560420
Test: cts
Change-Id: I6a5ba2439713105b25913ba8eb081abfaafd1a2e
2019-03-25 21:51:26 -07:00
Hayden Gomes
7a3d8a4f00 Moving BT SMS logic to internal telephony
- Move Bluetooth SMS logic to BtSmsInterfaceManager
- Move subscription check to SmsController

Bug: 127331685
Test: Manually sent SMS through connected bluetooth device
Change-Id: Icb0fc1cc8339ec3f0b5402ea9b8e15650d8972e5
2019-03-22 08:34:19 -07:00
Brad Ebinger
dea151c2c6 Merge "Fix NPE in SmsManager and keep existing behavior" am: 8b95375a4a am: 43663aa497
am: 44c64ec0a3

Change-Id: I874c83a71768fb8bbd0614979fc9520521a80a23
2019-03-08 07:15:24 -08:00
Brad Ebinger
e6de81fd25 Fix NPE in SmsManager and keep existing behavior
The behavior of SmsManager#sendTextMessage changed,
we are blocking the sending of the SMS if there were no
subscriptions (i.e. no SIM scenario). This change
accidently introduced a NPE scenario in some cases.

Fixed NPE and removed SMS blocking code in SmsManager
to keep existing functionality the same.

Bug: 127338050
Test: atest GtsTelephonyTestCases
Change-Id: I71eefbc8e1619701e1b1d7b12c3c080c4ef376ef
2019-03-06 15:35:04 -08:00
Hongming Jin
08496b0e98 Add API in SmsManager to return sms messages for financial app.
Test: atest android.telephony.cts.SmsManagerTest
Bug: 111207447
Change-Id: I1571cb005f7c1374a9acbec27041bca291fa7153
2019-01-26 14:26:47 -08:00
Hongming Jin
46edf1506d Add API to SmsManager to allow apps to authenticate user account through
sms without requesting sms permissions.

Bug: 111210542
Test: atest android.telephony.cts.SmsManagerTest
Change-Id: I9b176032d7b2bf578dd1a64745bf4a1e13008a7a
2019-01-25 15:24:29 -08:00
Vasu Nori
aea0391cf6 Implementation of Remote-SIM.
Design doc http://shortn/_GG690j15js

1. Modified SmsManager to send message thru Bluetooth if the subscription
   is for a Remote-SIM.
2. Added new column 'subscriptionType' to SubscriptionInfo.
3. SubscriptionManager:
  a. Added new constants for Local SIM and Remote SIM
  b. Added hidden APIs to add/remove Remote SIM subscriptions

Bug: 112321331
Test: tested manually and w/ unittests
Change-Id: Ib15553a806691a258fc00f7aaf812b8a9d49c2e9
2019-01-23 14:25:32 -08:00
Mathew Inwood
55418eada5 Limit access to suspected false positives.
Members modified herein are suspected to be false positives: i.e. things
that were added to the greylist in P, but subsequent data analysis
suggests that they are not, in fact, used after all.

Add a maxTargetSdk=P to these APIs. This is lower-risk that simply
removing these things from the greylist, as none of out data sources are
perfect nor complete.

For APIs that are not supported yet by annotations, move them to
hiddenapi-greylist-max-p.txt instead which has the same effect.

Exempted-From-Owner-Approval: Automatic changes to the codebase
affecting only @UnsupportedAppUsage annotations, themselves added
without requiring owners approval earlier.

Bug: 115609023
Test: m
Change-Id: Ia937d8c41512e7f1b6e7f67b9104c1878b5cc3a0
Merged-In: I020a9c09672ebcae64c5357abc4993e07e744687
2018-12-28 14:26:35 +00:00
Adrian Roos
6115769c16 API: Clean up redundant and ineffective usages of SystemApi and TestApi
Everything that is marked SystemApi or TestApi, but not @hide is still
part of the public SDK, it is therefore not sound to have that combination.

In the future, specifing such a combination will be considered an error
to prevent inadvertently exposing SystemApi and TestApi as public API.

Bug: 115333477
Change-Id: Ibd5d6a22862fdbc1e20a1cb3925280f5a682edea
Merged-In: Ibd5d6a22862fdbc1e20a1cb3925280f5a682edea
Test: METALAVA_PREPEND_ARGS="--error UnhiddenSystemApi" m checkapi
Exempt-From-Owner-Approval: API cleanup
2018-12-12 15:02:26 +01:00
Mathew Inwood
a838206e94 Add @UnsupportedAppUsage annotations
For packages:
  android.telephony
  android.telephony.cdma
  android.telephony.data
  android.telephony.euicc
  android.telephony.gsm
  android.telephony.ims
  android.telephony.ims.aidl
  android.telephony.ims.compat
  android.telephony.ims.compat.feature
  android.telephony.ims.compat.stub
  android.telephony.ims.feature
  android.telephony.ims.stub
  android.telephony.mbms
  android.telephony.mbms.vendor

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: I02d900d6d0ec9a6b2172a71911fec61d04e4d235
Merged-In: I22547ac0ed384d74d61cfd51d20c140e392a597f
2018-08-23 09:37:53 +01:00
Hall Liu
b29e727b32 Merge "Pass correct parameters to API sendMultipartTextMessage" 2018-08-21 22:27:27 +00:00
Mengjun Leng
353bed1155 Pass correct parameters to API sendMultipartTextMessage
1. Pass parameter priority, expectMore and validityPeriod
to API sendMultipartTextMessage.

2. Modify validity check algrithm for parameter priority and
validityPeriod, so that avoids the exception for invalid inputs.

Bug: 112013111

Change-Id: I7a90db6e427b3daf6589e6a2b6dad2c4b3458832
2018-07-31 15:38:07 +08:00
Jeff Davidson
1ba1839bd8 Expose remaining READ_PHONE_STATE and SEND_SMS APIs to carrier apps.
Bug: 70177947
Bug: 70041899
Test: Flash / boot; TreeHugger; Unit/CTS tests in topic
Merged-In: I4061becb1d7ceaa58d84e4e3568c1b6e63cfc8d1
Change-Id: I4061becb1d7ceaa58d84e4e3568c1b6e63cfc8d1
2018-03-19 18:48:11 -07:00
Jeff Davidson
a4a4c8aea7 Expose remaining READ_PHONE_STATE and SEND_SMS APIs to carrier apps.
Bug: 70177947
Bug: 70041899
Test: Flash / boot; TreeHugger; Unit/CTS tests in topic
Change-Id: I4061becb1d7ceaa58d84e4e3568c1b6e63cfc8d1
2018-03-16 23:27:10 +00:00
Jayachandran Chinnakkannu
85ef115e72 Merge "Add support for sending message with priority, link control and validity period options" am: b103f9309b am: bb29858d7f
am: 0000a9b623

Change-Id: I5da271b0f113844b7ad393a051078af602fa518d
2018-02-27 00:53:32 +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
Mohamed Abdalkader
904c1eca5f Unhide SMS over IMS APIs
While here add more constants for send sms result.

Test: manual
BUG:69846044
Merged-In: I66fdcff51dc5ded9f6199d09bb667c89f38b6d59
Change-Id: I66fdcff51dc5ded9f6199d09bb667c89f38b6d59
2018-01-31 13:18:45 -08:00
Mohamed Abdalkader
9cb476bb10 Unhide SMS over IMS APIs
While here add more constants for send sms result.

Test: manual
BUG:69846044
Change-Id: I66fdcff51dc5ded9f6199d09bb667c89f38b6d59
2018-01-25 02:52:43 +00:00
TreeHugger Robot
9d51240f03 Merge "Require that caller holds SEND_SMS and MODIFY_PHONES_STATE permissions" 2017-12-21 23:22:34 +00:00
goneil
d75e242fb8 Require that caller holds SEND_SMS and MODIFY_PHONES_STATE permissions
Bug: 70177947
Test: None
Merged-In:If26ae0c69d3266c2639b61b3ed32df3f1cb2c36f
Change-Id: Ie08e56c9409c1fbbe24133b0981f5ab35f6a2f24
2017-12-21 12:55:41 -08:00
goneil
52f3d19c3b Require that caller holds SEND_SMS and MODIFY_PHONES_STATE permissions
Bug: 70177947
Test: None
Change-Id: If26ae0c69d3266c2639b61b3ed32df3f1cb2c36f
2017-12-21 12:53:27 -08:00
abdalkader
e1a5469101 Merge "SMS over IMS APIs revision" am: 2bf7f03e63 am: f9eba1a18f
am: ca88d359c0

Change-Id: Iea7624e10230294505982f0373b97a2486d6996f
2017-12-21 20:10:03 +00:00
Brad Ebinger
b2a83cfcfc SMS over IMS APIs revision
- Move from being a feature to being a capability
- Move format to the constructor and make final
- Initial hooking up of APIs provided by platform for ims providers.
- Add constants for send status result
- Rename SmsListener callbacks.
- Split acknowledgeSms for sms and sms reports.
- Add reason for onSendSmsResult
Bug: 69846044

Test: None
Change-Id: I861664264a117d5483e392d4aabff59bfaf4373e
2017-12-20 17:18:50 -08:00
Amit Mahajan
036ffe55d5 Merge "Revert "Add support for send Message with messaging options"" am: 563d93c107 am: b1ba135258
am: 339c512db0

Change-Id: I0539d1f7db3a307f7fb0b27e0b2a3a3e13a71538
2017-12-12 02:32:54 +00:00
Amit Mahajan
b348a347df Revert "Add support for send Message with messaging options"
This reverts commit bbef627077.

Reason for revert: Causing long sms failure

Bug: 68762942
Change-Id: I43c36e3286105459c7e08d1a0b2d89b4c42140b2
2017-12-11 23:30:35 +00:00
Jeff Sharkey
9650a435ed Massage APIs for upcoming doclava change.
These changes are needed to ensure that "checkapi" doesn't claim
that we're changing the API after an upcoming doclava change.

Test: manual inspection of API text files
Bug: 69505783
Change-Id: I8292ba80cc65b7dd78f0e9dba4fcc7ffcedfab9c
2017-11-22 12:28:09 -07:00
TreeHugger Robot
0fcb56c991 Merge "Expose SmsManager#sendTextMessageWithoutPersisting as a public API" 2017-11-08 03:22:35 +00:00
Mengjun Leng
2449285ef3 Merge "Add support for send Message with messaging options" am: 1400db6748 am: 340b410675
am: 002a48f361

Change-Id: I03c4dce0682a4c1f8b5fffd9501e006668deff2a
2017-10-29 18:25:48 +00:00
Mengjun Leng
bbef627077 Add support for send Message with messaging options
Add support for following messaging options.

1.Add support for message priority in 3gpp2.

2.Add link control support while sending multiple messages.

3.Add validity period support in 3gpp.

Change-Id: I19f4fbc5a3b6922884196b301d30280acd9e501e

MSIM(Telephony): Add changes to SMS APIs as per new SmsManager design

Change SMS Msim APIs as per new SmsManager design

Change-Id: I14ad7685e23b14203a76dfe3cc5a95a337f7d0e3
2017-10-27 11:31:48 +08:00
goneil
dcf5c04e94 Expose SmsManager#sendTextMessageWithoutPersisting as a public API
This API is useful for carrier-privileged apps that wish to use SMS to
transmit carrier system messages without affecting the user-visible
message database.

Change-Id: Ie4f765f3f42a942f5d6d9c85513dc9abaaf32962
Fixes: 25563895
Test: No functional changes.  CTS test
SmsManagerTest#testSmsNotPersisted_failsWithoutCarrierPermissions added
that asserts a failure because CTS does not have carrier permissions
2017-10-25 14:20:06 -07:00
Jeff Davidson
beb90fda29 Expose SmsMessage#FORMAT_ constants as public APIs.
These constants are intended to be arguments for
SmsManager#injectSmsPdu which is already public, and they are
referenced from CTS as well. Therefore, they should also be public.

Also add a @StringDef for these values and clean up the Javadoc while
we're here to use properly-linked references to other APIs.

Change-Id: I4e513f49f18350b93cccdc0d8a5847d31eefe7e2
Fixes: 67751433
Test: TreeHugger (no functional changes)
2017-10-24 18:25:26 +00:00
Shuo Qian
387ed22fef Merge "Add new error code in SmsManager" 2017-08-25 18:01:18 +00:00
sqian
85bb4b35f1 Add new error code in SmsManager
Design doc: https://docs.google.com/a/google.com/document/d
/1YPTNoM2Atjz8oISGAsRYlFVSA1NcYP8MbqYQIzLcJ9E/edit?usp=sharing

Test: compile/flash code; test locally
Bug: 34773406
Change-Id: I0b227e76048dd46d9c8023d37647db763e1e38e1
Merged-In: I0b227e76048dd46d9c8023d37647db763e1e38e1
2017-08-24 14:40:59 -07:00
sqian
724f621daa Add new error code in SmsManager
Design doc: https://docs.google.com/a/google.com/document/d
/1YPTNoM2Atjz8oISGAsRYlFVSA1NcYP8MbqYQIzLcJ9E/edit?usp=sharing

Test: compile/flash code; test locally
Bug: 34773406
Change-Id: I0b227e76048dd46d9c8023d37647db763e1e38e1
2017-08-22 14:51:03 -07:00
Jeff Sharkey
d86b8fea43 Annotate @SystemApi with required permissions.
Most @SystemApi methods should be protected with system (or higher)
permissions, so annotate common methods with @RequiresPermission to
make automatic verification easier.

Verification is really only relevant when calling into system
services (where permissions checking can happen on the other side of
a Binder call), so annotate managers with the new @SystemService
annotation, which is now automatically documented.

This is purely a docs change; no logic changes are being made.

Test: make -j32 update-api && make -j32 offline-sdk-docs
Bug: 62263906
Change-Id: I2554227202d84465676aa4ab0dd336b5c45fc651
2017-06-05 13:27:11 -06:00
Nathan Harold
1bc2c54ff6 Remove dependency on IccConstants from SmsManager
-Redefine the length of the SmsRecord in SmsManager

Bug: 33414487
Test: compilation
Change-Id: I941085e96f45164152528c123102a59930859546
2017-05-05 18:11:10 -07:00
Nathan Harold
f3e659e286 Move files from frameworks/opt/telephony to frameworks/base
Bug: 37688438
Test: compilation, boot on aosp_bullhead
Merged-In: I44d3d6231943ae0e7c3de4ab302e0cdff987aefe
Change-Id: I44d3d6231943ae0e7c3de4ab302e0cdff987aefe
2017-05-05 18:11:02 -07:00
Abhijith Shastry
bc1a6e60c8 Update injectSmsPdu documentation.
BUG: 35325136
Test: Comment only update.
Change-Id: I4ff38665a06de5e989e15e17aaac5f512da4303e
2017-03-29 10:54:53 -07:00
Abhijith Shastry
448c12c2f3 Permit privileged system apps to send SMS without persisting.
The system app needs to have MODIFY_PHONE_STATE permission.

Original Change-Id: Ic9242972a211c90378c183c3abf95672c2816ac7
BUG: 35325136
Test: API visibility change, Manual

Change-Id: I37b185feaa72e330a0845eff137ea310ad0dca08
2017-03-03 10:10:08 -08:00
Nathan Harold
e97d1c6a8f Remove dependency on IccConstants from SmsManager
-Redefine the length of the SmsRecord in SmsManager

Bug: 33414487
Test: compilation
Change-Id: I941085e96f45164152528c123102a59930859546
2017-03-03 10:10:08 -08:00
Dan Willemsen
4980bf4aff Merge branch 'stage-telephony-refactor' into master
Bug: 33644781
Change-Id: If571e3ad9432035811714e3a92d9dfff39311c61
2017-03-03 10:10:08 -08:00