protected override bool OnBackButtonPressed() { bool exitapp = true;; var previous = PageProvider.Back(); if (previous == null) { if (AppMainService.Instance.PomodoroStatus?.TimerState == Enums.TimerState.Running) { Device.BeginInvokeOnMainThread(async() => { var displayAlert = new DialogService(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); } }