Exemple #1
0
 protected override bool OnBackButtonPressed()
 {
     try
     {
         bool exitapp  = true;;
         var  previous = PageProvider.GetPrevious();
         if (previous == null)
         {
             if (AppMainService.Instance.PomodoroStatus?.TimerState == Enums.TimerState.Running)
             {
                 Device.BeginInvokeOnMainThread(async() =>
                 {
                     var displayAlert      = new DialogProvider(Detail);
                     var cancelRunnigTimer = await displayAlert.DisplayAlert("Cancel Timer", "Running timer will be stopped. Do you want to continue ?", "ok", "cancel");
                     if (cancelRunnigTimer)
                     {
                         AppMainService.Instance.StopPomodoro();
                         exitapp = true;
                     }
                     else
                     {
                         exitapp = false;
                     }
                     if (exitapp)
                     {
                         OnBackButtonPressed();
                     }
                 });
                 return(true);
             }
             else
             {
                 base.OnBackButtonPressed();
                 return(false);
             }
         }
         else
         {
             Detail = previous;
             return(true);
         }
     }
     catch (Exception ex)
     {
         Debug.Fail(ex.Message);
         return(true);
     }
 }