private void StartPlayMessage(MessageDB message) { bool hasRespondedPollSteps = this.pollSteps.Count (s => s.Value.HasResponded) > 0; if (hasRespondedPollSteps) { RunOnUiThread (() => Toast.MakeText (context, Resource.String.pollGettingResults, ToastLength.Short).Show ()); LOLMessageClient service = new LOLMessageClient (LOLConstants.DefaultHttpBinding, LOLConstants.LOLMessageEndpoint); service.PollingStepGetResultsListCompleted += Service_PollingStepGetResultsListCompleted; service.PollingStepGetResultsListAsync (message.MessageID, new Guid (AndroidData.ServiceAuthToken), message); } else { #if DEBUG System.Diagnostics.Debug.WriteLine ("about to play the message"); #endif RunOnUiThread (delegate { if (progress != null) RunOnUiThread (() => progress.Dismiss ()); List<UserDB> recipients = new List<UserDB> (); UserDB tmpUsr = null; for (int m = 0; m < message.MessageRecipientDBList.Count; ++m) { tmpUsr = dbm.GetUserWithAccountID (message.MessageRecipientDBList [m].AccountGuid); if (tmpUsr != null) recipients.Add (tmpUsr); } tmpUsr = dbm.GetUserWithAccountID (message.FromAccountGuid); if (tmpUsr != null) recipients.Add (tmpUsr); MessagePlaybackController playbackController = new MessagePlaybackController (message.MessageStepDBList, this.contentPackItems, this.voiceFiles, this.pollSteps, new Dictionary<int, LOLMessageSurveyResult> (), markAsRead, recipients, context); #if DEBUG System.Diagnostics.Debug.WriteLine ("we outa here"); #endif }); }//end if else }