Merge branch 'dynamic_default_reminder' of ssh://github.com/orellazri/tasks into orellazri-dynamic_default_reminder

pull/2068/head 13.0.1
Alex Baker 2 years ago
commit 4b3e7b026b

@ -10,13 +10,14 @@ import org.tasks.time.DateTimeUtils.withMillisOfDay
import javax.inject.Inject
class AlarmCalculator(
private val preferences: Preferences,
private val random: Random,
private val defaultTimeProvider: () -> Int,
){
@Inject
internal constructor(
preferences: Preferences
) : this(Random(), { preferences.defaultDueTime })
) : this(preferences, Random(), { preferences.defaultDueTime })
fun toAlarmEntry(task: Task, alarm: Alarm): AlarmEntry? {
val trigger = when (alarm.type) {
@ -36,7 +37,7 @@ class AlarmCalculator(
when {
task.hasDueTime() ->
task.dueDate + alarm.time
task.hasDueDate() ->
task.hasDueDate() && preferences.isDefaultDueTimeEnabled ->
task.dueDate.withMillisOfDay(defaultTimeProvider()) + alarm.time
else ->
AlarmService.NO_ALARM

@ -87,6 +87,9 @@ class Preferences @JvmOverloads constructor(
private fun quietHoursEnabled(): Boolean = getBoolean(R.string.p_rmd_enable_quiet, false)
val isDefaultDueTimeEnabled: Boolean
get() = getBoolean(R.string.p_rmd_time_enabled, true)
val defaultDueTime: Int
get() = getInt(R.string.p_rmd_time, TimeUnit.HOURS.toMillis(18).toInt())

@ -55,6 +55,7 @@ class Notifications : InjectingPreferenceFragment() {
override suspend fun setupPreferences(savedInstanceState: Bundle?) {
rescheduleNotificationsOnChange(
false,
R.string.p_rmd_time_enabled,
R.string.p_rmd_time,
R.string.p_rmd_enable_quiet,
R.string.p_rmd_quietStart,

@ -69,6 +69,7 @@
<string name="p_rmd_quietEnd">notif_qend_new</string>
<!-- reminder time when task doesn't have a due time (hour of day) -->
<string name="p_rmd_time_enabled">reminder_time_new_enabled</string>
<string name="p_rmd_time">reminder_time_new</string>
<!-- whether "clear all notifications" clears astrid notifications -->

@ -155,7 +155,7 @@ File %1$s contained %2$s.\n\n
<string name="snooze_all">Snooze all</string>
<string name="rmd_EPr_quiet_hours_start_title">Quiet hours start</string>
<string name="rmd_EPr_quiet_hours_end_title">Quiet hours end</string>
<string name="rmd_EPr_rmd_time_title">Default reminder</string>
<string name="rmd_EPr_rmd_time_title">Reminder time</string>
<string name="rmd_EPr_rmd_time_desc">Notifications for tasks without due times will appear at %s</string>
<string name="persistent_notifications">Persistent notifications</string>
<string name="persistent_notifications_description">Persistent notifications cannot be cleared</string>
@ -438,6 +438,7 @@ File %1$s contained %2$s.\n\n
<string name="error_adding_account">Error: %s</string>
<string name="notification_disable_battery_optimizations_description">Battery optimizations may delay notifications</string>
<string name="bundle_notifications">Bundle notifications</string>
<string name="default_reminder">Default Reminder</string>
<string name="badges">Badges</string>
<string name="list">List</string>
<string name="repeats_from">Repeats from</string>
@ -462,6 +463,7 @@ File %1$s contained %2$s.\n\n
<string name="list_separator_with_space">,\u0020</string>
<string name="dont_add_to_calendar">Don\'t add to calendar</string>
<string name="default_calendar">Default calendar</string>
<string name="rmd_time_description">Show notifications for tasks without due times</string>
<string name="badges_description">Display a task count on Tasks\' launcher icon. Not all launchers support badges.</string>
<string name="bundle_notifications_summary">Combine multiple notifications into one</string>
<string name="repeat_monthly_same_day_each_month">on the same day each month</string>

@ -19,17 +19,11 @@
</Preference>
<org.tasks.ui.TimePreference
android:defaultValue="@integer/default_remind_time"
android:key="@string/p_rmd_time"
android:title="@string/rmd_EPr_rmd_time_title"
app:allowDividerAbove="true"
app:time_summary="@string/rmd_EPr_rmd_time_desc" />
<Preference
android:defaultValue="content://settings/system/notification_sound"
android:key="@string/p_completion_ringtone"
android:title="@string/completion_sound" />
android:title="@string/completion_sound"
app:allowDividerAbove="true" />
<SwitchPreferenceCompat
android:defaultValue="true"
@ -86,6 +80,23 @@
</Preference>
<PreferenceCategory android:title="@string/default_reminder">
<SwitchPreferenceCompat
android:defaultValue="true"
android:key="@string/p_rmd_time_enabled"
android:summary="@string/rmd_time_description"
android:title="@string/enabled" />
<org.tasks.ui.TimePreference
android:dependency="@string/p_rmd_time_enabled"
android:defaultValue="@integer/default_remind_time"
android:key="@string/p_rmd_time"
android:title="@string/rmd_EPr_rmd_time_title"
app:time_summary="@string/rmd_EPr_rmd_time_desc" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/badges">
<SwitchPreferenceCompat

Loading…
Cancel
Save