Start of new icons integration + reorganization
47
assets/images/svg/ic_forward_player.svg
Normal file
@@ -0,0 +1,47 @@
|
||||
<?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="24" height="24" id="svg4682"
|
||||
version="1.1" inkscape:version="0.92.3 (unknown)" sodipodi:docname="ic_forward_normal_w.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="16"
|
||||
inkscape:cx="14.572753" inkscape:cy="6.7569491" inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1" showgrid="true" inkscape:window-width="960"
|
||||
inkscape:window-height="1028" inkscape:window-x="1920" inkscape:window-y="15"
|
||||
inkscape:window-maximized="0" inkscape:snap-bbox="true" inkscape:bbox-paths="true"
|
||||
inkscape:bbox-nodes="true" inkscape:snap-bbox-edge-midpoints="true"
|
||||
inkscape:snap-bbox-midpoints="true" inkscape:object-paths="true"
|
||||
inkscape:snap-intersection-paths="true" inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-midpoints="true" inkscape:snap-object-midpoints="true"
|
||||
inkscape:snap-center="true">
|
||||
<inkscape:grid type="xygrid" id="grid3002" />
|
||||
</sodipodi:namedview>
|
||||
<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,-1028.3622)">
|
||||
<g id="g836" transform="translate(6,-15)"
|
||||
style="fill:#fafafa;fill-opacity:1;stroke:#fafafa;stroke-opacity:1">
|
||||
<path sodipodi:nodetypes="cccc" inkscape:connector-curvature="0" id="path7943"
|
||||
d="m -2,1060.3622 v -10 l 7,5 z"
|
||||
style="fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#fafafa;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#fafafa;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 8,1060.3622 v -10 l 7,5 z" id="path7945" inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
37
assets/images/svg/ic_half_seek_forward.svg
Normal file
@@ -0,0 +1,37 @@
|
||||
<?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="24" height="24" id="svg4682"
|
||||
version="1.1" inkscape:version="0.92.4 (33fec40, 2019-01-16)"
|
||||
sodipodi:docname="ic_half_seek_forward.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="22.4"
|
||||
inkscape:cx="3.08849" inkscape:cy="15.548271" inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1" showgrid="true" inkscape:window-width="1920"
|
||||
inkscape:window-height="1080" inkscape:window-x="1920" inkscape:window-y="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid type="xygrid" id="grid3002" />
|
||||
</sodipodi:namedview>
|
||||
<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,-1028.3622)">
|
||||
<path
|
||||
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
inkscape:transform-center-x="-1.7681375" d="m 17.5,1040.3622 -11,7 0,-14 z"
|
||||
id="path5043" inkscape:connector-curvature="0" sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
37
assets/images/svg/ic_half_seek_rewind.svg
Normal file
@@ -0,0 +1,37 @@
|
||||
<?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="24" height="24" id="svg4682"
|
||||
version="1.1" inkscape:version="0.92.4 (33fec40, 2019-01-16)"
|
||||
sodipodi:docname="ic_half_seek_rewind.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="22.4"
|
||||
inkscape:cx="3.08849" inkscape:cy="15.548271" inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1" showgrid="true" inkscape:window-width="1920"
|
||||
inkscape:window-height="1080" inkscape:window-x="1920" inkscape:window-y="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid type="xygrid" id="grid3002" />
|
||||
</sodipodi:namedview>
|
||||
<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,-1028.3622)">
|
||||
<path
|
||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;marker:none;enable-background:accumulate"
|
||||
inkscape:transform-center-x="1.7681375" d="m 6.5,1040.3622 11,7 v -14 z" id="path5043"
|
||||
inkscape:connector-curvature="0" sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
47
assets/images/svg/ic_rewind_player.svg
Normal file
@@ -0,0 +1,47 @@
|
||||
<?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="24" height="24" id="svg4682"
|
||||
version="1.1" inkscape:version="0.92.3 (unknown)" sodipodi:docname="ic_backward_normal_w.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="16"
|
||||
inkscape:cx="14.572753" inkscape:cy="6.7569491" inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1" showgrid="true" inkscape:window-width="960"
|
||||
inkscape:window-height="1028" inkscape:window-x="1920" inkscape:window-y="15"
|
||||
inkscape:window-maximized="0" inkscape:snap-bbox="true" inkscape:bbox-paths="true"
|
||||
inkscape:bbox-nodes="true" inkscape:snap-bbox-edge-midpoints="true"
|
||||
inkscape:snap-bbox-midpoints="true" inkscape:object-paths="true"
|
||||
inkscape:snap-intersection-paths="true" inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-midpoints="true" inkscape:snap-object-midpoints="true"
|
||||
inkscape:snap-center="true">
|
||||
<inkscape:grid type="xygrid" id="grid3002" />
|
||||
</sodipodi:namedview>
|
||||
<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,-1028.3622)">
|
||||
<g id="g836" transform="rotate(-180,9.5,1047.8622)"
|
||||
style="fill:#fafafa;fill-opacity:1;stroke:#fafafa;stroke-opacity:1">
|
||||
<path sodipodi:nodetypes="cccc" inkscape:connector-curvature="0" id="path7943"
|
||||
d="m -2,1060.3622 v -10 l 7,5 z"
|
||||
style="fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#fafafa;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#fafafa;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 8,1060.3622 v -10 l 7,5 z" id="path7945" inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
16
patches/Fix_Video_resize.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
Index: vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
|
||||
IDEA additional info:
|
||||
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
|
||||
<+>UTF-8
|
||||
===================================================================
|
||||
--- vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java (revision 65a7c33ead0d8fbdaea01701dfaed7546fffef23)
|
||||
+++ vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java (date 1556541549000)
|
||||
@@ -2357,7 +2357,7 @@
|
||||
else mActionBar.show();
|
||||
|
||||
int visibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
|
||||
- int navbar = 0;
|
||||
+ int navbar = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
|
||||
if (dim || mIsLocked) {
|
||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
navbar |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |View.SYSTEM_UI_FLAG_LOW_PROFILE|View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
|
||||
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 995 B |
|
Before Width: | Height: | Size: 1001 B |
|
Before Width: | Height: | Size: 850 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1005 B |
|
Before Width: | Height: | Size: 918 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1009 B |
|
Before Width: | Height: | Size: 1015 B |
|
Before Width: | Height: | Size: 565 B |
|
Before Width: | Height: | Size: 547 B |
|
Before Width: | Height: | Size: 554 B |
|
Before Width: | Height: | Size: 475 B |
|
Before Width: | Height: | Size: 700 B |
|
Before Width: | Height: | Size: 522 B |
|
Before Width: | Height: | Size: 558 B |
|
Before Width: | Height: | Size: 538 B |
|
Before Width: | Height: | Size: 551 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1015 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 995 B |
|
Before Width: | Height: | Size: 1001 B |
|
Before Width: | Height: | Size: 558 B |
|
Before Width: | Height: | Size: 551 B |
|
Before Width: | Height: | Size: 565 B |
|
Before Width: | Height: | Size: 547 B |
|
Before Width: | Height: | Size: 554 B |
|
Before Width: | Height: | Size: 799 B |
|
Before Width: | Height: | Size: 769 B |
|
Before Width: | Height: | Size: 800 B |
|
Before Width: | Height: | Size: 775 B |
|
Before Width: | Height: | Size: 772 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
26
vlc-android/res/drawable-ldrtl/ic_forward_player.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="m21,7l-0,10l-7,-5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#fafafa"
|
||||
android:strokeColor="#fafafa"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
<path
|
||||
android:pathData="m11,7l-0,10l-7,-5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#fafafa"
|
||||
android:strokeColor="#fafafa"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
</vector>
|
||||
@@ -0,0 +1,26 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="m21,7l-0,10l-7,-5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#707070"
|
||||
android:strokeColor="#707070"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
<path
|
||||
android:pathData="m11,7l-0,10l-7,-5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#707070"
|
||||
android:strokeColor="#707070"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
</vector>
|
||||
16
vlc-android/res/drawable-ldrtl/ic_next_player.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#fafafa"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="m7,17.9999c0.554,0 1,-0.446 1,-0.9999v-9.999c0,-0.554 -0.446,-0.9999 -1,-0.9999 -0.554,0 -1,0.4459 -1,0.9999v9.999c0,0.5539 0.446,0.9999 1,0.9999zM17.9805,17.9999c0.5591,0.011 1.0184,-0.4388 1.0195,-0.9979v-9.999c0.0009,-0.8142 -0.9198,-1.2882 -1.582,-0.8144l-7,4.9995c-0.5579,0.3988 -0.5579,1.228 0,1.6268l7,4.9995c0.1644,0.1172 0.3605,0.1819 0.5625,0.1855z"
|
||||
android:strokeWidth="1.99990106"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="butt"
|
||||
android:strokeLineJoin="round" />
|
||||
</vector>
|
||||
26
vlc-android/res/drawable-ldrtl/ic_rewind_player.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="m4,17v-10l7,5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#fafafa"
|
||||
android:strokeColor="#fafafa"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
<path
|
||||
android:pathData="m14,17v-10l7,5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#fafafa"
|
||||
android:strokeColor="#fafafa"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
</vector>
|
||||
26
vlc-android/res/drawable-ldrtl/ic_rewind_player_disabled.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="m4,17v-10l7,5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#707070"
|
||||
android:strokeColor="#707070"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
<path
|
||||
android:pathData="m14,17v-10l7,5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#707070"
|
||||
android:strokeColor="#707070"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
</vector>
|
||||
|
Before Width: | Height: | Size: 800 B |
|
Before Width: | Height: | Size: 775 B |
|
Before Width: | Height: | Size: 772 B |
|
Before Width: | Height: | Size: 588 B |
|
Before Width: | Height: | Size: 921 B |
|
Before Width: | Height: | Size: 703 B |
|
Before Width: | Height: | Size: 799 B |
|
Before Width: | Height: | Size: 769 B |
|
Before Width: | Height: | Size: 769 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/ic_forward_circle_normal_o" android:state_focused="true" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_forward_circle_pressed_o" android:state_focused="true"/>
|
||||
<item android:drawable="@drawable/ic_forward_circle_pressed_o" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_forward_circle_normal_o"/>
|
||||
</selector>
|
||||
26
vlc-android/res/drawable/ic_forward_player.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="m4,17v-10l7,5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#fafafa"
|
||||
android:strokeColor="#fafafa"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
<path
|
||||
android:pathData="m14,17v-10l7,5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#fafafa"
|
||||
android:strokeColor="#fafafa"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
</vector>
|
||||
26
vlc-android/res/drawable/ic_forward_player_disabled.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="m4,17v-10l7,5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#707070"
|
||||
android:strokeColor="#707070"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
<path
|
||||
android:pathData="m14,17v-10l7,5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#707070"
|
||||
android:strokeColor="#707070"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
</vector>
|
||||
16
vlc-android/res/drawable/ic_next_player.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<vector android:height="40dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24"
|
||||
android:width="40dp"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#fafafa"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="m17,6.0021c-0.554,0 -1,0.446 -1,1v10c0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1v-10c0,-0.554 -0.446,-1 -1,-1zM6.0195,6.0021c-0.5591,-0.011 -1.0184,0.4388 -1.0195,0.998v10c-0.0009,0.8143 0.9198,1.2883 1.582,0.8145l7,-5c0.5579,-0.3989 0.5579,-1.2281 0,-1.627l-7,-5c-0.1644,-0.1172 -0.3605,-0.1819 -0.5625,-0.1855z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="butt"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2" />
|
||||
</vector>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/ic_pause_circle_normal_o" android:state_focused="true" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_pause_player" android:state_focused="true" android:state_pressed="true" />
|
||||
<item android:drawable="@drawable/ic_pause_circle_pressed_o" android:state_focused="true"/>
|
||||
<item android:drawable="@drawable/ic_pause_circle_pressed_o" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_pause_circle_normal_o"/>
|
||||
<item android:drawable="@drawable/ic_pause_player" />
|
||||
</selector>
|
||||
20
vlc-android/res/drawable/ic_pause_player.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<vector android:height="52dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24"
|
||||
android:width="52dp"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#fafafa"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M8,4L8,4A2,2 0,0 1,10 6L10,18A2,2 0,0 1,8 20L8,20A2,2 0,0 1,6 18L6,6A2,2 0,0 1,8 4z"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeWidth="1.06904495" />
|
||||
<path
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#fafafa"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M16,4L16,4A2,2 0,0 1,18 6L18,18A2,2 0,0 1,16 20L16,20A2,2 0,0 1,14 18L14,6A2,2 0,0 1,16 4z"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeWidth="2" />
|
||||
</vector>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/ic_play_circle_normal_o" android:state_focused="true" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_play_player" android:state_focused="true" android:state_pressed="true" />
|
||||
<item android:drawable="@drawable/ic_play_circle_pressed_o" android:state_focused="true"/>
|
||||
<item android:drawable="@drawable/ic_play_circle_pressed_o" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_play_circle_normal_o"/>
|
||||
<item android:drawable="@drawable/ic_play_player" />
|
||||
</selector>
|
||||
16
vlc-android/res/drawable/ic_play_player.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<vector android:height="52dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24"
|
||||
android:width="52dp"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#fafafa"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="m7,5 l12,7 -12,7z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeColor="#fafafa"
|
||||
android:strokeLineCap="butt"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2" />
|
||||
</vector>
|
||||
16
vlc-android/res/drawable/ic_play_player_disabled.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="52dp"
|
||||
android:height="52dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#80bdbdbd"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="m7,5 l12,7 -12,7z"
|
||||
android:strokeWidth="2"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeColor="#80bdbdbd"
|
||||
android:strokeLineCap="butt"
|
||||
android:strokeLineJoin="round" />
|
||||
</vector>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/ic_playlist_next_circle_normal_o" android:state_focused="true" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_next_player" android:state_focused="true" android:state_pressed="true" />
|
||||
<item android:drawable="@drawable/ic_playlist_next_circle_pressed_o" android:state_focused="true"/>
|
||||
<item android:drawable="@drawable/ic_playlist_next_circle_pressed_o" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_playlist_next_circle_normal_o"/>
|
||||
<item android:drawable="@drawable/ic_next_player" />
|
||||
</selector>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/ic_playlist_previous_circle_normal_o" android:state_focused="true" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_previous_player" android:state_focused="true" android:state_pressed="true" />
|
||||
<item android:drawable="@drawable/ic_playlist_previous_circle_pressed_o" android:state_focused="true"/>
|
||||
<item android:drawable="@drawable/ic_playlist_previous_circle_pressed_o" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_playlist_previous_circle_normal_o"/>
|
||||
<item android:drawable="@drawable/ic_previous_player" />
|
||||
</selector>
|
||||
16
vlc-android/res/drawable/ic_previous_player.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<vector android:height="40dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24"
|
||||
android:width="40dp"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#fafafa"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="m7,17.9999c0.554,0 1,-0.446 1,-0.9999v-9.999c0,-0.554 -0.446,-0.9999 -1,-0.9999 -0.554,0 -1,0.4459 -1,0.9999v9.999c0,0.5539 0.446,0.9999 1,0.9999zM17.9805,17.9999c0.5591,0.011 1.0184,-0.4388 1.0195,-0.9979v-9.999c0.0009,-0.8142 -0.9198,-1.2882 -1.582,-0.8144l-7,4.9995c-0.5579,0.3988 -0.5579,1.228 0,1.6268l7,4.9995c0.1644,0.1172 0.3605,0.1819 0.5625,0.1855z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeColor="#00000000"
|
||||
android:strokeLineCap="butt"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="1.99990106" />
|
||||
</vector>
|
||||
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/ic_rewind_circle_normal_o" android:state_focused="true" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_rewind_circle_pressed_o" android:state_focused="true"/>
|
||||
<item android:drawable="@drawable/ic_rewind_circle_pressed_o" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_rewind_circle_normal_o"/>
|
||||
</selector>
|
||||
26
vlc-android/res/drawable/ic_rewind_player.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="m21,7l-0,10l-7,-5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#fafafa"
|
||||
android:strokeColor="#fafafa"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
<path
|
||||
android:pathData="m11,7l-0,10l-7,-5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#fafafa"
|
||||
android:strokeColor="#fafafa"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
</vector>
|
||||
26
vlc-android/res/drawable/ic_rewind_player_disabled.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="m21,7l-0,10l-7,-5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#707070"
|
||||
android:strokeColor="#707070"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
<path
|
||||
android:pathData="m11,7l-0,10l-7,-5z"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeLineJoin="round"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#707070"
|
||||
android:strokeColor="#707070"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeLineCap="butt" />
|
||||
</vector>
|
||||
@@ -1,7 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/ic_rotate_normal_o" android:state_focused="true" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_rotate_pressed_o" android:state_focused="true"/>
|
||||
<item android:drawable="@drawable/ic_rotate_pressed_o" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/ic_rotate_normal_o"/>
|
||||
</selector>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:pathData="M16.48,2.52c3.27,1.55 5.61,4.72 5.97,8.48h1.5C23.44,4.84 18.29,0 12,0l-0.66,0.03 3.81,3.81 1.33,-1.32zM10.23,1.75c-0.59,-0.59 -1.54,-0.59 -2.12,0L1.75,8.11c-0.59,0.59 -0.59,1.54 0,2.12l12.02,12.02c0.59,0.59 1.54,0.59 2.12,0l6.36,-6.36c0.59,-0.59 0.59,-1.54 0,-2.12L10.23,1.75zM14.83,21.19L2.81,9.17l6.36,-6.36 12.02,12.02 -6.36,6.36zM7.52,21.48C4.25,19.94 1.91,16.76 1.55,13L0.05,13C0.56,19.16 5.71,24 12,24l0.66,-0.03 -3.81,-3.81 -1.33,1.32z" />
|
||||
</vector>
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
<vector android:height="24dp" android:tint="#F6911D"
|
||||
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#FF000000" android:pathData="M16.48,2.52c3.27,1.55 5.61,4.72 5.97,8.48h1.5C23.44,4.84 18.29,0 12,0l-0.66,0.03 3.81,3.81 1.33,-1.32zM10.23,1.75c-0.59,-0.59 -1.54,-0.59 -2.12,0L1.75,8.11c-0.59,0.59 -0.59,1.54 0,2.12l12.02,12.02c0.59,0.59 1.54,0.59 2.12,0l6.36,-6.36c0.59,-0.59 0.59,-1.54 0,-2.12L10.23,1.75zM14.83,21.19L2.81,9.17l6.36,-6.36 12.02,12.02 -6.36,6.36zM7.52,21.48C4.25,19.94 1.91,16.76 1.55,13L0.05,13C0.56,19.16 5.71,24 12,24l0.66,-0.03 -3.81,-3.81 -1.33,1.32z"/>
|
||||
</vector>
|
||||
@@ -1,5 +0,0 @@
|
||||
<vector android:height="24dp" android:tint="#FECB65"
|
||||
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#FF000000" android:pathData="M16.48,2.52c3.27,1.55 5.61,4.72 5.97,8.48h1.5C23.44,4.84 18.29,0 12,0l-0.66,0.03 3.81,3.81 1.33,-1.32zM10.23,1.75c-0.59,-0.59 -1.54,-0.59 -2.12,0L1.75,8.11c-0.59,0.59 -0.59,1.54 0,2.12l12.02,12.02c0.59,0.59 1.54,0.59 2.12,0l6.36,-6.36c0.59,-0.59 0.59,-1.54 0,-2.12L10.23,1.75zM14.83,21.19L2.81,9.17l6.36,-6.36 12.02,12.02 -6.36,6.36zM7.52,21.48C4.25,19.94 1.91,16.76 1.55,13L0.05,13C0.56,19.16 5.71,24 12,24l0.66,-0.03 -3.81,-3.81 -1.33,1.32z"/>
|
||||
</vector>
|
||||
34
vlc-android/res/drawable/po_seekbar_video.xml
Normal file
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:id="@android:id/background"
|
||||
android:gravity="center_vertical|fill_horizontal">
|
||||
<shape android:shape="rectangle">
|
||||
<corners android:radius="1.5dp" />
|
||||
<size android:height="3dp" />
|
||||
<solid android:color="@color/grey200" />
|
||||
</shape>
|
||||
</item>
|
||||
<item
|
||||
android:id="@android:id/secondaryProgress"
|
||||
android:gravity="center_vertical|fill_horizontal">
|
||||
<clip>
|
||||
<shape android:shape="rectangle">
|
||||
<corners android:radius="1.5dp" />
|
||||
<size android:height="3dp" />
|
||||
<solid android:color="@color/grey200" />
|
||||
</shape>
|
||||
</clip>
|
||||
</item>
|
||||
<item
|
||||
android:id="@android:id/progress"
|
||||
android:gravity="center_vertical|fill_horizontal">
|
||||
<clip>
|
||||
<shape android:shape="rectangle">
|
||||
<corners android:radius="1.5dp" />
|
||||
<size android:height="3dp" />
|
||||
<solid android:color="@color/orange500" />
|
||||
</shape>
|
||||
</clip>
|
||||
</item>
|
||||
</layer-list>
|
||||
@@ -2,11 +2,9 @@
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid
|
||||
android:color="@color/blacktransparent" >
|
||||
<solid android:color="@color/player_background">
|
||||
</solid>
|
||||
<corners
|
||||
android:radius="3dp" >
|
||||
<corners android:radius="5dp">
|
||||
</corners>
|
||||
|
||||
</shape>
|
||||
@@ -4,17 +4,7 @@
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent" >
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/orientation_toggle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:src="@drawable/ic_rotate"
|
||||
android:focusable="true"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/player_overlay_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
|
||||
@@ -1,202 +1,301 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:vlc="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:vlc="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
|
||||
<import type="org.videolan.medialibrary.Tools" />
|
||||
|
||||
<variable
|
||||
name="progress"
|
||||
type="androidx.lifecycle.LiveData<org.videolan.vlc.media.Progress>" />
|
||||
|
||||
<variable
|
||||
name="player"
|
||||
type="org.videolan.vlc.gui.video.VideoPlayerActivity" />
|
||||
</data>
|
||||
<RelativeLayout
|
||||
android:id="@+id/progress_overlay"
|
||||
android:layout_width="800dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/rounded_corners"
|
||||
android:paddingTop="@dimen/overlay_padding_top"
|
||||
android:paddingBottom="@dimen/overlay_padding_bottom"
|
||||
android:visibility="invisible"
|
||||
tools:visibility="visible" >
|
||||
|
||||
<SeekBar
|
||||
android:id="@+id/player_overlay_seekbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxHeight="@dimen/seekbar_height"
|
||||
android:minHeight="@dimen/seekbar_height"
|
||||
android:paddingLeft="@dimen/time_margin_sides"
|
||||
android:paddingRight="@dimen/time_margin_sides"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingBottom="4dp"
|
||||
android:layoutDirection="ltr"
|
||||
android:layout_alignParentTop="true"
|
||||
android:progressDrawable="@drawable/po_seekbar"
|
||||
android:thumb="@drawable/seekbar_thumb"
|
||||
android:splitTrack="false"
|
||||
android:focusable="true"
|
||||
android:progress="@{(int)progress.time}"
|
||||
vlc:mediamax="@{(int)progress.length}"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/player_overlay_time"
|
||||
android:layout_width="66dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/player_overlay_seekbar"
|
||||
android:layout_alignLeft="@+id/player_overlay_seekbar"
|
||||
android:layout_alignStart="@+id/player_overlay_seekbar"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_marginLeft="@dimen/time_margin_sides"
|
||||
android:layout_marginStart="@dimen/time_margin_sides"
|
||||
android:gravity="left|start"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.SearchResult.Title"
|
||||
android:textColor="@color/orange500"
|
||||
android:text="@{Tools.millisToString(progress.time)}"
|
||||
android:textSize="16sp"
|
||||
android:onClick="@{(v) -> player.toggleTimeDisplay()}" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/player_overlay_length"
|
||||
android:layout_width="66dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/player_overlay_seekbar"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignRight="@+id/player_overlay_seekbar"
|
||||
android:layout_marginRight="@dimen/time_margin_sides"
|
||||
android:gravity="right|end"
|
||||
vlc:time="@{progress.time}"
|
||||
vlc:length="@{progress.length}"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.SearchResult.Title"
|
||||
android:textSize="16sp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignEnd="@+id/player_overlay_seekbar"
|
||||
android:layout_marginEnd="@dimen/time_margin_sides"
|
||||
android:onClick="@{(v) -> player.toggleTimeDisplay()}" />
|
||||
|
||||
<!-- Media control buttons -->
|
||||
<LinearLayout
|
||||
android:id="@+id/player_overlay_buttons"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/player_overlay_length"
|
||||
android:layout_marginRight="@dimen/images_margin_sides"
|
||||
android:layout_marginLeft="@dimen/images_margin_sides">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/lock_overlay_button"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:src="@drawable/ic_lock_circle"
|
||||
android:scaleType="center"
|
||||
android:onClick="@{(v) -> player.toggleLock()}"
|
||||
android:contentDescription="@string/lock"
|
||||
android:focusable="true"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/player_overlay_tracks"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:clickable="true"
|
||||
android:src="@drawable/ic_audiosub_circle"
|
||||
android:scaleType="center"
|
||||
android:onClick="@{player::onAudioSubClick}"
|
||||
android:contentDescription="@string/tracks"
|
||||
android:focusable="true"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/playlist_previous"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:longClickable="true"
|
||||
android:scaleType="center"
|
||||
android:onClick="@{(v) -> player.previous()}"
|
||||
android:src="@drawable/ic_playlist_previous_circle"
|
||||
android:contentDescription="@string/previous"
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/player_overlay_rewind"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:longClickable="true"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_rewind_circle"
|
||||
android:contentDescription="@string/playback_rewind"
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/player_overlay_play"
|
||||
android:layout_width="0dp"
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/progress_overlay"
|
||||
android:layout_width="800dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:clickable="true"
|
||||
android:src="@drawable/ic_pause_circle"
|
||||
android:scaleType="fitCenter"
|
||||
android:focusable="true"
|
||||
android:onClick="@{(v) -> player.doPlayPause()}"
|
||||
android:onLongClick="@{player::toggleLoop}"
|
||||
android:contentDescription="@string/play"/>
|
||||
android:background="@drawable/rounded_corners"
|
||||
android:paddingTop="@dimen/overlay_padding_top"
|
||||
android:paddingBottom="@dimen/overlay_padding_bottom"
|
||||
android:visibility="invisible"
|
||||
tools:visibility="visible">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/player_overlay_forward"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:clickable="true"
|
||||
android:longClickable="true"
|
||||
android:src="@drawable/ic_forward_circle"
|
||||
android:scaleType="center"
|
||||
android:focusable="true"
|
||||
android:contentDescription="@string/playback_forward"
|
||||
android:visibility="gone" />
|
||||
<TextView
|
||||
android:id="@+id/player_overlay_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.SearchResult.Title"
|
||||
android:textSize="16sp"
|
||||
tools:text="Game of Thrones S01-E01"
|
||||
vlc:layout_constraintEnd_toStartOf="@+id/orientation_toggle"
|
||||
vlc:layout_constraintStart_toStartOf="parent"
|
||||
vlc:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/playlist_next"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:clickable="true"
|
||||
android:longClickable="true"
|
||||
android:src="@drawable/ic_playlist_next_circle"
|
||||
android:scaleType="center"
|
||||
android:focusable="true"
|
||||
android:onClick="@{(v) -> player.next()}"
|
||||
android:contentDescription="@string/next"
|
||||
android:visibility="gone" />
|
||||
<ImageView
|
||||
android:id="@+id/orientation_toggle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:focusable="true"
|
||||
android:padding="@dimen/kl_half"
|
||||
android:src="@drawable/ic_rotate"
|
||||
android:visibility="gone"
|
||||
vlc:layout_constraintBottom_toBottomOf="@+id/player_overlay_title"
|
||||
vlc:layout_constraintEnd_toEndOf="parent"
|
||||
vlc:layout_constraintTop_toTopOf="@+id/player_overlay_title" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/player_overlay_adv_function"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:clickable="true"
|
||||
android:src="@drawable/ic_more_circle"
|
||||
android:scaleType="center"
|
||||
android:onClick="@{(v) -> player.showAdvancedOptions()}"
|
||||
android:contentDescription="@string/advanced"
|
||||
android:focusable="true"/>
|
||||
<SeekBar
|
||||
android:id="@+id/player_overlay_seekbar"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:focusable="true"
|
||||
android:layoutDirection="ltr"
|
||||
android:maxHeight="@dimen/seekbar_height"
|
||||
android:minHeight="@dimen/seekbar_height"
|
||||
android:paddingLeft="@dimen/time_margin_sides"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingRight="@dimen/time_margin_sides"
|
||||
android:paddingBottom="4dp"
|
||||
android:progress="@{(int)progress.time}"
|
||||
android:progressDrawable="@drawable/po_seekbar_video"
|
||||
android:splitTrack="false"
|
||||
android:thumb="@drawable/seekbar_thumb"
|
||||
vlc:layout_constraintEnd_toEndOf="parent"
|
||||
vlc:layout_constraintStart_toStartOf="parent"
|
||||
vlc:layout_constraintTop_toBottomOf="@+id/player_overlay_title"
|
||||
vlc:mediamax="@{(int)progress.length}" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/player_overlay_size"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:src="@drawable/ic_crop_circle_o"
|
||||
android:scaleType="center"
|
||||
android:onClick="@{(v) -> player.resizeVideo()}"
|
||||
android:contentDescription="@string/resize"
|
||||
android:focusable="true" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
<FrameLayout
|
||||
android:id="@+id/player_overlay_time_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/time_margin_sides"
|
||||
android:layout_marginBottom="8dp"
|
||||
vlc:layout_constraintBottom_toBottomOf="parent"
|
||||
vlc:layout_constraintHorizontal_chainStyle="spread_inside"
|
||||
vlc:layout_constraintStart_toStartOf="parent"
|
||||
vlc:layout_constraintTop_toBottomOf="@+id/player_overlay_seekbar">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/player_overlay_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:onClick="@{(v) -> player.toggleTimeDisplay()}"
|
||||
android:text="@{Tools.millisToString(progress.time)}"
|
||||
android:textAlignment="center"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.SearchResult.Title"
|
||||
android:textColor="@color/orange500"
|
||||
android:textSize="16sp"
|
||||
tools:text="0:32" />
|
||||
</FrameLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/lock_overlay_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:contentDescription="@string/lock"
|
||||
android:focusable="true"
|
||||
android:onClick="@{(v) -> player.toggleLock()}"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_lock_circle"
|
||||
vlc:layout_constraintBottom_toBottomOf="parent"
|
||||
vlc:layout_constraintEnd_toStartOf="@+id/player_overlay_tracks"
|
||||
vlc:layout_constraintHorizontal_bias="0.5"
|
||||
vlc:layout_constraintHorizontal_chainStyle="spread"
|
||||
vlc:layout_constraintStart_toEndOf="@+id/player_overlay_time_container"
|
||||
vlc:layout_constraintTop_toBottomOf="@+id/player_overlay_seekbar" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/player_overlay_tracks"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/tracks"
|
||||
android:focusable="true"
|
||||
android:onClick="@{player::onAudioSubClick}"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_audiosub_circle"
|
||||
vlc:layout_constraintBottom_toBottomOf="parent"
|
||||
vlc:layout_constraintEnd_toStartOf="@+id/playlist_previous"
|
||||
vlc:layout_constraintHorizontal_bias="0.5"
|
||||
vlc:layout_constraintStart_toEndOf="@+id/lock_overlay_button"
|
||||
vlc:layout_constraintTop_toBottomOf="@+id/player_overlay_seekbar" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/playlist_previous"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/previous"
|
||||
android:focusable="true"
|
||||
android:longClickable="true"
|
||||
android:onClick="@{(v) -> player.previous()}"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_previous_player"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
vlc:layout_constraintBottom_toBottomOf="parent"
|
||||
vlc:layout_constraintEnd_toStartOf="@+id/player_overlay_rewind"
|
||||
vlc:layout_constraintHorizontal_bias="0.5"
|
||||
vlc:layout_constraintStart_toEndOf="@+id/player_overlay_tracks"
|
||||
vlc:layout_constraintTop_toBottomOf="@+id/player_overlay_seekbar" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/player_overlay_rewind"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/playback_rewind"
|
||||
android:focusable="true"
|
||||
android:longClickable="true"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_rewind_player"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
vlc:layout_constraintBottom_toBottomOf="parent"
|
||||
vlc:layout_constraintEnd_toStartOf="@+id/player_overlay_play"
|
||||
vlc:layout_constraintHorizontal_bias="0.5"
|
||||
vlc:layout_constraintStart_toEndOf="@+id/playlist_previous"
|
||||
vlc:layout_constraintTop_toBottomOf="@+id/player_overlay_seekbar" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/player_overlay_play"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/play"
|
||||
android:focusable="true"
|
||||
android:onClick="@{(v) -> player.doPlayPause()}"
|
||||
android:onLongClick="@{player::toggleLoop}"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_pause_circle"
|
||||
vlc:layout_constraintBottom_toBottomOf="parent"
|
||||
vlc:layout_constraintEnd_toStartOf="@+id/player_overlay_forward"
|
||||
vlc:layout_constraintHorizontal_bias="0.5"
|
||||
vlc:layout_constraintStart_toEndOf="@+id/player_overlay_rewind"
|
||||
vlc:layout_constraintTop_toBottomOf="@+id/player_overlay_seekbar" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/player_overlay_forward"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/playback_forward"
|
||||
android:focusable="true"
|
||||
android:longClickable="true"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_forward_player"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
vlc:layout_constraintBottom_toBottomOf="parent"
|
||||
vlc:layout_constraintEnd_toStartOf="@+id/playlist_next"
|
||||
vlc:layout_constraintHorizontal_bias="0.5"
|
||||
vlc:layout_constraintStart_toEndOf="@+id/player_overlay_play"
|
||||
vlc:layout_constraintTop_toBottomOf="@+id/player_overlay_seekbar" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/playlist_next"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/next"
|
||||
android:focusable="true"
|
||||
android:longClickable="true"
|
||||
android:onClick="@{(v) -> player.next()}"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_next_player"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
vlc:layout_constraintBottom_toBottomOf="parent"
|
||||
vlc:layout_constraintEnd_toStartOf="@+id/player_overlay_adv_function"
|
||||
vlc:layout_constraintHorizontal_bias="0.5"
|
||||
vlc:layout_constraintStart_toEndOf="@+id/player_overlay_forward"
|
||||
vlc:layout_constraintTop_toBottomOf="@+id/player_overlay_seekbar" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/player_overlay_adv_function"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:clickable="true"
|
||||
android:contentDescription="@string/advanced"
|
||||
android:focusable="true"
|
||||
android:onClick="@{(v) -> player.showAdvancedOptions()}"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_more_circle"
|
||||
vlc:layout_constraintBottom_toBottomOf="parent"
|
||||
vlc:layout_constraintEnd_toStartOf="@+id/player_overlay_size"
|
||||
vlc:layout_constraintHorizontal_bias="0.5"
|
||||
vlc:layout_constraintStart_toEndOf="@+id/playlist_next"
|
||||
vlc:layout_constraintTop_toBottomOf="@+id/player_overlay_seekbar" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/player_overlay_size"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:contentDescription="@string/resize"
|
||||
android:focusable="true"
|
||||
android:onClick="@{(v) -> player.resizeVideo()}"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/ic_crop_circle_o"
|
||||
vlc:layout_constraintBottom_toBottomOf="parent"
|
||||
vlc:layout_constraintEnd_toStartOf="@+id/player_overlay_length_container"
|
||||
vlc:layout_constraintHorizontal_bias="0.5"
|
||||
vlc:layout_constraintStart_toEndOf="@+id/player_overlay_adv_function"
|
||||
vlc:layout_constraintTop_toBottomOf="@+id/player_overlay_seekbar" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/player_overlay_length_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/time_margin_sides"
|
||||
android:layout_marginBottom="8dp"
|
||||
vlc:layout_constraintBottom_toBottomOf="parent"
|
||||
vlc:layout_constraintEnd_toEndOf="parent"
|
||||
vlc:layout_constraintTop_toBottomOf="@+id/player_overlay_seekbar">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/player_overlay_length"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:onClick="@{(v) -> player.toggleTimeDisplay()}"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.SearchResult.Title"
|
||||
android:textSize="16sp"
|
||||
tools:text="56:37"
|
||||
vlc:length="@{progress.length}"
|
||||
vlc:time="@{progress.time}" />
|
||||
</FrameLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<!-- Media control buttons -->
|
||||
</layout>
|
||||
@@ -37,6 +37,8 @@
|
||||
<color name="grey875">#2a2a2a</color>
|
||||
<color name="grey900">#212121</color>
|
||||
|
||||
<color name="player_background">#c0141414</color>
|
||||
|
||||
<color name="grey50transparent">#b9fafafa</color>
|
||||
<color name="grey50transparent_ea">#eafafafa</color>
|
||||
<color name="grey400transparent">#80bdbdbd</color>
|
||||
|
||||
@@ -328,12 +328,14 @@
|
||||
<item name="list_subtitle">@color/grey400</item>
|
||||
<item name="list_title_last">@color/list_title_last</item>
|
||||
<item name="list_title">@color/bt_list_title</item>
|
||||
<item name="progress_background">@color/grey300</item>
|
||||
<item name="progress_background">@color/grey200</item>
|
||||
<item name="ic_abrepeat">@drawable/ic_abrepeat_w</item>
|
||||
<item name="ic_abrepeat_seta">@drawable/ic_abrepeat_seta_w</item>
|
||||
<item name="ic_abrepeat_setb">@drawable/ic_abrepeat_setb_w</item>
|
||||
<item name="ic_abrepeat_reset">@drawable/ic_abrepeat_reset_w</item>
|
||||
<item name="ic_dial">@drawable/ic_dial_w</item>
|
||||
<item name="android:colorControlHighlight">@color/orange500</item>
|
||||
<item name="colorControlHighlight">@color/orange500</item>
|
||||
</style>
|
||||
|
||||
<style name="VLCTransparentTheme" parent="Theme.AppCompat.Light.Dialog.MinWidth">
|
||||
|
||||
@@ -55,6 +55,7 @@ import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.widget.PopupMenu
|
||||
import androidx.appcompat.widget.ViewStubCompat
|
||||
import androidx.constraintlayout.widget.ConstraintSet
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.databinding.BindingAdapter
|
||||
import androidx.databinding.DataBindingUtil
|
||||
@@ -106,6 +107,8 @@ import java.util.*
|
||||
@ExperimentalCoroutinesApi
|
||||
open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsController, PlaybackService.Callback, PlaylistAdapter.IPlayer, OnClickListener, OnLongClickListener, StoragePermissionsDelegate.CustomActionController, Observer<PlaybackService> {
|
||||
|
||||
private val controlsConstraintSetPortrait = ConstraintSet()
|
||||
private val controlsConstraintSetLandscape = ConstraintSet()
|
||||
var service: PlaybackService? = null
|
||||
private lateinit var medialibrary: Medialibrary
|
||||
private var videoLayout: VLCVideoLayout? = null
|
||||
@@ -119,7 +122,6 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
private lateinit var playlistAdapter: PlaylistAdapter
|
||||
private var playlistModel: PlaylistModel? = null
|
||||
|
||||
private var orientationToggle: ImageView? = null
|
||||
|
||||
private lateinit var settings: SharedPreferences
|
||||
|
||||
@@ -133,7 +135,6 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
private set
|
||||
private var isShowingDialog: Boolean = false
|
||||
private var playbackSetting: IPlaybackSettingsController.DelayState = IPlaybackSettingsController.DelayState.OFF
|
||||
private var titleTextView: TextView? = null
|
||||
private var info: TextView? = null
|
||||
private var overlayInfo: View? = null
|
||||
private var verticalBar: View? = null
|
||||
@@ -425,14 +426,12 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
rootView = findViewById(R.id.player_root)
|
||||
actionBarView = actionBar.customView as ViewGroup
|
||||
|
||||
titleTextView = actionBarView!!.findViewById(R.id.player_overlay_title)
|
||||
|
||||
playlistToggle = actionBarView!!.findViewById(R.id.playlist_toggle)
|
||||
playlist = findViewById(R.id.video_playlist)
|
||||
|
||||
secondaryDisplayBtn = actionBarView!!.findViewById(R.id.video_secondary_display)
|
||||
|
||||
orientationToggle = actionBarView!!.findViewById(R.id.orientation_toggle)
|
||||
|
||||
screenOrientation = Integer.valueOf(
|
||||
settings.getString(SCREEN_ORIENTATION, "99" /*SCREEN ORIENTATION SENSOR*/)!!)
|
||||
@@ -489,9 +488,6 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
lp.setMargins(hm, 0, hm, vm)
|
||||
uiContainer.layoutParams = lp
|
||||
|
||||
val titleParams = titleTextView!!.layoutParams as LinearLayout.LayoutParams
|
||||
titleParams.setMargins(0, vm, 0, 0)
|
||||
titleTextView!!.layoutParams = titleParams
|
||||
}
|
||||
}
|
||||
|
||||
@@ -530,11 +526,11 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
}
|
||||
|
||||
private fun setListeners(enabled: Boolean) {
|
||||
if (::hudBinding.isInitialized) hudBinding.playerOverlaySeekbar.setOnSeekBarChangeListener(if (enabled) seekListener else null)
|
||||
if (navMenu != null) navMenu!!.setOnClickListener(if (enabled) this else null)
|
||||
if (orientationToggle != null) {
|
||||
orientationToggle!!.setOnClickListener(if (enabled) this else null)
|
||||
orientationToggle!!.setOnLongClickListener(if (enabled) this else null)
|
||||
if (::hudBinding.isInitialized) {
|
||||
hudBinding.playerOverlaySeekbar.setOnSeekBarChangeListener(if (enabled) seekListener else null)
|
||||
hudBinding.orientationToggle.setOnClickListener(if (enabled) this else null)
|
||||
hudBinding.orientationToggle.setOnLongClickListener(if (enabled) this else null)
|
||||
}
|
||||
UiTools.setViewOnClickListener(rendererBtn, if (enabled) this else null)
|
||||
}
|
||||
@@ -542,7 +538,9 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
override fun onNewIntent(intent: Intent) {
|
||||
setIntent(intent)
|
||||
if (playbackStarted) service?.run {
|
||||
titleTextView!!.text = currentMediaWrapper?.title ?: return@run
|
||||
if (::hudBinding.isInitialized) {
|
||||
hudBinding.playerOverlayTitle.text = currentMediaWrapper?.title ?: return@run
|
||||
}
|
||||
var uri: Uri? = if (intent.hasExtra(PLAY_EXTRA_ITEM_LOCATION))
|
||||
intent.extras!!.getParcelable<Parcelable>(PLAY_EXTRA_ITEM_LOCATION) as Uri?
|
||||
else
|
||||
@@ -664,20 +662,18 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
touchDelegate!!.screenConfig = sc
|
||||
}
|
||||
resetHudLayout()
|
||||
showControls(isShowing)
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
|
||||
fun resetHudLayout() {
|
||||
if (!::hudBinding.isInitialized) return
|
||||
val layoutParams = hudBinding.playerOverlayButtons.layoutParams as RelativeLayout.LayoutParams
|
||||
val orientation = getScreenOrientation(100)
|
||||
val portrait = orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT || orientation == ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT
|
||||
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_START, if (portrait) 1 else 0)
|
||||
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_END, if (portrait) 1 else 0)
|
||||
layoutParams.addRule(RelativeLayout.BELOW, if (portrait) R.id.player_overlay_length else R.id.player_overlay_seekbar)
|
||||
layoutParams.addRule(RelativeLayout.END_OF, if (portrait) 0 else R.id.player_overlay_time)
|
||||
layoutParams.addRule(RelativeLayout.START_OF, if (portrait) 0 else R.id.player_overlay_length)
|
||||
hudBinding.playerOverlayButtons.layoutParams = layoutParams
|
||||
if (portrait) controlsConstraintSetPortrait.applyTo(hudBinding.progressOverlay) else controlsConstraintSetLandscape.applyTo(hudBinding.progressOverlay)
|
||||
|
||||
if (!isTv && !AndroidDevices.isChromeBook)
|
||||
hudBinding.orientationToggle.setVisible()
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
|
||||
@@ -1563,7 +1559,8 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
wasPaused = false
|
||||
}
|
||||
setESTracks()
|
||||
if (titleTextView?.length() == 0) titleTextView?.text = mw.title
|
||||
if (::hudBinding.isInitialized && hudBinding.playerOverlayTitle.length() == 0)
|
||||
hudBinding.playerOverlayTitle.text = mw.title
|
||||
// Get possible subtitles
|
||||
observeDownloadedSubtitles()
|
||||
optionsDelegate?.setup()
|
||||
@@ -1939,14 +1936,14 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
if (!::hudBinding.isInitialized) return
|
||||
hudBinding.playerOverlayRewind.isEnabled = seekable
|
||||
hudBinding.playerOverlayRewind.setImageResource(if (seekable)
|
||||
R.drawable.ic_rewind_circle
|
||||
R.drawable.ic_rewind_player
|
||||
else
|
||||
R.drawable.ic_rewind_circle_disable_o)
|
||||
R.drawable.ic_rewind_player_disabled)
|
||||
hudBinding.playerOverlayForward.isEnabled = seekable
|
||||
hudBinding.playerOverlayForward.setImageResource(if (seekable)
|
||||
R.drawable.ic_forward_circle
|
||||
R.drawable.ic_forward_player
|
||||
else
|
||||
R.drawable.ic_forward_circle_disable_o)
|
||||
R.drawable.ic_forward_player_disabled)
|
||||
if (!isLocked)
|
||||
hudBinding.playerOverlaySeekbar.isEnabled = seekable
|
||||
}
|
||||
@@ -1955,7 +1952,7 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
if (!::hudBinding.isInitialized) return
|
||||
hudBinding.playerOverlayPlay.isEnabled = pausable
|
||||
if (!pausable)
|
||||
hudBinding.playerOverlayPlay.setImageResource(R.drawable.ic_play_circle_disable_o)
|
||||
hudBinding.playerOverlayPlay.setImageResource(R.drawable.ic_play_player_disabled)
|
||||
}
|
||||
|
||||
fun doPlayPause() {
|
||||
@@ -2190,7 +2187,39 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
PlaybackService.renderer.observe(this, Observer { rendererItem -> if (rendererBtn != null) rendererBtn!!.setImageResource(if (rendererItem == null) R.drawable.ic_renderer_circle else R.drawable.ic_renderer_on_circle) })
|
||||
RendererDelegate.renderers.observe(this, Observer<List<RendererItem>> { rendererItems -> rendererBtn.setVisibility(if (Util.isListEmpty(rendererItems)) View.GONE else View.VISIBLE) })
|
||||
}
|
||||
|
||||
hudBinding.playerOverlayTitle.text = service.currentMediaWrapper?.title
|
||||
|
||||
if (seekButtons) initSeekButton()
|
||||
controlsConstraintSetPortrait.clone(hudBinding.progressOverlay)
|
||||
controlsConstraintSetLandscape.clone(hudBinding.progressOverlay)
|
||||
controlsConstraintSetPortrait.clear(R.id.player_overlay_time_container, ConstraintSet.BOTTOM)
|
||||
controlsConstraintSetPortrait.clear(R.id.player_overlay_length_container, ConstraintSet.BOTTOM)
|
||||
|
||||
controlsConstraintSetPortrait.removeFromHorizontalChain(R.id.player_overlay_time_container)
|
||||
controlsConstraintSetPortrait.removeFromHorizontalChain(R.id.player_overlay_length_container)
|
||||
controlsConstraintSetPortrait.connect(R.id.player_overlay_time_container, ConstraintSet.START, ConstraintSet.PARENT_ID, ConstraintSet.START)
|
||||
controlsConstraintSetPortrait.connect(R.id.player_overlay_length_container, ConstraintSet.END, ConstraintSet.PARENT_ID, ConstraintSet.END)
|
||||
controlsConstraintSetPortrait.setMargin(R.id.player_overlay_time_container, ConstraintSet.START, resources.getDimensionPixelSize(R.dimen.time_margin_sides))
|
||||
controlsConstraintSetPortrait.setMargin(R.id.player_overlay_length_container, ConstraintSet.END, resources.getDimensionPixelSize(R.dimen.time_margin_sides))
|
||||
|
||||
|
||||
val chainIds = arrayOf(R.id.lock_overlay_button, R.id.player_overlay_tracks, R.id.playlist_previous, R.id.player_overlay_rewind, R.id.player_overlay_play, R.id.player_overlay_forward, R.id.playlist_next, R.id.player_overlay_adv_function, R.id.player_overlay_size)
|
||||
|
||||
chainIds.forEach {
|
||||
controlsConstraintSetPortrait.clear(it, ConstraintSet.START)
|
||||
controlsConstraintSetPortrait.clear(it, ConstraintSet.END)
|
||||
controlsConstraintSetPortrait.removeFromHorizontalChain(it)
|
||||
controlsConstraintSetPortrait.connect(it, ConstraintSet.TOP, R.id.player_overlay_time_container, ConstraintSet.BOTTOM)
|
||||
controlsConstraintSetPortrait.connect(it, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM)
|
||||
}
|
||||
|
||||
|
||||
controlsConstraintSetPortrait.createHorizontalChain(ConstraintSet.PARENT_ID, ConstraintSet.LEFT, ConstraintSet.PARENT_ID, ConstraintSet.RIGHT, chainIds.toIntArray(), null, ConstraintSet.CHAIN_PACKED)
|
||||
|
||||
|
||||
|
||||
|
||||
resetHudLayout()
|
||||
updateOverlayPausePlay()
|
||||
updateSeekable(service.isSeekable)
|
||||
@@ -2203,8 +2232,7 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
hudBinding.playerOverlaySize.setGone()
|
||||
}
|
||||
|
||||
if (!isTv && !AndroidDevices.isChromeBook)
|
||||
orientationToggle.setVisible()
|
||||
|
||||
} else if (::hudBinding.isInitialized) {
|
||||
hudBinding.progress = service.playlistManager.player.progress
|
||||
hudBinding.lifecycleOwner = this
|
||||
@@ -2288,9 +2316,9 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
service?.let { service ->
|
||||
if (service.isPausable)
|
||||
hudBinding.playerOverlayPlay.setImageResource(if (service.isPlaying)
|
||||
R.drawable.ic_pause_circle
|
||||
R.drawable.ic_pause_player
|
||||
else
|
||||
R.drawable.ic_play_circle)
|
||||
R.drawable.ic_play_player)
|
||||
hudBinding.playerOverlayPlay.requestFocus()
|
||||
}
|
||||
}
|
||||
@@ -2515,7 +2543,9 @@ open class VideoPlayerActivity : AppCompatActivity(), IPlaybackSettingsControlle
|
||||
service.loadLastPlaylist(PLAYLIST_TYPE_VIDEO)
|
||||
}
|
||||
if (itemTitle != null) title = itemTitle
|
||||
titleTextView!!.text = title
|
||||
if (::hudBinding.isInitialized) {
|
||||
hudBinding.playerOverlayTitle.text = title
|
||||
}
|
||||
|
||||
if (wasPaused) {
|
||||
// XXX: Workaround to update the seekbar position
|
||||
|
||||