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
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)
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
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
Use external packageName when ActivityThread couldn't get calling package
due to calling identity cleaned.
Bug: 131287254
Test: Manual
Change-Id: Icec3ad7193bc5988799188a7a1e68aebc0dc109d
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
- Move Bluetooth SMS logic to BtSmsInterfaceManager
- Move subscription check to SmsController
Bug: 127331685
Test: Manually sent SMS through connected bluetooth device
Change-Id: Icb0fc1cc8339ec3f0b5402ea9b8e15650d8972e5
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
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
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
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
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
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
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
While here add more constants for send sms result.
Test: manual
BUG:69846044
Merged-In: I66fdcff51dc5ded9f6199d09bb667c89f38b6d59
Change-Id: I66fdcff51dc5ded9f6199d09bb667c89f38b6d59
- 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
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
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
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
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)
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
The system app needs to have MODIFY_PHONE_STATE permission.
Original Change-Id: Ic9242972a211c90378c183c3abf95672c2816ac7
BUG: 35325136
Test: API visibility change, Manual
Change-Id: I37b185feaa72e330a0845eff137ea310ad0dca08