diff --git a/build.gradle b/build.gradle index d8214b1e9..7ee073764 100644 --- a/build.gradle +++ b/build.gradle @@ -27,10 +27,10 @@ android { buildToolsVersion "22" defaultConfig { - versionCode 350 + versionCode 351 versionName "4.7.8" minSdkVersion 7 - targetSdkVersion 22 + targetSdkVersion 21 } signingConfigs { diff --git a/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java b/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java index 6d3ab3eb8..dfeaf4e95 100644 --- a/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java +++ b/src/main/java/com/todoroo/andlib/utility/AndroidUtilities.java @@ -363,6 +363,10 @@ public class AndroidUtilities { return !atLeastHoneycomb(); } + public static boolean preLollipop() { + return !atLeastLollipop(); + } + public static boolean atLeastFroyo() { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO; } diff --git a/src/main/java/com/todoroo/astrid/reminders/ReminderPreferences.java b/src/main/java/com/todoroo/astrid/reminders/ReminderPreferences.java index 45796af12..fa5070516 100644 --- a/src/main/java/com/todoroo/astrid/reminders/ReminderPreferences.java +++ b/src/main/java/com/todoroo/astrid/reminders/ReminderPreferences.java @@ -6,7 +6,9 @@ package com.todoroo.astrid.reminders; import android.content.res.Resources; +import android.os.Bundle; import android.preference.Preference; +import android.preference.PreferenceScreen; import com.todoroo.astrid.utility.TodorooPreferenceActivity; @@ -15,6 +17,8 @@ import org.tasks.R; import java.text.DateFormat; +import static com.todoroo.andlib.utility.AndroidUtilities.atLeastLollipop; + /** * Displays the preference screen for users to edit their preferences * @@ -23,6 +27,19 @@ import java.text.DateFormat; */ public class ReminderPreferences extends TodorooPreferenceActivity { + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + if (atLeastLollipop()) { + Resources resources = getResources(); + PreferenceScreen preferenceScreen = getPreferenceScreen(); + preferenceScreen.removePreference(findPreference(resources.getString(R.string.p_rmd_enable_quiet))); + preferenceScreen.removePreference(findPreference(resources.getString(R.string.p_rmd_quietStart))); + preferenceScreen.removePreference(findPreference(resources.getString(R.string.p_rmd_quietEnd))); + } + } + @Override public int getPreferenceResource() { return R.xml.preferences_reminders; diff --git a/src/main/java/com/todoroo/astrid/reminders/ReminderService.java b/src/main/java/com/todoroo/astrid/reminders/ReminderService.java index a694606ec..bae212e23 100644 --- a/src/main/java/com/todoroo/astrid/reminders/ReminderService.java +++ b/src/main/java/com/todoroo/astrid/reminders/ReminderService.java @@ -312,7 +312,7 @@ public final class ReminderService { long quietHoursEnd = new DateTime().withMillisOfDay(preferences.getInt(R.string.p_rmd_quietEnd, 10 * MILLIS_PER_HOUR)).getMillis(); Date quietHoursEndDate = newDate(quietHoursEnd); - boolean quietHoursEnabled = preferences.getBoolean(R.string.p_rmd_enable_quiet, false); + boolean quietHoursEnabled = preferences.quietHoursEnabled(); long millisToQuiet; long millisToEndOfDay = dueDate - getNowValue(); diff --git a/src/main/java/com/todoroo/astrid/reminders/ShowNotificationReceiver.java b/src/main/java/com/todoroo/astrid/reminders/ShowNotificationReceiver.java index 952956694..733a0e05c 100644 --- a/src/main/java/com/todoroo/astrid/reminders/ShowNotificationReceiver.java +++ b/src/main/java/com/todoroo/astrid/reminders/ShowNotificationReceiver.java @@ -81,7 +81,7 @@ public class ShowNotificationReceiver extends InjectingBroadcastReceiver { * @return whether we're in quiet hours */ static boolean isQuietHours(Preferences preferences) { - boolean quietHoursEnabled = preferences.getBoolean(R.string.p_rmd_enable_quiet, false); + boolean quietHoursEnabled = preferences.quietHoursEnabled(); if (quietHoursEnabled) { long quietHoursStart = new DateTime().withMillisOfDay(preferences.getInt(R.string.p_rmd_quietStart)).getMillis(); long quietHoursEnd = new DateTime().withMillisOfDay(preferences.getInt(R.string.p_rmd_quietEnd)).getMillis(); diff --git a/src/main/java/org/tasks/preferences/Preferences.java b/src/main/java/org/tasks/preferences/Preferences.java index a0c80bde3..f3da80220 100644 --- a/src/main/java/org/tasks/preferences/Preferences.java +++ b/src/main/java/org/tasks/preferences/Preferences.java @@ -27,6 +27,7 @@ import ch.qos.logback.core.rolling.RollingFileAppender; import ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy; import static android.content.SharedPreferences.Editor; +import static com.todoroo.andlib.utility.AndroidUtilities.preLollipop; public class Preferences { @@ -51,6 +52,10 @@ public class Preferences { publicPrefs = context.getSharedPreferences(AstridApiConstants.PUBLIC_PREFS, Context.MODE_WORLD_READABLE); } + public boolean quietHoursEnabled() { + return preLollipop() && getBoolean(R.string.p_rmd_enable_quiet, false); + } + public boolean useDarkWidgetTheme(int widgetId) { boolean legacySetting = getBoolean(R.string.p_use_dark_theme_widget, false); return getBoolean(WidgetConfigActivity.PREF_DARK_THEME + widgetId, legacySetting); diff --git a/src/main/res/xml/preferences_reminders.xml b/src/main/res/xml/preferences_reminders.xml index 650ca1b40..2851201b2 100644 --- a/src/main/res/xml/preferences_reminders.xml +++ b/src/main/res/xml/preferences_reminders.xml @@ -1,47 +1,45 @@ - - - + android:title="@string/rmd_EPr_enable_quiet_title" /> + android:key="@string/p_rmd_quietStart" + android:title="@string/rmd_EPr_quiet_hours_start_title" /> - - - - - + android:key="@string/p_rmd_quietEnd" + android:title="@string/rmd_EPr_quiet_hours_end_title" /> + + + + +