diff --git a/app/src/main/java/com/physphil/android/remindme/job/ShowNotificationJob.kt b/app/src/main/java/com/physphil/android/remindme/job/ShowNotificationJob.kt index dd6bcf5..233a3f0 100644 --- a/app/src/main/java/com/physphil/android/remindme/job/ShowNotificationJob.kt +++ b/app/src/main/java/com/physphil/android/remindme/job/ShowNotificationJob.kt @@ -14,10 +14,8 @@ import com.physphil.android.remindme.data.ReminderRepo import com.physphil.android.remindme.models.Recurrence import com.physphil.android.remindme.reminders.ReminderActivity import com.physphil.android.remindme.util.Notification +import com.physphil.android.remindme.util.localDateTimeFromMillis import com.physphil.android.remindme.util.millis -import org.threeten.bp.Instant -import org.threeten.bp.LocalDateTime -import org.threeten.bp.ZoneId /** * Copyright (c) 2017 Phil Shadlyn @@ -89,7 +87,7 @@ class ShowNotificationJob( text: String, recurrence: Recurrence ) { - val newTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(time), ZoneId.systemDefault()).apply { + val newTime = localDateTimeFromMillis(time).apply { when (recurrence) { Recurrence.HOURLY -> this.plusHours(1) Recurrence.DAILY -> this.plusDays(1) diff --git a/app/src/main/java/com/physphil/android/remindme/reminders/ReminderViewModel.kt b/app/src/main/java/com/physphil/android/remindme/reminders/ReminderViewModel.kt index c6af8e7..7d54e5a 100644 --- a/app/src/main/java/com/physphil/android/remindme/reminders/ReminderViewModel.kt +++ b/app/src/main/java/com/physphil/android/remindme/reminders/ReminderViewModel.kt @@ -109,7 +109,7 @@ class ReminderViewModel( fun updateDate(year: Int, month: Int, dayOfMonth: Int) { val newTime = reminder.time .withYear(year) - .withMonth(month + 1) // Month is 0-11 + .withMonth(month + 1) // Month is 0-11 in DatePicker .withDayOfMonth(dayOfMonth) reminder = reminder.copy(time = newTime) _reminderDateLiveData.postValue(reminder.displayDate) @@ -136,7 +136,7 @@ class ReminderViewModel( _openDatePickerEvent.postValue( Date( year = year, - month = monthValue - 1, // Month is 0-11 + month = monthValue - 1, // Month is 0-11 in DatePicker day = dayOfMonth ) ) diff --git a/app/src/main/java/com/physphil/android/remindme/room/entities/ReminderEntity.kt b/app/src/main/java/com/physphil/android/remindme/room/entities/ReminderEntity.kt index 5a0c747..0d1b3c6 100644 --- a/app/src/main/java/com/physphil/android/remindme/room/entities/ReminderEntity.kt +++ b/app/src/main/java/com/physphil/android/remindme/room/entities/ReminderEntity.kt @@ -12,9 +12,7 @@ import com.physphil.android.remindme.REMINDER_COLUMN_TITLE import com.physphil.android.remindme.TABLE_REMINDERS import com.physphil.android.remindme.models.Recurrence import com.physphil.android.remindme.models.Reminder -import org.threeten.bp.Instant -import org.threeten.bp.LocalDateTime -import org.threeten.bp.ZoneId +import com.physphil.android.remindme.util.localDateTimeFromMillis /** * Entity to store Reminder objects in Room @@ -71,12 +69,9 @@ data class ReminderEntity( id = id, title = title, body = body, - time = fromMillis(this@ReminderEntity.time), + time = localDateTimeFromMillis(this@ReminderEntity.time), recurrence = Recurrence.fromId(recurrence), externalId = externalId, notificationId = notificationId ) - - private fun fromMillis(millis: Long): LocalDateTime = - LocalDateTime.ofInstant(Instant.ofEpochMilli(millis), ZoneId.systemDefault()) } \ No newline at end of file diff --git a/app/src/main/java/com/physphil/android/remindme/util/DateExtensions.kt b/app/src/main/java/com/physphil/android/remindme/util/LocalDateTimeExt.kt similarity index 88% rename from app/src/main/java/com/physphil/android/remindme/util/DateExtensions.kt rename to app/src/main/java/com/physphil/android/remindme/util/LocalDateTimeExt.kt index fc28fb7..264ab8a 100644 --- a/app/src/main/java/com/physphil/android/remindme/util/DateExtensions.kt +++ b/app/src/main/java/com/physphil/android/remindme/util/LocalDateTimeExt.kt @@ -1,5 +1,6 @@ package com.physphil.android.remindme.util +import org.threeten.bp.Instant import org.threeten.bp.LocalDateTime import org.threeten.bp.ZoneId import org.threeten.bp.ZonedDateTime @@ -56,4 +57,7 @@ fun LocalDateTime.tomorrowMorning(): LocalDateTime = private fun LocalDateTime.advanceDay(): LocalDateTime = plusDays(1) val LocalDateTime.millis: Long - get() = ZonedDateTime.of(this, ZoneId.systemDefault()).toInstant().toEpochMilli() \ No newline at end of file + get() = ZonedDateTime.of(this, ZoneId.systemDefault()).toInstant().toEpochMilli() + +fun localDateTimeFromMillis(millis: Long): LocalDateTime = + LocalDateTime.ofInstant(Instant.ofEpochMilli(millis), ZoneId.systemDefault()) \ No newline at end of file diff --git a/app/src/main/java/com/physphil/android/remindme/util/ReminderExtensions.kt b/app/src/main/java/com/physphil/android/remindme/util/ReminderExtensions.kt index 52a86b3..7080d87 100644 --- a/app/src/main/java/com/physphil/android/remindme/util/ReminderExtensions.kt +++ b/app/src/main/java/com/physphil/android/remindme/util/ReminderExtensions.kt @@ -17,4 +17,5 @@ fun Reminder.getDisplayDate(context: Context): String = when { time.isToday() -> context.getString(R.string.reminder_repeat_today) time.isTomorrow() -> context.getString(R.string.reminder_repeat_tomorrow) else -> SimpleDateFormat("EEE MMM d, yyyy").format(time.millis) -} \ No newline at end of file +} +