Remove sort flags

pull/281/head
Alex Baker 9 years ago
parent 72b52d5067
commit 0af1a45f38

@ -32,7 +32,7 @@ import static com.todoroo.andlib.utility.AndroidUtilities.atLeastHoneycomb;
public class SortSelectionActivity {
public interface OnSortSelectedListener {
void onSortSelected(int flags, int sort);
void onSortSelected(boolean manualSettingChanged);
}
/**
@ -40,7 +40,6 @@ public class SortSelectionActivity {
*/
public static AlertDialog createDialog(Activity activity, boolean showDragDrop, ActivityPreferences activityPreferences,
OnSortSelectedListener listener) {
int flags = activityPreferences.getSortFlags();
int editDialogTheme = activityPreferences.getEditDialogTheme();
ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(activity, editDialogTheme);
LayoutInflater themedInflater = activity.getLayoutInflater().cloneInContext(contextThemeWrapper);
@ -54,7 +53,7 @@ public class SortSelectionActivity {
body.findViewById(R.id.sort_drag).setVisibility(View.GONE);
}
if(showDragDrop && (flags & SortHelper.FLAG_DRAG_DROP) > 0) {
if(showDragDrop && activityPreferences.getBoolean(R.string.p_manual_sort, false)) {
((RadioButton) body.findViewById(R.id.sort_drag)).setChecked(true);
} else {
switch(activityPreferences.getSortMode()) {
@ -118,15 +117,13 @@ public class SortSelectionActivity {
@Override
public void onClick(DialogInterface view, int button) {
int flags = 0;
int sort;
boolean wasManual = preferences.getBoolean(R.string.p_manual_sort, false);
boolean isManual = ((RadioButton) body.findViewById(R.id.sort_drag)).isChecked();
preferences.setBoolean(R.string.p_manual_sort, isManual);
preferences.setBoolean(R.string.p_reverse_sort, ((CheckBox) body.findViewById(R.id.reverse)).isChecked());
if(((RadioButton)body.findViewById(R.id.sort_drag)).isChecked()) {
flags |= SortHelper.FLAG_DRAG_DROP;
}
if(((RadioButton)body.findViewById(R.id.sort_alpha)).isChecked()) {
sort = SortHelper.SORT_ALPHA;
} else if(((RadioButton)body.findViewById(R.id.sort_due)).isChecked()) {
@ -139,7 +136,9 @@ public class SortSelectionActivity {
sort = SortHelper.SORT_AUTO;
}
listener.onSortSelected(flags, sort);
preferences.setSortMode(sort);
listener.onSortSelected(wasManual != isManual);
}
}
}

@ -244,7 +244,7 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList
public void setupTasklistFragmentWithFilter(Filter filter, Bundle extras) {
Class<?> customTaskList = null;
if (subtasksHelper.shouldUseSubtasksFragmentForFilter(filter)) {
if (subtasksHelper.shouldUseSubtasksFragmentForFilter(filter, getTaskListFragment().isDraggable())) {
customTaskList = SubtasksHelper.subtasksClassForFilter(filter);
}

@ -688,9 +688,8 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel
+ Join.left(TaskAttachment.TABLE.as(FILE_METADATA_JOIN), Task.UUID.eq(Field.field(FILE_METADATA_JOIN + "." + TaskAttachment.TASK_UUID.name)))
+ filter.getSqlQuery();
int sortFlags = SortHelper.setManualSort(preferences.getSortFlags(), isDraggable());
sqlQueryTemplate.set(SortHelper.adjustQueryForFlagsAndSort(
preferences, joinedQuery, sortFlags, preferences.getSortMode()));
preferences, joinedQuery, preferences.getSortMode()));
String groupedQuery;
if (sqlQueryTemplate.get().contains("GROUP BY")) {
@ -896,17 +895,12 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel
}
@Override
public void onSortSelected(int flags, int sort) {
boolean wasManualSort = SortHelper.isManualSort(preferences.getSortFlags());
boolean manualSettingChanged = wasManualSort != SortHelper.isManualSort(flags);
preferences.setSortFlags(flags);
preferences.setSortMode(sort);
public void onSortSelected(boolean manualSettingChanged) {
TasksWidget.updateWidgets(context);
try {
if(manualSettingChanged) {
toggleDragDrop(!wasManualSort);
toggleDragDrop(preferences.getBoolean(R.string.p_manual_sort, false));
} else {
setUpTaskList();
}

@ -23,28 +23,6 @@ import org.tasks.preferences.Preferences;
*/
public class SortHelper {
@SuppressWarnings("UnusedDeclaration")
@Deprecated
public static final int FLAG_REVERSE_SORT = 1;
@SuppressWarnings("UnusedDeclaration")
@Deprecated
public static final int FLAG_SHOW_COMPLETED = 1 << 1;
@SuppressWarnings("UnusedDeclaration")
@Deprecated
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")
@Deprecated
private static final int FLAG_SHOW_RECENTLY_COMPLETED = 1 << 5;
public static final int SORT_AUTO = 0;
public static final int SORT_ALPHA = 1;
public static final int SORT_DUE = 2;
@ -55,7 +33,7 @@ public class SortHelper {
/**
* Takes a SQL query, and if there isn't already an order, creates an order.
*/
public static String adjustQueryForFlagsAndSort(Preferences preferences, String originalSql, int flags, int sort) {
public static String adjustQueryForFlagsAndSort(Preferences preferences, String originalSql, int sort) {
// sort
if(originalSql == null) {
originalSql = "";
@ -89,18 +67,6 @@ public class SortHelper {
return originalSql;
}
public static boolean isManualSort(int flags) {
return (flags & FLAG_DRAG_DROP) > 0;
}
public static int setManualSort(int flags, boolean status) {
flags = (flags & ~FLAG_DRAG_DROP);
if(status) {
flags |= FLAG_DRAG_DROP;
}
return flags;
}
public static Order orderForSortType(int sortType) {
Order order;
switch(sortType) {

@ -22,6 +22,7 @@ import com.todoroo.astrid.subtasks.AstridOrderedListUpdater.Node;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.tasks.R;
import org.tasks.injection.ForApplication;
import org.tasks.preferences.Preferences;
@ -50,10 +51,9 @@ public class SubtasksHelper {
this.taskListMetadataDao = taskListMetadataDao;
}
public boolean shouldUseSubtasksFragmentForFilter(Filter filter) {
public boolean shouldUseSubtasksFragmentForFilter(Filter filter, boolean isDraggable) {
if(filter == null || BuiltInFilterExposer.isInbox(context, filter) || BuiltInFilterExposer.isTodayFilter(context, filter) || filter.isTagFilter()) {
int sortFlags = preferences.getSortFlags();
if(SortHelper.isManualSort(sortFlags)) {
if(isDraggable && preferences.getBoolean(R.string.p_manual_sort, false)) {
return true;
}
}
@ -68,7 +68,7 @@ public class SubtasksHelper {
}
public String applySubtasksToWidgetFilter(Filter filter, String query, String tagName, int limit) {
if (shouldUseSubtasksFragmentForFilter(filter)) {
if (shouldUseSubtasksFragmentForFilter(filter, true)) {
// care for manual ordering
TagData tagData = tagDataDao.getTagByName(tagName, TagData.UUID, TagData.TAG_ORDERING);
TaskListMetadata tlm = null;

@ -122,10 +122,9 @@ public class WidgetUpdateService extends InjectingService {
views.setTextViewText(R.id.widget_title, filter.listingTitle);
views.removeAllViews(R.id.taskbody);
int flags = preferences.getSortFlags();
int sort = preferences.getSortMode();
String query = SortHelper.adjustQueryForFlagsAndSort(preferences,
filter.getSqlQuery(), flags, sort).replaceAll("LIMIT \\d+", "") + " LIMIT " + numberOfTasks;
filter.getSqlQuery(), sort).replaceAll("LIMIT \\d+", "") + " LIMIT " + numberOfTasks;
String tagName = preferences.getStringValue(WidgetConfigActivity.PREF_TITLE + widgetId);
boolean showDueDates = preferences.getBoolean(WidgetConfigActivity.PREF_SHOW_DUE_DATE + widgetId, false);

@ -1,6 +1,5 @@
package org.tasks.preferences;
import android.bluetooth.BluetoothClass;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Resources;
@ -44,7 +43,6 @@ public class Preferences {
private static final String P_CURRENT_VERSION = "cv"; //$NON-NLS-1$
private static final String P_CURRENT_VERSION_NAME = "cvname"; //$NON-NLS-1$
private static final String PREF_SORT_FLAGS = "sort_flags"; //$NON-NLS-1$
private static final String PREF_SORT_SORT = "sort_sort"; //$NON-NLS-1$
private static final String FILE_APPENDER_NAME = "FILE";
@ -216,18 +214,10 @@ public class Preferences {
setString(P_CURRENT_VERSION_NAME, versionName);
}
public int getSortFlags() {
return publicPrefs.getInt(PREF_SORT_FLAGS, 0);
}
public int getSortMode() {
return publicPrefs.getInt(PREF_SORT_SORT, SortHelper.SORT_AUTO);
}
public void setSortFlags(int value) {
setPublicPref(PREF_SORT_FLAGS, value);
}
public void setSortMode(int value) {
setPublicPref(PREF_SORT_SORT, value);
}

@ -197,14 +197,13 @@ public class ScrollableViewsFactory implements RemoteViewsService.RemoteViewsFac
}
private String getQuery() {
int flags = preferences.getSortFlags();
int sort = preferences.getSortMode();
if(sort == 0) {
sort = SortHelper.SORT_WIDGET;
}
String query = SortHelper.adjustQueryForFlagsAndSort(preferences,
filter.getSqlQuery(), flags, sort).replaceAll("LIMIT \\d+", "");
filter.getSqlQuery(), sort).replaceAll("LIMIT \\d+", "");
String tagName = preferences.getStringValue(WidgetConfigActivity.PREF_TITLE + widgetId);

@ -246,6 +246,7 @@
<string name="p_show_hidden_tasks">show_hidden_tasks</string>
<string name="p_show_completed_tasks">show_completed_tasks</string>
<string name="p_reverse_sort">reverse_sort</string>
<string name="p_manual_sort">manual_sort</string>
<string-array name="TEA_control_sets_prefs">
<item>@string/TEA_ctrl_when_pref</item>

Loading…
Cancel
Save