diff --git a/core/res/menu/activity_torrents.xml b/core/res/menu/activity_torrents.xml
index 1b368620..3e7d2c81 100644
--- a/core/res/menu/activity_torrents.xml
+++ b/core/res/menu/activity_torrents.xml
@@ -73,6 +73,7 @@
+
- Download speed
Upload speed
Ratio
+ Size
Filter list
Settings
Help
diff --git a/core/src/org/transdroid/core/gui/TorrentsActivity.java b/core/src/org/transdroid/core/gui/TorrentsActivity.java
index 611f5221..ba2a3924 100644
--- a/core/src/org/transdroid/core/gui/TorrentsActivity.java
+++ b/core/src/org/transdroid/core/gui/TorrentsActivity.java
@@ -816,6 +816,11 @@ public class TorrentsActivity extends Activity implements OnNavigationListener,
fragmentTorrents.sortBy(TorrentsSortBy.Ratio);
}
+ @OptionsItem(resName = "action_sort_size")
+ protected void sortBySize() {
+ fragmentTorrents.sortBy(TorrentsSortBy.Size);
+ }
+
@OptionsItem(resName = "action_filter")
protected void startFilterEntryDialog() {
FilterEntryDialog.startFilterEntry(this);
diff --git a/lib/src/org/transdroid/daemon/TorrentsComparator.java b/lib/src/org/transdroid/daemon/TorrentsComparator.java
index 57bfc15d..c1682158 100644
--- a/lib/src/org/transdroid/daemon/TorrentsComparator.java
+++ b/lib/src/org/transdroid/daemon/TorrentsComparator.java
@@ -74,6 +74,8 @@ public class TorrentsComparator implements Comparator {
return new Integer(tor1.getRateUpload()).compareTo(new Integer(tor2.getRateUpload()));
case Ratio:
return new Double(tor1.getRatio()).compareTo(new Double(tor2.getRatio()));
+ case Size:
+ return new Double(tor1.getTotalSize()).compareTo(new Double(tor2.getTotalSize()));
default:
return alphanumComparator.compare(tor1.getName().toLowerCase(), tor2.getName().toLowerCase());
}
@@ -97,6 +99,8 @@ public class TorrentsComparator implements Comparator {
return 0 - (new Integer(tor1.getRateUpload()).compareTo(new Integer(tor2.getRateUpload())));
case Ratio:
return 0 - new Double(tor1.getRatio()).compareTo(new Double(tor2.getRatio()));
+ case Size:
+ return 0 - new Double(tor1.getTotalSize()).compareTo(new Double(tor2.getTotalSize()));
default:
return 0 - alphanumComparator.compare(tor1.getName().toLowerCase(), tor2.getName().toLowerCase());
}
diff --git a/lib/src/org/transdroid/daemon/TorrentsSortBy.java b/lib/src/org/transdroid/daemon/TorrentsSortBy.java
index afc7a92b..91e40d46 100644
--- a/lib/src/org/transdroid/daemon/TorrentsSortBy.java
+++ b/lib/src/org/transdroid/daemon/TorrentsSortBy.java
@@ -29,7 +29,8 @@ public enum TorrentsSortBy {
UploadSpeed (5),
Ratio (6),
DownloadSpeed (7),
- Percent (8);
+ Percent (8),
+ Size (9);
private int code;
private static final Map lookup = new HashMap();