-## 1.8.0 (September 2015)
 -- New MATERIAL DESIGN theme
 -- Updated FILE TYPE ICONS
 -- Preview TXT files within the app
 -- COPY files & folders
 -- Preview the full file/folder name from the long press menu
 -- Set a file as FAVORITE (kept-in-sync) from the CONTEXT MENU
 -- Updated CONFLICT RESOLUTION dialog (wording)
 -- Updated background for images with TRANSPARENCY in GALLERY
 -- Hidden files will not enforce list view instead of GRID VIEW (folders from Picasa & others)
 -- Security:
 -  + Updated network stack with security fixes (Jackrabbit 2.10.1)
 -- Bugs fixed:
 -  + Fixed crash when ETag is lost
 -  + Passcode creation not restarted on device rotation
 -  + Recovered share icon shown on folders 'shared with me'
 -  + User name added to subject when sending a share link through e-mail (fixed on SAMLed apps)
 -
 -## 1.7.2 (July 2015)
 -- New navigation drawer
 -- Improved Passcode
 -- Automatic grid view just for folders full of images
 -- More characters allowed in file names
 -- Support for servers in same domain, different path
 -- Bugs fixed:
 -  + Frequent crashes in folder with several images
 -  + Sync error in servers with huge quota and external storage enable
 -  + Share by link error 
 -  + Some other crashes and minor bugs
 -
 -## 1.7.1 (April 2015)
 -
 -- Share link even with password enforced by server
 -- Get the app ready for oc 8.1 servers
 -- Added option to create new folder in uploads from external apps
 -- Improved management of deleted users
 -- Bugs fixed
 -  + Fixed crash on Android 2.x devices
 -  + Improvements on uploads
 -
 -## 1.7.0 (February 2015)
 -
 -- Download full folders
 -- Grid view for images
 -- Remote thumbnails (OC Server 8.0+)
 -- Added number of files and folders at the end of the list
 -- "Open with" in contextual menu
 -- Downloads added to Media Provider
 -- Uploads:
 -  + Local thumbnails in section "Files"
 -  + Multiple selection in "Content from other apps" (Android 4.3+)
 -- Gallery: 
 -  + proper handling of EXIF
 -  + obey sorting in the list of files
 -- Settings view updated
 -- Improved subjects in e-mails
 -- Bugs fixed
 -
 -
 -
++# 2015-11-10
++- update master
++- PR [#1277] (https://github.com/owncloud/android/pull/1277) "Optimized uploader layout and user configured sorting" merged
++
 +# 2015-11-05
 +- update master
 +- fix #1244
 +- add changelog
 +- add check for update of beta version
 +
 +# 2015-11-02
 +- PR [#1240](https://github.com/owncloud/android/pull/1240) "Set as wallpaper" merged
 +- updated other PRs
 +
 +# 2015-11-01
 +- PR [#1236](https://github.com/owncloud/android/pull/1236) "Streaming video/audio" merged
 +- PR [#1035](https://github.com/owncloud/android/pull/1035) "Enable video thumbnail" merged
 +
 +# 2015-10-31
 +- updated all PR
 +- bugfix: #1234, #1230
 +- implement Crash Handler
 +- implement direct download of latest apk in settings -> last item on bottom
 +
 +# 2015-10-30
 +- fixed problem with Authority
 +
 +# 2015-10-29
 +- PR [#1099](https://github.com/owncloud/android/pull/1099) "Switch list vs grid" merged
 +- PR [#1100](https://github.com/owncloud/android/pull/1100) "Material FAB with speed dial implementation" merged
 +- PR [#1209](https://github.com/owncloud/android/pull/1209) "Material buttons - before in #1090" merged
 +- PR [#1205](https://github.com/owncloud/android/pull/1205) "Switch between online and offline files" merged
 +- PR [#1195](https://github.com/owncloud/android/pull/1195) "Resize Cache" merged
 +- PR [#1187](https://github.com/owncloud/android/pull/1187) "Video: Big thumbnails" merged
 +- PR [#1058](https://github.com/owncloud/android/pull/1058) "add sort to UploadFileActiviy" merged
 +- PR [#1168](https://github.com/owncloud/android/pull/1168) "Avoid duplicate files" merged
 +- PR [#1176](https://github.com/owncloud/android/pull/1176) "Multi select" merged
 +
 +
 +# 2015-10-26
 +- start of branch
 +- PR [#745](https://github.com/owncloud/android/pull/745) merged
 +- PR [#1044](https://github.com/owncloud/android/pull/1044) merged: < 8.1: GalleryPlus app needed, >= 8.2 Gallery app needed
 +- PR [#1111](https://github.com/owncloud/android/pull/1111) merged
 
- Subproject commit fff67c91f73532229cd678cbbee19b52b0852db5
 -Subproject commit 32ab89fc308af2a51b9b7ded7fb40fc786dfd8a6
++Subproject commit b06021b059d532a268a59da3943d11fb0bb880e8
 
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-       android:layout_height="wrap_content" android:orientation="vertical"
-       android:layout_width="wrap_content" android:background="#fefefe"
+       android:layout_height="wrap_content"
+       android:orientation="vertical"
+       android:layout_width="wrap_content"
        android:gravity="center">
  
-       <TextView android:layout_width="fill_parent"
-               android:text="@string/uploader_top_message"
-               android:layout_height="wrap_content"
-               android:id="@+id/drawer_username"
-               android:textColor="@android:color/black"
-               android:gravity="center_horizontal">
-       </TextView>
- 
-       <FrameLayout android:layout_height="fill_parent"
+       <FrameLayout
+               android:layout_height="fill_parent"
                android:layout_width="fill_parent"
-               android:id="@+id/frameLayout1"
-               android:layout_below="@+id/drawer_username"
-               android:layout_above="@+id/linearLayout1">
+               android:id="@+id/upload_list"
+               android:layout_above="@+id/upload_actions">
  
-               <ListView android:id="@android:id/list"
+               <ListView
+                       android:id="@android:id/list"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
 -                      android:divider="#eee"
 +                      android:divider="@color/list_divider_background"
-                       android:dividerHeight="1dip">
+                       android:dividerHeight="1dp">
                </ListView>
  
        </FrameLayout>
 
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
   -->
- <LinearLayout
-       xmlns:android="http://schemas.android.com/apk/res/android"
-       android:layout_width="fill_parent"
-       android:background="#fefefe"
-       android:orientation="horizontal"
-       android:layout_height="72dp"
-     android:padding="@dimen/standard_padding">
-   
-     <ImageView 
-         android:layout_width="@dimen/file_icon_size"
-         android:layout_height="@dimen/file_icon_size"
-         android:layout_gravity="center_vertical|center"
-         android:src="@drawable/ic_menu_archive" 
-         android:id="@+id/thumbnail"
-         android:layout_marginRight="@dimen/standard_padding"/>
-     
-     <TextView 
-         android:text="TextView" 
-         android:layout_width="fill_parent" 
-         android:id="@+id/filename"
-         android:layout_height="wrap_content" 
-         android:textColor="@android:color/black"
-               android:layout_gravity="center_vertical"
-         android:textSize="20dip"/>
-     
+ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+     android:layout_width="fill_parent"
 -    android:layout_height="56dp"
++    android:layout_height="72dp"
+     android:background="@drawable/list_selector"
+     android:orientation="horizontal">
+ 
+     <LinearLayout
 -        android:layout_width="56dp"
 -        android:layout_height="56dp"
++        android:layout_width="60dp"
++        android:layout_height="72dp"
+         android:orientation="horizontal">
+ 
+         <ImageView
+             android:id="@+id/thumbnail"
+             android:layout_width="@dimen/file_icon_size"
+             android:layout_height="@dimen/file_icon_size"
+             android:layout_gravity="center_vertical"
+             android:layout_marginLeft="12dp"
+             android:src="@drawable/ic_menu_archive" />
+ 
+     </LinearLayout>
+ 
+     <LinearLayout
+         android:layout_width="0dp"
+         android:layout_height="match_parent"
+         android:layout_weight="1"
 -        android:gravity="center_vertical"
++        android:gravity="top"
++        android:paddingTop="@dimen/standard_padding"
+         android:orientation="vertical">
+ 
+         <TextView
+             android:id="@+id/filename"
+             android:layout_width="wrap_content"
+             android:layout_height="wrap_content"
+             android:layout_gravity="center_vertical"
 -            android:layout_marginLeft="4dp"
+             android:layout_marginRight="4dp"
+             android:ellipsize="middle"
+             android:singleLine="true"
+             android:text="TextView"
+             android:textColor="@color/textColor"
 -            android:textSize="16dip" />
++            android:textSize="16sp" />
+ 
+         <TextView
+             android:id="@+id/last_mod"
+             android:layout_width="wrap_content"
+             android:layout_height="wrap_content"
 -            android:layout_marginLeft="4dp"
+             android:layout_marginRight="4dp"
+             android:text="TextView"
+             android:textColor="@color/list_item_lastmod_and_filesize_text"
 -            android:textSize="12dip" />
++            android:textSize="14sp" />
+ 
+     </LinearLayout>
+ 
  </LinearLayout>
 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
          // click on folder in the list
          Log_OC.d(TAG, "on item click");
-         Vector<OCFile> tmpfiles = getStorageManager().getFolderContent(mFile, false);
+         // TODO Enable when "On Device" is recovered ?
 -        Vector<OCFile> tmpfiles = getStorageManager().getFolderContent(mFile /*, false*/);
++        Vector<OCFile> tmpfiles = getStorageManager().getFolderContent(mFile , false);
+         tmpfiles = sortFileList(tmpfiles);
+ 
          if (tmpfiles.size() <= 0) return;
          // filter on dirtype
          Vector<OCFile> files = new Vector<OCFile>();
  
          mFile = getStorageManager().getFileByPath(full_path);
          if (mFile != null) {
 -            Vector<OCFile> files = getStorageManager().getFolderContent(mFile/*, false*/);
+             // TODO Enable when "On Device" is recovered ?
 +            Vector<OCFile> files = getStorageManager().getFolderContent(mFile, false);
+             files = sortFileList(files);
+ 
              List<HashMap<String, Object>> data = new LinkedList<HashMap<String,Object>>();
              for (OCFile f : files) {
-                 HashMap<String, Object> h = new HashMap<String, Object>();
                  if (f.isFolder()) {
+                     HashMap<String, Object> h = new HashMap<String, Object>();
                      h.put("dirname", f.getFileName());
+                     h.put("last_mod", DisplayUtils.getRelativeTimestamp(this, f));
                      data.add(h);
                  }
              }
          }
      }
  
 -        files = FileStorageUtils.sortFolder(files);
+     private Vector<OCFile> sortFileList(Vector<OCFile> files) {
+         SharedPreferences sharedPreferences = PreferenceManager
+                 .getDefaultSharedPreferences(this);
+ 
+         // Read sorting order, default to sort by name ascending
+         FileStorageUtils.mSortOrder = sharedPreferences.getInt("sortOrder", 0);
+         FileStorageUtils.mSortAscending = sharedPreferences.getBoolean("sortAscending", true);
+ 
++        files = FileStorageUtils.sortOcFolder(files);
+         return files;
+     }
+ 
      private String generatePath(Stack<String> dirs) {
          String full_path = "";
  
 
              switch (viewType){\r
                  case LIST_ITEM:\r
                      TextView fileSizeV = (TextView) view.findViewById(R.id.file_size);\r
 +                    TextView fileSizeSeparatorV = (TextView) view.findViewById(R.id.file_separator);\r
                      TextView lastModV = (TextView) view.findViewById(R.id.last_mod);\r
 -                    ImageView checkBoxV = (ImageView) view.findViewById(R.id.custom_checkbox);\r
 +\r
  \r
                      lastModV.setVisibility(View.VISIBLE);\r
-                     lastModV.setText(showRelativeTimestamp(file));\r
+                     lastModV.setText(DisplayUtils.getRelativeTimestamp(mContext, file));\r
  \r
 -                    checkBoxV.setVisibility(View.GONE);\r
  \r
 +                    fileSizeSeparatorV.setVisibility(View.VISIBLE);\r
                      fileSizeV.setVisibility(View.VISIBLE);\r
                      fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));\r
  \r