Add sort by creation date

pull/996/head
Alex Baker 6 years ago
parent a704e5f289
commit 2468cb6f8e

@ -28,6 +28,8 @@ public class SortHelper {
public static final int SORT_DUE = 2; public static final int SORT_DUE = 2;
public static final int SORT_IMPORTANCE = 3; public static final int SORT_IMPORTANCE = 3;
public static final int SORT_MODIFIED = 4; public static final int SORT_MODIFIED = 4;
public static final int SORT_CREATED = 5;
private static final String ADJUSTED_DUE_DATE = private static final String ADJUSTED_DUE_DATE =
"(CASE WHEN (dueDate / 1000) % 60 > 0 THEN dueDate ELSE (dueDate + 43140000) END)"; "(CASE WHEN (dueDate / 1000) % 60 > 0 THEN dueDate ELSE (dueDate + 43140000) END)";
private static final Order ORDER_TITLE = Order.asc(Functions.upper(Task.TITLE)); private static final Order ORDER_TITLE = Order.asc(Functions.upper(Task.TITLE));
@ -89,6 +91,9 @@ public class SortHelper {
case SORT_MODIFIED: case SORT_MODIFIED:
order = Order.desc(Task.MODIFICATION_DATE); order = Order.desc(Task.MODIFICATION_DATE);
break; break;
case SORT_CREATED:
order = Order.desc(Task.CREATION_DATE);
break;
default: default:
order = order =
Order.asc( Order.asc(
@ -127,6 +132,9 @@ public class SortHelper {
case SORT_MODIFIED: case SORT_MODIFIED:
select = "tasks.modified AS sort_modified"; select = "tasks.modified AS sort_modified";
break; break;
case SORT_CREATED:
select = "tasks.created AS sort_created";
break;
default: default:
select ="(CASE WHEN (tasks.dueDate=0) " select ="(CASE WHEN (tasks.dueDate=0) "
+ // if no due date + // if no due date
@ -157,6 +165,9 @@ public class SortHelper {
case SORT_MODIFIED: case SORT_MODIFIED:
order = Order.desc("sort_modified"); order = Order.desc("sort_modified");
break; break;
case SORT_CREATED:
order = Order.desc("sort_created");
break;
default: default:
order = Order.asc("sort_smart"); order = Order.asc("sort_smart");
} }
@ -170,6 +181,4 @@ public class SortHelper {
return order; return order;
} }
} }

@ -64,6 +64,7 @@ public class Task implements Parcelable {
public static final LongProperty DUE_DATE = new LongProperty(TABLE, "dueDate"); public static final LongProperty DUE_DATE = new LongProperty(TABLE, "dueDate");
public static final LongProperty HIDE_UNTIL = new LongProperty(TABLE, "hideUntil"); public static final LongProperty HIDE_UNTIL = new LongProperty(TABLE, "hideUntil");
public static final LongProperty MODIFICATION_DATE = new LongProperty(TABLE, "modified"); public static final LongProperty MODIFICATION_DATE = new LongProperty(TABLE, "modified");
public static final LongProperty CREATION_DATE = new LongProperty(TABLE, "created");
public static final LongProperty COMPLETION_DATE = new LongProperty(TABLE, "completed"); public static final LongProperty COMPLETION_DATE = new LongProperty(TABLE, "completed");
public static final LongProperty DELETION_DATE = new LongProperty(TABLE, "deleted"); public static final LongProperty DELETION_DATE = new LongProperty(TABLE, "deleted");
public static final StringProperty NOTES = new StringProperty(TABLE, "notes"); public static final StringProperty NOTES = new StringProperty(TABLE, "notes");

@ -65,6 +65,7 @@ public class SortDialog extends InjectingDialogFragment {
items.add(getString(R.string.SSD_sort_importance)); items.add(getString(R.string.SSD_sort_importance));
items.add(getString(R.string.SSD_sort_alpha)); items.add(getString(R.string.SSD_sort_alpha));
items.add(getString(R.string.SSD_sort_modified)); items.add(getString(R.string.SSD_sort_modified));
items.add(getString(R.string.sort_created));
if (manualEnabled) { if (manualEnabled) {
if (preferences.isManualSort()) { if (preferences.isManualSort()) {
@ -146,6 +147,8 @@ public class SortDialog extends InjectingDialogFragment {
return 4; return 4;
case SortHelper.SORT_MODIFIED: case SortHelper.SORT_MODIFIED:
return 5; return 5;
case SortHelper.SORT_CREATED:
return 6;
} }
Timber.e("Invalid sort mode: %s", sortMode); Timber.e("Invalid sort mode: %s", sortMode);
@ -164,6 +167,8 @@ public class SortDialog extends InjectingDialogFragment {
return SortHelper.SORT_ALPHA; return SortHelper.SORT_ALPHA;
case 5: case 5:
return SortHelper.SORT_MODIFIED; return SortHelper.SORT_MODIFIED;
case 6:
return SortHelper.SORT_CREATED;
} }
Timber.e("Invalid sort mode: %s", index); Timber.e("Invalid sort mode: %s", index);

@ -38,6 +38,7 @@ File %1$s contained %2$s.\n\n
<string name="SSD_sort_due">By due date</string> <string name="SSD_sort_due">By due date</string>
<string name="SSD_sort_importance">By priority</string> <string name="SSD_sort_importance">By priority</string>
<string name="SSD_sort_modified">By last modified</string> <string name="SSD_sort_modified">By last modified</string>
<string name="sort_created">By creation time</string>
<string name="FLA_search_filter">Matching \'%s\'</string> <string name="FLA_search_filter">Matching \'%s\'</string>
<string name="FLA_new_filter">Create new filter</string> <string name="FLA_new_filter">Create new filter</string>
<string name="TEA_title_hint">Task name</string> <string name="TEA_title_hint">Task name</string>

Loading…
Cancel
Save