diff --git a/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java b/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java index ab5ed8bbc..438ef4ea3 100644 --- a/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java +++ b/commons/src/main/java/org/wikimedia/commons/contributions/Contribution.java @@ -13,7 +13,7 @@ import org.wikimedia.commons.Media; public class Contribution extends Media { // No need to be bitwise - they're mutually exclusive - public static final int STATE_COMPLETED = 0; + public static final int STATE_COMPLETED = -1; public static final int STATE_QUEUED = 1; public static final int STATE_IN_PROGRESS = 2; diff --git a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java index d75ffb594..c9f1d7bce 100644 --- a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java +++ b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java @@ -112,7 +112,15 @@ public class ContributionsActivity extends AuthenticatedActivity implements Load }; private String CONTRIBUTION_SELECTION = ""; - private String CONTRIBUTION_SORT = Contribution.Table.COLUMN_TIMESTAMP + " DESC"; + /* + This sorts in the following order: + Currently Uploading + Queued to Upload (Sorted in ascending order of time added - FIFO) + Completed (Sorted in descending order of time added) + + This is why Contribution.STATE_COMPLETED is -1. + */ + private String CONTRIBUTION_SORT = Contribution.Table.COLUMN_STATE + " DESC, (" + Contribution.Table.COLUMN_TIMESTAMP + " * " + Contribution.Table.COLUMN_STATE + ")"; private BroadcastReceiver messageReceiver = new BroadcastReceiver() { @Override