History log of /packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b7be9e20d3607600a6a599a9293371c76c19684b 29-Aug-2016 Hall Liu <hallliu@google.com> Merge "Fix broken test and in-call controller bug" into nyc-mr1-dev
3d2cd5f5633f2adb30f9ec145c4a73e9d5932740 09-Aug-2016 Hall Liu <hallliu@google.com> Extend timeout for reusing a call disconnected via NOCIB

Changing from 400ms to 100000ms. GV may take an arbitrary amount of time
to respond, and there is no harm in reusing the call since there is a
check to make sure the handles are the same.

Bug: 20820155
Bug: 30627464
Change-Id: I518b529d28cb3edf40a72ddb38530d92ec5e973f
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
28b82f0fe9b55b3bd826ba3a4204329988447c57 27-Jul-2016 Hall Liu <hallliu@google.com> Fix broken test and in-call controller bug

1. testBindToService_DefaultDialer_FallBackToSystem was broken because
InCallController#onConnected returned false due to an empty list of
calls in the mock CallsManager. Added a return stub to prevent this.

2. If an incoming call disconnects remotely before onServiceConnected is
called, no services will be bound to InCallController, but
InCallController will also not attempt to bind to an InCallService for
future calls. This is because the failure case in
InCallServiceBindingConnection#onConnected calls disconnect() directly,
not setting mInCallServiceConnection to null. This means that
isBoundToServices will continue to return true, so bindToServices will
never be called again until something else calls unbindFromServices.
Fix was to not disconnect if no calls are found when onServiceConnected
is called.

3. A test was added to test the fix in #2.

Change-Id: I95caba2e3169be33d89424269a09b3ad292be3de
Fix: 28743971
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
6d4b66df3d918e3f17263ff40ca3ba0ec5a46719 02-Apr-2016 Hall Liu <hallliu@google.com> Incorporate parallel call blocking checks

Modify CallsManager to use the IncomingCallFilter class introduced in a
previous CL.
Modifies AsyncBlockCheckTask and CallScreening to implement CallFilter
and removes the logic in those classes that used to execute the filters
in series.
Added tests for block-check and call screening.
Added logging events to track how long each of the call filters take.

Change-Id: Iecd60463fe9ac6dbbd85d57ef6ae2bfccb94d967
Fix: 26883888
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
9ecbb1cbae4dbb62a892c1347d8cb8691550ad1b 14-Apr-2016 Hall Liu <hallliu@google.com> Fix unit tests

Unit tests were failing because:

1. The fake context's bindServiceAsUser asynchronously calls
onServiceConnected, but the InCallController assumes that its connect()
method would finish before onServiceConnected gets called.

2. Video call tests depended on counting the number of audio state
transitions. This number is not a guaranteed (or even consistent) value,
so the mechanism for determining the final audio state has been replaced
by a latch posted to the CARSM handler.

3. IncomingCallFilter tests were experiencing a strange problem where
setting the timeouts value only worked when the tests were run in
isolation. This was fixed by putting in an adapter for the static
Timeouts class.

Fix: 28200736
Change-Id: If5fbd60e1a3c5d478d4555d8794a49855997f1d3
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
c4e71f87351641a1f02d6c0d966bead1d8f851c4 27-Feb-2016 Hall Liu <hallliu@google.com> Retry connectAudio if it returns false.

Sometimes, when BluetoothManager#connectBluetoothAudio is called
immediately after a bluetooth device connects, the HeadsetStateMachine
in the bluetooth stack is not yet ready to accept commands, and
therefore BluetoothHeadset#connectAudio returns false. This change adds
a retry with 500ms backoff.

Part of the fix for b/22507913

Bug: 22507913
Change-Id: I3084496c3af74687ea66c8558e20f1260420381c
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
8cb83ea9b12793863638a1834278d4957e51bedd 28-Jan-2016 Abhijith Shastry <ashastry@google.com> Block calls from numbers blocked by the user.

Block check is performed after send to voicemail, and before CallScreening.

BUG:26682702
Change-Id: Ifa63a88d5815e4efb7b4fc9a18f38bc667e1ffa3
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
ae92595c2f0f88a5bef8d2601f026b9d3ae2d7dd 25-Jan-2016 Sailesh Nepal <sail@google.com> Use CallScreningService to screen calls

This CL uses the new CallScreeningService to allow or disallow calls.
Similar to InCallService, the call screening service holds a wake lock.

We also implement a timeout on the telecom side. The timeout is a very
large value (5 seconds). The logic is that a flaky in-call can mess up
calls in many ways so there's no point in trying to be strict here.

Currently the service is invoked after the send to voicemail logic. We
should consider depreciating the old logic and insisting that the dialer
handle all call screening.

BUG: 22857261
Change-Id: I52b97be8e20c0f404839790e69a5f33588093daa
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
a5c4b8ce1253d96ace236df0c068a1c14a20026f 14-Dec-2015 Brad Ebinger <breadley@google.com> Fix Crashes on UserCallActivity.onCreate

Currently, Telecom's Logging system uses the TelecomService context
for its ContentResolver, which is not available when other processes
execute UserCallActivity.onCreate(). In this case, the default state
session timeout value will be set to the default.

Bug: 26176790
Change-Id: I1806a4ba06995c11da29c197e10fc9654e0f4904
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
11623a354be47205bf3bc686ed8fdfc278958983 25-Nov-2015 Brad Ebinger <breadley@google.com> Adds Telecom Logging to TelecomServiceImpl.

Adds Telecom logging sessions to the major entry points in TelecomServiceImpl
and other modules in order to track the code paths of other processess.

Refactor CallAudioRouteStateMachine to use callbacks in StateMachine to
handle logging.

Change-Id: I48a70afaf2028ace73608be4f825c49af16c1622
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
20ba29108f4003938c0594e4c3a82bcf7c62cc5f 12-Nov-2015 Hall Liu <hallliu@google.com> Add timer to make in-call ui reflect bluetooth state

Adds a timeout of 5 seconds to connectBluetooth. Within those 5 seconds,
it will be assumed that audio is being routed through bluetooth. An
additional check is done at the end of the 5 seconds to see if bluetooth
audio is connected. If not, the in-call ui is updated to reflect this
fact.

This differs from the previous behavior in that there was no additional
check done at the end of the 5 seconds previously.

Bug: 25378995
Change-Id: I958765ce3f6facfe93fb0c54e77b0130c7fde408
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
7a6df31b30295e30553a6de9a0bcad9a5ec80726 01-Jul-2015 Roshan Pius <rpius@google.com> Merge "Delay unbinding the incall services on call remove." into mnc-dev
4995e781ab0842212ef7d78cffa94bf5dcedb47e 27-Jun-2015 Roshan Pius <rpius@google.com> Delay unbinding the incall services on call remove.

When Telecom tries to unbind the in-call services, there is a possible
race condition because in-call services may not have fully processed all
the pending messages posted to it by telecom. So, adding a 2 sec delay
in telecom to give sufficient time for the in-call services to finish
their processing before unbinding it.

BUG: 22045133
Change-Id: Iaf743e95fde80763e3a8c0efc726809605dce57d
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
8d3f269fcc8853b2d5ce467cdce6ef27b0122bf8 08-May-2015 Yorke Lee <yorkelee@google.com> Fix for pending calls not being reused

The if check to potentially reuse a call based on its original number
would fail if the second number had been rewritten or formatted
differently.

Compare normalized versions of the two addresses to determine
equality instead.

Also increase the timeout slightly for reusing a
pending disconnect call.

Bug: 20820155

Change-Id: Ifc3ae0a1a1b66132a500665cd7f8bca75a4981b3
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
646fa3d6eaea71fb4c3270fde1a30eeb7c5e4288 28-Jan-2015 Sailesh Nepal <sail@google.com> Add timeout for emergency calls

Currently connection managers are only able to route
emergency calls if the call can't be placed by the
normal phone account first.

Unfortunately this strategy only works for "fake" emergency
calls (for example when you set a fake number using
ril.ecclist).

When actually dialing "911" the call doesn't disconnect
even if there's no service. This means that the connection
manager never gets a chance to handle the call.

To fix this issue we're adding a timeout for emergency calls
if a connection manager is present. If after 25 seconds
the call is not yet active then we'll disconnect the call
and route it through the connection manager. The timeout
length is 60 seconds if the device is in airplane mode.
Both timeout values can be modified using config values.

To limit the impact of this change we've also added the
following extra condition:
- only use a connection manager if we have wifi
connectivity but no cellular connectivity

BUG: 19020123

Change-Id: Id2d740006cbf850db1cffb0d9f2aaca702ef1366
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
a469f76c1710a945933910840f11f9fda0445d82 10-Dec-2014 Nancy Chen <nancychen@google.com> Play DTMF tones when sending DTMF tones during post dial wait.

Regression from KK -- when adding additional digits to a number limited
with a wait character (";"), the local DTMF player should make those
sounds audible to the caller.

Bug: 18644688
Change-Id: Ib04658316f725146a65b399d3f477791260c3f5a
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
9b71ea8289cb3c6e14beb11f7707ae3ef4dfe83f 26-Nov-2014 Yorke Lee <yorkelee@google.com> Improve outgoing call UI responsiveness

* Send call extras in a bundle to the service when binding. This
provides information about the call so that the incall-service can
setup its UI immediately before the rest of Telecom is done.

* Move outgoing call flow to always go through the CallReceiver.
This allows CallActivity to finish and not block ActivityManager by
remaining as the foreground activity.

Bug: 18373617

Change-Id: I75ca3b12ce1b0db91bd05f3c77cad31f78ca8ebd
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
cf5b2918ca58b155911a66222ae5b4d21cb5b8ec 06-Nov-2014 Santos Cordon <santoscordon@google.com> Reuse calls canceled through NEW_OUTGOING_CALL broadcast.

When a call is canceled because of NEW_OUTGOING_CALL broadcast,
we no longer remove it immediately. This code adds a 200ms delay.
The 200ms delay is long enough that if an app reposts another call
to the same number (with a gateway number, for example), instead of
destroying and recreating the call, we attempt to reuse the existing
one. This eliminates the jank in the UI caused by the call being
destroyed and a new one recreated.

Bug: 17692408
Change-Id: I225a4fcc6f00d764cf76595f15f6d2d0785b9fe2
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
91d43cf9c985cc5a83795f256ef5c46ebb8fbdc1 17-Sep-2014 Tyler Gunn <tgunn@google.com> Preparatory work to move Telecom to system service.

- Removed use of TelecomApp.getInstance() as context.
- Refactored singleton logic and initialization to support being
performed from a SystemService.
- Note: You will see some commented out references to
"import com.android.internal.R"; these must uncommented when the code
is moved to a system service.
- You will also notice in PhoneAccountRegistrar.java a comment block with:
"UNCOMMENT_FOR_MOVE_TO_SYSTEM_SERVICE"
The code in that comment block will replace the existing file path
code.
These were added as a convenience so that I can run a simple sed script
to make the required changes to the code in an automated manner once it
is moved to its new location.

Bug: 17364651
Change-Id: I8e80e9cffc481b688c10a2bca0b59f5ccf8e0fb2
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java
7cc70b4f0ad1064a4a0dce6056ad82b205887160 13-Sep-2014 Tyler Gunn <tgunn@google.com> Renaming Telecomm to Telecom.

- Changing package from android.telecomm to android.telecom
- Changing package from com.android.telecomm to
com.android.server.telecomm.
- Renaming TelecommManager to TelecomManager.

Bug: 17364651
Change-Id: Ib7b20ba6348948afb391450b4eef8919261f3272
/packages/services/Telecomm/src/com/android/server/telecom/Timeouts.java