Update the caller display name only if the name actually changed.
This avoids excessive computations on the receiver end as apps such
as dialer listen to these changes and rebuild UI models when they
change.
Defer-CP-To-TM: 240341306
Bug: 240341306
Test: Manual logs to verify callback triggers only when changed.
Test: atest CallDetailsTest
Change-Id: I1c81049240042232ca5c3efa9a75ce2ef2de1829
This API is queried when the async contact query for telecom
is performed, however, it is not currently exposed to users.
However, dialer apps sometimes need this information so they
resort to doing the exact same query that telecom does on their
own, adding significant latency to their incoming/outgoing call
latencies.
Bug: 240341306
Test: Manual, verified the data is sent with logs.
Change-Id: I029077ac587fad9651efa0c786ee0119ea500424
GetCallStateUsingPackage was reporting unusual packageNames in certain
cases. This looks to be a result of Telecom passing in the
context.getPackageName instead of context.getOpPackageName.
bug: 258729003
Test: manual
Change-Id: I075848e8732fc884f4247c8ba840b404c2af71a2
Bugs came in about Do Not Disturb being on but still
interrupting users of incoming calls. Turns out, this was a
result of BluetoothInCallService putting the headset into ring
mode before Telecom informed the InCallService to not ring.
Fix is to add a new EXTRA called EXTRA_IS_SUPPRESSED_BY_DO_NOT_DISTURB.
The extra is intended for InCallServices that may interrupt the user of
an incoming call.
Bug: 208652088
Test: maual + unit tests,
3 DndCallFilter tests,
2 RingerTests,
1 CallTests
Change-Id: If8abec19dfc90999b2fc2ef3e4f5584c55d6fc2a
Flag intent created by framework as LOCAL_FLAG_FROM_PROTECTED_COMPONENT by
calling intent.prepareToEnterProcess(true...). This is to fix false positives
of StrictMode.unsafeIntentLaunchViolation.
Bug: 181132616
Test: Manually verified a violation was not reported when a test app launched
Intents returned from TelecomManager.createManageBlockedNumbersIntent.
Methods marked as systemApi are not tested.
Change-Id: I7b00008dd894f1c637ab2f0a23e6cafb58bb73e5
For context, there was a report of a VoIP app experiencing audio
issues in call when switching between a self-managed and PSTN call.
The root cause was from calling setAudioModeIsVoip(false)
on a self-managed connection.
To prevent misuse of the API, prevent toggling of
setAudioModeIsVoIP(false) on a self-managed connection.
Additionally, 2 CTS tests and 1 CtsVerifier test are put in place to
assert there isnt manipulation of this API.
Test: 2 cts,
1 CtsVerifier called "Telecom Call Audio test"
bug: 236018173
Change-Id: I9161f9369f7bb37c1c2e3f9342e63693cb4f10cc
It was shown that given a large phoneAccountHandles that are
over 1 mb, a TransactionTooLarge exception can be silently thrown
causing an empty list to be returned.
In order to prevent this behavior, all Lists that return a
PhoneAccountHandle or PhoneAccount have been switched to
ParceledListSlice.
bug: 236263294
Test: manual #1 - bug exists without fix,
manual #2 - bug is fixed with patch,
4 new CTS tests in
android.telecom.cts.PhoneAccountRegistrarTest
Change-Id: I025245b2a6f8cfaca86f268851a9d8f0817e07dd
Merged-In: I025245b2a6f8cfaca86f268851a9d8f0817e07dd
A 3rd party developer reported
CallScreeningService.CallResponse#setSkipCallLog(true) was still
logging the blocked call to Dialer. This turned out to be true.
Turns out we do not allow 3rd party devs from toggling the
setSkipCallLog function. Only carriers are allowed to toggle
the function.
To make this clear, the docs are being updated.
bug: 238892157
130213778 (original)
Test: not required; docs only change.
Change-Id: I6b796421f7f178808eab301e12a4367b67ceaa71
It was shown that given a large phoneAccountHandles that are
over 1 mb, a TransactionTooLarge exception can be silently thrown
causing an empty list to be returned.
In order to prevent this behavior, all Lists that return a
PhoneAccountHandle or PhoneAccount have been switched to
ParceledListSlice.
bug: 236263294
Test: atest android.telecom.cts.PhoneAccountRegistrarTest
#testRegisterPhoneAccountHandleWithFieldOverLimit
Change-Id: I025245b2a6f8cfaca86f268851a9d8f0817e07dd
Update InCallService API docs to clarify what happens if an app no longer
fulfils the requirement of the dialer role. Also update documentation to
clearly indicate when the platform may show a warning to the user due to
a null binding.
Test: Docs only change.
Fixes: 236864749
Change-Id: Ief6225513a7aefefa9c029a02cc1a3511b236d44
Currently, telecom framework will send tons of unnecessary
Call#onDetailsChanged to notify update between Call.Details
with same byte[] value. Since we didn't support the proper way to
compare these value, onDetailsChanged might be called multiple times
meaninglessly.
Bug: 232180843
Test: CallDetailsTest
Change-Id: I739412da62f303cb00dc84cb0a6d7773d0a0aeaa
With the upcoming changes in T to move telephony phone account handles to
use subid instead of ICCID, the id of telephony phone account handles
no longer needs to be Log.pii-ed. These phone accounts have been hard to
diagnose in most bug reports due to the obfuscation.
Bug: 226972613
Test: Manual testing; place calls and verify Telephony account handles are now visible.
Change-Id: Icae7917e7063c753c8597c401ad7adc1d9052775
LogUtils was causing a ~7k line log spew in the
utomation tests.
new var created in Telecom Log Frameworks file that can
gate ceratin lines causing log spew.
bug: 224667124
Test: manual, looked through test logs and log spew lines removed
Change-Id: I5aac180832c0c26af201d1286727cc3e9c67d207
With the upcoming changes in T to move telephony phone account handles to
use subid instead of ICCID, the id of telephony phone account handles
no longer needs to be Log.pii-ed. These phone accounts have been hard to
diagnose in most bug reports due to the obfuscation.
Bug: 226972613
Test: Manual testing; place calls and verify Telephony account handles are now visible.
Change-Id: I5ff66571658c2b81b83e3f7d1936e3e805598769
We often get bugs where testers have executed a LONG list of test steps.
It becomes extremely difficult to know where in the logs corresponds to
which test script step.
This adds a new telecom shell command:
adb shell telecom log-mark Testing 1 2 3
This command adds a USER_LOG_MARK event log item to all ongoing calls and
to the general telecom logs with the specified message.
Test: Tested using the new shell command to mark the telecom logs in and out of calls.
Fixes: 228895073
Change-Id: Ic11edc777e57a4fc8748a42c931379faf7cea671