Example #1
0
        /// <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");
     }
 }
Example #4
0
        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)*/));
 }