diff --git a/telecomm/java/android/telecom/ConnectionServiceAdapter.java b/telecomm/java/android/telecom/ConnectionServiceAdapter.java index 3acd83a41396d..04e930ccd9549 100644 --- a/telecomm/java/android/telecom/ConnectionServiceAdapter.java +++ b/telecomm/java/android/telecom/ConnectionServiceAdapter.java @@ -325,6 +325,15 @@ final class ConnectionServiceAdapter implements DeathRecipient { } catch (RemoteException e) { Log.e(this, e, "Exception trying to query for remote CSs"); } + } else { + try { + // This is not an error condition, so just pass back an empty list. + // This happens when querying from a remote connection service, not the connection + // manager itself. + callback.onResult(Collections.EMPTY_LIST, Collections.EMPTY_LIST); + } catch (RemoteException e) { + Log.e(this, e, "Exception trying to query for remote CSs"); + } } } diff --git a/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java b/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java index b28158913dc41..60b2172fdeca3 100644 --- a/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java +++ b/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java @@ -477,7 +477,7 @@ final class ConnectionServiceAdapterServant { SomeArgs args = SomeArgs.obtain(); args.arg1 = callback; args.arg2 = callingPackage; - mHandler.obtainMessage(MSG_QUERY_REMOTE_CALL_SERVICES, callback).sendToTarget(); + mHandler.obtainMessage(MSG_QUERY_REMOTE_CALL_SERVICES, args).sendToTarget(); } @Override