Disable quiet hours for Android 5.0+

Users should use Android's notification priority
pull/253/head
Alex Baker 9 years ago
parent 462276a8a6
commit f40941d71c

@ -27,10 +27,10 @@ android {
buildToolsVersion "22" buildToolsVersion "22"
defaultConfig { defaultConfig {
versionCode 350 versionCode 351
versionName "4.7.8" versionName "4.7.8"
minSdkVersion 7 minSdkVersion 7
targetSdkVersion 22 targetSdkVersion 21
} }
signingConfigs { signingConfigs {

@ -363,6 +363,10 @@ public class AndroidUtilities {
return !atLeastHoneycomb(); return !atLeastHoneycomb();
} }
public static boolean preLollipop() {
return !atLeastLollipop();
}
public static boolean atLeastFroyo() { public static boolean atLeastFroyo() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO; return Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO;
} }

@ -6,7 +6,9 @@
package com.todoroo.astrid.reminders; package com.todoroo.astrid.reminders;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.Bundle;
import android.preference.Preference; import android.preference.Preference;
import android.preference.PreferenceScreen;
import com.todoroo.astrid.utility.TodorooPreferenceActivity; import com.todoroo.astrid.utility.TodorooPreferenceActivity;
@ -15,6 +17,8 @@ import org.tasks.R;
import java.text.DateFormat; import java.text.DateFormat;
import static com.todoroo.andlib.utility.AndroidUtilities.atLeastLollipop;
/** /**
* Displays the preference screen for users to edit their preferences * Displays the preference screen for users to edit their preferences
* *
@ -23,6 +27,19 @@ import java.text.DateFormat;
*/ */
public class ReminderPreferences extends TodorooPreferenceActivity { 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 @Override
public int getPreferenceResource() { public int getPreferenceResource() {
return R.xml.preferences_reminders; return R.xml.preferences_reminders;

@ -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(); long quietHoursEnd = new DateTime().withMillisOfDay(preferences.getInt(R.string.p_rmd_quietEnd, 10 * MILLIS_PER_HOUR)).getMillis();
Date quietHoursEndDate = newDate(quietHoursEnd); Date quietHoursEndDate = newDate(quietHoursEnd);
boolean quietHoursEnabled = preferences.getBoolean(R.string.p_rmd_enable_quiet, false); boolean quietHoursEnabled = preferences.quietHoursEnabled();
long millisToQuiet; long millisToQuiet;
long millisToEndOfDay = dueDate - getNowValue(); long millisToEndOfDay = dueDate - getNowValue();

@ -81,7 +81,7 @@ public class ShowNotificationReceiver extends InjectingBroadcastReceiver {
* @return whether we're in quiet hours * @return whether we're in quiet hours
*/ */
static boolean isQuietHours(Preferences preferences) { static boolean isQuietHours(Preferences preferences) {
boolean quietHoursEnabled = preferences.getBoolean(R.string.p_rmd_enable_quiet, false); boolean quietHoursEnabled = preferences.quietHoursEnabled();
if (quietHoursEnabled) { if (quietHoursEnabled) {
long quietHoursStart = new DateTime().withMillisOfDay(preferences.getInt(R.string.p_rmd_quietStart)).getMillis(); 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(); long quietHoursEnd = new DateTime().withMillisOfDay(preferences.getInt(R.string.p_rmd_quietEnd)).getMillis();

@ -27,6 +27,7 @@ import ch.qos.logback.core.rolling.RollingFileAppender;
import ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy; import ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy;
import static android.content.SharedPreferences.Editor; import static android.content.SharedPreferences.Editor;
import static com.todoroo.andlib.utility.AndroidUtilities.preLollipop;
public class Preferences { public class Preferences {
@ -51,6 +52,10 @@ public class Preferences {
publicPrefs = context.getSharedPreferences(AstridApiConstants.PUBLIC_PREFS, Context.MODE_WORLD_READABLE); 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) { public boolean useDarkWidgetTheme(int widgetId) {
boolean legacySetting = getBoolean(R.string.p_use_dark_theme_widget, false); boolean legacySetting = getBoolean(R.string.p_use_dark_theme_widget, false);
return getBoolean(WidgetConfigActivity.PREF_DARK_THEME + widgetId, legacySetting); return getBoolean(WidgetConfigActivity.PREF_DARK_THEME + widgetId, legacySetting);

@ -1,47 +1,45 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?><!--
<!--
** Copyright (c) 2012 Todoroo Inc ** Copyright (c) 2012 Todoroo Inc
** **
** See the file "LICENSE" for the full license governing this code. ** See the file "LICENSE" for the full license governing this code.
--> -->
<PreferenceScreen <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/rmd_EPr_alerts_header"> android:title="@string/rmd_EPr_alerts_header">
<CheckBoxPreference <CheckBoxPreference
android:defaultValue="false"
android:key="@string/p_rmd_enable_quiet" android:key="@string/p_rmd_enable_quiet"
android:title="@string/rmd_EPr_enable_quiet_title" android:title="@string/rmd_EPr_enable_quiet_title" />
android:defaultValue="false"/>
<org.tasks.ui.TimePreference <org.tasks.ui.TimePreference
android:key="@string/p_rmd_quietStart"
android:defaultValue="@integer/default_quiet_hours_start" android:defaultValue="@integer/default_quiet_hours_start"
android:dependency="@string/p_rmd_enable_quiet" android:dependency="@string/p_rmd_enable_quiet"
android:title="@string/rmd_EPr_quiet_hours_start_title"/> android:key="@string/p_rmd_quietStart"
android:title="@string/rmd_EPr_quiet_hours_start_title" />
<org.tasks.ui.TimePreference <org.tasks.ui.TimePreference
android:key="@string/p_rmd_quietEnd"
android:defaultValue="@integer/default_quiet_hours_end" android:defaultValue="@integer/default_quiet_hours_end"
android:dependency="@string/p_rmd_enable_quiet" android:dependency="@string/p_rmd_enable_quiet"
android:title="@string/rmd_EPr_quiet_hours_end_title"/> android:key="@string/p_rmd_quietEnd"
<org.tasks.ui.TimePreference android:title="@string/rmd_EPr_quiet_hours_end_title" />
android:key="@string/p_rmd_time" <org.tasks.ui.TimePreference
android:defaultValue="@integer/default_remind_time" android:defaultValue="@integer/default_remind_time"
android:title="@string/rmd_EPr_rmd_time_title"/> android:key="@string/p_rmd_time"
<com.todoroo.astrid.ui.MultilineCheckboxPreference android:title="@string/rmd_EPr_rmd_time_title" />
android:key="@string/p_rmd_persistent" <com.todoroo.astrid.ui.MultilineCheckboxPreference
android:title="@string/rmd_EPr_persistent_title"/> android:key="@string/p_rmd_persistent"
<com.todoroo.astrid.ui.MultilineCheckboxPreference android:title="@string/rmd_EPr_persistent_title" />
android:key="@string/p_rmd_maxvolume" <com.todoroo.astrid.ui.MultilineCheckboxPreference
android:title="@string/rmd_EPr_multiple_maxvolume_title" android:defaultValue="false"
android:defaultValue="false" /> android:key="@string/p_rmd_maxvolume"
<com.todoroo.astrid.ui.MultilineCheckboxPreference android:title="@string/rmd_EPr_multiple_maxvolume_title" />
android:key="@string/p_rmd_vibrate" <com.todoroo.astrid.ui.MultilineCheckboxPreference
android:title="@string/rmd_EPr_vibrate_title" android:defaultValue="true"
android:defaultValue="true" /> android:key="@string/p_rmd_vibrate"
<RingtonePreference android:title="@string/rmd_EPr_vibrate_title" />
android:key="@string/p_rmd_ringtone" <RingtonePreference
android:title="@string/rmd_EPr_ringtone_title" android:key="@string/p_rmd_ringtone"
android:ringtoneType="notification" android:ringtoneType="notification"
android:showDefault="true" android:showDefault="true"
android:showSilent="true" /> android:showSilent="true"
android:title="@string/rmd_EPr_ringtone_title" />
</PreferenceScreen> </PreferenceScreen>

Loading…
Cancel
Save