Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 010d820a authored by Raj Yengisetty's avatar Raj Yengisetty
Browse files

CMFileManager: Add sort by size

Change-Id: Iae8c47beb8f229bb5e1936c0dbd153f356b099d7
parent f7974424
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@
        <item>@string/sort_by_name_desc</item>
        <item>@string/sort_by_date_asc</item>
        <item>@string/sort_by_date_desc</item>
        <item>@string/sort_by_size_asc</item>
        <item>@string/sort_by_size_desc</item>
    </string-array>

    <!-- The strings of the menu for navigation layout mode enumeration -->
+4 −0
Original line number Diff line number Diff line
@@ -180,6 +180,10 @@
    <string name="sort_by_date_asc">By date \u25B2</string>
    <!-- Navigation View - Sort - Sort by date (descending) -->
    <string name="sort_by_date_desc">By date \u25BC</string>
    <!-- Navigation View - Sort - Sort by size (ascending) -->
    <string name="sort_by_size_asc">By size \u25B2</string>
    <!-- Navigation View - Sort - Sort by size (descending) -->
    <string name="sort_by_size_desc">By size \u25BC</string>

    <!-- Navigation View - Layout - Icons -->
    <string name="layout_icons">Icons</string>
+9 −1
Original line number Diff line number Diff line
@@ -36,7 +36,15 @@ public enum NavigationSortMode implements ObjectIdentifier {
    /**
     * That mode sorts objects by date (descending).
     */
    DATE_DESC(3);
    DATE_DESC(3),
    /**
     * That mode sorts objects by size (ascending).
     */
    SIZE_ASC(4),
    /**
     * That mode sorts objects by size (descending).
     */
    SIZE_DESC(5);

    private int mId;

+9 −0
Original line number Diff line number Diff line
@@ -776,6 +776,15 @@ public final class FileHelper {
            return fso1.getLastModifiedTime().compareTo(fso2.getLastModifiedTime()) * -1;
        }

        //Size (ascending)
        if (mode.getId() == NavigationSortMode.SIZE_ASC.getId()) {
            return Long.compare(fso1.getSize(), fso2.getSize());
        }
        //Size (descending)
        if (mode.getId() == NavigationSortMode.SIZE_DESC.getId()) {
            return Long.compare(fso1.getSize(), fso2.getSize()) * -1;
        }

        //Comparison between files directly
        return fso1.compareTo(fso2);
    }