private void RefreshRecordChart() { var entries = new List <Entry>(); for (int i = 0; i < DayRecords.Count; i++) { var dayRecord = DayRecords[i]; var date = dayRecord.Date; var entry = new Entry((float)dayRecord.SuccessRate) { Label = $"{date.Month}/{date.Day},({CreateDateString.ConvertDayOfWeekToKorDayOfWeek(dayRecord.Date)})", Color = SkiaSharp.SKColor.Parse("#1565c0"), ValueLabel = $"{string.Format("{0:0.##}", Math.Round(dayRecord.SuccessRate * 100))}%" }; entries.Add(entry); } SuccessChart = new LineChart() { Entries = entries, LabelTextSize = DependencyService.Get <INativeFont>().GetNativeSize(LabelFontSize), LabelOrientation = Orientation.Horizontal, ValueLabelOrientation = Orientation.Horizontal, LineMode = LineMode.Spline, LineAreaAlpha = 64, AnimationProgress = 3f, AnimationDuration = TimeSpan.FromSeconds(AnimationSec) }; }
private async Task Save() { if (!string.IsNullOrEmpty(Name)) { Name = Name.TrimStart().TrimEnd(); } if (!string.IsNullOrEmpty(WakeUpText)) { WakeUpText = WakeUpText.TrimStart().TrimEnd(); } if (!string.IsNullOrEmpty(PackageName)) { PackageName = PackageName.TrimStart().TrimEnd(); } Alarm.TimeOffset = new DateTime(Date.Year, Date.Month, Date.Day, Time.Hours, Time.Minutes, 0); if (string.IsNullOrEmpty(Name)) { await Application.Current.MainPage.DisplayAlert("", AppResources.ForgotAlarmName, AppResources.OK); } else if (Alarm.TimeOffset.Subtract(DateTime.Now).Ticks < 0 && !DaysOfWeek.GetHasADayBeenSelected(Alarm.Days)) { await Application.Current.MainPage.DisplayAlert("", AppResources.SetTimePast, AppResources.OK); } else if (string.IsNullOrEmpty(WakeUpText) && Alarm.HasWakeUpText) { await Application.Current.MainPage.DisplayAlert("", AppResources.ForgotWordsThatWakeMeUp, AppResources.OK); } else if (string.IsNullOrEmpty(PackageName) && Alarm.IsLinkOtherApp) { await Application.Current.MainPage.DisplayAlert("", AppResources.ForgotLinkOtherApps, AppResources.OK); } else { if (!Alarm.IsActive) { Alarm.ChangeIsActive(Alarm, true); } Alarm.IsLaterAlarm = false; Alarm.IsGoOffPreAlarm = false; var id = Service.SaveAlarm(Alarm); if (Preferences.Get("MaxAlarmId", 3) < id) { Preferences.Set("MaxAlarmId", id); } await ClosePopup(); var diffString = CreateDateString.CreateTimeRemainingString(Alarm.NextAlarmTime); DependencyService.Get <IToastService>().Show(diffString); } }
private void SetLaterAlarm(int minutes) { var alarmTime = SetLaterAlarmAndGetLaterAlarmTime(minutes); AlarmHelper.SetLaterAlarm(alarm); //AlarmController.SetLaterAlarmByManager(alarm, (long)diffTimeSpan.TotalMilliseconds); alarmService.SaveAlarmAtLocal(alarm); countDownForFailed.Cancel(); Toast.MakeText(ApplicationContext, CreateDateString.CreateTimeRemainingString(alarmTime), ToastLength.Long).Show(); NotificationAndroid.NotifyLaterAlarm(alarm, Intent); }
protected override void OnUserLeaveHint() { if (IsNotDelayAlarm) { var alarmTime = GetLaterAlarmTimeForNotDelayAlarm(3); AlarmHelper.SetLaterAlarm(alarm); alarmService.SaveAlarmAtLocal(alarm); Toast.MakeText(ApplicationContext, CreateDateString.CreateTimeRemainingString(alarmTime), ToastLength.Long).Show(); FinishAndRemoveTask(); return; } if (!IsFinished) { SetLaterAlarm(5); FinishAndRemoveTask(); } base.OnUserLeaveHint(); }