/// <summary> /// Invoked when RecordingIconCancelImage is tapped /// Recording is temporarily paused. /// </summary> /// <param name="sender">sender object</param> /// <param name="e">EventArgs</param> async void TryToCancel_Tapped(object sender, EventArgs e) { if (ViewModel.RecordingViewModelState == RecordingViewModelState.Recording) { ViewModel.RequestCommand.Execute(RecordingCommandType.PauseForCancelRequest); } await Navigation.PushAsync(PageFactory.GetInstance(Pages.TryCancel, ViewModel)); }
async void OnItemTapped(object sender, ItemTappedEventArgs args) { if (((MainPageModel)BindingContext).IsCheckable) { Console.WriteLine(" RecordListPage.OnItemTapped : Checkable mode so ignore tapped event"); return; } Console.WriteLine(" RecordListPage.OnItemTapped : " + args.Item); await Navigation.PushAsync(PageFactory.GetInstance(Pages.Details, args.Item)); }
/// <summary> /// Invoked when recording(red) button is tapped. /// RecordingPage will be shown. /// </summary> /// <param name="sender"> Sender object</param> /// <param name="e">EventArgs</param> async void LaunchRecordingPage_Tapped(object sender, EventArgs e) { // While STT is in progress, a new recording cannot be started. if (((App)App.Current).mainPageModel.availableToRecord) { // can record await Navigation.PushAsync(PageFactory.GetInstance(Pages.Recording, ((MainPageModel)ViewModel).SttEnabled)); } else { // cannot record await DisplayAlert("Recording", "Stt service is in progress. Please wait a moment.", "OK"); } }
void RegisterForEvents() { //// Get notified when AudioRecordService's State is Recording //MessagingCenter.Subscribe<IAudioRecordService>(this, MessageKeys.ReadyToRecord, async (obj) => //{ // Console.WriteLine("### MessagingCenter ## [RecordingPage] ReadyToRecord!! "); //}); MessagingCenter.Subscribe <RecordingPageModel, Record>(this, MessageKeys.SaveVoiceMemo, async(obj, item) => { var _DeviceInfoService = DependencyService.Get <IDeviceInformation>(DependencyFetchTarget.GlobalInstance); if (_DeviceInfoService.AppState == AppState.Terminated) { //Toast.DisplayText("Memo " + item.ID + " saved.", 3000); // TODO: show popup using app control return; } await Navigation.PushAsync(PageFactory.GetInstance(Pages.Details, item /*new DetailsPageModel(item)*/)); if (_DeviceInfoService.AppState == AppState.Background) { Console.WriteLine(" ************ TO DO SOMETHING *************"); } }); // Called when an error occurs while recording MessagingCenter.Subscribe <IMediaContentService, Exception>(this, MessageKeys.ErrorOccur, (obj, exception) => { DisplayAlert("Recording", exception.Message, "OK"); }); MessagingCenter.Subscribe <RecordingPageModel>(this, MessageKeys.ForcePopRecordingPage, async(obj) => { Console.WriteLine("### MessagingCenter ## [RecordingPage] just received ForcePopRecordingPage"); await Navigation.PopAsync(); }); }
/// <summary> /// Standby > More options > Recordings /// A list of Recordings will be shown if there's recordings. /// </summary> /// <param name="sender"> Sender object</param> /// <param name="e">EventArgs</param> async void OnCircleToolbarItemClicked_DisplayRecordings(object sender, EventArgs e) { Console.WriteLine(" MainPage.OnCircleToolbarItemClicked_DisplayRecordings()"); await Navigation.PushAsync(PageFactory.GetInstance(Pages.RecordList, ViewModel)); }
/// <summary> /// Called when Language is selected in More option /// Standby > More options > Language /// </summary> /// <param name="sender">sender object </param> /// <param name="e">EventArgs</param> async void OnCircleToolbarItemClicked_SelectLanguage(object sender, EventArgs e) { await Navigation.PushAsync(PageFactory.GetInstance(Pages.Languages, ViewModel)); }
/// <summary> /// Request to play voice memo/record /// </summary> /// <param name="sender">object</param> /// <param name="args">EventArgs</param> async void OnPlayBackClicked(object sender, EventArgs args) { // Move to the recording page to keep recording Console.WriteLine("[DetailsPage.OnPlayBackClicked] "); await Navigation.PushAsync(PageFactory.GetInstance(Pages.PlayBack, viewModel.Record /*new PlayBackPageModel(viewModel.Record)*/)); }