From ee44470a3af824f10d77b28984f01ef304088a83 Mon Sep 17 00:00:00 2001 From: Eric Kok Date: Fri, 15 Nov 2013 15:08:25 +0100 Subject: [PATCH] Added sorting by download speed. Fixes #34. --- core/res/menu/activity_torrents.xml | 1 + core/res/values/strings.xml | 1 + core/src/org/transdroid/core/gui/TorrentsActivity.java | 5 +++++ lib/src/org/transdroid/daemon/TorrentsComparator.java | 4 ++++ lib/src/org/transdroid/daemon/TorrentsSortBy.java | 3 ++- 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/core/res/menu/activity_torrents.xml b/core/res/menu/activity_torrents.xml index 8a64dc92..a596e1ec 100644 --- a/core/res/menu/activity_torrents.xml +++ b/core/res/menu/activity_torrents.xml @@ -69,6 +69,7 @@ + diff --git a/core/res/values/strings.xml b/core/res/values/strings.xml index 16349f53..01c004fb 100644 --- a/core/res/values/strings.xml +++ b/core/res/values/strings.xml @@ -32,6 +32,7 @@ Status Date done Date added + Download speed Upload speed Ratio Filter list diff --git a/core/src/org/transdroid/core/gui/TorrentsActivity.java b/core/src/org/transdroid/core/gui/TorrentsActivity.java index f49cdde5..a3d74c0e 100644 --- a/core/src/org/transdroid/core/gui/TorrentsActivity.java +++ b/core/src/org/transdroid/core/gui/TorrentsActivity.java @@ -683,6 +683,11 @@ public class TorrentsActivity extends SherlockFragmentActivity implements OnNavi fragmentTorrents.sortBy(TorrentsSortBy.DateAdded); } + @OptionsItem(resName = "action_sort_downspeed") + protected void sortByDownspeed() { + fragmentTorrents.sortBy(TorrentsSortBy.DownloadSpeed); + } + @OptionsItem(resName = "action_sort_upspeed") protected void sortByUpspeed() { fragmentTorrents.sortBy(TorrentsSortBy.UploadSpeed); diff --git a/lib/src/org/transdroid/daemon/TorrentsComparator.java b/lib/src/org/transdroid/daemon/TorrentsComparator.java index 34772030..64ea5bd6 100644 --- a/lib/src/org/transdroid/daemon/TorrentsComparator.java +++ b/lib/src/org/transdroid/daemon/TorrentsComparator.java @@ -66,6 +66,8 @@ public class TorrentsComparator implements Comparator { return tor1.getDateAdded().compareTo(tor2.getDateAdded()); case DateDone: return tor1.getDateDone().compareTo(tor2.getDateDone()); + case DownloadSpeed: + return new Integer(tor1.getRateDownload()).compareTo(new Integer(tor2.getRateDownload())); case UploadSpeed: return new Integer(tor1.getRateUpload()).compareTo(new Integer(tor2.getRateUpload())); case Ratio: @@ -85,6 +87,8 @@ public class TorrentsComparator implements Comparator { return 0 - tor1.getDateAdded().compareTo(tor2.getDateAdded()); case DateDone: return 0 - tor1.getDateDone().compareTo(tor2.getDateDone()); + case DownloadSpeed: + return 0 - (new Integer(tor1.getRateDownload()).compareTo(new Integer(tor2.getRateDownload()))); case UploadSpeed: return 0 - (new Integer(tor1.getRateUpload()).compareTo(new Integer(tor2.getRateUpload()))); case Ratio: diff --git a/lib/src/org/transdroid/daemon/TorrentsSortBy.java b/lib/src/org/transdroid/daemon/TorrentsSortBy.java index becb0a35..c4d9a7a0 100644 --- a/lib/src/org/transdroid/daemon/TorrentsSortBy.java +++ b/lib/src/org/transdroid/daemon/TorrentsSortBy.java @@ -27,7 +27,8 @@ public enum TorrentsSortBy { DateDone (3), DateAdded (4), UploadSpeed (5), - Ratio (6); + Ratio (6), + DownloadSpeed (7); private int code; private static final Map lookup = new HashMap();