Backported some changes made in the wimm project

pull/14/head
Sam Bosley 13 years ago
parent dc1c14a5b7
commit 1cede7423f

@ -45,28 +45,7 @@ public class SortHelper {
if(originalSql == null)
originalSql = "";
if(!originalSql.toUpperCase().contains("ORDER BY")) {
Order order;
switch(sort) {
case SORT_ALPHA:
order = Order.asc(Functions.upper(Task.TITLE));
break;
case SORT_DUE:
order = Order.asc(Functions.caseStatement(Task.DUE_DATE.eq(0),
DateUtilities.now()*2, Task.DUE_DATE) + "+" + Task.IMPORTANCE +
"+3*" + Task.COMPLETION_DATE);
break;
case SORT_IMPORTANCE:
order = Order.asc(Task.IMPORTANCE + "*" + (2*DateUtilities.now()) + //$NON-NLS-1$
"+" + Functions.caseStatement(Task.DUE_DATE.eq(0), //$NON-NLS-1$
Functions.now() + "+" + DateUtilities.ONE_WEEK, //$NON-NLS-1$
Task.DUE_DATE) + "+8*" + Task.COMPLETION_DATE);
break;
case SORT_MODIFIED:
order = Order.desc(Task.MODIFICATION_DATE);
break;
default:
order = defaultTaskOrder();
}
Order order = orderForSortType(sort);
if((flags & FLAG_REVERSE_SORT) > 0)
order = order.reverse();
@ -88,6 +67,32 @@ public class SortHelper {
}
public static Order orderForSortType(int sortType) {
Order order;
switch(sortType) {
case SORT_ALPHA:
order = Order.asc(Functions.upper(Task.TITLE));
break;
case SORT_DUE:
order = Order.asc(Functions.caseStatement(Task.DUE_DATE.eq(0),
DateUtilities.now()*2, Task.DUE_DATE) + "+" + Task.IMPORTANCE +
"+3*" + Task.COMPLETION_DATE);
break;
case SORT_IMPORTANCE:
order = Order.asc(Task.IMPORTANCE + "*" + (2*DateUtilities.now()) + //$NON-NLS-1$
"+" + Functions.caseStatement(Task.DUE_DATE.eq(0), //$NON-NLS-1$
Functions.now() + "+" + DateUtilities.ONE_WEEK, //$NON-NLS-1$
Task.DUE_DATE) + "+8*" + Task.COMPLETION_DATE);
break;
case SORT_MODIFIED:
order = Order.desc(Task.MODIFICATION_DATE);
break;
default:
order = defaultTaskOrder();
}
return order;
}
/**
* Returns SQL task ordering that is astrid's default algorithm
* @return

@ -162,8 +162,17 @@ public class ActFmInvoker {
params.add(new Pair<String, Object>("app_id", APP_ID));
params.add(new Pair<String, Object>("time", System.currentTimeMillis() / 1000L));
params.add(new Pair<String, Object>("api", API_VERSION));
if(token != null)
params.add(new Pair<String, Object>("token", token));
if(token != null) {
boolean foundTokenKey = false;
for (Pair<String, Object> curr : params) {
if (curr.getLeft().equals("token")) {
foundTokenKey = true;
break;
}
}
if (!foundTokenKey)
params.add(new Pair<String, Object>("token", token));
}
Collections.sort(params, new Comparator<Pair<String, Object>>() {
@Override

Loading…
Cancel
Save