Toggle deleted tasks from preferences

pull/281/head
Alex Baker 9 years ago
parent b6223335e6
commit 7e0e6fe983

@ -53,9 +53,6 @@ public class SortSelectionActivity {
if((flags & SortHelper.FLAG_SHOW_HIDDEN) > 0) {
((CheckBox) body.findViewById(R.id.hidden)).setChecked(true);
}
if((flags & SortHelper.FLAG_SHOW_DELETED) > 0) {
((CheckBox) body.findViewById(R.id.deleted)).setChecked(true);
}
if(!showDragDrop) {
body.findViewById(R.id.sort_drag).setVisibility(View.GONE);
@ -135,9 +132,6 @@ public class SortSelectionActivity {
if(((CheckBox)body.findViewById(R.id.hidden)).isChecked()) {
flags |= SortHelper.FLAG_SHOW_HIDDEN;
}
if(((CheckBox)body.findViewById(R.id.deleted)).isChecked()) {
flags |= SortHelper.FLAG_SHOW_DELETED;
}
if(((RadioButton)body.findViewById(R.id.sort_drag)).isChecked()) {
flags |= SortHelper.FLAG_DRAG_DROP;
}

@ -695,7 +695,7 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel
+ filter.getSqlQuery();
sqlQueryTemplate.set(SortHelper.adjustQueryForFlagsAndSort(
joinedQuery, sortFlags, sortSort));
preferences, joinedQuery, sortFlags, sortSort));
String groupedQuery;
if (sqlQueryTemplate.get().contains("GROUP BY")) {

@ -5,25 +5,53 @@
*/
package com.todoroo.astrid.core;
import android.content.Intent;
import android.os.Bundle;
import android.preference.Preference;
import com.todoroo.astrid.service.StartupService;
import org.tasks.R;
import org.tasks.injection.InjectingPreferenceActivity;
import org.tasks.preferences.Preferences;
import javax.inject.Inject;
public class OldTaskPreferences extends InjectingPreferenceActivity {
private static final String EXTRA_RESULT = "extra_result";
public static String TOGGLE_DELETED = "toggle_deleted";
private Bundle result;
@Inject StartupService startupService;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
result = savedInstanceState == null ? new Bundle() : savedInstanceState.getBundle(EXTRA_RESULT);
startupService.onStartupApplication(this);
addPreferencesFromResource(R.xml.preferences_oldtasks);
findPreference(getString(R.string.p_show_deleted_tasks)).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
result.putBoolean(TOGGLE_DELETED, true);
setResult(RESULT_OK, new Intent().putExtras(result));
return true;
}
});
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBundle(EXTRA_RESULT, result);
}
}

@ -12,6 +12,9 @@ import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.data.TaskApiDao.TaskCriteria;
import org.tasks.R;
import org.tasks.preferences.Preferences;
/**
* Helpers for sorting a list of tasks
*
@ -23,6 +26,8 @@ public class SortHelper {
public static final int FLAG_REVERSE_SORT = 1;
public static final int FLAG_SHOW_COMPLETED = 1 << 1;
public static final int FLAG_SHOW_HIDDEN = 1 << 2;
@SuppressWarnings("UnusedDeclaration")
@Deprecated
public static final int FLAG_SHOW_DELETED = 1 << 3;
public static final int FLAG_DRAG_DROP = 1 << 4;
@SuppressWarnings("UnusedDeclaration")
@ -39,7 +44,7 @@ public class SortHelper {
/**
* Takes a SQL query, and if there isn't already an order, creates an order.
*/
public static String adjustQueryForFlagsAndSort(String originalSql, int flags, int sort) {
public static String adjustQueryForFlagsAndSort(Preferences preferences, String originalSql, int flags, int sort) {
// sort
if(originalSql == null) {
originalSql = "";
@ -65,7 +70,7 @@ public class SortHelper {
originalSql = originalSql.replace(TaskCriteria.isVisible().toString(),
Criterion.all.toString());
}
if((flags & FLAG_SHOW_DELETED) > 0) {
if (preferences.getBoolean(R.string.p_show_deleted_tasks, false)) {
originalSql = originalSql.replace(Task.DELETION_DATE.eq(0).toString(),
Criterion.all.toString());
}

@ -124,7 +124,7 @@ public class WidgetUpdateService extends InjectingService {
int flags = preferences.getSortFlags();
int sort = preferences.getSortMode();
String query = SortHelper.adjustQueryForFlagsAndSort(
String query = SortHelper.adjustQueryForFlagsAndSort(preferences,
filter.getSqlQuery(), flags, sort).replaceAll("LIMIT \\d+", "") + " LIMIT " + numberOfTasks;
String tagName = preferences.getStringValue(WidgetConfigActivity.PREF_TITLE + widgetId);

@ -6,6 +6,7 @@ import android.net.Uri;
import android.os.Bundle;
import android.preference.Preference;
import com.todoroo.astrid.core.OldTaskPreferences;
import com.todoroo.astrid.reminders.ReminderPreferences;
import org.tasks.R;
@ -30,17 +31,16 @@ public class BasicPreferences extends InjectingPreferenceActivity {
if (!getResources().getBoolean(R.bool.sync_enabled)) {
getPreferenceScreen().removePreference(findPreference(getString(R.string.synchronization)));
}
findPreference(getString(R.string.EPr_appearance_header)).setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
startActivityForResult(new Intent(BasicPreferences.this, AppearancePreferences.class), RC_PREFS);
return true;
}
});
findPreference(getString(R.string.notifications)).setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
setupActivity(R.string.EPr_appearance_header, AppearancePreferences.class);
setupActivity(R.string.notifications, ReminderPreferences.class);
setupActivity(R.string.EPr_manage_header, OldTaskPreferences.class);
}
private void setupActivity(int key, final Class<?> target) {
findPreference(getString(key)).setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
startActivityForResult(new Intent(BasicPreferences.this, ReminderPreferences.class), RC_PREFS);
startActivityForResult(new Intent(BasicPreferences.this, target), RC_PREFS);
return true;
}
});

@ -22,6 +22,7 @@ import com.todoroo.astrid.adapter.FilterAdapter;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.core.OldTaskPreferences;
import com.todoroo.astrid.reminders.ReminderPreferences;
import org.slf4j.Logger;
@ -99,10 +100,12 @@ public class NavigationDrawerFragment extends InjectingFragment {
} else if (data.getBooleanExtra(ReminderPreferences.RESET_GEOFENCES, false)) {
geofenceService.setupGeofences();
}
if (data.getBooleanExtra(AppearancePreferences.FILTERS_CHANGED, false)) {
refresh();
}
if (data.getBooleanExtra(AppearancePreferences.FORCE_REFRESH, false)) {
if (data.getBooleanExtra(AppearancePreferences.FORCE_REFRESH, false) ||
data.getBooleanExtra(OldTaskPreferences.TOGGLE_DELETED, false)) {
getActivity().finish();
getActivity().startActivity(getActivity().getIntent());
}

@ -210,7 +210,7 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
sort = SortHelper.SORT_WIDGET;
}
String query = SortHelper.adjustQueryForFlagsAndSort(
String query = SortHelper.adjustQueryForFlagsAndSort(preferences,
filter.getSqlQuery(), flags, sort).replaceAll("LIMIT \\d+", "");
String tagName = preferences.getStringValue(WidgetConfigActivity.PREF_TITLE + widgetId);

@ -85,11 +85,6 @@
android:layout_height="wrap_content"
android:text="@string/SSD_completed" />
<CheckBox android:id="@+id/deleted"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/SSD_deleted" />
</LinearLayout>
</ScrollView>

@ -242,6 +242,7 @@
<string name="p_geofence_radius">geolocation_radius</string>
<string name="p_geofence_responsiveness">geofence_responsiveness</string>
<string name="p_geofence_reminders_enabled">geofence_reminders_enabled</string>
<string name="p_show_deleted_tasks">show_deleted_tasks</string>
<string-array name="TEA_control_sets_prefs">
<item>@string/TEA_ctrl_when_pref</item>

@ -120,6 +120,7 @@
<string name="tag_settings">Tag Settings</string>
<string name="delete">Delete</string>
<string name="filter_settings">Filter Settings</string>
<string name="deprecated_setting">This setting will be removed in a future update</string>
<string-array name="sync_SPr_interval_entries">
<!-- sync_SPr_interval_entries: Synchronization Intervals -->

@ -35,11 +35,9 @@
android:targetPackage="org.tasks" />
</Preference>
<Preference android:title="@string/EPr_manage_header">
<intent
android:targetClass="com.todoroo.astrid.core.OldTaskPreferences"
android:targetPackage="org.tasks" />
</Preference>
<Preference
android:key="@string/EPr_manage_header"
android:title="@string/EPr_manage_header" />
<Preference android:title="@string/miscellaneous">
<intent

@ -6,6 +6,12 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/EPr_manage_header">
<com.todoroo.astrid.ui.MultilineCheckboxPreference
android:defaultValue="false"
android:key="@string/p_show_deleted_tasks"
android:summary="@string/deprecated_setting"
android:title="@string/SSD_deleted" />
<com.todoroo.astrid.ui.MultilinePreference
android:key="@string/EPr_manage_delete_completed"
android:title="@string/EPr_manage_delete_completed">

Loading…
Cancel
Save