diff --git a/GUT.Schedule/GUT.Schedule/Activities/MainActivity.cs b/GUT.Schedule/GUT.Schedule/Activities/MainActivity.cs index 88c528a..432aec1 100644 --- a/GUT.Schedule/GUT.Schedule/Activities/MainActivity.cs +++ b/GUT.Schedule/GUT.Schedule/Activities/MainActivity.cs @@ -35,7 +35,7 @@ namespace GUT.Schedule course.SetList(this, "1234".ToCharArray()); reminder.SetList(this, new string[] { - //"Нет", + "Нет", "Во время начала", "За 5 мин", "За 10 мин" @@ -65,13 +65,7 @@ namespace GUT.Schedule Course = course.SelectedItemPosition + 1, AddGroupToTitle = groupTitle.Checked, Calendar = Calendar.Calendars[calendar.SelectedItemPosition].Id, - Reminder = reminder.SelectedItemPosition * 5 /*switch - { - 1 => 0, - 2 => 5, - 3 => 10, - _ => null - }*/ + Reminder = (reminder.SelectedItemPosition - 1) * 5 }; StartActivity(new Intent(this, typeof(ExportActivity))); diff --git a/GUT.Schedule/GUT.Schedule/Calendar.cs b/GUT.Schedule/GUT.Schedule/Calendar.cs index 8148c69..0c54227 100644 --- a/GUT.Schedule/GUT.Schedule/Calendar.cs +++ b/GUT.Schedule/GUT.Schedule/Calendar.cs @@ -62,7 +62,8 @@ namespace GUT.Schedule eventValues.Put(CalendarContract.Events.InterfaceConsts.Availability, 0); - eventValues.Put(CalendarContract.Events.InterfaceConsts.HasAlarm, 1); + eventValues.Put(CalendarContract.Events.InterfaceConsts.HasAlarm, data.Reminder != -5); + // For some reason Google calendars ignore HasAlarm = false and set reminder for 30 minutes. Local calendars don't seem to have this issue eventValues.Put(CalendarContract.Events.InterfaceConsts.Dtstart, item.StartTime.ToUnixTime()); eventValues.Put(CalendarContract.Events.InterfaceConsts.Dtend, Extensions.ToUnixTime(item.EndTime)); @@ -74,15 +75,14 @@ namespace GUT.Schedule Uri response = Application.Context.ContentResolver.Insert(CalendarContract.Events.ContentUri, eventValues); // Settings reminder - Android.Content.ContentValues reminderValues = new Android.Content.ContentValues(); - reminderValues.Put(CalendarContract.Reminders.InterfaceConsts.EventId, long.Parse(response.LastPathSegment)); - reminderValues.Put(CalendarContract.Reminders.InterfaceConsts.Minutes, data.Reminder); + if(data.Reminder != -5) + { + Android.Content.ContentValues reminderValues = new Android.Content.ContentValues(); + reminderValues.Put(CalendarContract.Reminders.InterfaceConsts.EventId, long.Parse(response.LastPathSegment)); + reminderValues.Put(CalendarContract.Reminders.InterfaceConsts.Minutes, data.Reminder); - Application.Context.ContentResolver.Insert(CalendarContract.Reminders.ContentUri, reminderValues); - - // TODO: Add ability to completely disable reminders - // Fuck Android! - // P.S. I mean fuck Android! + Application.Context.ContentResolver.Insert(CalendarContract.Reminders.ContentUri, reminderValues); + } } } } diff --git a/GUT.Schedule/GUT.Schedule/Resources/layout/activity_main.xml b/GUT.Schedule/GUT.Schedule/Resources/layout/activity_main.xml index d1f7a2d..b6a1d37 100644 --- a/GUT.Schedule/GUT.Schedule/Resources/layout/activity_main.xml +++ b/GUT.Schedule/GUT.Schedule/Resources/layout/activity_main.xml @@ -1,4 +1,4 @@ - + + android:text="(i) При экспорте расписания в Google календарь (не локальный) с отключенными уведомлениями, Google автоматически поставит уведомление за 30 минут"/> \ No newline at end of file