diff --git a/src/org/lineageos/updater/Update.java b/src/org/lineageos/updater/Update.java index f74394c..2eb595b 100644 --- a/src/org/lineageos/updater/Update.java +++ b/src/org/lineageos/updater/Update.java @@ -15,7 +15,7 @@ */ package org.lineageos.updater; -public class Update implements Comparable { +public class Update { private String mName; private String mDownloadUrl; @@ -83,9 +83,4 @@ public class Update implements Comparable { public void setDownloadUrl(String downloadUrl) { mDownloadUrl = downloadUrl; } - - @Override - public int compareTo(Update u) { - return mTimestamp < u.mTimestamp ? -1 : mTimestamp > u.mTimestamp ? 1 : 0; - } } diff --git a/src/org/lineageos/updater/UpdatesActivity.java b/src/org/lineageos/updater/UpdatesActivity.java index 283aaae..37ad2b2 100644 --- a/src/org/lineageos/updater/UpdatesActivity.java +++ b/src/org/lineageos/updater/UpdatesActivity.java @@ -49,6 +49,7 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.List; public class UpdatesActivity extends AppCompatActivity { @@ -188,8 +189,16 @@ public class UpdatesActivity extends AppCompatActivity { } List updateIds = new ArrayList<>(); - updateIds.addAll(controller.getIds()); - Collections.sort(updateIds); + List sortedUpdates = controller.getUpdates(); + Collections.sort(sortedUpdates, new Comparator() { + @Override + public int compare(UpdateDownload u1, UpdateDownload u2) { + return Long.compare(u2.getTimestamp(), u1.getTimestamp()); + } + }); + for (Update update : sortedUpdates) { + updateIds.add(update.getDownloadId()); + } mAdapter.setData(updateIds); mAdapter.notifyDataSetChanged(); }