private static AppServiceResponseListener GetAppServiceResponseListener() { tcsResponseListener = new TaskCompletionSource <AppServiceClientResponse>(); var responseListener = new AppServiceResponseListener(); responseListener.Response += (r) => { tcsResponseListener.TrySetResult(r); }; return(responseListener); }
public Task <AppServiceResponse> SendMessageAsync(Android.OS.Bundle message) { TaskCompletionSource <AppServiceResponse> tcsResponseListener = new TaskCompletionSource <AppServiceResponse>(); AppServiceResponseListener.OnResponseReceived onResponseReceived = (r) => { tcsResponseListener.TrySetResult(r); }; var responseListener = new AppServiceResponseListener(onResponseReceived); try { appServiceConnection.SendMessageAsynchronous(message, responseListener); } catch (Exception e) { tcsResponseListener.TrySetException(e); } return(tcsResponseListener.Task); }