[Android] [PATCH] UI : Add video player tips view

Alexandre Perraud 4leyx4ndre at gmail.com
Tue May 27 15:30:07 CEST 2014


Signed-off-by: Alexandre Perraud <4leyx4ndre at gmail.com>
---
 .../images/svg/ic_gesture_swipe_horizontally.svg   | 157 +++++++++++++++++
 assets/images/svg/ic_gesture_swipe_vertically.svg  | 118 +++++++++++++
 .../ic_gesture_swipe_horizontally.png              | Bin 0 -> 1926 bytes
 .../drawable-hdpi/ic_gesture_swipe_vertically.png  | Bin 0 -> 2085 bytes
 .../ic_gesture_swipe_horizontally.png              | Bin 0 -> 998 bytes
 .../drawable-ldpi/ic_gesture_swipe_vertically.png  | Bin 0 -> 983 bytes
 .../ic_gesture_swipe_horizontally.png              | Bin 0 -> 1269 bytes
 .../drawable-mdpi/ic_gesture_swipe_vertically.png  | Bin 0 -> 1344 bytes
 .../ic_gesture_swipe_horizontally.png              | Bin 0 -> 2898 bytes
 .../drawable-xhdpi/ic_gesture_swipe_vertically.png | Bin 0 -> 3041 bytes
 vlc-android/res/drawable/button_oval.xml           |  14 ++
 vlc-android/res/layout/player.xml                  |   9 +-
 vlc-android/res/layout/player_tips.xml             | 189 +++++++++++++++++++++
 vlc-android/res/values-fr/strings.xml              |  10 ++
 vlc-android/res/values/strings.xml                 |  10 ++
 vlc-android/res/values/styles.xml                  |  11 ++
 .../vlc/gui/video/VideoPlayerActivity.java         |  52 ++++--
 17 files changed, 558 insertions(+), 12 deletions(-)
 create mode 100644 assets/images/svg/ic_gesture_swipe_horizontally.svg
 create mode 100644 assets/images/svg/ic_gesture_swipe_vertically.svg
 create mode 100644 vlc-android/res/drawable-hdpi/ic_gesture_swipe_horizontally.png
 create mode 100644 vlc-android/res/drawable-hdpi/ic_gesture_swipe_vertically.png
 create mode 100644 vlc-android/res/drawable-ldpi/ic_gesture_swipe_horizontally.png
 create mode 100644 vlc-android/res/drawable-ldpi/ic_gesture_swipe_vertically.png
 create mode 100644 vlc-android/res/drawable-mdpi/ic_gesture_swipe_horizontally.png
 create mode 100644 vlc-android/res/drawable-mdpi/ic_gesture_swipe_vertically.png
 create mode 100644 vlc-android/res/drawable-xhdpi/ic_gesture_swipe_horizontally.png
 create mode 100644 vlc-android/res/drawable-xhdpi/ic_gesture_swipe_vertically.png
 create mode 100644 vlc-android/res/drawable/button_oval.xml
 create mode 100644 vlc-android/res/layout/player_tips.xml

diff --git a/assets/images/svg/ic_gesture_swipe_horizontally.svg b/assets/images/svg/ic_gesture_swipe_horizontally.svg
new file mode 100644
index 0000000..086a252
--- /dev/null
+++ b/assets/images/svg/ic_gesture_swipe_horizontally.svg
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<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"
+   width="235"
+   height="125"
+   id="svg4682"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="ic_gesture_swipe_horizontally.svg"
+   inkscape:export-filename="/home/corbax/Dev/android/Icons/Test 1/ic_play_normal.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4684" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.8"
+     inkscape:cx="119.65714"
+     inkscape:cy="46.13823"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1680"
+     inkscape:window-height="1026"
+     inkscape:window-x="1920"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata4687">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-927.36218)">
+    <g
+       id="g3874"
+       transform="matrix(1.25,0,0,1.25,-226.25,338.15945)" />
+    <g
+       id="g4589"
+       transform="matrix(0.527776,0,0,0.527776,761.38672,1883.1891)">
+      <path
+         id="path4592"
+         d="m -1220,-1747.625 c -14.24,0 -30,5 -40,15 -17.605,17.6049 -19.9443,73.0896 -20.0937,97.8125 14.2293,16.1813 34.8901,26.5717 58.0312,27.1563 0.687,0.017 1.3712,0.031 2.0625,0.031 0.6913,0 1.3755,-0.014 2.0625,-0.031 23.1411,-0.5846 43.8019,-10.975 58.0313,-27.1563 -0.1495,-24.7229 -2.4888,-80.2076 -20.0938,-97.8125 -10,-10 -25.76,-15 -40,-15 z"
+         style="color:#000000;fill:#ff8800;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="sascscs"
+         inkscape:connector-curvature="0"
+         id="path4594"
+         d="m -1252,-1723.6378 c 8.6367,-7.308 20.608,-12 32,-12 11.392,0 23.3633,4.692 32,12 13,11 8,31 8,31 0,0 -4,15 -40,15 -36,0 -40,-15 -40,-15 0,0 -5,-20 8,-31 z"
+         style="color:#000000;fill:#fafafa;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         d="m -1220,-1417.625 c -49.6464,0 -90,40.3536 -90,90 0,5.4402 0.5057,10.7605 1.4375,15.9375 l 9.8125,-1.75 c -0.8177,-4.6025 -1.25,-9.3418 -1.25,-14.1875 0,-44.242 35.758,-80 80,-80 44.242,0 80,35.758 80,80 0,4.7801 -0.4223,9.4562 -1.2188,14 l 5.2188,0 0,1.3438 4.5938,0.5624 c 0.9275,-5.1657 1.4062,-10.4786 1.4062,-15.9062 0,-49.6464 -40.3536,-90 -90,-90 z"
+         id="path4596"
+         style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff8800;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+         inkscape:original="M -1220 -1417.625 C -1269.6464 -1417.625 -1310 -1377.2714 -1310 -1327.625 C -1310 -1322.1848 -1309.4943 -1316.8645 -1308.5625 -1311.6875 L -1298.75 -1313.4375 C -1299.5677 -1318.04 -1300 -1322.7793 -1300 -1327.625 C -1300 -1371.867 -1264.242 -1407.625 -1220 -1407.625 C -1175.758 -1407.625 -1140 -1371.867 -1140 -1327.625 C -1140 -1322.8449 -1140.4223 -1318.1688 -1141.2188 -1313.625 L -1136 -1313.625 L -1136 -1312.2812 L -1131.4062 -1311.7188 C -1130.4787 -1316.8845 -1130 -1322.1974 -1130 -1327.625 C -1130 -1377.2714 -1170.3536 -1417.625 -1220 -1417.625 z "
+         inkscape:radius="0"
+         sodipodi:type="inkscape:offset"
+         transform="translate(0,-360)" />
+      <path
+         inkscape:transform-center-x="-147.53744"
+         sodipodi:nodetypes="csccssscscccccc"
+         inkscape:connector-curvature="0"
+         id="path4598"
+         d="m -1060.3438,-1725.125 c -1.1902,0.1653 -2.1562,1.298 -2.1562,2.5 l 0,15 c -17.4827,0 -35.0601,0 -52.5,0 -2.7614,0 -5,2.2386 -5,5 l 0,30 c 0,2.7614 2.2386,5 5,5 l 52.5,0 0,15 c 0,1.0169 0.6709,1.9916 1.625,2.3438 0.9541,0.3514 2.1231,0.057 2.7812,-0.7188 l 32.5938,-34.625 c 0.7665,-0.8962 0.7665,-3.1038 0,-4 l -32.5938,-34.625 c -0.5381,-0.6444 -1.4176,-0.9863 -2.25,-0.875 z"
+         style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff8800;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+      <path
+         inkscape:transform-center-y="14.999522"
+         inkscape:transform-center-x="-83.666215"
+         style="color:#000000;fill:#ff8800;fill-opacity:1;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -1131.4127,-1671.7565 c -0.4867,2.7182 -3.0861,4.5272 -5.8029,4.0393 -2.7181,-0.4867 -4.5272,-3.0848 -4.0393,-5.8029 0.4867,-2.7182 3.0848,-4.5273 5.8029,-4.0392 2.7182,0.4866 4.5273,3.0861 4.0393,5.8028 z"
+         id="path4600"
+         inkscape:connector-curvature="0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4602"
+         d="m -1308.5874,-1671.7625 c -0.4865,-2.7165 1.3211,-5.3165 4.0385,-5.8016 2.7186,-0.4864 5.316,1.3202 5.8016,4.0385 0.4862,2.7186 -1.3201,5.3162 -4.0386,5.8016 -2.7164,0.4863 -5.317,-1.3212 -5.8015,-4.0385 z"
+         style="color:#000000;fill:#ff8800;fill-opacity:1;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:transform-center-x="83.667375"
+         inkscape:transform-center-y="14.99372" />
+      <path
+         d="m -1219,-1327.6378 c 0,0.5523 -0.4477,1 -1,1 -0.5523,0 -1,-0.4477 -1,-1 0,-0.5523 0.4477,-1 1,-1 0.5523,0 1,0.4477 1,1 z"
+         sodipodi:ry="1"
+         sodipodi:rx="1"
+         sodipodi:cy="-1327.6378"
+         sodipodi:cx="-1220"
+         id="path4604"
+         style="color:#000000;fill:#ff8800;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         sodipodi:type="arc"
+         transform="translate(0,-360)" />
+      <path
+         inkscape:connector-curvature="0"
+         style="color:#000000;fill:#ff8800;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -1220,-1747.625 c -14.24,0 -30,5 -40,15 -17.605,17.6049 -19.9443,73.0896 -20.0937,97.8125 14.2293,16.1813 34.8901,26.5717 58.0312,27.1563 0.687,0.017 1.3712,0.031 2.0625,0.031 0.6913,0 1.3755,-0.014 2.0625,-0.031 23.1411,-0.5846 43.8019,-10.975 58.0313,-27.1563 -0.1495,-24.7229 -2.4888,-80.2076 -20.0938,-97.8125 -10,-10 -25.76,-15 -40,-15 z"
+         id="path4606" />
+      <path
+         style="color:#000000;fill:#fafafa;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -1252,-1723.6378 c 8.6367,-7.308 20.608,-12 32,-12 11.392,0 23.3633,4.692 32,12 13,11 8,31 8,31 0,0 -4,15 -40,15 -36,0 -40,-15 -40,-15 0,0 -5,-20 8,-31 z"
+         id="path4608"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sascscs" />
+      <path
+         sodipodi:type="inkscape:offset"
+         inkscape:radius="0"
+         inkscape:original="M -1220 -1417.625 C -1269.6464 -1417.625 -1310 -1377.2714 -1310 -1327.625 C -1310 -1322.1848 -1309.4943 -1316.8645 -1308.5625 -1311.6875 L -1298.75 -1313.4375 C -1299.5677 -1318.04 -1300 -1322.7793 -1300 -1327.625 C -1300 -1371.867 -1264.242 -1407.625 -1220 -1407.625 C -1175.758 -1407.625 -1140 -1371.867 -1140 -1327.625 C -1140 -1322.8449 -1140.4223 -1318.1688 -1141.2188 -1313.625 L -1136 -1313.625 L -1136 -1312.2812 L -1131.4062 -1311.7188 C -1130.4787 -1316.8845 -1130 -1322.1974 -1130 -1327.625 C -1130 -1377.2714 -1170.3536 -1417.625 -1220 -1417.625 z "
+         style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff8800;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+         id="path4610"
+         d="m -1220,-1417.625 c -49.6464,0 -90,40.3536 -90,90 0,5.4402 0.5057,10.7605 1.4375,15.9375 l 9.8125,-1.75 c -0.8177,-4.6025 -1.25,-9.3418 -1.25,-14.1875 0,-44.242 35.758,-80 80,-80 44.242,0 80,35.758 80,80 0,4.7801 -0.4223,9.4562 -1.2188,14 l 5.2188,0 0,1.3438 4.5938,0.5624 c 0.9275,-5.1657 1.4062,-10.4786 1.4062,-15.9062 0,-49.6464 -40.3536,-90 -90,-90 z"
+         transform="translate(0,-360)" />
+      <path
+         style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff8800;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+         d="m -1379.6562,-1650.155 c 1.1902,-0.1653 2.1562,-1.298 2.1562,-2.5 l 0,-15 c 17.4827,0 35.0601,0 52.5,0 2.7614,0 5,-2.2386 5,-5 l 0,-30 c 0,-2.7614 -2.2386,-5 -5,-5 l -52.5,0 0,-15 c 0,-1.0169 -0.6709,-1.9916 -1.625,-2.3438 -0.9541,-0.3514 -2.1231,-0.057 -2.7812,0.7188 l -32.5938,34.625 c -0.7665,0.8962 -0.7665,3.1038 0,4 l 32.5938,34.625 c 0.5381,0.6444 1.4176,0.9863 2.25,0.875 z"
+         id="path4612"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csccssscscccccc"
+         inkscape:transform-center-x="147.53744"
+         inkscape:transform-center-y="9.0915452e-05" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path4614"
+         d="m -1131.4127,-1671.7565 c -0.4867,2.7182 -3.0861,4.5272 -5.8029,4.0393 -2.7181,-0.4867 -4.5272,-3.0848 -4.0393,-5.8029 0.4867,-2.7182 3.0848,-4.5273 5.8029,-4.0392 2.7182,0.4866 4.5273,3.0861 4.0393,5.8028 z"
+         style="color:#000000;fill:#ff8800;fill-opacity:1;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:transform-center-x="-83.666215"
+         inkscape:transform-center-y="14.999522" />
+      <path
+         inkscape:transform-center-y="14.99372"
+         inkscape:transform-center-x="83.667375"
+         style="color:#000000;fill:#ff8800;fill-opacity:1;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -1308.5874,-1671.7625 c -0.4865,-2.7165 1.3211,-5.3165 4.0385,-5.8016 2.7186,-0.4864 5.316,1.3202 5.8016,4.0385 0.4862,2.7186 -1.3201,5.3162 -4.0386,5.8016 -2.7164,0.4863 -5.317,-1.3212 -5.8015,-4.0385 z"
+         id="path4617"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+</svg>
diff --git a/assets/images/svg/ic_gesture_swipe_vertically.svg b/assets/images/svg/ic_gesture_swipe_vertically.svg
new file mode 100644
index 0000000..b096141
--- /dev/null
+++ b/assets/images/svg/ic_gesture_swipe_vertically.svg
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<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"
+   width="125"
+   height="235"
+   id="svg4682"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="ic_gesture_swipe_vertically.svg"
+   inkscape:export-filename="/home/corbax/Dev/android/Icons/Test 1/ic_play_normal.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4684" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.8"
+     inkscape:cx="-5.261652"
+     inkscape:cy="132.66067"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1680"
+     inkscape:window-height="1026"
+     inkscape:window-x="1920"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata4687">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-817.36218)">
+    <g
+       id="g3874"
+       transform="matrix(1.25,0,0,1.25,-226.25,338.15945)" />
+    <g
+       transform="matrix(0.527776,0,0,0.527776,1020.4134,1730.5584)"
+       id="g6259"
+       inkscape:export-filename="/home/corbax/Dev/android/Design/tips.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <path
+         id="path6261"
+         d="m -1814.9251,-1567.625 c 14.24,0 30,5 40,15 17.605,17.6049 19.9443,73.0896 20.0937,97.8125 -14.2293,16.1813 -34.8901,26.5717 -58.0312,27.1563 -0.687,0.017 -1.3712,0.031 -2.0625,0.031 -0.6913,0 -1.3755,-0.014 -2.0625,-0.031 -23.1411,-0.5846 -43.8019,-10.975 -58.0313,-27.1563 0.1495,-24.7229 2.4888,-80.2076 20.0938,-97.8125 10,-10 25.76,-15 40,-15 z"
+         style="color:#000000;fill:#ff8800;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="sascscs"
+         inkscape:connector-curvature="0"
+         id="path6263"
+         d="m -1782.9251,-1543.6378 c -8.6367,-7.308 -20.608,-12 -32,-12 -11.392,0 -23.3633,4.692 -32,12 -13,11 -8,31 -8,31 0,0 4,15 40,15 36,0 40,-15 40,-15 0,0 5,-20 -8,-31 z"
+         style="color:#000000;fill:#fafafa;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         d="m -1220,-1417.625 c -49.6464,0 -90,40.3536 -90,90 0,5.4402 0.5057,10.7605 1.4375,15.9375 l 9.8125,-1.75 c -0.8177,-4.6025 -1.25,-9.3418 -1.25,-14.1875 0,-44.242 35.758,-80 80,-80 44.242,0 80,35.758 80,80 0,4.7801 -0.4223,9.4562 -1.2188,14 l 5.2188,0 0,1.3438 4.5938,0.5624 c 0.9275,-5.1657 1.4062,-10.4786 1.4062,-15.9062 0,-49.6464 -40.3536,-90 -90,-90 z"
+         id="path6265"
+         style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff8800;fill-opacity:1;stroke:none;stroke-width:10;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+         inkscape:original="M -1220 -1417.625 C -1269.6464 -1417.625 -1310 -1377.2714 -1310 -1327.625 C -1310 -1322.1848 -1309.4943 -1316.8645 -1308.5625 -1311.6875 L -1298.75 -1313.4375 C -1299.5677 -1318.04 -1300 -1322.7793 -1300 -1327.625 C -1300 -1371.867 -1264.242 -1407.625 -1220 -1407.625 C -1175.758 -1407.625 -1140 -1371.867 -1140 -1327.625 C -1140 -1322.8449 -1140.4223 -1318.1688 -1141.2188 -1313.625 L -1136 -1313.625 L -1136 -1312.2812 L -1131.4062 -1311.7188 C -1130.4787 -1316.8845 -1130 -1322.1974 -1130 -1327.625 C -1130 -1377.2714 -1170.3536 -1417.625 -1220 -1417.625 z "
+         inkscape:radius="0"
+         sodipodi:type="inkscape:offset"
+         transform="translate(-595,-180)" />
+      <path
+         inkscape:transform-center-y="147.46258"
+         inkscape:transform-center-x="4.5915452e-05"
+         sodipodi:nodetypes="csccssscscccccc"
+         inkscape:connector-curvature="0"
+         id="path6267"
+         d="m -1852.485,-1348.0587 c 0.1653,-1.1902 1.298,-2.1562 2.5,-2.1562 l 15,0 c 0,-17.4827 0,-35.0601 0,-52.5 0,-2.7614 2.2386,-5 5,-5 l 30,0 c 2.7614,0 5,2.2386 5,5 l 0,52.5 15,0 c 1.0169,0 1.9916,0.6709 2.3438,1.625 0.3514,0.9541 0.057,2.1231 -0.7188,2.7812 l -34.625,32.5938 c -0.8962,0.7665 -3.1038,0.7665 -4,0 l -34.625,-32.5938 c -0.6444,-0.5381 -0.9863,-1.4176 -0.875,-2.25 z"
+         style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff8800;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path6269"
+         d="m -1726.3377,-1491.7625 c 0.4865,-2.7165 -1.3211,-5.3165 -4.0385,-5.8016 -2.7186,-0.4864 -5.316,1.3202 -5.8016,4.0385 -0.4862,2.7186 1.3201,5.3162 4.0386,5.8016 2.7164,0.4863 5.317,-1.3212 5.8015,-4.0385 z"
+         style="color:#000000;fill:#ff8800;fill-opacity:1;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:transform-center-x="83.667375"
+         inkscape:transform-center-y="14.99372" />
+      <path
+         inkscape:transform-center-y="14.999522"
+         inkscape:transform-center-x="-83.666215"
+         style="color:#000000;fill:#ff8800;fill-opacity:1;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m -1903.5124,-1491.7565 c 0.4867,2.7182 3.0861,4.5272 5.8029,4.0393 2.7181,-0.4867 4.5272,-3.0848 4.0393,-5.8029 -0.4867,-2.7182 -3.0848,-4.5273 -5.8029,-4.0392 -2.7182,0.4866 -4.5273,3.0861 -4.0393,5.8028 z"
+         id="path6271"
+         inkscape:connector-curvature="0" />
+      <path
+         style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff8800;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+         d="m -1777.515,-1667.2213 c -0.1653,1.1902 -1.298,2.1562 -2.5,2.1562 l -15,0 c 0,17.4827 0,35.0601 0,52.5 0,2.7614 -2.2386,5 -5,5 l -30,0 c -2.7614,0 -5,-2.2386 -5,-5 l 0,-52.5 -15,0 c -1.0169,0 -1.9916,-0.6709 -2.3438,-1.625 -0.3514,-0.9541 -0.057,-2.1231 0.7188,-2.7812 l 34.625,-32.5938 c 0.8962,-0.7665 3.1038,-0.7665 4,0 l 34.625,32.5938 c 0.6444,0.5381 0.9863,1.4176 0.875,2.25 z"
+         id="path6273"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="csccssscscccccc"
+         inkscape:transform-center-x="-3.5915451e-05"
+         inkscape:transform-center-y="-147.4625" />
+    </g>
+  </g>
+</svg>
diff --git a/vlc-android/res/drawable-hdpi/ic_gesture_swipe_horizontally.png b/vlc-android/res/drawable-hdpi/ic_gesture_swipe_horizontally.png
new file mode 100644
index 0000000000000000000000000000000000000000..86722a26f405f8e58c60b9400a25f47cdbc8675b
GIT binary patch
literal 1926
zcmV;12YL93P)<h;3K|Lk000e1NJLTq004ae002V>1^@s6vG5A`00004b3#c}2nYxW
zd<bNS00009a7bBm000MK000MK0XTY at +W-In8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ at H12Lnk&K~#9!?VMd`990y6Piw5A7DYwrgHKfvQ6UdPAAAvPiSa=z
zf>x2}O9Z9<K&@DcM6sFKBqpT^HG#B3M2M-PLaDUcR%>mgH4hC0N=sYP2%#9#gv1c`
z?|RPNBztFe?(FRD+?n0xJREj+=FYii?|1K=bI<(&Aq23jEa5_6=qwDKg`u-BbQXrr
z!q8b5ItxRORyyHs(FRWo8{QTcbczIgkKccnpY)rq(|t<E&}&!{@FdC*0-Zt;CCHR~
zj-F at eH6VR(8$$aQWv)cfI+>IDNH0ULHi6aHP47lPNe#R--k-qMJBr_b#qay^`{(kL
ze$#cjPwBj$PfGoi4 at 0j4v0<yGWiKG8lL++n;IJ?qrKjiUdGD6Lm7&Ke798>ba~-cY
zg`~ep>T~Bo`7-o~r3LQ7!oOV5vfJQOBl(fu!j^wo+QHBxkT!S%3w+iE;7>6GYmDYg
z`Y9i0zO&LEhHkWl--`u3?<)A7vUQc`L-e at vpD$Y%Ll0EoSCzufpwsncAh;HMjA>7!
z%;5Kw>;0UP*Xcf`3j&bxrTp`Ht}=8p!Ir}gSncpq(cp{?!)1=ohl>VhD1Y at CvX7yM
z>ZR{=wNBfoW#5Wv&V&@4IV1Jy?Xq2V?PTcTMcI-{i#n=Jy9*w}G}Bs$d+rn2!Hptw
z>_d?r?v<bPo38tSpO$*{J<3r>5T^#BceT*14>{uEx<HE!51^z9pmpDmfWH)}>tiCB
zOlpPhQ#wlT0X`-5>jFAze4p%P=oJB9=Wv+(f-W{(ae!*86PaJ$6Uo_sePI^}rl;rV
zc^CLAMS?i0gSqa;hTaPI;2- at 0<xT_d@)Jr68uzIjZ7QJbzy^_;I9D2Mcgx4;Nsr4}
zYxA*TT&bKVLNAMUxE=GbMOWnkp-Nlg+GVH7f(8S at knD0nw!$W#R-TW&_pB4inTd*k
zFAM4+eU8|>zVdHU(q%&r7E$>w1)^Fi^Bc-HVh`Mc1{_mrcSFdLw|A66oCwynt`ez>
zhr$8A)Z$Se=?(abnaICh(0((}Ne(0UHPJ$EfjTteC)aSLA>{Y at Sw(lhPeET;N|*WZ
zl~92%3F%e->jfV${mQH0tU>4`-(hcZQ$)~V6&f($G4s?Aa`Y`fOzVJ$ebOy^?CHPv
z8i7uF9iF_-7P3<vzL|wivS0Er4&8=5n(^!i8unXRVndfB2+|6TN at be%=?&^t8&dzA
zF#?_Rx*WQCA2`#BAJXUw8g*4rMkAVX?=lPBmQ#$vh*+>iDY$l}fR6|D+Djgul`xDe
z!HYkx{HJ#1KW#Bqb~b!s26_VCH)ynw`tz0RfO37GPbGAOTT_!4&9rpXTM(Yrm(xBa
z-GK<p at 7-{rTkwWs_+%P7&3NVS?eHn!83*+7(`KNfUYD&iJ{56?lJ0b5(1}kX*ovVb
zz&HCW7&HUjf=kQScfkujF?olM^yr`&M-KHC*sF`NlfC)w{ZfR`mll9-t_*sYT$Z#D
zfwAuHJs->Ng!KVJpSeg}-$NofH5M*()JJ+fe2^y1#)|dMxq?Wc=a!8XiP{w#kKchx
zuEhX-Qkge at RMU+Pc<IUZJ{VdzPkKn7#^wP{WbP3q&14MFuSsqdcJKAR)0JkRtBW3A
zEb1kD!5`Ql(j#As<idZY!N&CTTtVEu(B9*k%J{rv at np2nrzNjY961}F@>rW@(vdr>
zT>nU8(`X>Qoohw5|8bEWY808Dn??GM&qVs%S0Z)cp!}rYbe--~I!YhV=21;${J=9R
zXCC^z<P_?V&4y=vc94YK(*IKK9V{B>jz=amc6}3r_nwq|j09&ac-gfeFg#JCR|(jw
zI857%&aA~FbDA>Ru0Zecj53BR8Og<H7}kPjP3AwK>@G`aeA(h!5kq^&Ea>(bqo-qq
zPWkK0s5`g!&EXWUmjAQdGRl>&*C?Vnnprjr-?OGCT#D^Ei?@~MB+3nqUK1{s#@{hE
zpPndK2^t-A=WJGd;y3$e8hXNKMX=G8GdA?b0zCoGRRwgiBOd6z at hz9iy{85jp+6Jh
zezsSu0y^0dT}9uxSkVRx{GZ4dM)twYXvk}o8d72p^Hx<rCp)6s$5$u!&Qp1>$gRo=
z*j6Ro`!?RH99>Iqsgjo7!qB5@=^a(l(mNP>be?Q?RY3O(9x-$Sn;H`^7IP~ftJR~%
zYWI+#oHu(uCgA5~{(R6-Y);*9#L$QNNU`bw-&%02NcivXl+1?@53I67h%7i|2>7X5
zJ4|S09SEF|G3t>J=KV8LPa?|MLxx_thfjz8<-Gi$Yxc7;Jw11W9Rj>E5BaBQ(A-gA
zv={Hl;)aSN@;6<Na+;K(voLfPhR(v!Sr|GCLuX;=EDW86p|4!|9~tqHr%i?N_W%F@
M07*qoM6N<$f={HgtpET3

literal 0
HcmV?d00001

diff --git a/vlc-android/res/drawable-hdpi/ic_gesture_swipe_vertically.png b/vlc-android/res/drawable-hdpi/ic_gesture_swipe_vertically.png
new file mode 100644
index 0000000000000000000000000000000000000000..dffe7f38e238b058b4a352c5f86415fb49a170c5
GIT binary patch
literal 2085
zcmV+=2-^3FP)<h;3K|Lk000e1NJLTq002V(004am1^@s6`MTb&00004b3#c}2nYxW
zd<bNS00009a7bBm000MK000MK0XTY at +W-In8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ at H12ck(tK~#9!?VV|i6h#z(AD5t_hz3zi#9+)S2_Arg2T}Kr5GAM)
z{2>}qJOTtIL}KEfO at Qs0U04VZ0>*^ZAR7c at G%89WA;2zYxI)4ziyR9m$S%tQd(2h7
zSKYl+b9BwjPW4XDO#OJ7J*ul-ee?R&@m_TUV+^#Iq9JG)8it0UVQ3hI0HX|gvkJI}
ze-<^2GPsHPU^5Cs*~EV at N*I-JD+1VRfw1Lw1aeDp!7yMj^Fv)62wQ5|GPt8SV32<>
z;D`eVTMnb;++El(40r%LdLjh~TmD43zc68x!$|DhximqT;)k;+C4~jU4`Z=&moowp
zl}l(*PZS0W175%mwRRJPEiEX|<u?o;Oh#$X5`--`5bVVKgh4aP>@6Z*n%H;HCqFHt
z0!E|1c(qG>FgwG}&yKmi5*{s_p|u<y&IksTFW7m8hM{3-7#fC#p<!qk8it0UVQ3f{
zhKAuW7-cX3JK3BjjAmZGz(WNOGC#~g`BWlvcsU(-)=~H(gs}qpqxnCN{$M&Y;4}QJ
zLaE^~R`avU`ulWVj>;Dlj4HSjeZbpRwEbF!d!X0&b#y(|leaJ^@Z*PHurnb=JL4f<
zpNjz{cjBoAtViV|Nw at k9_y%Pj{ydEbh71^iL+I`NlYXba)BmX)l~1fA!t1AYJPX52
zJgG$Kj8mTCtIK#~tql5RSZ7}=BDX9_oVJs<r!c`q4T!}sl;>3>TETo}PLS%M`Vy_B
zmbdQ-7zT_%g&GCr+E5mw400)CImoKNO=z=`>yc9!et11WDT<=?%uIH4!k0k$<OGHf
zo<Zplaw+OEGFNh%v=F2D1a-m>FQPn>kwsB^vFT79T(2I5u>^)=qZb7b8&diPGY~xq
zWjV at GhtbBCV<;;S)GH|i&D1WnAHDV>*RMxll)=EboUCnZE%cL)G6u}F(vrF}zi7bg
zKbEdwseRJJzJ~N8Jza-k&LM0?|B}uO&D5piiY8qRXep0NXS$?M6v%paVU)u-LAfi^
zd at BRq#4^_tI<;f~i&Q_!!oSXBq5Uga at bnHAxO#yF&(^Zgfz>R$<wF+vdK{L!IT?_4
ztoJ>MLoeZaMK_1Wxd+1sI|V;6OXBHiF&2*PNG}%tX*vrupJ9POAhoodW8t6Q<<}*F
z^0EZTETP;^cVL*wCeho&X*O97cg4>ZBkRVn;F+E2L5P!J<8ISZ;*;K-MlRAzyj at 6d
zwJ at L;R$MRKk5eVqvqn at rv}+-Ds<T at lqSDDiyDMUW7*H*_MW+g7>$(2QVEAFYQ2Bmo
z8Z;%MS!KhUr(_8sR>D6_V=;4zau_1{QuYhhF<vDMUs}GxTsxSz#;Rc~(E6`Z7=dg5
zvB>J-V$$pvY55M)Um1+(EfT?she^sEjou!M)Pk at iv}Y-c at m<a^h6xk9dNnZ2;mU4&
zw_`av2_VcWgAKpA0wZ{4SFG=lEdfa1sCAU6fH7BSe1W9lN#Za{ChZ1{K>KyZD*KC$
z^fif23j`Q*vxnh>r9#7{l5z{hZ!FN!<_-)LRy9zxj!KCSD;3HuRRN<$n9+ at tl=~wF
z#+9?~z-VhtJgg&M4%p>tvWH>74#6 at 8CoMxO%ebBI;Dtl(_>AUL at i00ZSIp*6Z|lB8
zg=L)VYE-rp9yetU?X7ZWG&#67S%CU!iT?JU%Sjb5u3D9ymy}7&39snKLdR;<f;j$t
ztn-Y1>+>bLowv$eRdJh~?mFV&+~D%$CyDytVrvEqo<ES?t?|!cT;+a%fcrWv at 7G9l
zYqNlzR$&=?yBc-cF!900RQnN;^%Gd=&{r&YYC8)yHQ;D-BYEd>6bd%|&6oC}Bh at Uj
zp)~bghXFr2ZbU`P?NtF|i_qwZlukBn!L`%Mp}3+Q%_18ovPkt<##Y^n*3`Q at 8$bIT
z(;uQ`wy1!yJ?aPGS%)$w6d$t5R2m(=q*21GxK70k^eJm4ddP7IOSYrcvl2|YOgD%8
zecW$QWKPLKjVg88rS`*ZIR;@5uR|PlPcy8k;+STMCt&#CvD}9j&HYX<z<4S5FwEnc
zxrZU!itI5Met5$pmhp}kV7%oK7$127#`_+D at rf5;%<>3~&%KbWGS4Fpw9E at IN@Mag
zay0|>!4z-gbeTX}a|EJ|5AUAJ_A_(4F7+^o7M%1=@Ma!p1w0fJt8iBiqKxu*hA^%k
z%}kxku2};e!EoU at 8g8CCqSS;h6*^Z+f?en4Bdgp`QKYb=X(`(h6IfD8geRO(PFG$h
z(kGKea37lZ4D8$@?ButWf4OK`4>{jGJlJDEIS1%Mez-n-qhV+m8it0U&$a3k&-yI9
zelUQBp<!qk8it0UVQ3f{hK8YGXc!uXhT$>{dQP~?=Z?Gl1P1p&m^qkDilb?*ZoWIo
zUCW?%3kXL$vy^sK(e~W=4D+EvEm>Pc8X3O%;Xuv9Io(ZHxXj;=Qc$A_WfIeyY%&9J
zPI at jbuZLE8$5HwZ6**D(u~tecptoVklhuy!w`vtd5Xn3pUF+~ts5-|}k_8)4qc`c9
zPkR($Y~^p>E6VVq`3SsC7KqKo`|d^YkyZMwoI3EVVQ3f{hK8YG6r%hOQ4K25sep9e
P00000NkvXXu0mjf><Yr}

literal 0
HcmV?d00001

diff --git a/vlc-android/res/drawable-ldpi/ic_gesture_swipe_horizontally.png b/vlc-android/res/drawable-ldpi/ic_gesture_swipe_horizontally.png
new file mode 100644
index 0000000000000000000000000000000000000000..f76bd85de5ff601b9ad342735cc8fb990d5bad4b
GIT binary patch
literal 998
zcmV<C0~!2 at P)<h;3K|Lk000e1NJLTq002J#001Ef1^@s6Zi90)00004b3#c}2nYxW
zd<bNS00009a7bBm000BA000BA0ri9JNdN!<8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ at H117k@<K~!ko?U~O at 6k!<0AFwEb{s4nc_LB-JDaB4fcrm(VLO1__
zDE3gtfz+KbMF<b;p+g0&7<pJi(1<<SMIwVb1g(aZq*&BOIy&?AJkPwl`|j-QHZzOq
zZgcoD`@Zk<KJWW^e?9Naf)E1!S3v|H!AJ00uTj`1;?N-sxQ^2KNomTjTX+L*2^~J5
zY?Sbj&E;fQH}C_{gisj?XrdNS&v3S5sI&Z}w3Ba2yA0Q>X?R-JI#?_N27T5URO;xp
z39rK}&!PeI;tm`xDc4}H=!aH*y35F(>N%@mwzlBopvjIWT?5jNdXHLj?e{gA-|n(c
zayj{{33!?{XW4!#nq?g(bFlWv0bxD4B&_E*`AKPIASR1e1Nk9;UaM!v!N=hvcXkMl
zC;(FoooEu9 at 16?NG)qMJR4xZ#DqolUkU#SKPvJF;y*j)=HTwjQ$$j3N&+CJen6~Z5
z7lipc>j|D0mXjUXbG^bL*ejQR%;$M?3YF&mhl0Ncd(gqOglY5H=v$80#RKwM7!6`$
zb-psV6xoqI*DLmIvwwdPqfM@$Y32w7KMK3CVoKSE6R3ozC>-VXsI%8sT%9)U`^~<<
zb0T|=`Ne)#*njQ}al&Y#j3$)6r<lhV{5UkA<MA at LuyX1W!_X*y&*Xje!!h3LkIn~!
zM|<`~^$YMboaeOD6{vs2LtKA_kHf=&;G}N8pF6+ry7#I*(kRSd-~7R&9od(h9pu;9
z_Z{3`&^{7ZMR*z==b9NDegLk at MtYPEr}N=0c~NXEy{Ww4v7GD_ziDMsdN|K%r#nO+
z7u>V&HS>qi at N<ZnZ{gp4%7sLSIk&C-pjB9 at Yr;z37Mm}J_(^HX_wYNXL=8<2Zc7OG
zFU;lZz%$@DR`{w^UYEBpFD;?{QGO-W;U~__6$L&MVun;@ls;X?^bc-_+M{;M_i0`6
zK?miDV4;p;yAG>?LS3nk<tpKqL%vYuLfv<qj5FabIR>2L(GCxvtr9+41$?&TT_N!G
zmTpU0$geDg_w%qaL&ERJJ$`z7-{;GJwec&vc0Xop*Uaw-_#rrm0E;2P7rB1Tf50?g
zEZ}u?tiHb9>d=XLC0~BLpe<S6S-;=yHQ2?W$bcINI?PW>Q-1W1O#~moNAO#yKPZtY
UyAP0wzyJUM07*qoM6N<$f)L{4TL1t6

literal 0
HcmV?d00001

diff --git a/vlc-android/res/drawable-ldpi/ic_gesture_swipe_vertically.png b/vlc-android/res/drawable-ldpi/ic_gesture_swipe_vertically.png
new file mode 100644
index 0000000000000000000000000000000000000000..8de2216197b878aaf44a8c1ade27836c4ad14240
GIT binary patch
literal 983
zcmV;|11S87P)<h;3K|Lk000e1NJLTq001EX002J-1^@s6ZaATY00004b3#c}2nYxW
zd<bNS00009a7bBm000BA000BA0ri9JNdN!<8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ at H115`;wK~!ko?U_qR6=4*|Pmu;aFe;+=Myh4BGYnePLfuJ=f{c<j
z1));fqK!i4%v_Vqo(8U at R#H$x5!^P0QbceQ9|)~7qK6m};e9x#bI#ny-0?o<I at h_E
z%PjtU_xonP^ZoAmUg!G;5D^M3 at E}SDLV**g!e2=X0-?bf0*H`MQqH>yp}+-dSdRk4
zq)WLg5DHweG at dMezM>E+G-m`zsCgwJ_EO(hky=tV&gJ~P6Lz^VCTh}jMU9&S(}VCJ
ziV&g;4yT0Ra##0`E~uk_el9M~yS{;SK)Ebl3LKJ@^R7VnppsU^c4|0~W&;bzbAB)H
z5FN0Z8fhghMD?B;dq6r*zmG`Dc`i at 9(<=4y0>S at Eg^_6Na2 at +#ZN~TcIlpJTKVru#
z*`{K>L{2Kq$i|dg&{HM#jL55gc at P@xBm?uLr{vak@$!Bsqq2*n$D~ivhz8 at NC!|YB
z1C;A=eYV5)a)wahIcXMe!6wtRtd<62gYnLG)Ca32H4V at y>Vl*3I$WRau)UlhRA`7A
ztTlP&n9KlQ87}(UF!cKihC-o)D8KmTDq?qeY~iXi*{hA(Yp at 5QLIr7#G>|BVRh0jL
zecLenEs)%}Md9xgsNdaz;xY5=V0(t$3Of*|gxWl+6*$Rdk;$Qq0CA9+7qLj|tYwy=
z*v|^V1B?e!GT0FIY`{=(!4?DydpC1~!xlU9V&8@*CP{uv*;oD10owp9ec&KN{Ib~b
zi+vjqOzVs1J7JHwv3E-jo(LM_!syn0CNKMzczFqgu{?8MHd>B)VsP<wlMRrdF-sB=
z_-PYFqm)^e^HiSrBcXeuVv~8J(jQi0WK_Y(^fL_4zQgd`XGu998S|muzuy|@w3%$R
zh<zK~F+sX!s at QJxz>`ilOtvo*)OdD?o3J%$=~dviLx}rHF$mkwc^6e-&=Ew6DY+bo
zVTTYeokM6a>aaV;^5KaohY-`wArv at HhJGv);HT8jON_}!eGT5`+zlG+&Tq8c0c*&x
z77h0 at HU5v(BN5n&ojbZ=y#yx;+>?>7!bj38Sr2&Y)?lM|nd&}7!Ox;aaVqyNNjwM-
zBK1a={cfADk4pQNzbL+U6wQ~PqWK0^G+zU~c%oDx{sUK05Y+uOk&FNU002ovPDHLk
FV1iVM!zus(

literal 0
HcmV?d00001

diff --git a/vlc-android/res/drawable-mdpi/ic_gesture_swipe_horizontally.png b/vlc-android/res/drawable-mdpi/ic_gesture_swipe_horizontally.png
new file mode 100644
index 0000000000000000000000000000000000000000..2d14224747141735b2da440cfbf1c5b51379e034
GIT binary patch
literal 1269
zcmV<R1Pc3!P)<h;3K|Lk000e1NJLTq002|~001lq1^@s6`x>8Z00004b3#c}2nYxW
zd<bNS00009a7bBm000E+000E+0g7(@asU7T8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ at H11ae74K~!ko?V3+W6j2<<e at YZ|i0UR$8Bs(K1Zn>+-C`-ac!{pj
zp>9DWbPz{2-C6r5VuVJeVc983NXiI84~hi|CMubT9t1 at V)NKF0e!n+wrrF)ub^dLH
z`wm~6o%ep<-+Le5%=_)^0AmcK{F8(rfl8nfsFVaMf#y^QjxiP5Q2i_n6Zm(5OFQo8
zZPZ5s&7pg+8$tD;R#D8RR(TA?N}xjbVJEJ<w+JR_0`&{khv!vXiI-U&oZzBkI!A3<
zAH9E)dyrQ_16APyDry4r1)-HYxHXjXn7{E+?pcsPRj9#LrLW2vJU;2#i(<)xyfn|6
z!UC#Yw)(2-%H1D|Sv{QLqT}5Eq%Omkaufv65L_}%x+)8pN)+wrD;68kifF6M^3SR=
z`cke94YVHi<3!^EX1is%6oP5nyFB%^Dxb((>l5cWH!M&UhQvfiEFd(S?x`%<TE^mi
z3X6 at uVbP^&E;^=j)Mi at cNgkV-Yee)J+L%B?aMmbs?!w-bwpuu9fNUyZ at u6od8jYZ$
zSrp-YsILK*Jj|YyLodZB_kRbJYCIJ_^Lo(TMl>ZR-)RARoWp#6ibYqKa)3+|_N5pB
zZQNp&c8XOz<#NnryexB2-`X=)U>h0_ih&0l4@`mW#^u?FUa5nw;B5^%SZv{keV9TN
zL$SiYBE_3>>9-LYgY&B at AQr(OXW$D^1-7DbuW2I)xEPpX)SH>BXpGtt at 2)w9sf%KT
z|CojUj2O4#0Vv}Ph=nJhjj%<0zc%l#qo at HJYD0@6F|c6~+hj4}2(@YVO?N;kR`^FO
z{F?-jVNur>;pZnd=P;T!_a4r~6;K5>r4-6;q;Ebd%=6E6a4scB5Dw^l<KJGo2a2&q
zPVzM8pqyIUyco+KPjezB#KsX&1;3Gm;g!e4v?@x)B-Z%n+psHb^#l!|gAMM1Vyr1|
zFeL}&)XuMotEJTQyoilr{jDuqy%_eKG!<x)Zw{Gx28?p4<q(T5&p8K*F%)acJ7BR}
zC;1rs0;(x&A7~h^`wTR}KW74+Gxtxn9cQtL_x5*q>`O6edFL$hFg^x9frj9wvwNrt
zwLSv<ZF$LuVA(1z*?f>Cy05T!Z#9d5eavFtySeC?&QTln$&z!~qJCz44E_PV<8GH%
zp}|vP9iZ6BwI at cIJG{?|SUfY;o|UHFQ{66-haT!sUShPQnSMai)^!zzTc$}}#kh|d
zkKgoLfxk**JpQBHGzRk%DcV at pQwTn#c|SEuK at Wv}F&ejfD(tgg0W2 at _@A*T(<lB*L
zXLs|}lWNk}z5;y!C3yo%-u?pZ%vF23dpM%NW;A|*h4NvaR_E!w0VQvL#(0F!ndbiA
z|E5$A7xM;`ybJC}x)9vR8&L8tK%mum1X^9FzsvXK0cLMuzd1tXh<`vk<f}Lu)bprC
z4<Hx0hkUmw<GxylU}hbFoaHg{?YngpgnbC=k@)Fl67^GPlAohC>LXuglrP*$NuUy_
f1S%zg{xkgn%W-{5e^@_400000NkvXXu0mjf-4{%f

literal 0
HcmV?d00001

diff --git a/vlc-android/res/drawable-mdpi/ic_gesture_swipe_vertically.png b/vlc-android/res/drawable-mdpi/ic_gesture_swipe_vertically.png
new file mode 100644
index 0000000000000000000000000000000000000000..659db9626da31a021f6eb502984f215b02211565
GIT binary patch
literal 1344
zcmV-G1;6@<P)<h;3K|Lk000e1NJLTq001li002}71^@s6`SsPU00004b3#c}2nYxW
zd<bNS00009a7bBm000E+000E+0g7(@asU7T8FWQhbW?9;ba!ELWdL_~cP?peYja~^
zaAhuUa%Y?FJQ at H11ieW_K~!ko?VDX_6jv0-kJgG6TNOmauTqLu{6Mkd*MmM-DlMh9
zqTq|ty!fDRz9=eT!J66G4N5eARYFxvi_u1_pn{cz3W}(~;FF4|VO3D0Q4=3_H*-Aa
z?w!r<?Cj3YIFsGg`|xKs_s%`%mpk{Kd(WL&Kt!k{fdW>*3fL+bfEt8^_<LCchhQM;
za1g`vCyT#xSy=*yU=TqzreXWkDC)`zI0S<Utl0+ERI|9IEP!{wXLRe&6 at WE|$2oCr
zNr6K!j9^+EVf)k~+LR193>RF$nz~pz;2Ky!xB3^MFtinbY)fCK!`$+S5 at 9%B0Qh|Q
zg*64NfEBO;R=}kO-c<m2R~c^LDZ7ZkBwDVgWQogs%sf8AoQ|^z9hOiIS4X%0Ea at ic
zsnktT#&vv+51EJe#yX5AnEj+qn=#uXWi9U%ZMbc}0f*oV>aiMf{8mEn=P4 at tjmGR$
z+zBJn*YbBR<2t at 3vklu|TY&=eBnrb_>GTb$+EoUT%229hTNJj~W+1>Cd`}L#WPa8}
zvww`|;lyp(Mhd!1*!C4T0*lFToMe!rEsnjY!+epAIQ2f;Vw-H6efR<#g|EoqGuaz!
z at +=xZkWP~BNdR+_8M5pY!Tp at 4?HYOQGvVvKfH at 3l&@K%|bLxMGaa4XhH>Dq#Qf`#s
zi8s*(Ix6bfmqX}t8n<hup;l~yPb{}{In}*3VT>aSF?n?dChoUjyyvA*;z28w?L_0~
zqD<&+(yA<5Y at 2<ge695c9D*TaASP~W1ZG+4hEn-s;b8X|Otv4wcsyQE$y-O!s2_{z
z+iwkN>?1XVV#2p;U>(+_&&KR03mONfV!ZpgBWzkdFVJY1X+m$a85)f;3axVw%m*Ia
zI0Cb?%4=a1mA}I1U`#x^Ry?d!;z>JV?U2;au!ctV<#5=N4|cc+H9B<I)NK&G+w`Mr
zSW~?xmYKc0+2-zb$PhZbcwik?NQ3n at z#=Ln|F8B8oV*l5Il<1@*sqtvVny-58f=t}
zs%#9#1n_0eJMa~~Z}R1KR+ao`Ho5_>lLnVs;_d`9JoWy!!TXSC+0+;2#0EdBLzYV5
zIyYn3TnuJd{*jgGxVv{E#=BzffnPsCWB=Eg=f<lozGuj~<8FXY$VSsF<=Zk>F5}N{
zG4b$H at e!iqG8%{HTUWpA6?8jHm*xMs0X7Hz5=#&7u}d<ILvygVbqgl1 at 5RLJe<|GE
zz{KM=`hFUdH}+B8Rsx-uFF|dv`1nrx-sc9mfg13tv)(cx{_=2u?WAVQp1Vr={=0bK
z8kkHCj^(5>h0h+miT4n>8>(YD!_ia55r(S)0JjI1B8B0O at 4$AesgJ<V0~o{I0Rh7R
zGM)?o81Vpn>OU~=UxR>UMPao6z_svYV8A+j6U>mvvv9np{&4fe-^;P8<|C}$KWA$i
z{3<uvUO{6biS5_Jz|^smmT_iLj5 at _;M~BZ#d)yj<p9thI=^E)}1|T18U8g&8gg%$K
z319ttpsm43A at x?(#|>O*4`nLuv6p%hs(=-+0#?8ZxQGYjb6vm6$PXM#__F9l581{A
z^*Zi{`@(ZYzEWP1FYQ<4&mt=FhbJltRlo|^QSSi$UQe^Jxu)s>0000<MNUMnLSTZF
CT8Lf%

literal 0
HcmV?d00001

diff --git a/vlc-android/res/drawable-xhdpi/ic_gesture_swipe_horizontally.png b/vlc-android/res/drawable-xhdpi/ic_gesture_swipe_horizontally.png
new file mode 100644
index 0000000000000000000000000000000000000000..426a091860b3db0c16ac352ecdc7cfaddc305871
GIT binary patch
literal 2898
zcmaKuc{~#iAIImI`|78h*+}t|>xbErX+&5tIm6s%VmV`2vs8o$Np4bd<;XR6rd+w^
zapYzwx3)zr!sGe#dH#65uh-}M`Cfm2U+=ivC?kFz2_66dz>hRGusHSBQ+aT4oM!k%
z`}I>}55A7H;yMi+m&dcyo;$$UE*Jpd75<M{09iR=r$h0O8 at 3^q{$3$ru0fuFu&^){
zpZmVS?ydozD*i#<*+1YC000jKX`p9?o!-vH5T&fedy?v*&nyyEJ1!KSC9*6j%85yi
zC38U;32(BwQaas!Tf8kT{g<(g1ON8J^^vEfY31QJZ-DkbZ*;j7ri{^})2t#s+4ud<
z+TUwX{?OvnqPoA$gnQrL{4tQJ?d`QXueCaV5*xL*@*`(|A?Gm1J1^MKSOLiXAbyxz
zh!86c5Yz*Jq5*Jr7AzMlU5K43!$sEruLZSW?4>ZQuhsVEhAbu(Se<<gl4(Qc_oOj3
zqE?Um(MQwoE-N1hk<k?(HMB_AKKG<3^3sc(f}59Bhf;S8!EDTddV3tfYc-O4K+i%G
z*!$Va+B3k;LGA!VZoooM{?3$Y;re7REF)-Xnl|`=Yztt at JwBdqu5e7$($1IVPZ4;*
z!8N&{!0 at KE6dY&<?#vZ!JgH`(uiqTF(D*f_FNU;#s}L+i6us0~s$${O1~>W2>S+zD
zl<nprQ*0Hxa at ogh*+aaMl>T!|o2BWL at Su4o@x+aPiZ<fa*ywTALV`DR_vA9=8tR9~
z!_jkT;!g6F8r=fqo=~-wuK5^^2$T|KxThWN*1f=cM~(p7Cx7eu!m$^gFSS==e`i<o
z!;aafR5t2cuOU_8zlH4yK}*(6dJcY$xlJesn9i<nnW-2W0KRQLdwxS?AZ}1#wme&Z
zE`1hCR3o&%Zf%T)i2qFXwkz{}Y`t{#d$=oO6 at tN3zCU)IEW9V%EkT|TEh)BuaUOKy
z?1Z%XmeZQiwGs>=9}~xZpDUOHuPFs34;FX}Xy3;qgJHn?5frHK?xgk+W!Avk+9}7o
zW;ix5u|Eh*p!r#PJq{%$O6JWdUPJkWLKH|vML$>6mty5N at zziPb0}vj{Vt1QJh&SY
z%V95e1uE39v`AV5qm)_bxn2#T5XA4mR<-wC<1bf2{O%^uUerHGS75BN59ix>QaU3o
zZ_Ca20T#4s4-NT^Io))3rQYh+SO<G-S6B7+<vH11`)Kyc at I>*}JETQvCGwZlNmA9K
zuU4WtS!|+XHbndNBfKnuMw~i2f=s3njJkIVESzQ~fF9c&z8;<@a&}i?aNvD?a|u*`
zxELYoJ>#=N`)bS~;gFTwaCH5bc;ejgtz{{ctC^elu4#Tsnm!s=i?uK<YrR6 at Ae)KN
z2uo0oQ3M-xMmxkskDU5K__KyO{}{gp+QzBT=#^ZLC16gzFLh@{{rc-9_jrC^xGpaM
zccAv&`Snm+65det3pRA&eYK~k<foB}-0=zLOZ`=}o8XZAMm`nAi at OCg0oygUl6INj
zGiDVlUq at i1=Y~P#)ieat;h_sYi?Q_sy!BRXB#GVSWH7A;f~#Bq;4GBZ<#~?)j#C2}
zX|9WUtm!iC+CbiS-Tt)BkVU(GjU}fjNX?`!ZhdreZ&~ojASovAJreBuS*l<0_~?&`
znP<>cR(3;wfXV%lLdX0?gE5VFApg{B>vD9(E=?B10}>g$Gw%7f;j|v&V%kGrw7_9_
z;FQE&PIq1Cw_A||e^Kq^*IJUAfH;%`@?4bu&S)k--M4d=>{c(0mt1BU4Y4dbxo4Lp
z*3XAk$=(!Na~|cim<>HyN;~Wopk}5{lsr#wVZoW>3h{+GbsWsrB1<jE1mE+XBcJzd
zh%W+r&5Z(CK<2U`W{JevQ`{p#)sd1 at T>Ko$M$7H|b+2UMiXxSFEPS*>EHSV)hbu!P
zmgFS>pU at lak$2nuQc`6mfaZX2dX5}!vCnH4uF=kzahw<&gl_c3`9A>}e*<EzAHwEG
z4KdRfR at N>^_xrcM(xN+XVmvNQO!3tfvzfnfWoXVe%=Qe5X(z=Q7XL$6 at D-f_wuWJc
zbvb&5OwUnlc{Sy}Za?z96OZN-oeu+U?bq+9#~!sds$`MoJSRzLh|~KS{k#IA7o0>n
z;~u;P$n$=hgT1^gpj9OgLCoD)&`c9sF`>#;>NF37sHG~?LT)>I*0@?9^WZ`ESH$hq
z-OXP^evfEpYD-d~=n<K6oh+7_jh2-GA_%Gz)TTqWbo62hZ4gzDYz8$Wl_VC7N^a76
z1(>aC4J8_%2n*XSD_G*7RLAY;*vfiNY*_*cY~nuGq*_!whtZ<r^byJYbUn)s8)_2!
zP`Vm|B+K=uO10ti at K$eSMK*s_#~)C=>{m8g;$oFOFV1NeBeUg7ZvS3u*&sPT+!j&Q
zQSK4=!zW>b{D7O`w<|#kY*F1tqX0C$_Et^u>bS3Cp+4E{;`Dl|sP^Z+($+sNdw6V_
z{$u=PX29yi6Ag0Yu&R#=9T;e5=--yXO|Lg7sQazk`sHLCcITDzLT0XDUf;@9$Xcw7
zerl06wI_ at lix2&9eZUt)Z*%+Dl_<zIk5E+7cv8T~8y`>a{TX#U9WhyIqN44#q9}=S
zLGTnl;Ki0^_|+gsX=my9fZ(O$LQodrM`Tj@)|yOYL?IA*`0R2*Kcp->t~loK!iHhB
zB-1o-?&TL8Eu3K#>&2|SCVBkjNr&~KJ<QC;nc1Y24^KWOqE5fRgJJpAO!l5YXQr8U
zFekGD2{IV`2JddaqW)R%w^y}e926%O4|BZJpqiR?B<cA(v8 at Jz?>-;U{Ax77en{4h
zE$n48-}LW>UL95_tFsVAj$boC2jA at x113tH%P5*jgE?2VS#?!SK=JlpL2c$=^K8Gx
zA$G#f&!8qClO?$ZVe*rc>TBf3#Zp1_*f5&{pxl`kb`<&vU+W*mY0|^VpIuGdVuF%&
z!2{_l=lUN-rDSAhW9YV4e7N^f8_}T~2)7=hXlL*c8wK;Mz2NYYsWaRcnJv)g#E{Yc
z^tjCtbyDMEv&j=arRT}Rb;KdP6$ZlI*WXQ?Lny~v?T<Wh`1#8u{-7a(!(*I7$RE5}
z-Rp83-CL~kyn-tH*Qb22QlT$YJU<Kl>~5^2#ve6(*p9^r*b4k~zlT4>^ifEZ at L5lF
zsp9IEz9D7&JQ7%3KC>ixV)yy3<N*CGYWKmiGQK#jbaO<hN}Qj$Rabj=mi^-x2RZ#b
zC;sK}z838HdPc-_MmD*hl-xp2N{KtT(IDW~mr%tqPh4fC&qroWvoSByV*5Z$<iY)v
zY at _Y(ov`9?V+R2KDbrvEK*0p^GI^Af+rRI*mT58Ocx9S_4BkynLfg4*R-7y)L1$%I
zNA!BCsaX)|xN$3*nHLd1@#KcF at J4e9hM)?eK#T*UGpnHG^v-9Z7d+ILL+bhIMe;n$
zPr0PZ)0T#yS&Qi|CM>wIEO)yZfPZrfFF6cCpTn@@VBKfQM#}cV7>|)}{}chP-TPN_
zQKCqN?`i!pSfpZBgs4D(IW&GfAJY~CR3s$%_Ai{lrbJ7Yl{LHbvEW$O+C{GD&)v7S
z%2f*m;A5&aFUc=0I6li|p`#{udB^13B3%&~>oavMxS6ag3H6fbn$ad312I-6N~HZ#
zl{Cp?tE;s1svmOohBE*ZZ)1)tJ3gMUPtZe at _jQW_m?oW^<_v|_CMqw{k{G8|&_}Hq
zUIon8bZyhtX#qURf)hKR+|H7<rLXygrZNA at lt$Q4Bm9No_K1%y4ii%cVJ+jDIOXES
lx;6d(p~C;eiLWOQz=i#0iOa|>zEl1MAa9 at yDzCdl{~MHyj3WR5

literal 0
HcmV?d00001

diff --git a/vlc-android/res/drawable-xhdpi/ic_gesture_swipe_vertically.png b/vlc-android/res/drawable-xhdpi/ic_gesture_swipe_vertically.png
new file mode 100644
index 0000000000000000000000000000000000000000..c254faac70d793a1028fd8d260822fea1a99de04
GIT binary patch
literal 3041
zcmb7`_dnZ>7RSG_VviEDh&EMwREj>-6KVxDO4V#djM`%FCLU3<6i;og8XZ=tRcb}W
zE@~AejoGT*8WrT`jz8eu^E#h%UZ3+iKb+V3>78h9YQVuN%nASi2hvdY4z0V;^q!fC
zR-dG?@zWYZpbpZCnHEvZE(tWx;%{gh2moxn{}KquD-fg&g at W{Kf-L>qf<jRNu0UvL
zsDg*DS0EbY at 2cPz;GVy&DNNhGkJQz+3Y*(1j7+)PE81s(h%<^dAG0oh?jt;Y0g>9<
zl&DzsNqA`v;fY2bm%^s3nvWl6Jv46JUX08R9yiW%*E3IX9p7NJ;c!aePpZ&PUV6sJ
zIE`Ict&`jQ(NUoixZS%Dxb~&+XUyhNnxD=yjX<|Gm7QFYA9HyYg3QATLO=l!H!}iY
zpyLK`00Y9D8CYua?6;8sSa2CGAYOS-5SD at M@)TGfDGlt|vkh=t?+(F~jO-+1=%F25
zf<)FRM<Ky0)x4dI+-9g0C&q=BKxvsi4--NYr<?@YRb^8$nv*2ZB_zMTT58+9T at NZP
zbG*a}V6+=o=HYsW>e!ORzV2l at Zm?1MUX at b5XwR|T$R$&tuJNQJ9^#aotYqZLgP~6-
zf2NFwI8=gZ7D58J%cqXaa_4TwS=?zm=Er8?F#?t^xRi`G_(%-gmV)hC1gXSFfq!5H
zac~COIjO+&naq^{Yo)v1?dfnSWK)azH+z$%8n--VsCCw*zZK-zW$W&MxoNNX-?O%s
z`Q{2;IvDgpe(I^LZONJ_Ffe{~Kpns|&$nhnHs?*mZ71FAjJI)&5C$kf2V%y?X%7v&
z^ENLYWcp_7eDmq0M!5EUnLMPLaxmW%?3_qVqw3pt4qrfpUj&xM6mDv}@wclM1d$IZ
zNFISSl at B35$SOF~^mkSIe$M!r<&v9*X~#@d>wc5+9v6{%Be}1qYSROWem~*t5m01+
zgk|h2<5#;ER-l!$8lOAWl*)70R7Tt$6-$1gR-ehs$MifJ>UoL#E>p2e=mx`Xe?$uv
z_XR~^bq25bxH3}SeAdF$9}t$mVmvU<C~KIfszpR?P+9zG6xMG3Zi8AB_H5gk%loS$
zKgNsnO=ey=+z!nF(-xC`i|nWDL#iYntSz5^c3sL}L*Kh!b|VB4_R}oA(baQVq{?5C
zp#^h8yR2I?+UsnCaGE<PIbfQpk|bKPU(q%3yd25o_Cnm!rMB&*v?QkstK70#Tv#QQ
z<*9z|vT#~-S=j8g8h0V}%L9`_&&ZTZ{^tS39w*_8ml(_P9Atci<~BVujO}H6lGz54
zy}|vXx?8uO$~yemX>8##vS%Gd!?3%A^rN1galMrb;E7eQUOOF;s5I#<M-O|YpAANc
zk97x*MQ%kQv&ZY*h at IZ97CY9zW*$aPe2S<jRruW>G5yToMp1|mU(t*?{kUhT*7#$&
z<`ldAn at s3;28+03qv+ICkEZE6oXDko0aNIEE;WTWf7p^uo2+<wSA>dHh1i at e>xxnu
z%q=91Ps3Mr7jH4 at dVK=J{yH{c)96^X$$4ZeGpX0(L7v_DM3{Tku)CDzLB269BLByz
za1O)oobMEVnMD(%CfGZ8pa_J_Fn}di)qifCW0HIC-l6ximYTG7{x;st^y2ee6Gcnn
z%R at zv?aXYCjy<)k3PlT0U{ZMrK_{jXhS9vh31u5#%pja1!mTZD#lXiny~(}BW8M=Y
z at QL}$U~}tscpFu`VRwIvJ`^P#@WQUcb}>wh^4O2pl}DX>1Y|=Up31Q2bGIP5bdvm7
zofoR%lwMU4?v+8Y^Q-bz#rHV}dF%{`Qctcn8xrn;*>v-tg>0OxsL6LZT$ayieF{J7
zo~Xf%$u>t`DL*J3{>OXYlFH}_r9 at 1N{T5%p(E$HRa1zSh(7yL|B0TaJdeo`FN8X28
zj=!#!tDReIQ&OWc%p9J}K&Lz3+gO~#7fu4utBvr9y}#F$K5h)N*oBexh0 at I~-ZcWZ
z5lp8=139inzaF_eAGXPb9teGS_(7ZMlohnWEHBq?7XtUs$NRP!&-jcUh$l3eO{(#7
z at Drb`A24=Nf=Q?>Vpcmxz4d+`{uKVr$#-8M;jks?d~uRKNr031h7 at w-B|7w|tD<26
z2O`T<b##Z7RYlb4Xq4_e+8J7N)ofdsGU+)_- at wPgeiwGAt~F~3OR<j|EmD%J=1)rT
z$-K7nZG2B~g5s-lo)Vj0@!J~{_vpYGJ~77U4jB<0O~PVVeljw5HdJ+b4UI}$5o)g9
zay<%q+sDPg2 at 7mZEnmGT^F5-YM7=`GTRp7~(>?#uNo%Sl-Ez~*6_xEEteNsjoj|-c
zu(rIwzX?5XT(sK3?fy7BLE9d at NfW7PtE}bX;+~DUmo#ZBXn)Yx{`T~t#NY9yCc)4h
zVS&GR3G^;oBlQ at UW_<lDc~W(eGu_THR?X(K#7$RV|I6_%5FS&18fS5^>CncoC}3E9
zgn$o~cd(esisA0Nh7fs#q4kiqX?ZgXhKy-^<UpFTE_H4#N-rJaHousgDc?>1-P`?o
z#LHZPgd0h&Dx|}PSx~y9y+$cZ{TRF9_Sx&N0`cMs(xImN4bHQ}(|E6adc(&xwx*Ws
zN1+q!GeyRM#Xig-7B*`27t=!_vI}s>7S2Dh1>@J(HTZhA6eHsXOQKHHsHn~P4^An9
z-@=Y^mg3eqdm1gpu~9W%5=XM}Kg2$xN6qs{r}nB97Y|YMXHp}bKO-%8vV32>)TA$h
zbxz|cU$~$e@}rFcnaOgFBjFoSc_ej%$wd>h>`3m2$cKkr8gS~ggOR`kr-Rn9FucMK
zE+$?k at rw3{o at a3x+9?ZcKBpUIJ?wd;bM=ueN3*xp#p5RT`nvF>=sdTyEi`(f65f1f
z2B&)BKUdThJ`oOhtD}|KG`cR at kPd0(ueSp&ZPk!89pDAs!adWR_r?hit|sag+8C7e
zc~aL8kE~3jGFBKJTOctF=?$x|3hVq*i>x$1T?q<pyx{UmT)u2 at -@-jsQ#c$dqo$nN
z-e<W;KkhwzR1|HXsvYxcta-W@=$Gl0tt)i*JDXQ01~1{r3ahebL|&p)h;6>y=ImMQ
zbmlnuda|mRpS}h4Nm}8_jH5$VFw7KTN(2m_q_W(4&ZVoeR#IoqAtVwFwQjymkkeo)
zl?blp$>tBZ{R_8i2N8f;v)kNai<^1f0 at PtfWl|icR|Hcfn)SsKHk+J-a9>2h(B at ud
zL%m-(*uXDA(7Qi5-&Q3Fa%==Hjk(@7_XmqG2EQ2$zNL9s-%?u%`+bd|G-uP>s(jzq
z`8p*rnrE|ulTxR{Mf9s(3-k<)!@_@`<>XL5UTK^lZt-CEO6p0O{gjvohVc+ZtpZMo
z1Yfdb$k=hr&Y$#c1g9YJU+=<W9a4{O9pe*W9-Kj64^a at YYJm_qbvNy|CNCwn`&cF4
zyC6*<WH8iK4KmVmz7C38mOC%c8x7CzhyriP`b6!nN22l^mw9*}ZOWV^Y1=491-)CT
zy09Y{fXS|jni?fFO=(`0Q&=RDq|3s?j0K9P^R+7nxOyf<$ta|z91D#Q5C9#N```7W
zDs%@mH~j0VUi(OpBDRGMUC?82|M<uAdvpnr2(ciP<(>q9;W8{|L&$&_XaM(r<QJ)5
zi6&Df$i$`=z$F>^<xBS2D&WjeuZ+n2#soa2Ol@!g`n5_!Ox%`{2d3hvpm-L2b#Sn6
zO#y66tLx#6NvZP7N<=PUazi4;dXHncUQU~Q9%HYG9lx|hY?$HC+Ebt)JoqurqD#!I
zN1~m5jDnH64mN_Vbgu9T1+Y>`qWYUVp^!nTfeEq<jSdO1gS=9gbA;u)9`d1_(BGu9
zP)W5NG^WIlzfd%fSCW^dN9P`MRQX4PGc&pjyXF3{kzzaPvH>&>{1HO341FMOEWrF9
i$oem8A%F|+XX4|hJPH!$H}hyX4j}bRb!&8-V*d$*0DuSp

literal 0
HcmV?d00001

diff --git a/vlc-android/res/drawable/button_oval.xml b/vlc-android/res/drawable/button_oval.xml
new file mode 100644
index 0000000..3c9fc10
--- /dev/null
+++ b/vlc-android/res/drawable/button_oval.xml
@@ -0,0 +1,14 @@
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle" >
+
+    <solid android:color="@color/darkerorange" />
+
+    <padding
+        android:bottom="6dp"
+        android:left="6dp"
+        android:right="6dp"
+        android:top="6dp" />
+
+    <corners android:radius="160dp" />
+
+</shape>
\ No newline at end of file
diff --git a/vlc-android/res/layout/player.xml b/vlc-android/res/layout/player.xml
index 95f53c4..a9a064e 100644
--- a/vlc-android/res/layout/player.xml
+++ b/vlc-android/res/layout/player.xml
@@ -7,7 +7,6 @@
      the double FrameLayout is necessary here to do cropping on the bottom right
      (which requires the surface not be centered), while keeping the result centered
     -->
-
     <FrameLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -37,6 +36,12 @@
         android:layout_height="match_parent"
         android:fitsSystemWindows="true" >
 
+        <include
+            android:id="@+id/player_overlay_tips"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            layout="@layout/player_tips" />
+
         <ImageButton
             android:id="@+id/player_overlay_play"
             android:layout_width="wrap_content"
@@ -117,7 +122,7 @@
             android:layout_above="@+id/progress_overlay"
             android:layout_alignParentRight="true"
             android:layout_below="@+id/player_overlay_header"
-            android:gravity="bottom|center_horizontal"
+            android:gravity="bottom|right"
             android:orientation="vertical"
             android:visibility="invisible" >
 
diff --git a/vlc-android/res/layout/player_tips.xml b/vlc-android/res/layout/player_tips.xml
new file mode 100644
index 0000000..468ec8e
--- /dev/null
+++ b/vlc-android/res/layout/player_tips.xml
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    android:background="@color/transparent_gray"
+    android:clickable="true"
+    android:onClick="onClickOverlayTips" >
+
+    <LinearLayout
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent"
+        android:orientation="vertical"
+        android:weightSum="4" >
+
+        <TextView
+            style="@style/TipsFontStyle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_weight="1"
+            android:gravity="bottom"
+            android:text="@string/video_player_tips" />
+
+        <LinearLayout
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            android:layout_weight="2"
+            android:gravity="center"
+            android:orientation="horizontal"
+            android:weightSum="2" >
+
+            <TextView
+                style="@style/TipsFontStyle"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:drawableBottom="@drawable/ic_gesture_swipe_vertically"
+                android:gravity="center"
+                android:text="@string/brightness" />
+
+            <TextView
+                style="@style/TipsFontStyle"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:drawableBottom="@drawable/ic_gesture_swipe_vertically"
+                android:gravity="center"
+                android:text="@string/volume" />
+        </LinearLayout>
+
+        <TextView
+            style="@style/TipsFontStyle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center|top"
+            android:drawableBottom="@drawable/ic_gesture_swipe_horizontally"
+            android:gravity="center"
+            android:text="@string/seek" />
+    </LinearLayout>
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:fitsSystemWindows="true" >
+
+        <RelativeLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_above="@+id/player_tips_progress"
+            android:layout_alignParentRight="true" >
+
+            <ImageView
+                android:id="@+id/player_tips_subtitle"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_above="@+id/player_tips_audio"
+                android:layout_alignParentRight="true"
+                android:background="@drawable/ic_subtitle_circle" />
+
+            <TextView
+                style="@style/TipsFontStyle.Small"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_alignTop="@+id/player_tips_subtitle"
+                android:layout_marginTop="-6dp"
+                android:paddingRight="5dp"
+                android:text="@string/subtitle" />
+
+            <ImageView
+                android:id="@+id/player_tips_audio"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_above="@+id/player_tips_size"
+                android:layout_alignParentRight="true"
+                android:background="@drawable/ic_audio_circle" />
+
+            <TextView
+                style="@style/TipsFontStyle.Small"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_alignTop="@+id/player_tips_audio"
+                android:layout_marginTop="-6dp"
+                android:paddingRight="5dp"
+                android:text="@string/track_audio" />
+
+            <ImageView
+                android:id="@+id/player_tips_size"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentBottom="true"
+                android:layout_alignParentRight="true"
+                android:background="@drawable/ic_crop_circle" />
+
+            <TextView
+                style="@style/TipsFontStyle.Small"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_alignTop="@+id/player_tips_size"
+                android:layout_marginTop="-6dp"
+                android:paddingRight="5dp"
+                android:text="@string/resize" />
+        </RelativeLayout>
+
+        <RelativeLayout
+            android:id="@+id/player_tips_progress"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            android:background="?attr/video_player_overlay"
+            android:paddingLeft="5dp"
+            android:paddingRight="5dp" >
+
+            <ImageView
+                android:id="@+id/player_tips_lock"
+                android:layout_width="40dip"
+                android:layout_height="40dip"
+                android:layout_alignParentLeft="true"
+                android:layout_centerVertical="true"
+                android:layout_marginRight="5dp"
+                android:background="@drawable/ic_lock" />
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_centerVertical="true"
+                android:layout_marginLeft="5dp"
+                android:background="@drawable/dots"
+                android:onClick="showAdvancedOptions" />
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:layout_toRightOf="@+id/player_tips_lock"
+                android:background="@drawable/button_oval"
+                android:clickable="true"
+                android:onClick="onClickOkGotIt"
+                android:paddingLeft="5dp"
+                android:text="@string/ok_got_it"
+                android:textColor="@color/white"
+                android:textStyle="bold" />
+        </RelativeLayout>
+
+        <TextView
+            style="@style/TipsFontStyle.Small"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentRight="true"
+            android:layout_alignTop="@+id/player_tips_progress"
+            android:layout_marginTop="-6dp"
+            android:paddingRight="5dp"
+            android:text="@string/options" />
+
+        <TextView
+            style="@style/TipsFontStyle.Small"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentLeft="true"
+            android:layout_alignTop="@+id/player_tips_progress"
+            android:layout_marginTop="-6dp"
+            android:paddingLeft="5dp"
+            android:text="@string/lock" />
+    </RelativeLayout>
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/vlc-android/res/values-fr/strings.xml b/vlc-android/res/values-fr/strings.xml
index eb26b28..cfd9674 100644
--- a/vlc-android/res/values-fr/strings.xml
+++ b/vlc-android/res/values-fr/strings.xml
@@ -225,4 +225,14 @@
     <string name="dump_logcat">Sauvegarder le fichier journal logcat</string>
     <string name="dump_logcat_success">Logcat sauvegardé avec succès dans %1$s !</string>
     <string name="dump_logcat_failure">Échec de sauvegarde du logcat.</string>
+
+<!-- Tips -->
+    <string name="video_player_tips">Astuces du lecteur vidéo</string>
+    <string name="seek">Recherche</string>
+    <string name="subtitle">Sous-titres</string>
+    <string name="resize">Ajuster l\'image</string>
+    <string name="options">Options</string>
+    <string name="lock">Vérouiller</string>
+    <string name="ok_got_it">J\'ai compris</string>
+
 </resources>
diff --git a/vlc-android/res/values/strings.xml b/vlc-android/res/values/strings.xml
index 19b7c9a..f998be6 100644
--- a/vlc-android/res/values/strings.xml
+++ b/vlc-android/res/values/strings.xml
@@ -448,4 +448,14 @@
         <item >@string/vout_android_surface</item>
     </string-array>
 
+<!-- Tips -->
+
+    <string name="video_player_tips">Video Player Tips</string>
+    <string name="seek">Seek</string>
+    <string name="subtitle">Subtitle</string>
+    <string name="resize">Resize</string>
+    <string name="options">Options</string>
+    <string name="lock">Lock</string>
+    <string name="ok_got_it">OK, got it.</string>
+
 </resources>
diff --git a/vlc-android/res/values/styles.xml b/vlc-android/res/values/styles.xml
index f6ab8c2..72818c6 100644
--- a/vlc-android/res/values/styles.xml
+++ b/vlc-android/res/values/styles.xml
@@ -199,4 +199,15 @@
       <item name="ic_down_style">@drawable/ic_down_w</item>
       <item name="ic_up_style">@drawable/ic_up_w</item>
     </style>
+
+    <!-- Tips Apearance-->
+
+    <style name="TipsFontStyle">
+      <item name="android:textColor">@color/darkerorange</item>
+      <item name="android:textStyle">bold</item>
+    </style>
+
+    <style name="TipsFontStyle.Small" parent="TipsFontStyle">
+      <item name="android:textSize">10sp</item>
+    </style>
 </resources>
diff --git a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
index 1abdbe3..4693931 100644
--- a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
+++ b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
@@ -65,6 +65,7 @@ import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.SharedPreferences;
+import android.content.SharedPreferences.Editor;
 import android.content.pm.ActivityInfo;
 import android.content.res.Configuration;
 import android.database.Cursor;
@@ -136,6 +137,8 @@ public class VideoPlayerActivity extends Activity implements IVideoPlayer {
     private static final int SURFACE_ORIGINAL = 6;
     private int mCurrentSize = SURFACE_BEST_FIT;
 
+    private SharedPreferences mSettings;
+
     /** Overlay */
     private View mOverlayHeader;
     private View mOverlayOption;
@@ -227,6 +230,11 @@ public class VideoPlayerActivity extends Activity implements IVideoPlayer {
     private boolean mDisabledHardwareAcceleration = false;
     private int mPreviousHardwareAccelerationMode;
 
+    // Tips
+    private View mOverlayTips;
+    private static final String PREF_SHOW_VIDEO_PLAYER_TIPS = "show_video_player_tips";
+
+
     @Override
     @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
     protected void onCreate(Bundle savedInstanceState) {
@@ -248,9 +256,9 @@ public class VideoPlayerActivity extends Activity implements IVideoPlayer {
         }
 
 
-        SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
+        mSettings = PreferenceManager.getDefaultSharedPreferences(this);
 
-        mEnableCloneMode = pref.getBoolean("enable_clone_mode", false);
+        mEnableCloneMode = mSettings.getBoolean("enable_clone_mode", false);
         createPresentation();
         setContentView(mPresentation == null ? R.layout.player : R.layout.player_remote_control);
 
@@ -290,11 +298,11 @@ public class VideoPlayerActivity extends Activity implements IVideoPlayer {
         // the info textView is not on the overlay
         mInfo = (TextView) findViewById(R.id.player_overlay_info);
 
-        mEnableBrightnessGesture = pref.getBoolean("enable_brightness_gesture", true);
+        mEnableBrightnessGesture = mSettings.getBoolean("enable_brightness_gesture", true);
         mScreenOrientation = Integer.valueOf(
-                pref.getString("screen_orientation_value", "4" /*SCREEN_ORIENTATION_SENSOR*/));
+                mSettings.getString("screen_orientation_value", "4" /*SCREEN_ORIENTATION_SENSOR*/));
 
-        mEnableJumpButtons = pref.getBoolean("enable_jump_buttons", false);
+        mEnableJumpButtons = mSettings.getBoolean("enable_jump_buttons", false);
         mPlayPause = (ImageButton) findViewById(R.id.player_overlay_play);
         mPlayPause.setOnClickListener(mPlayPauseListener);
         mBackward = (ImageButton) findViewById(R.id.player_overlay_backward);
@@ -318,7 +326,7 @@ public class VideoPlayerActivity extends Activity implements IVideoPlayer {
         mSurface = (SurfaceView) findViewById(R.id.player_surface);
         mSurfaceHolder = mSurface.getHolder();
         mSurfaceFrame = (FrameLayout) findViewById(R.id.player_surface_frame);
-        String chroma = pref.getString("chroma_format", "");
+        String chroma = mSettings.getString("chroma_format", "");
         if(LibVlcUtil.isGingerbreadOrLater() && chroma.equals("YV12")) {
             mSurfaceHolder.setFormat(ImageFormat.YV12);
         } else if (chroma.equals("RV16")) {
@@ -372,7 +380,7 @@ public class VideoPlayerActivity extends Activity implements IVideoPlayer {
             return;
         }
 
-        if (mPresentation != null && !pref.getBoolean("enable_secondary_display_hardware_acceleration", false)) {
+        if (mPresentation != null && !mSettings.getBoolean("enable_secondary_display_hardware_acceleration", false)) {
             mDisabledHardwareAcceleration = true;
             mPreviousHardwareAccelerationMode = mLibVLC.getHardwareAcceleration();
             mLibVLC.setHardwareAcceleration(LibVLC.HW_ACCELERATION_DISABLED);
@@ -392,13 +400,23 @@ public class VideoPlayerActivity extends Activity implements IVideoPlayer {
 
         this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
 
-        // 100 is the value for screen_orientation_start_lock
-        if (mPresentation == null)
+        // Extra initialization when no secondary display is detected
+        if (mPresentation == null) {
+            // Orientation
+            // 100 is the value for screen_orientation_start_lock
             setRequestedOrientation(mScreenOrientation != 100
                     ? mScreenOrientation
                     : getScreenOrientation());
-        else
+            // Tips
+            mOverlayTips = findViewById(R.id.player_overlay_tips);
+            if (mSettings.getBoolean(PREF_SHOW_VIDEO_PLAYER_TIPS, true)) {
+                mOverlayTips.bringToFront();
+                mOverlayTips.invalidate();
+            } else
+                mOverlayTips.setVisibility(View.GONE);
+        } else
             setRequestedOrientation(getScreenOrientation());
+
     }
 
     @Override
@@ -1604,12 +1622,14 @@ public class VideoPlayerActivity extends Activity implements IVideoPlayer {
         if (mShowing) {
             mHandler.removeMessages(SHOW_PROGRESS);
             Log.i(TAG, "remove View!");
+            mOverlayTips.setVisibility(View.INVISIBLE);
             if (!fromUser && !mIsLocked) {
                 mOverlayHeader.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
                 mOverlayOption.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
                 mOverlayProgress.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
                 mPlayPause.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
                 mMenu.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
+                //mOverlayTips.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
             }
             if (mPresentation != null) {
                 mOverlayBackground.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
@@ -2154,4 +2174,16 @@ public class VideoPlayerActivity extends Activity implements IVideoPlayer {
         mLoading.clearAnimation();
         mLoadingText.setVisibility(View.GONE);
     }
+
+    public void onClickOverlayTips(View v) {
+        mOverlayTips.setVisibility(View.GONE);
+    }
+
+    public void onClickOkGotIt(View v) {
+        mOverlayTips.setVisibility(View.GONE);
+        Editor editor = mSettings.edit();
+        editor.putBoolean(PREF_SHOW_VIDEO_PLAYER_TIPS, false);
+        editor.commit();
+    }
+
 }
-- 
1.9.1



More information about the Android mailing list