From 66ca7a79df33050fbf6877f9a7affec4eba0ef81 Mon Sep 17 00:00:00 2001 From: Gabriele M Date: Mon, 10 Jul 2017 00:45:49 +0200 Subject: [PATCH] Sort the updates, not their IDs Also, use a comparator to sort the updates and stop using the Comparable interface. There are different ways to sort updates, so don't define one. --- src/org/lineageos/updater/Update.java | 7 +------ src/org/lineageos/updater/UpdatesActivity.java | 13 +++++++++++-- 2 files changed, 12 insertions(+), 8 deletions(-) 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(); }