private void UpdateRecordUI()
        {
            //Duration Label
            if (IsRecording)
            {
                _durationLabel.FadeIn();
            }
            else
            {
                _durationLabel.FadeOut(500);
            }

            //Border
            if (IsRecording)
            {
                _border.FadeIn();
            }
            else
            {
                _border.FadeOut(500);
            }


            //Record Button
            _recordButton.FadeOut(250, 0, () =>
            {
                //Switch image
                int button = (IsRecording) ? Resource.Drawable.selector_button_stop : Resource.Drawable.selector_button_record;
                _recordButton.SetImageDrawable(ContextCompat.GetDrawable(ApplicationContext, button));
                _recordButton.FadeIn(250);
            });
        }
 void HandleRecordingStatusUpdated(object sender, EventArgs e) {
     if(SensingService.ViewModel != null) {
         UpdateRecordButtonUi();
         UpdateSetupUi();
         if(SensingService.ViewModel.IsRecording) {
             //Remove internal error message when switching to recording status
             _bottomInfoDisplayer.Hide(InformationMessage.InternalEngineError);
             _bottomInfoDisplayer.ShowButton(false);
             _textCurrPpe.FadeIn(FadeInDelay);
             _containerSetup.FadeIn(FadeInDelay);
         }
         else {
             _bottomInfoDisplayer.HideButton(false);
             _textCurrPpe.FadeOut(FadeOutDelay);
             _containerSetup.FadeOut(FadeOutDelay);
         }
     }
 }