Browse Source

new sorting order dialog

AndyScherzinger 8 năm trước cách đây
mục cha
commit
8e884b8cf5

+ 74 - 0
drawable_resources/alphabetical_asc.svg

@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="24"
+   height="24"
+   viewBox="0 0 24 24"
+   id="svg2"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="alphabetical_asc.svg"
+   inkscape:export-filename="C:\DEV\src\Android\Nextcloud\newSortingLayout\res\drawable-xxxhdpi\ic_alphabetical_asc.png"
+   inkscape:export-xdpi="360"
+   inkscape:export-ydpi="360">
+  <metadata
+     id="metadata10">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs8" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1005"
+     id="namedview6"
+     showgrid="false"
+     inkscape:zoom="27.81"
+     inkscape:cx="2.3451996"
+     inkscape:cy="12"
+     inkscape:window-x="-9"
+     inkscape:window-y="-9"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <g
+     id="g4174"
+     transform="matrix(0.92801764,0,0,0.92801764,3.1474097,-0.40986228)"
+     style="fill:#757575;fill-opacity:1">
+    <path
+       inkscape:connector-curvature="0"
+       id="path4"
+       d="m 4.9604453,12.687998 0,1.805869 4.0659743,0 0,0.05724 -4.4906676,6.399939 0,1.190987 7.326878,0 0,-1.815101 -4.4537366,0 0,-0.07571 4.3872636,-6.296537 0,-1.266693 -6.8357117,0 z"
+       style="fill:#757575;fill-opacity:1" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4-2"
+       d="m 6.9569297,2.3102604 -2.9211499,9.4540376 2.2416409,0 0.679509,-2.5536989 2.7328076,0 0.7367497,2.5536989 2.326579,0 -2.9599252,-9.4540376 -2.8362111,0 z m 1.314702,1.539974 0.027698,0 0.2363509,0.9084738 0.2455834,0.9177062 0.5964168,2.0034438 -2.1086935,0 0.566873,-1.9849791 0.2271185,-0.9269383 0.2086535,-0.9177064 z"
+       style="fill:#757575;fill-opacity:1" />
+  </g>
+  <path
+     inkscape:connector-curvature="0"
+     d="m 19.12569,21.6966 -1.428741,0.0014 -0.0086,-6.184289 -1.53692,1.544835 -1.015429,-1.013386 3.263957,-3.275355 3.275354,3.263958 -1.013385,1.015428 -1.544836,-1.53692 z"
+     id="path4-3"
+     sodipodi:nodetypes="cccccccccc"
+     style="fill:#757575;fill-opacity:1" />
+</svg>

+ 74 - 0
drawable_resources/alphabetical_desc.svg

@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="24"
+   height="24"
+   viewBox="0 0 24 24"
+   id="svg2"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="alphabetical_desc.svg"
+   inkscape:export-filename="C:\DEV\src\Android\Nextcloud\newSortingLayout\res\drawable-xxxhdpi\ic_alphabetical_desc.png"
+   inkscape:export-xdpi="360"
+   inkscape:export-ydpi="360">
+  <metadata
+     id="metadata10">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs8" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1005"
+     id="namedview6"
+     showgrid="false"
+     inkscape:zoom="27.81"
+     inkscape:cx="2.3451996"
+     inkscape:cy="12"
+     inkscape:window-x="-9"
+     inkscape:window-y="-9"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <g
+     id="g4174"
+     transform="matrix(0.92801764,0,0,0.92801764,3.1474097,-0.40986228)"
+     style="fill:#757575;fill-opacity:1">
+    <path
+       inkscape:connector-curvature="0"
+       id="path4"
+       d="m 4.9604453,12.687998 0,1.805869 4.0659743,0 0,0.05724 -4.4906676,6.399939 0,1.190987 7.326878,0 0,-1.815101 -4.4537366,0 0,-0.07571 4.3872636,-6.296537 0,-1.266693 -6.8357117,0 z"
+       style="fill:#757575;fill-opacity:1" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4-2"
+       d="m 6.9569297,2.3102604 -2.9211499,9.4540376 2.2416409,0 0.679509,-2.5536989 2.7328076,0 0.7367497,2.5536989 2.326579,0 -2.9599252,-9.4540376 -2.8362111,0 z m 1.314702,1.539974 0.027698,0 0.2363509,0.9084738 0.2455834,0.9177062 0.5964168,2.0034438 -2.1086935,0 0.566873,-1.9849791 0.2271185,-0.9269383 0.2086535,-0.9177064 z"
+       style="fill:#757575;fill-opacity:1" />
+  </g>
+  <path
+     inkscape:connector-curvature="0"
+     d="m 19.12569,12.771205 -1.428741,-0.0014 -0.0086,6.184289 -1.53692,-1.544835 -1.015429,1.013386 3.263957,3.275355 3.275354,-3.263958 -1.013385,-1.015428 -1.544836,1.53692 z"
+     id="path4-3"
+     sodipodi:nodetypes="cccccccccc"
+     style="fill:#757575;fill-opacity:1" />
+</svg>

+ 1 - 0
drawable_resources/arrow-right.svg

@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z" /></svg>

+ 1 - 0
drawable_resources/calendar.svg

@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M17,12H12V17H17V12Z" /></svg>

+ 63 - 0
drawable_resources/modified_asc.svg

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="24"
+   height="24"
+   viewBox="0 0 24 24"
+   id="svg2"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="modified_asc.svg"
+   inkscape:export-filename="C:\DEV\src\Android\Nextcloud\newSortingLayout\res\drawable-xxxhdpi\ic_modified_asc.png"
+   inkscape:export-xdpi="360"
+   inkscape:export-ydpi="360">
+  <metadata
+     id="metadata10">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs8" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1005"
+     id="namedview6"
+     showgrid="false"
+     inkscape:zoom="27.812867"
+     inkscape:cx="3.7838958"
+     inkscape:cy="6.7845462"
+     inkscape:window-x="-9"
+     inkscape:window-y="-9"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <path
+     style="fill:#757575;fill-opacity:1"
+     d="M 10.865234 2 A 8.866 8.866 0 0 0 2 10.865234 C 2 15.741534 5.9623376 19.732422 10.865234 19.732422 A 8.866 8.866 0 0 0 13.613281 19.285156 L 13.613281 17.402344 A 7.0928 7.0928 0 0 1 10.865234 17.958984 A 7.0928 7.0928 0 0 1 3.7734375 10.865234 A 7.0928 7.0928 0 0 1 10.865234 3.7734375 A 7.0928 7.0928 0 0 1 17.958984 10.865234 A 7.0928 7.0928 0 0 1 17.949219 11.162109 L 19.716797 11.162109 A 8.866 8.866 0 0 0 19.732422 10.865234 A 8.866 8.866 0 0 0 10.865234 2 z M 9.9785156 6.4335938 L 9.9785156 11.751953 L 14.634766 14.544922 L 15.298828 13.455078 L 11.308594 11.087891 L 11.308594 6.4335938 L 9.9785156 6.4335938 z "
+     id="path4" />
+  <path
+     inkscape:connector-curvature="0"
+     d="m 19.12569,21.6966 -1.428741,0.0014 -0.0086,-6.184289 -1.53692,1.544835 -1.015429,-1.013386 3.263957,-3.275355 3.275354,3.263958 -1.013385,1.015428 -1.544836,-1.53692 z"
+     id="path4-3"
+     sodipodi:nodetypes="cccccccccc"
+     style="fill:#757575;fill-opacity:1" />
+</svg>

+ 63 - 0
drawable_resources/modified_desc.svg

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="24"
+   height="24"
+   viewBox="0 0 24 24"
+   id="svg2"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="modified_desc.svg"
+   inkscape:export-filename="C:\DEV\src\Android\Nextcloud\newSortingLayout\res\drawable-xxxhdpi\ic_modified_desc.png"
+   inkscape:export-xdpi="360"
+   inkscape:export-ydpi="360">
+  <metadata
+     id="metadata10">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs8" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1005"
+     id="namedview6"
+     showgrid="false"
+     inkscape:zoom="27.812867"
+     inkscape:cx="3.7838958"
+     inkscape:cy="6.7845462"
+     inkscape:window-x="-9"
+     inkscape:window-y="-9"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <path
+     style="fill:#757575;fill-opacity:1"
+     d="M 10.865234 2 A 8.866 8.866 0 0 0 2 10.865234 C 2 15.741534 5.9623376 19.732422 10.865234 19.732422 A 8.866 8.866 0 0 0 13.613281 19.285156 L 13.613281 17.402344 A 7.0928 7.0928 0 0 1 10.865234 17.958984 A 7.0928 7.0928 0 0 1 3.7734375 10.865234 A 7.0928 7.0928 0 0 1 10.865234 3.7734375 A 7.0928 7.0928 0 0 1 17.958984 10.865234 A 7.0928 7.0928 0 0 1 17.949219 11.162109 L 19.716797 11.162109 A 8.866 8.866 0 0 0 19.732422 10.865234 A 8.866 8.866 0 0 0 10.865234 2 z M 9.9785156 6.4335938 L 9.9785156 11.751953 L 14.634766 14.544922 L 15.298828 13.455078 L 11.308594 11.087891 L 11.308594 6.4335938 L 9.9785156 6.4335938 z "
+     id="path4" />
+  <path
+     inkscape:connector-curvature="0"
+     d="m 19.12569,12.771205 -1.428741,-0.0014 -0.0086,6.184289 -1.53692,-1.544835 -1.015429,1.013386 3.263957,3.275355 3.275354,-3.263958 -1.013385,-1.015428 -1.544836,1.53692 z"
+     id="path4-3"
+     sodipodi:nodetypes="cccccccccc"
+     style="fill:#757575;fill-opacity:1" />
+</svg>

+ 77 - 0
drawable_resources/size_asc.svg

@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="24"
+   height="24"
+   viewBox="0 0 24 24"
+   id="svg2"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="modified_asc.svg"
+   inkscape:export-filename="C:\DEV\src\Android\Nextcloud\newSortingLayout\res\drawable-xxxhdpi\modified_asc.png"
+   inkscape:export-xdpi="360"
+   inkscape:export-ydpi="360">
+  <metadata
+     id="metadata10">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs8" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1005"
+     id="namedview6"
+     showgrid="false"
+     inkscape:zoom="27.812867"
+     inkscape:cx="-1.58817"
+     inkscape:cy="9.6980337"
+     inkscape:window-x="-9"
+     inkscape:window-y="-9"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer3"
+     inkscape:label="Layer 3" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="Layer 2"
+     style="display:inline" />
+  <path
+     inkscape:connector-curvature="0"
+     d="M 10.865904,2 A 8.8659039,8.8659039 0 0 0 2,10.865904 a 8.8659039,8.8659039 0 0 0 8.865904,8.865904 8.8659039,8.8659039 0 0 0 2.810422,-0.465807 l -0.06234,-1.868419 a 7.0927231,7.0927231 0 0 1 -2.748086,0.561045 7.0927231,7.0927231 0 0 1 -7.0927232,-7.092723 7.0927231,7.0927231 0 0 1 7.0927232,-7.0927232 7.0927231,7.0927231 0 0 1 7.092723,7.0927232 7.0927231,7.0927231 0 0 1 -0.01559,0.294375 l 1.781839,0 a 8.8659039,8.8659039 0 0 0 0.0069,-0.294375 A 8.8659039,8.8659039 0 0 0 10.865904,2 Z m 0,3.5463616 0,5.3195424 -3.7593512,3.759351 c 2.0746219,2.074621 5.4440802,2.074621 7.5187022,0 2.083487,-2.074622 2.083487,-5.4440803 0,-7.5187022 C 13.587944,6.0603762 12.222387,5.5463616 10.865904,5.5463616 Z"
+     id="path4"
+     style="fill:#757575;fill-opacity:1" />
+  <path
+     inkscape:connector-curvature="0"
+     d="m 19.125863,21.696362 -1.428741,0.0014 -0.0086,-6.184289 -1.53692,1.544835 -1.015429,-1.013386 3.263957,-3.275355 3.275354,3.263958 -1.013385,1.015428 -1.544836,-1.53692 z"
+     id="path4-3"
+     sodipodi:nodetypes="cccccccccc"
+     style="fill:#757575;fill-opacity:1" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer1"
+     inkscape:label="Layer 1" />
+</svg>

+ 77 - 0
drawable_resources/size_desc.svg

@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="24"
+   height="24"
+   viewBox="0 0 24 24"
+   id="svg2"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="modified_desc.svg"
+   inkscape:export-filename="C:\DEV\src\Android\Nextcloud\newSortingLayout\res\drawable-xxxhdpi\modified_desc.png"
+   inkscape:export-xdpi="360"
+   inkscape:export-ydpi="360">
+  <metadata
+     id="metadata10">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs8" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1005"
+     id="namedview6"
+     showgrid="false"
+     inkscape:zoom="27.812867"
+     inkscape:cx="-1.58817"
+     inkscape:cy="9.6980337"
+     inkscape:window-x="-9"
+     inkscape:window-y="-9"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer3"
+     inkscape:label="Layer 3" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="Layer 2"
+     style="display:inline" />
+  <path
+     inkscape:connector-curvature="0"
+     d="M 10.865904,2 A 8.8659039,8.8659039 0 0 0 2,10.865904 a 8.8659039,8.8659039 0 0 0 8.865904,8.865904 8.8659039,8.8659039 0 0 0 2.810422,-0.465807 l -0.06234,-1.868419 a 7.0927231,7.0927231 0 0 1 -2.748086,0.561045 7.0927231,7.0927231 0 0 1 -7.0927232,-7.092723 7.0927231,7.0927231 0 0 1 7.0927232,-7.0927232 7.0927231,7.0927231 0 0 1 7.092723,7.0927232 7.0927231,7.0927231 0 0 1 -0.01559,0.294375 l 1.781839,0 a 8.8659039,8.8659039 0 0 0 0.0069,-0.294375 A 8.8659039,8.8659039 0 0 0 10.865904,2 Z m 0,3.5463616 0,5.3195424 -3.7593512,3.759351 c 2.0746219,2.074621 5.4440802,2.074621 7.5187022,0 2.083487,-2.074622 2.083487,-5.4440803 0,-7.5187022 C 13.587944,6.0603762 12.222387,5.5463616 10.865904,5.5463616 Z"
+     id="path4"
+     style="fill:#757575;fill-opacity:1" />
+  <path
+     inkscape:connector-curvature="0"
+     d="m 19.125863,12.770967 -1.428741,-0.0014 -0.0086,6.184289 -1.53692,-1.544835 -1.015429,1.013386 3.263957,3.275355 3.275354,-3.263958 -1.013385,-1.015428 -1.544836,1.53692 z"
+     id="path4-3"
+     sodipodi:nodetypes="cccccccccc"
+     style="fill:#757575;fill-opacity:1" />
+  <g
+     inkscape:groupmode="layer"
+     id="layer1"
+     inkscape:label="Layer 1" />
+</svg>

BIN
res/drawable-xxxhdpi/ic_alphabetical_asc.png


BIN
res/drawable-xxxhdpi/ic_alphabetical_desc.png


BIN
res/drawable-xxxhdpi/ic_modification_asc.png


BIN
res/drawable-xxxhdpi/ic_modification_desc.png


BIN
res/drawable-xxxhdpi/ic_size_asc.png


BIN
res/drawable-xxxhdpi/ic_size_desc.png


+ 165 - 0
res/layout/sorting_order_fragment.xml

@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Nextcloud Android client application
+
+  Copyright (C) 2017 Andy Scherzinger
+  Copyright (C) 2017 Nextcloud
+
+  This program is free software; you can redistribute it and/or
+  modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+  License as published by the Free Software Foundation; either
+  version 3 of the License, or any later version.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+
+  You should have received a copy of the GNU Affero General Public
+  License along with this program.  If not, see <http://www.gnu.org/licenses/>.
+-->
+<LinearLayout android:id="@+id/root"
+              xmlns:android="http://schemas.android.com/apk/res/android"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:orientation="vertical"
+              android:padding="@dimen/standard_padding">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="@dimen/standard_margin"
+        android:orientation="horizontal">
+
+        <TextView
+            android:id="@+id/sortByNameText"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:layout_marginBottom="@dimen/standard_half_margin"
+            android:layout_marginLeft="@dimen/standard_half_margin"
+            android:layout_marginTop="@dimen/standard_half_margin"
+            android:layout_weight="1"
+            android:ellipsize="middle"
+            android:maxLines="1"
+            android:text="Name"
+            android:textColor="@color/textColor"
+            android:textSize="@dimen/two_line_primary_text_size"/>
+
+        <ImageButton
+            android:id="@+id/sortByNameAscending"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:background="@color/white"
+            android:padding="@dimen/standard_padding"
+            android:src="@drawable/ic_alphabetical_asc"/>
+
+        <ImageButton
+            android:id="@+id/sortByNameDescending"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:background="@color/white"
+            android:padding="@dimen/standard_padding"
+            android:src="@drawable/ic_alphabetical_desc"/>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="@dimen/standard_margin"
+        android:orientation="horizontal">
+
+        <TextView
+            android:id="@+id/sortByModificationDateText"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:layout_marginBottom="@dimen/standard_half_margin"
+            android:layout_marginLeft="@dimen/standard_half_margin"
+            android:layout_marginTop="@dimen/standard_half_margin"
+            android:layout_weight="1"
+            android:ellipsize="middle"
+            android:maxLines="1"
+            android:text="Modification Date"
+            android:textColor="@color/textColor"
+            android:textSize="@dimen/two_line_primary_text_size"/>
+
+        <ImageButton
+            android:id="@+id/sortByModificationDateAscending"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:background="@color/white"
+            android:padding="@dimen/standard_padding"
+            android:src="@drawable/ic_modification_asc"/>
+
+        <ImageButton
+            android:id="@+id/sortByModificationDateDescending"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:background="@color/white"
+            android:padding="@dimen/standard_padding"
+            android:src="@drawable/ic_modification_desc"/>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="@dimen/standard_margin"
+        android:orientation="horizontal">
+
+        <TextView
+            android:id="@+id/sortBySizeText"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:layout_marginBottom="@dimen/standard_half_margin"
+            android:layout_marginLeft="@dimen/standard_half_margin"
+            android:layout_marginTop="@dimen/standard_half_margin"
+            android:layout_weight="1"
+            android:ellipsize="middle"
+            android:maxLines="1"
+            android:text="Size"
+            android:textColor="@color/textColor"
+            android:textSize="@dimen/two_line_primary_text_size"/>
+
+        <ImageButton
+            android:id="@+id/sortBySizeAscending"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:background="@color/white"
+            android:padding="@dimen/standard_padding"
+            android:src="@drawable/ic_size_asc"/>
+
+        <ImageButton
+            android:id="@+id/sortBySizeDescending"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:background="@color/white"
+            android:padding="@dimen/standard_padding"
+            android:src="@drawable/ic_size_desc"/>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="right">
+
+        <android.support.v7.widget.AppCompatButton
+            android:id="@+id/cancel"
+            style="@style/Button.Borderless"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/common_cancel"/>
+
+    </LinearLayout>
+
+</LinearLayout>

+ 197 - 0
src/com/owncloud/android/ui/dialog/SortingOrderDialogFragment.java

@@ -0,0 +1,197 @@
+/**
+ * Nextcloud Android client application
+ *
+ * @author Andy Scherzinger
+ * Copyright (C) 2017 Andy Scherzinger
+ * Copyright (C) 2017 Nextcloud
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package com.owncloud.android.ui.dialog;
+
+import android.app.Dialog;
+import android.graphics.PorterDuff;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.v4.app.DialogFragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageButton;
+
+import com.owncloud.android.R;
+import com.owncloud.android.db.PreferenceManager;
+import com.owncloud.android.lib.common.utils.Log_OC;
+
+/**
+ * Dialog to show and choose the sorting order for the file listing.
+ */
+public class SortingOrderDialogFragment extends DialogFragment {
+
+    private final static String TAG = SortingOrderDialogFragment.class.getSimpleName();
+
+    public static final int BY_NAME_ASC = 0;
+    public static final int BY_NAME_DESC = 1;
+    public static final int BY_MODIFICATION_DATE_ASC = 2;
+    public static final int BY_MODIFICATION_DATE_DESC = 3;
+    public static final int BY_SIZE_ASC = 4;
+    public static final int BY_SIZE_DESC = 5;
+
+    private View mView = null;
+    private ImageButton mSortByNameAscendingButton = null;
+    private ImageButton mSortByNameDescendingButton = null;
+    private ImageButton mSortBySizeAscendingButton = null;
+    private ImageButton mSortBySizeDescendingButton = null;
+    private ImageButton mSortByModificationDateAscendingButton = null;
+    private ImageButton mSortByModificationDateDescendingButton = null;
+
+
+    public static SortingOrderDialogFragment newInstance() {
+        SortingOrderDialogFragment dialogFragment = new SortingOrderDialogFragment();
+
+        dialogFragment.setStyle(STYLE_NORMAL, R.style.Theme_ownCloud_Dialog);
+
+        return dialogFragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        // keep the state of the fragment on configuration changes
+        setRetainInstance(true);
+
+        mView = null;
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+        Log_OC.d(TAG, "onCreateView, savedInstanceState is " + savedInstanceState);
+
+        mView = inflater.inflate(R.layout.sorting_order_fragment, container, false);
+
+        setupDialogElements(mView);
+        setupListeners(mView);
+
+        return mView;
+    }
+
+    /**
+     * find all relevant UI elements and set their values.
+     *
+     * @param view the parent view
+     */
+    private void setupDialogElements(View view) {
+        // find/saves UI elements
+        mSortByNameAscendingButton = (ImageButton) view.findViewById(R.id.sortByNameAscending);
+        mSortByNameDescendingButton = (ImageButton) view.findViewById(R.id.sortByNameDescending);
+        mSortByModificationDateAscendingButton = (ImageButton) view.findViewById(R.id.sortByModificationDateAscending);
+        mSortByModificationDateDescendingButton = (ImageButton) view.findViewById(R.id.sortByModificationDateDescending);
+        mSortBySizeAscendingButton = (ImageButton) view.findViewById(R.id.sortBySizeAscending);
+        mSortBySizeDescendingButton = (ImageButton) view.findViewById(R.id.sortBySizeDescending);
+
+        mSortByNameAscendingButton.setTag(BY_NAME_ASC);
+        mSortByNameDescendingButton.setTag(BY_NAME_DESC);
+        mSortByModificationDateAscendingButton.setTag(BY_MODIFICATION_DATE_ASC);
+        mSortByModificationDateDescendingButton.setTag(BY_MODIFICATION_DATE_DESC);
+        mSortBySizeAscendingButton.setTag(BY_SIZE_ASC);
+        mSortBySizeDescendingButton.setTag(BY_SIZE_DESC);
+
+        OnSortingOrderClickListener sortingClickListener = new OnSortingOrderClickListener();
+        mSortByNameAscendingButton.setOnClickListener(sortingClickListener);
+        mSortByNameDescendingButton.setOnClickListener(sortingClickListener);
+        mSortByModificationDateAscendingButton.setOnClickListener(sortingClickListener);
+        mSortByModificationDateDescendingButton.setOnClickListener(sortingClickListener);
+        mSortBySizeAscendingButton.setOnClickListener(sortingClickListener);
+        mSortBySizeDescendingButton.setOnClickListener(sortingClickListener);
+
+        setupActiveOrderSelection();
+    }
+
+    private void setupActiveOrderSelection() {
+        int sortCriteria = PreferenceManager.getSortOrder(getContext());
+        boolean sortAscending = PreferenceManager.getSortAscending(getContext());
+
+        if (sortAscending) {
+            switch (sortCriteria) {
+                case 0:
+                    setActiveState(mSortByNameAscendingButton);
+                    break;
+                case 1:
+                    setActiveState(mSortByModificationDateAscendingButton);
+                    break;
+                case 2:
+                    setActiveState(mSortBySizeAscendingButton);
+            }
+        } else {
+            switch (sortCriteria) {
+                case 0:
+                    setActiveState(mSortByNameDescendingButton);
+                    break;
+                case 1:
+                    setActiveState(mSortByModificationDateDescendingButton);
+                    break;
+                case 2:
+                    setActiveState(mSortBySizeDescendingButton);
+            }
+        }
+    }
+
+    private void setActiveState(ImageButton imageButton) {
+        imageButton.setColorFilter(getResources().getColor(R.color.primary), PorterDuff.Mode.SRC_ATOP);
+    }
+
+    /**
+     * setup all listeners.
+     *
+     * @param view the parent view
+     */
+    private void setupListeners(View view) {
+        view.findViewById(R.id.cancel).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                dismiss();
+            }
+        });
+    }
+
+    @Override
+    @NonNull
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        final Dialog dialog = super.onCreateDialog(savedInstanceState);
+        dialog.setTitle(R.string.actionbar_sort_title);
+        return dialog;
+    }
+
+    @Override
+    public void onDestroyView() {
+        Log_OC.d(TAG, "destroy SortingOrderDialogFragment view");
+        if (getDialog() != null && getRetainInstance()) {
+            getDialog().setDismissMessage(null);
+        }
+        super.onDestroyView();
+    }
+
+    private class OnSortingOrderClickListener implements View.OnClickListener {
+        @Override
+        public void onClick(View v) {
+            dismiss();
+            ((SortingOrderDialogFragment.OnSortingOrderListener) getActivity()).onSortingOrderChosen(0);
+        }
+    }
+
+    public interface OnSortingOrderListener {
+        void onSortingOrderChosen(int selection);
+    }
+}

+ 26 - 1
src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java

@@ -80,6 +80,7 @@ import com.owncloud.android.operations.SynchronizeFileOperation;
 import com.owncloud.android.operations.UploadFileOperation;
 import com.owncloud.android.services.observer.FileObserverService;
 import com.owncloud.android.syncadapter.FileSyncAdapter;
+import com.owncloud.android.ui.dialog.SortingOrderDialogFragment;
 import com.owncloud.android.ui.fragment.FileDetailFragment;
 import com.owncloud.android.ui.fragment.FileFragment;
 import com.owncloud.android.ui.fragment.OCFileListFragment;
@@ -107,7 +108,7 @@ import static com.owncloud.android.db.PreferenceManager.getSortOrder;
 
 public class FileDisplayActivity extends HookActivity
         implements FileFragment.ContainerActivity,
-        OnEnforceableRefreshListener {
+        OnEnforceableRefreshListener, SortingOrderDialogFragment.OnSortingOrderListener {
 
     private SyncBroadcastReceiver mSyncBroadcastReceiver;
     private UploadFinishReceiver mUploadFinishReceiver;
@@ -702,11 +703,13 @@ public class FileDisplayActivity extends HookActivity
             case R.id.action_sort: {
                 Integer sortOrder = getSortOrder(this);
 
+
                 AlertDialog.Builder builder = new AlertDialog.Builder(this);
                 builder.setTitle(R.string.actionbar_sort_title)
                         .setSingleChoiceItems(R.array.menu_items_sort_by_options, sortOrder,
                                 new DialogInterface.OnClickListener() {
                                     public void onClick(DialogInterface dialog, int which) {
+                                        // TODO: wire new selection method
                                         switch (which) {
                                             case 0:
                                                 sortByName(true);
@@ -1076,6 +1079,28 @@ public class FileDisplayActivity extends HookActivity
         }
     }
 
+    @Override
+    public void onSortingOrderChosen(int selection) {
+        switch (selection) {
+            case SortingOrderDialogFragment.BY_NAME_ASC:
+                sortByName(true);
+                break;
+            case SortingOrderDialogFragment.BY_NAME_DESC:
+                sortByDate(false);
+                break;
+            case SortingOrderDialogFragment.BY_MODIFICATION_DATE_ASC:
+                sortByDate(true);
+                break;
+            case SortingOrderDialogFragment.BY_MODIFICATION_DATE_DESC:
+                sortByDate(false);
+                break;
+            case SortingOrderDialogFragment.BY_SIZE_ASC:
+                sortBySize(true);
+                break;
+            case SortingOrderDialogFragment.BY_SIZE_DESC:
+                sortBySize(false);
+        }
+    }
 
     private class SyncBroadcastReceiver extends BroadcastReceiver {