From 4e7ec71e64e6831344529457a25830250ba79385 Mon Sep 17 00:00:00 2001 From: Sailesh Nepal Date: Mon, 28 Jul 2014 10:25:27 -0700 Subject: [PATCH] Handle synchronous failed connection Change-Id: I406ccbdd1f70c85456b6e0d689332cf40a756707 --- api/current.txt | 1 - .../android/telecomm/ConnectionService.java | 18 +++--------------- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/api/current.txt b/api/current.txt index 8302bbaa163cf..d89f2dd19fb44 100644 --- a/api/current.txt +++ b/api/current.txt @@ -28694,7 +28694,6 @@ package android.telecomm { method public final android.telecomm.RemoteConnection createRemoteIncomingConnection(android.telecomm.ConnectionRequest); method public final android.telecomm.RemoteConnection createRemoteOutgoingConnection(android.telecomm.ConnectionRequest); method public final java.util.Collection getAllConnections(); - method public final void maybeRespondToAccountLookup(); method public final android.os.IBinder onBind(android.content.Intent); method public void onConnectionAdded(android.telecomm.Connection); method public void onConnectionRemoved(android.telecomm.Connection); diff --git a/telecomm/java/android/telecomm/ConnectionService.java b/telecomm/java/android/telecomm/ConnectionService.java index cefa92935b6c2..fb719a398a480 100644 --- a/telecomm/java/android/telecomm/ConnectionService.java +++ b/telecomm/java/android/telecomm/ConnectionService.java @@ -80,8 +80,6 @@ public abstract class ConnectionService extends Service { private final Map mIdByConnection = new HashMap<>(); private final RemoteConnectionManager mRemoteConnectionManager = new RemoteConnectionManager(); - private SimpleResponse> mAccountLookupResponse; - private Uri mAccountLookupHandle; private boolean mAreAccountsInitialized = false; private final ConnectionServiceAdapter mAdapter = new ConnectionServiceAdapter(); @@ -474,6 +472,9 @@ public abstract class ConnectionService extends Service { } else if (createdConnection.getState() == Connection.State.CANCELED) { // Tell telecomm not to attempt any more services. mAdapter.handleCreateConnectionCancelled(request); + } else if (createdConnection.getState() == Connection.State.FAILED) { + mAdapter.handleCreateConnectionFailed(request, createdConnection.getFailureCode(), + createdConnection.getFailureMessage()); } else { connectionCreated(request, createdConnection); } @@ -625,7 +626,6 @@ public abstract class ConnectionService extends Service { } mAreAccountsInitialized = true; Log.d(this, "remote connection services found: " + services); - maybeRespondToAccountLookup(); } }); } @@ -635,24 +635,12 @@ public abstract class ConnectionService extends Service { mHandler.post(new Runnable() { @Override public void run() { mAreAccountsInitialized = true; - maybeRespondToAccountLookup(); } }); } }); } - public final void maybeRespondToAccountLookup() { - if (mAreAccountsInitialized && mAccountLookupResponse != null) { - mAccountLookupResponse.onResult( - mAccountLookupHandle, - mRemoteConnectionManager.getAccounts(mAccountLookupHandle)); - - mAccountLookupHandle = null; - mAccountLookupResponse = null; - } - } - public final RemoteConnection createRemoteIncomingConnection(ConnectionRequest request) { return mRemoteConnectionManager.createRemoteConnection(request, true); }