This CL includes changes required to support multi-endpoint (see the
design doc linked off the bug).
Main changes include:
- support for indicating if a call/connection is "external" to the device.
- support for indicating if an external call can be pulled from the
remote device to the local device.
- API used to initiate a pull of a call external to the current device to
the current device.
- Made the "connection event" API public (was previously @hide); this will
be used to support passing some error events involving pulling calls to
the incall ui.
- Added new InCallService metadata which will be used to determine if an
InCallService wants to be informed of external calls.
- New disconnect causes which will be used to expose the fact that a
multi-endpoint call was answered elsewhere and that a call ended because
it was pulled to another device.
- New call log call types to indicate if calls were answered elsewhere
or pulled to another device.
Bug: 27458894
Change-Id: I423f64ff965b5e50194635a51868c327782db2a1
The case block for MSG_SET_EXTRAS was missing its break statement, all
the way back to summer 2015 when that code was originally added.
When the new MSG_ON_CONNECTION_EVENT handler was added, it introduced a
new potential fall-through from MSG_SET_EXTRAS (in addition to the fact it
too was missing a break statement).
Bug: 27338441
Change-Id: I2df2bc78c4ceb32e6245888eed18c2d8834e629b
Connection event used to inform Telecom that it should play or stop
the on hold tone. This is used to play or stop a tone when the peer
puts the current call on hold.
BUG=25357778
Change-Id: I2669f8f5062449784a712b9dd28e576326fcc679
Use a background task to call MessageDigest.getInstance in order to
avoid a possible disk read on initialization.
Bug: 26069217
Change-Id: I0091ce012bcd811dfca0e85c21a12c54913ed919
Updates the docs for addNewIncomingCall to mention that if the
PhoneAccountHandle representing a PhoneAccount is not registered or not
enabled, a SecurityException will be thrown (as of b/26864502). Also
notifies the user that PhoneAccounts are stored in DE storage
in registerPhoneAccount.
Bug: 26874536
Bug: 26780305
Change-Id: I2dae932cfa3404d7d5060dad840a75227793603e
Telecom now guarantees that when sending a conference call to an in-call
service, all children will be sent before any parents. Thus, it is
acceptable for children to temporarily have invalid references to
parent calls, but not vice versa.
Bug: 26818778
Change-Id: Id34e4c3a773e6f7c75be8c85ec2642cf05dabe0a
By default we assume downgrade to audio is permitted; this capability
probides a means for a carrier to specifically deny that.
Bug: 22728624
Change-Id: I75e0a5b9e5ad2d970003a4691b6fc0ac0dcfe9e0
This CL adds a new service that the default dialer can implement to
screen incoming calls.
If the service is implemented then Telecom uses it to decide if a call
should be shown to the user or rejected.
Note, I initially tried to simply extend InCallService instead of
creating a whole new service. The problem with this approach is that:
- this breaks some in call services which show UI as soon as they are
bound to
- the in call service lifecycle is tightly coupled to adding and
removing calls. Call screening happens before a call is added which
makes it a bad fit to in call service
- call screening is a function of only the default dialer's in call
service but the existing code also binds to "controller" call
services
For these reasons it seemed simpler to just create a new optional
service.
BUG: 22857261
Change-Id: I53f2ef93360e0af19b6ce45af21026be6cf3a7f3
This CL exposes a new meta-data, IN_CALL_SERVICE_RINGING. If this is set
to true then ringing is played by the dialer instead of Telecom.
This CL also adds a new silenceRinger() API to InCallService. This is
needed to implement ringer silence on volume key down.
BUG: 22857261
Change-Id: I498538282eddbb727104f5b879f25adbef4e6cf6
IMS connection capabilities were not getting
propagated to the upper layers whenever a
capability was added or removed. Adding the
same.
Change-Id: Ic67d76df05c8b2a1b8abaf27f266fe9693764e52
This CL makes the missed call notification action public. This will be
used by the dialer app to show it's own missed call UI.
See ag/850080 for more info.
BUG: 22857261
Change-Id: Ifae82d3036a278e5619edc8c766a1d0781296e72
By default we assume downgrade to audio is permitted; this capability
probides a means for a carrier to specifically deny that.
Bug: 22728624
Change-Id: I75e0a5b9e5ad2d970003a4691b6fc0ac0dcfe9e0
Add dumpAnalytics in TelecomManager to allow the connectivity stats
service to access Telecom analytics for uploading.
Change-Id: I197d6af340fac7f38b28bb44a476b5e694db4dba
- New carrier config option is used to determine if presence is used
to determine whether a contact is capable of video calling.
- Also, improve logging for PhoneAccount capabilities.
Bug: 20257833
Change-Id: Ifcc7df95677eb4399f08eb8849c4004892957e90
Admittedly this isn't going to cause a build breakage for anyone misusing
the values, but it should help make issues more aware at code authoring
time.
See http://goo.gl/zaH4RE for more information.
Change-Id: I3f20dc4bff364dec290d4b647e31f8032d4a13ec
- Added acceptRingingCall API which accepts a videostate to complement the
existing API.
Bug: 20159300
Change-Id: I2a9d53fd4dbbb0be49d95416f7e26d3ec61774cd
Many places across the platform query package details without
gracefully handling packages or components that go missing for
various reasons. This can cause annoying user data loss, such as
resetting back to built-in apps or dropping of accounts, etc.
This change verifies that system callers have thought about these
edge cases by logging if they use default matching behaviors without
explicitly marking themselves as being "triaged." (The logging is
currently disabled by default.)
Also creates explicit definitions of supported flags for various
incoming PackageManager calls, and defines a clear distinction
between flag types:
-- GET-style flags are used to request additional data that may have
been elided to save wire space.
-- MATCH-style flags are used to include components or packages that
would have otherwise been omitted from a result set by current system
state.
There are a handful of existing GET flags that better fit under the
MATCH definition, so this change clones them to new constants and
marks the old ones as deprecated.
Fixes bug in JobSchedulerService to consider jobs from apps on
external storage. Revert some dialer behavior back to being
untriaged.
Change-Id: I9b6ab0968241e3479bddbd78de0c51e3b9917318
Create distinct flags for encryption aware, unaware, and both, and
name them like the other MATCH_ flags.
Start adding logic to help triage all system internal callers to
verify that they've done their homework and thought about how to
handle apps while locked. Call sites in the system should either
ask for explicit matching behavior, or explicitly use the DEFAULT
match flag to indicate that they've been triaged to use the
default state-based matching.
Bug: 26250295
Change-Id: I86214e5c4f71a6dc72f06930800388713aecd107
In our current design, in-call ui in parent user is used.
We need a way for Telecom to tell in-call ui that is the call a work
call or not show that we can have some UI changes to reflect it.
Bug: 26022174
Change-Id: I5f54371ddac14ffdb50359c2e792b9f24858bcb8
Some capabilities, such as CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL
are defined in terms of other capabilities; eg:
CAPABILITY_SUPPORTS_VT_LOCAL_RX | CAPABILITY_SUPPORTS_VT_LOCAL_TX
The current capability logic will return TRUE if checking for
CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL and either of the TX or RX bits
is on; which is incorrect. Yay cts tests for finding this.
Bug: 26272951
Change-Id: I55a5676674ee74e213deb3a07e226b04a37d10ee