Merge branch 'dev' into pr8221

This commit is contained in:
Stypox 2024-03-29 16:09:13 +01:00
commit e1ce3fef1b
No known key found for this signature in database
GPG key ID: 4BDF1B40A49FDD23
1741 changed files with 56947 additions and 21110 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 655 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 B

After

Width:  |  Height:  |  Size: 480 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 327 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 956 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 487 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 465 B

After

Width:  |  Height:  |  Size: 831 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 646 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 804 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 823 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 802 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -6,5 +6,5 @@
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M4,18l8.5,-6L4,6v12zM13,6v12l8.5,-6L13,6z" />
android:pathData="M22,7h-9v2h9V7zM22,15h-9v2h9V15zM5.54,11L2,7.46l1.41,-1.41l2.12,2.12l4.24,-4.24l1.41,1.41L5.54,11zM5.54,19L2,15.46l1.41,-1.41l2.12,2.12l4.24,-4.24l1.41,1.41L5.54,19z" />
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportHeight="24"
android:viewportWidth="24"
android:tint="@color/defaultIconTint" >
<path
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10s10,-4.49 10,-10S17.52,2 12,2L12,2z"
android:fillColor="#FF000000" />
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="@color/defaultIconTint">
<path
android:pathData="M19.35,10.04C18.67,6.59 15.64,4 12,4 9.11,4 6.6,5.64 5.35,8.04 2.34,8.36 0,10.91 0,14c0,3.31 2.69,6 6,6h13c2.76,0 5,-2.24 5,-5 0,-2.64 -2.05,-4.78 -4.65,-4.96z"
android:fillColor="#FF000000" />
</vector>

View file

@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/defaultIconTint"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M11,18L11,6l-8.5,6 8.5,6zM11.5,12l8.5,6L20,6l-8.5,6z" />
</vector>

View file

@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/defaultIconTint"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M2,17h2v0.5L3,17.5v1h1v0.5L2,19v1h3v-4L2,16v1zM3,8h1L4,4L2,4v1h1v3zM2,11h1.8L2,13.1v0.9h3v-1L3.2,13L5,10.9L5,10L2,10v1zM7,5v2h14L21,5L7,5zM7,19h14v-2L7,17v2zM7,13h14v-2L7,11v2z" />
</vector>

View file

@ -2,9 +2,9 @@
android:width="24dp"
android:height="24dp"
android:tint="#E53935"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z"/>
android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z" />
</vector>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M3,5H9V11H3V5M5,7V9H7V7H5M11,7H21V9H11V7M11,15H21V17H11V15M5,20L1.5,16.5L2.91,15.09L5,17.17L9.59,12.59L11,14L5,20Z" />
</vector>

View file

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:autoMirrored="true"
android:height="24dp"
android:tint="#000000"
android:viewportHeight="24"
android:viewportWidth="24"
android:width="24dp" >
<path android:fillColor="@android:color/white" android:pathData="M21,5c-1.11,-0.35 -2.33,-0.5 -3.5,-0.5c-1.95,0 -4.05,0.4 -5.5,1.5c-1.45,-1.1 -3.55,-1.5 -5.5,-1.5S2.45,4.9 1,6v14.65c0,0.25 0.25,0.5 0.5,0.5c0.1,0 0.15,-0.05 0.25,-0.05C3.1,20.45 5.05,20 6.5,20c1.95,0 4.05,0.4 5.5,1.5c1.35,-0.85 3.8,-1.5 5.5,-1.5c1.65,0 3.35,0.3 4.75,1.05c0.1,0.05 0.15,0.05 0.25,0.05c0.25,0 0.5,-0.25 0.5,-0.5V6C22.4,5.55 21.75,5.25 21,5zM21,18.5c-1.1,-0.35 -2.3,-0.5 -3.5,-0.5c-1.7,0 -4.15,0.65 -5.5,1.5V8c1.35,-0.85 3.8,-1.5 5.5,-1.5c1.2,0 2.4,0.15 3.5,0.5V18.5z"/>
<path android:fillColor="@android:color/white" android:pathData="M17.5,10.5c0.88,0 1.73,0.09 2.5,0.26V9.24C19.21,9.09 18.36,9 17.5,9c-1.7,0 -3.24,0.29 -4.5,0.83v1.66C14.13,10.85 15.7,10.5 17.5,10.5z"/>
<path android:fillColor="@android:color/white" android:pathData="M13,12.49v1.66c1.13,-0.64 2.7,-0.99 4.5,-0.99c0.88,0 1.73,0.09 2.5,0.26V11.9c-0.79,-0.15 -1.64,-0.24 -2.5,-0.24C15.8,11.66 14.26,11.96 13,12.49z"/>
<path android:fillColor="@android:color/white" android:pathData="M17.5,14.33c-1.7,0 -3.24,0.29 -4.5,0.83v1.66c1.13,-0.64 2.7,-0.99 4.5,-0.99c0.88,0 1.73,0.09 2.5,0.26v-1.52C19.21,14.41 18.36,14.33 17.5,14.33z"/>
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportHeight="97.75"
android:viewportWidth="97.75"
android:tint="@color/defaultIconTint">
<path
android:pathData="M48.875,0C21.882,0 0,21.882 0,48.875S21.882,97.75 48.875,97.75 97.75,75.868 97.75,48.875 75.868,0 48.875,0zM64.835,70.857L12.593,70.857l20.32,-43.965h52.244L64.835,70.857z"
android:fillColor="#FF000000" />
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="26.458319"
android:viewportHeight="26.458332"
android:tint="@color/defaultIconTint">
<path
android:pathData="M13.23,0.302C6.07,0.302 0.264,6.107 0.264,13.267a12.965,12.965 0,0 0,0.847 4.595c0.19,-0.497 0.408,-0.982 0.682,-1.438 0.14,-0.232 0.294,-0.457 0.396,-0.707 0.103,-0.25 0.15,-0.533 0.072,-0.792a1.362,1.362 0,0 0,-0.22 -0.404c-0.092,-0.123 -0.192,-0.24 -0.275,-0.37a1.662,1.662 0,0 1,-0.255 -1.12,1.5 1.5,0 0,1 0.58,-0.987c0.28,-0.208 0.635,-0.3 0.985,-0.288a1.757,1.757 0,0 1,0.346 0.048c0.452,0.11 0.852,0.393 1.148,0.75 0.368,0.447 0.584,1.01 0.637,1.586a3.574,3.574 0,0 1,-0.275 1.693c-0.4,0.955 -1.15,1.725 -1.565,2.673 -0.338,0.775 -0.435,1.638 -0.39,2.483 0.007,0.077 0.018,0.155 0.025,0.234a12.965,12.965 0,0 0,3.62 3.18,17.63 17.63,0 0,1 -0.13,-2.11c0.002,-0.56 0.03,-1.12 0.085,-1.675 -0.34,-0.236 -0.65,-0.51 -0.87,-0.86 -0.392,-0.62 -0.466,-1.408 -0.305,-2.124 0.16,-0.717 0.54,-1.37 0.997,-1.945a7.833,7.833 0,0 1,2.835 -2.223,10.305 10.305,0 0,1 -0.09,-0.126 4.854,4.854 0,0 1,-0.702 -2.176c-0.06,-0.777 0.064,-1.554 0.115,-2.33 0.037,-0.543 0.04,-1.085 0.07,-1.627 0.038,-0.627 0.114,-1.255 0.29,-1.858a2.36,2.36 0,0 1,0.266 -0.63,1.4 1.4,0 0,1 0.594,-0.514c0.274,-0.108 0.51,-0.132 0.776,-0.087 0.22,0.046 0.425,0.156 0.604,0.294 0.18,0.138 0.335,0.304 0.48,0.477a7.298,7.298 0,0 1,1.04 1.617,3.57 3.57,0 0,1 1.09,0 7.287,7.287 0,0 1,1.04 -1.616,3.21 3.21,0 0,1 0.48,-0.476c0.18,-0.14 0.383,-0.248 0.604,-0.295a1.268,1.268 0,0 1,0.78 0.086,1.402 1.402,0 0,1 0.595,0.517c0.124,0.19 0.202,0.408 0.266,0.626 0.175,0.602 0.252,1.23 0.29,1.856 0.03,0.543 0.033,1.087 0.07,1.628 0.05,0.777 0.175,1.554 0.116,2.33a4.855,4.855 0,0 1,-0.705 2.178c-0.03,0.05 -0.07,0.096 -0.103,0.145 0.247,0.278 0.598,0.513 0.898,0.614a1.956,1.956 0,0 0,1.05 0.044,1.65 1.65,0 0,0 0.533,-0.226 1.253,1.253 0,0 0,0.397 -0.418c0.118,-0.21 0.166,-0.45 0.192,-0.687 0.067,-0.61 0,-1.224 -0.05,-1.835 -0.034,-0.396 -0.062,-0.8 0.027,-1.187 0.06,-0.26 0.177,-0.518 0.373,-0.7a1.106,1.106 0,0 1,0.465 -0.255,1.312 1.312,0 0,1 0.53,-0.03c0.38,0.057 0.736,0.274 0.948,0.594 0.12,0.18 0.194,0.39 0.238,0.604 0.044,0.213 0.06,0.43 0.072,0.648 0.04,0.76 0.04,1.522 0.018,2.284 -0.018,0.665 -0.055,1.348 -0.32,1.957 -0.343,0.782 -1.032,1.366 -1.775,1.786a7.052,7.052 0,0 1,-1.588 0.647c0.482,1.54 0.733,3.24 0.733,4.968a17.6,17.6 0,0 1,-0.135 2.125,12.964 12.964,0 0,0 6.384,-11.152c0,-7.16 -5.806,-12.965 -12.965,-12.965zM9.602,16.284v1.483a1.88,1.88 0,0 1,1.083 0.362,1.738 1.738,0 0,1 0.556,0.68c0.122,0.27 0.166,0.576 0.116,0.868a1.493,1.493 0,0 1,-0.332 0.708,1.647 1.647,0 0,1 -0.635,0.458 1.738,1.738 0,0 1,-0.787 0.122v3.73l7.762,-4.208 -7.762,-4.204z"
android:fillColor="#FF000000" />
</vector>

File diff suppressed because one or more lines are too long

View file

@ -1,11 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="20dp"
android:viewportWidth="24"
android:viewportHeight="24">
android:width="16dp"
android:height="20dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M3,2 L22,12 L3,22 Z" />
android:fillColor="#FFFFFF"
android:pathData="M3,2 L22,12 L3,22 Z" />
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportHeight="24"
android:viewportWidth="24"
android:tint="@color/defaultIconTint">
<path
android:pathData="M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM9.5 16.5v-9l7 4.5-7 4.5z"
android:fillColor="#FF000000"/>
</vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:tint="@color/defaultIconTint"
android:viewportHeight="24"
android:viewportWidth="24"
android:width="24dp" >
<path
android:fillColor="@android:color/white"
android:pathData="M20,8L4,8L4,6h16v2zM18,2L6,2v2h12L18,2zM22,12v8c0,1.1 -0.9,2 -2,2L4,22c-1.1,0 -2,-0.9 -2,-2v-8c0,-1.1 0.9,-2 2,-2h16c1.1,0 2,0.9 2,2zM16,16l-6,-3.27v6.53L16,16z"/>
</vector>

View file

@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="@color/defaultIconTint"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z" />
</vector>

View file

@ -0,0 +1,20 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M0,0 L24,0 L24,24 L0,24 z"
android:fillColor="@color/placeholder_background" />
<group android:scaleX="0.8333333"
android:scaleY="0.8333333"
android:translateX="2"
android:translateY="2">
<path
android:pathData="M12,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM12,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z"
android:fillColor="@color/placeholder_foreground" />
</group>
</vector>

View file

@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="9dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M0,0h24v24h-24z"
android:fillColor="@color/placeholder_background" />
<path
android:pathData="M13,12L8,17.5L8,6.5"
android:fillColor="@color/placeholder_foreground" />
<path
android:pathData="M16,12L11,17.5L11,6.5"
android:fillColor="@color/placeholder_foreground" />
</vector>

View file

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="16dp"
android:height="9dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M0,0h24v24h-24z"
android:fillColor="@color/placeholder_background" />
<path
android:pathData="M15,12L9,17.5L9,6.5"
android:fillColor="@color/placeholder_foreground" />
</vector>

View file

@ -123,7 +123,7 @@
android:scaleType="fitCenter"
android:src="@drawable/exo_controls_rewind"
android:tint="?attr/colorAccent"
tools:ignore="ContentDescription" />
android:contentDescription="@string/rewind" />
<ImageButton
android:id="@+id/control_play_pause"
@ -138,9 +138,9 @@
android:clickable="true"
android:focusable="true"
android:scaleType="fitCenter"
android:src="@drawable/ic_pause"
android:tint="?attr/colorAccent"
app:srcCompat="@drawable/ic_pause"
tools:ignore="ContentDescription" />
android:contentDescription="@string/pause" />
<ProgressBar
android:id="@+id/control_progress_bar"
@ -173,7 +173,7 @@
android:scaleType="fitCenter"
android:src="@drawable/exo_controls_fastforward"
android:tint="?attr/colorAccent"
tools:ignore="ContentDescription" />
android:contentDescription="@string/forward" />
</RelativeLayout>
<RelativeLayout
@ -199,9 +199,9 @@
android:gravity="center"
android:minWidth="50dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_previous"
android:tint="?attr/colorAccent"
app:srcCompat="@drawable/ic_previous"
tools:ignore="ContentDescription" />
android:contentDescription="@string/previous_stream" />
<ImageButton
android:id="@+id/control_repeat"
@ -214,9 +214,9 @@
android:clickable="true"
android:focusable="true"
android:scaleType="fitXY"
android:src="@drawable/ic_repeat"
android:tint="?attr/colorAccent"
app:srcCompat="@drawable/ic_repeat"
tools:ignore="ContentDescription" />
android:contentDescription="@string/notification_action_repeat" />
<View
android:id="@+id/anchor"
@ -235,9 +235,9 @@
android:clickable="true"
android:focusable="true"
android:scaleType="fitXY"
android:src="@drawable/ic_shuffle"
android:tint="?attr/colorAccent"
app:srcCompat="@drawable/ic_shuffle"
tools:ignore="ContentDescription" />
android:contentDescription="@string/notification_action_shuffle" />
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/control_forward"
@ -253,9 +253,9 @@
android:gravity="center"
android:minWidth="50dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_next"
android:tint="?attr/colorAccent"
app:srcCompat="@drawable/ic_next"
tools:ignore="ContentDescription" />
android:contentDescription="@string/next_stream" />
</RelativeLayout>
</RelativeLayout>

View file

@ -0,0 +1 @@
../layout/list_stream_item.xml

View file

@ -57,7 +57,7 @@
android:scaleType="fitCenter"
tools:ignore="RtlHardcoded"
tools:layout_height="200dp"
tools:src="@drawable/dummy_thumbnail" />
tools:src="@drawable/placeholder_thumbnail_video" />
<ImageView
android:id="@+id/detail_thumbnail_play_button"
@ -65,8 +65,8 @@
android:layout_height="64dp"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:src="@drawable/ic_play_arrow_shadow"
android:visibility="invisible"
app:srcCompat="@drawable/ic_play_arrow_shadow"
tools:ignore="ContentDescription"
tools:visibility="visible" />
@ -199,7 +199,7 @@
android:layout_gravity="top|end"
android:layout_marginTop="11dp"
android:layout_marginEnd="10dp"
app:srcCompat="@drawable/ic_expand_more"
android:src="@drawable/ic_expand_more"
tools:ignore="ContentDescription" />
</FrameLayout>
@ -267,23 +267,21 @@
android:layout_height="wrap_content">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/detail_uploader_thumbnail_view"
android:id="@+id/detail_sub_channel_thumbnail_view"
android:layout_width="@dimen/video_item_detail_uploader_image_size"
android:layout_height="@dimen/video_item_detail_uploader_image_size"
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
android:src="@drawable/buddy"
android:contentDescription="@string/detail_sub_channel_thumbnail_view_description"
android:src="@drawable/placeholder_person"
app:shapeAppearance="@style/CircularImageView" />
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/detail_sub_channel_thumbnail_view"
android:id="@+id/detail_uploader_thumbnail_view"
android:layout_width="@dimen/video_item_detail_sub_channel_image_size"
android:layout_height="@dimen/video_item_detail_sub_channel_image_size"
android:layout_gravity="bottom|right"
android:contentDescription="@string/detail_sub_channel_thumbnail_view_description"
android:src="@drawable/buddy"
android:visibility="gone"
app:shapeAppearance="@style/CircularImageView"
tools:visibility="visible" />
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
android:src="@drawable/placeholder_person"
app:shapeAppearance="@style/CircularImageView" />
</FrameLayout>
@ -319,25 +317,11 @@
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="@dimen/video_item_detail_uploader_text_size"
android:textStyle="bold"
tools:ignore="RtlHardcoded"
tools:text="Uploader" />
</LinearLayout>
<!--<Button
android:id="@+id/detail_uploader_subscribe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|right"
android:layout_marginRight="12dp"
android:text="@string/rss_button_title"
android:textSize="12sp"
android:theme="@style/RedButton"
app:drawableLeftCompat="@drawable/ic_rss_feed"
tools:ignore="RtlHardcoded"
android:visibility="gone"/>-->
</LinearLayout>
<!-- VIEW & THUMBS -->
@ -369,7 +353,7 @@
android:layout_height="@dimen/video_item_detail_like_image_height"
android:layout_below="@id/detail_view_count_view"
android:contentDescription="@string/detail_likes_img_view_description"
app:srcCompat="@drawable/ic_thumb_up" />
android:src="@drawable/ic_thumb_up" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_thumbs_up_count_view"
@ -393,7 +377,7 @@
android:layout_marginLeft="12dp"
android:layout_toRightOf="@id/detail_thumbs_up_count_view"
android:contentDescription="@string/detail_dislikes_img_view_description"
app:srcCompat="@drawable/ic_thumb_down"
android:src="@drawable/ic_thumb_down"
tools:ignore="RtlHardcoded" />
<org.schabi.newpipe.views.NewPipeTextView
@ -447,12 +431,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/add_to_playlist"
android:drawableTop="@drawable/ic_playlist_add"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/controls_add_to_playlist_title"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_playlist_add" />
android:textSize="@dimen/detail_control_text_size" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_controls_background"
@ -463,12 +447,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/play_audio"
android:drawableTop="@drawable/ic_headset"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/controls_background_title"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_headset" />
android:textSize="@dimen/detail_control_text_size" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_controls_popup"
@ -479,12 +463,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/open_in_popup_mode"
android:drawableTop="@drawable/ic_picture_in_picture"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/controls_popup_title"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_picture_in_picture" />
android:textSize="@dimen/detail_control_text_size" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_controls_download"
@ -495,12 +479,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/controls_download_desc"
android:drawableTop="@drawable/ic_file_download"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/download"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_file_download" />
android:textSize="@dimen/detail_control_text_size" />
</LinearLayout>
@ -526,12 +510,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/share"
android:drawableTop="@drawable/ic_share"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/share"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_share" />
android:textSize="@dimen/detail_control_text_size" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_controls_open_in_browser"
@ -542,12 +526,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/open_in_browser"
android:drawableTop="@drawable/ic_language"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/open_in_browser"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_language" />
android:textSize="@dimen/detail_control_text_size" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_controls_play_with_kodi"
@ -558,14 +542,14 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/play_with_kodi_title"
android:drawableTop="@drawable/ic_cast"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/play_with_kodi_title"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_cast" />
android:textSize="@dimen/detail_control_text_size" />
<TextView
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_controls_crash_the_player"
android:layout_width="@dimen/detail_control_width"
android:layout_height="@dimen/detail_control_height"
@ -574,12 +558,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/crash_the_player"
android:drawableTop="@drawable/ic_bug_report"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/crash_the_player"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_bug_report" />
android:textSize="@dimen/detail_control_text_size" />
</LinearLayout>
@ -615,19 +599,19 @@
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:paddingBottom="48dp"/>
android:paddingBottom="48dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
app:tabIndicatorGravity="top"
app:tabIconTint="?attr/colorAccent"
app:elevation="16dp"
app:tabBackground="?attr/windowBackground"
app:tabGravity="fill"
app:elevation="16dp"/>
app:tabIconTint="?attr/colorAccent"
app:tabIndicatorGravity="top" />
</org.schabi.newpipe.views.FocusAwareCoordinator>
@ -639,6 +623,7 @@
android:layout_weight="3" />
</LinearLayout>
<RelativeLayout
android:id="@+id/overlay_layout"
android:layout_width="match_parent"
@ -657,7 +642,7 @@
android:paddingLeft="@dimen/video_item_search_padding"
android:paddingRight="@dimen/video_item_search_padding"
android:scaleType="fitCenter"
android:src="@drawable/dummy_thumbnail" />
android:src="@drawable/placeholder_thumbnail_video" />
<LinearLayout
android:id="@+id/overlay_metadata_layout"
@ -669,6 +654,7 @@
android:focusable="true"
android:gravity="center_vertical"
android:orientation="vertical"
android:theme="@style/ContrastTintTheme"
tools:ignore="RtlHardcoded">
<org.schabi.newpipe.views.NewPipeTextView
@ -706,31 +692,40 @@
android:layout_height="60dp"
android:layout_alignParentEnd="true"
android:gravity="center_vertical"
android:paddingLeft="@dimen/video_item_search_padding"
android:paddingRight="@dimen/video_item_search_padding"
android:theme="@style/ContrastTintTheme"
tools:ignore="RtlHardcoded">
<ImageButton
android:id="@+id/overlay_play_queue_button"
android:layout_width="40dp"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:contentDescription="@string/title_activity_play_queue"
android:scaleType="center"
android:src="@drawable/ic_list"
tools:ignore="ContentDescription,RtlHardcoded" />
<ImageButton
android:id="@+id/overlay_play_pause_button"
android:layout_width="40dp"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:padding="10dp"
android:scaleType="center"
android:contentDescription="@string/pause"
android:focusable="true"
android:focusedByDefault="true"
app:srcCompat="@drawable/ic_play_arrow"
tools:ignore="ContentDescription,RtlHardcoded" />
android:scaleType="center"
android:src="@drawable/ic_play_arrow" />
<ImageButton
android:id="@+id/overlay_close_button"
android:layout_width="40dp"
android:layout_width="48dp"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:padding="10dp"
android:contentDescription="@string/close"
android:paddingRight="8dp"
android:scaleType="center"
app:srcCompat="@drawable/ic_close"
tools:ignore="ContentDescription,RtlHardcoded" />
android:src="@drawable/ic_close"
tools:ignore="RtlSymmetry" />
</LinearLayout>

View file

@ -25,7 +25,7 @@
android:layout_gravity="center_horizontal"
app:behavior_hideable="true"
app:behavior_peekHeight="0dp"
app:layout_behavior="org.schabi.newpipe.player.event.CustomBottomSheetBehavior" />
app:layout_behavior="org.schabi.newpipe.player.gesture.CustomBottomSheetBehavior" />
</org.schabi.newpipe.views.FocusAwareCoordinator>

View file

@ -174,8 +174,8 @@
android:clickable="true"
android:focusable="true"
android:scaleType="fitXY"
android:src="@drawable/ic_repeat"
android:tint="?attr/colorAccent"
app:srcCompat="@drawable/ic_repeat"
tools:ignore="ContentDescription" />
<androidx.appcompat.widget.AppCompatImageButton
@ -189,8 +189,8 @@
android:clickable="true"
android:focusable="true"
android:scaleType="fitCenter"
android:src="@drawable/ic_previous"
android:tint="?attr/colorAccent"
app:srcCompat="@drawable/ic_previous"
tools:ignore="ContentDescription" />
<ImageButton
@ -219,8 +219,8 @@
android:clickable="true"
android:focusable="true"
android:scaleType="fitCenter"
android:src="@drawable/ic_pause"
android:tint="?attr/colorAccent"
app:srcCompat="@drawable/ic_pause"
tools:ignore="ContentDescription" />
<ProgressBar
@ -268,8 +268,8 @@
android:clickable="true"
android:focusable="true"
android:scaleType="fitCenter"
android:src="@drawable/ic_next"
android:tint="?attr/colorAccent"
app:srcCompat="@drawable/ic_next"
tools:ignore="ContentDescription" />
<ImageButton
@ -284,8 +284,8 @@
android:clickable="true"
android:focusable="true"
android:scaleType="fitXY"
android:src="@drawable/ic_shuffle"
android:tint="?attr/colorAccent"
app:srcCompat="@drawable/ic_shuffle"
tools:ignore="ContentDescription" />
</RelativeLayout>

View file

@ -1,131 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/contrast_background_color">
<RelativeLayout
android:id="@+id/channel_metadata"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/channel_banner_image"
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="@android:color/black"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
android:src="@drawable/channel_banner"
tools:ignore="ContentDescription" />
<FrameLayout
android:id="@+id/avatars_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginTop="50dp">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/channel_avatar_view"
android:layout_width="@dimen/channel_avatar_size"
android:layout_height="@dimen/channel_avatar_size"
android:padding="1dp"
android:src="@drawable/buddy"
app:shapeAppearance="@style/CircularImageView"
app:strokeColor="#ffffff"
app:strokeWidth="2dp" />
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/sub_channel_avatar_view"
android:layout_width="@dimen/sub_channel_avatar_size"
android:layout_height="@dimen/sub_channel_avatar_size"
android:layout_gravity="bottom|right"
android:padding="1dp"
android:src="@drawable/buddy"
android:visibility="gone"
app:shapeAppearance="@style/CircularImageView"
app:strokeColor="#ffffff"
app:strokeWidth="2dp"
tools:ignore="RtlHardcoded"
tools:visibility="visible" />
</FrameLayout>
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/channel_title_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/channel_banner_image"
android:layout_marginLeft="8dp"
android:layout_marginTop="6dp"
android:layout_marginRight="8dp"
android:layout_toLeftOf="@id/channel_subscribe_button"
android:layout_toRightOf="@id/avatars_layout"
android:ellipsize="end"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="@dimen/video_item_detail_title_text_size"
tools:ignore="RtlHardcoded"
tools:text="Lorem ipsum dolor" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/sub_channel_title_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/channel_title_view"
android:layout_alignLeft="@id/channel_title_view"
android:layout_alignRight="@id/channel_title_view"
android:ellipsize="end"
android:gravity="center|left"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="12dp"
tools:ignore="RtlHardcoded"
tools:layout_below="@id/channel_title_view"
tools:text="Lorem ipsum dolor" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/channel_subscriber_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/sub_channel_title_view"
android:layout_alignLeft="@id/channel_title_view"
android:layout_alignRight="@id/channel_title_view"
android:ellipsize="end"
android:maxLines="2"
android:textSize="@dimen/channel_subscribers_text_size"
android:visibility="gone"
tools:ignore="RtlHardcoded"
tools:text="123,141,411 subscribers"
tools:visibility="visible" />
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/channel_subscribe_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/channel_banner_image"
android:layout_alignParentRight="true"
android:layout_gravity="center_vertical|right"
android:layout_marginRight="2dp"
android:text="@string/subscribe_button_title"
android:textSize="@dimen/channel_rss_title_size"
android:theme="@style/ServiceColoredButton"
android:visibility="gone"
tools:ignore="RtlHardcoded"
tools:visibility="visible" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/channel_metadata">
<include
android:id="@+id/playlist_control"
layout="@layout/playlist_control" />
</LinearLayout>
</RelativeLayout>

View file

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/authorAvatar"
android:layout_width="42dp"
android:layout_height="42dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:focusable="false"
android:src="@drawable/placeholder_person"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:shapeAppearance="@style/CircularImageView"
tools:ignore="RtlHardcoded" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/authorName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:ellipsize="end"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="16sp"
app:layout_constraintBottom_toTopOf="@+id/uploadDate"
app:layout_constraintEnd_toStartOf="@+id/thumbsUpImage"
app:layout_constraintStart_toEndOf="@+id/authorAvatar"
app:layout_constraintTop_toTopOf="@+id/authorAvatar"
tools:text="@tools:sample/lorem/random" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/uploadDate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:ellipsize="end"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@+id/authorAvatar"
app:layout_constraintEnd_toStartOf="@+id/thumbsUpImage"
app:layout_constraintStart_toEndOf="@+id/authorAvatar"
app:layout_constraintTop_toBottomOf="@+id/authorName"
tools:text="5 months ago" />
<ImageView
android:id="@+id/thumbsUpImage"
android:layout_width="21sp"
android:layout_height="21sp"
android:layout_marginEnd="@dimen/video_item_detail_like_margin"
android:contentDescription="@string/detail_likes_img_view_description"
android:src="@drawable/ic_thumb_up"
app:layout_constraintBottom_toBottomOf="@+id/authorAvatar"
app:layout_constraintEnd_toStartOf="@+id/thumbsUpCount"
app:layout_constraintTop_toTopOf="@+id/authorAvatar" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/thumbsUpCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:gravity="center"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@+id/authorAvatar"
app:layout_constraintEnd_toStartOf="@+id/heartImage"
app:layout_constraintTop_toTopOf="@+id/authorAvatar"
tools:text="12M" />
<ImageView
android:id="@+id/heartImage"
android:layout_width="21sp"
android:layout_height="21sp"
android:layout_marginEnd="4dp"
android:contentDescription="@string/detail_heart_img_view_description"
android:src="@drawable/ic_heart"
app:layout_constraintBottom_toBottomOf="@+id/authorAvatar"
app:layout_constraintEnd_toStartOf="@+id/pinnedImage"
app:layout_constraintTop_toTopOf="@+id/authorAvatar"
app:layout_goneMarginEnd="16dp" />
<View
android:id="@+id/authorTouchArea"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_margin="8dp"
android:background="?attr/selectableItemBackground"
app:layout_constraintBottom_toTopOf="@+id/commentContent"
app:layout_constraintEnd_toStartOf="@+id/thumbsUpImage"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/pinnedImage"
android:layout_width="21sp"
android:layout_height="21sp"
android:layout_marginEnd="16dp"
android:contentDescription="@string/detail_pinned_comment_view_description"
android:src="@drawable/ic_pin"
app:layout_constraintBottom_toBottomOf="@+id/authorAvatar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/authorAvatar" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/commentContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="14sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/authorAvatar"
tools:text="@tools:sample/lorem/random[10]" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginTop="16dp"
android:layout_marginBottom="8dp"
android:background="?attr/separator_color"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/commentContent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -193,8 +193,8 @@
android:layout_centerVertical="true"
android:minWidth="0dp"
android:scaleType="centerInside"
android:src="@drawable/ic_delete"
android:visibility="gone"
app:srcCompat="@drawable/ic_delete"
tools:ignore="ContentDescription"
tools:visibility="visible" />

View file

@ -29,9 +29,9 @@
<RelativeLayout
android:id="@+id/tempoControl"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_height="wrap_content"
android:layout_below="@id/tempoControlText"
android:layout_marginTop="3dp"
android:layout_marginTop="1dp"
android:orientation="horizontal">
<org.schabi.newpipe.views.NewPipeTextView
@ -39,7 +39,6 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackground"
android:clickable="true"
@ -57,9 +56,7 @@
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_toStartOf="@id/tempoStepUp"
android:layout_toLeftOf="@id/tempoStepUp"
android:layout_toEndOf="@id/tempoStepDown"
android:layout_toRightOf="@id/tempoStepDown"
android:orientation="horizontal">
<org.schabi.newpipe.views.NewPipeTextView
@ -67,9 +64,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="4dp"
android:layout_marginLeft="4dp"
android:gravity="center"
android:text="-.--x"
android:textColor="?attr/colorAccent"
@ -93,9 +88,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:gravity="center"
android:text="---%"
android:textColor="?attr/colorAccent"
@ -108,7 +101,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tempoCurrentText"
android:paddingBottom="4dp"
android:paddingBottom="2dp"
tools:progress="50" />
</RelativeLayout>
@ -117,10 +110,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
@ -138,9 +129,9 @@
android:layout_height="1dp"
android:layout_below="@id/tempoControl"
android:layout_marginStart="12dp"
android:layout_marginTop="6dp"
android:layout_marginEnd="6dp"
android:layout_marginBottom="6dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="5dp"
android:background="?attr/separator_color" />
<org.schabi.newpipe.views.NewPipeTextView
@ -154,232 +145,268 @@
android:textColor="?attr/colorAccent"
android:textStyle="bold" />
<RelativeLayout
android:id="@+id/pitchControl"
<ImageView
android:id="@+id/pitchToogleControlModes"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_below="@id/separatorPitch"
android:layout_alignParentEnd="true"
android:clickable="true"
android:focusable="true"
android:src="@drawable/ic_expand_more"
tools:ignore="ContentDescription" />
<LinearLayout
android:id="@+id/pitchControlModeTabs"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_height="22dp"
android:layout_below="@id/pitchControlText"
android:layout_marginTop="3dp"
android:orientation="horizontal">
android:layout_marginStart="22dp"
android:layout_marginEnd="22dp"
android:orientation="horizontal"
android:visibility="gone"
tools:visibility="visible">
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchStepDown"
android:layout_width="wrap_content"
android:id="@+id/pitchControlModePercent"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="--%"
android:textColor="?attr/colorAccent"
android:textStyle="bold"
tools:ignore="HardcodedText"
tools:text="-5%" />
android:text="@string/percent"
android:textColor="?attr/colorAccent" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchControlModeSemitone"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="@string/semitone"
android:textColor="?attr/colorAccent" />
</LinearLayout>
<RelativeLayout
android:id="@+id/pitchControlContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/pitchControlModeTabs"
android:layout_marginTop="1dp">
<RelativeLayout
android:id="@+id/pitchDisplay"
android:id="@+id/pitchPercentControl"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_toStartOf="@+id/pitchStepUp"
android:layout_toLeftOf="@+id/pitchStepUp"
android:layout_toEndOf="@+id/pitchStepDown"
android:layout_toRightOf="@+id/pitchStepDown"
android:orientation="horizontal">
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchMinimumText"
android:id="@+id/pitchPercentStepDown"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="4dp"
android:layout_marginLeft="4dp"
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="---%"
android:textColor="?attr/colorAccent"
tools:ignore="HardcodedText"
tools:text="25%" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchCurrentText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="---%"
android:text="--%"
android:textColor="?attr/colorAccent"
android:textStyle="bold"
tools:ignore="HardcodedText"
tools:text="100%" />
tools:text="-5%" />
<RelativeLayout
android:id="@+id/pitchPercentDisplay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_toStartOf="@+id/pitchPercentStepUp"
android:layout_toEndOf="@+id/pitchPercentStepDown"
android:orientation="horizontal">
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchPercentMinimumText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginStart="4dp"
android:gravity="center"
android:text="---%"
android:textColor="?attr/colorAccent"
tools:ignore="HardcodedText"
tools:text="25%" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchPercentCurrentText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="---%"
android:textColor="?attr/colorAccent"
android:textStyle="bold"
tools:ignore="HardcodedText"
tools:text="100%" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchPercentMaximumText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginEnd="4dp"
android:gravity="center"
android:text="---%"
android:textColor="?attr/colorAccent"
tools:ignore="HardcodedText"
tools:text="300%" />
<androidx.appcompat.widget.AppCompatSeekBar
android:id="@+id/pitchPercentSeekbar"
style="@style/Widget.AppCompat.SeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/pitchPercentCurrentText"
android:paddingBottom="2dp"
tools:progress="50" />
</RelativeLayout>
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchMaximumText"
android:id="@+id/pitchPercentStepUp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="---%"
android:text="+-%"
android:textColor="?attr/colorAccent"
android:textStyle="bold"
tools:ignore="HardcodedText"
tools:text="300%" />
<androidx.appcompat.widget.AppCompatSeekBar
android:id="@+id/pitchSeekbar"
style="@style/Widget.AppCompat.SeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/pitchCurrentText"
android:paddingBottom="4dp"
tools:progress="50" />
tools:text="+5%" />
</RelativeLayout>
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchStepUp"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="+-%"
android:textColor="?attr/colorAccent"
android:textStyle="bold"
tools:ignore="HardcodedText"
tools:text="+5%" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/semitoneControl"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@id/pitchControlText"
android:layout_marginTop="4dp"
android:orientation="horizontal">
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/semitoneStepDown"
android:layout_width="24dp"
android:layout_height="match_parent"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="♭"
android:textColor="?attr/colorAccent"
android:textSize="24sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<RelativeLayout
android:id="@+id/semitoneDisplay"
android:id="@+id/pitchSemitoneControl"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_toStartOf="@+id/semitoneStepUp"
android:layout_toLeftOf="@+id/semitoneStepUp"
android:layout_toEndOf="@+id/semitoneStepDown"
android:layout_toRightOf="@+id/semitoneStepDown"
android:orientation="horizontal">
android:orientation="horizontal"
tools:visibility="gone">
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/semitoneMinimumText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/pitchSemitoneStepDown"
android:layout_width="24dp"
android:layout_height="match_parent"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="4dp"
android:layout_marginLeft="4dp"
android:gravity="center"
android:text="-12"
android:textColor="?attr/colorAccent"
tools:ignore="HardcodedText"/>
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/semitoneCurrentText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="♭"
android:textColor="?attr/colorAccent"
android:textSize="24sp"
android:textStyle="bold"
tools:text="0" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/semitoneMaximumText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:gravity="center"
android:text="+12"
android:textColor="?attr/colorAccent"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatSeekBar
android:id="@+id/semitoneSeekbar"
style="@style/Widget.AppCompat.SeekBar"
<RelativeLayout
android:id="@+id/pitchSemitoneDisplay"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/semitoneCurrentText"
android:max="24"
android:paddingBottom="4dp"
android:progress="12" />
</RelativeLayout>
android:layout_height="match_parent"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_toStartOf="@+id/pitchSemitoneStepUp"
android:layout_toEndOf="@+id/pitchSemitoneStepDown"
android:orientation="horizontal">
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/semitoneStepUp"
android:layout_width="24dp"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="♯"
android:textColor="?attr/colorAccent"
android:textSize="20sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchSemitoneMinimumText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginStart="4dp"
android:gravity="center"
android:text="-12"
android:textColor="?attr/colorAccent"
tools:ignore="HardcodedText" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchSemitoneCurrentText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center"
android:textColor="?attr/colorAccent"
android:textStyle="bold"
tools:text="0"
tools:ignore="RelativeOverlap" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchSemitoneMaximumText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginEnd="4dp"
android:gravity="center"
android:text="+12"
android:textColor="?attr/colorAccent"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatSeekBar
android:id="@+id/pitchSemitoneSeekbar"
style="@style/Widget.AppCompat.SeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/pitchSemitoneCurrentText"
android:max="24"
android:paddingBottom="2dp"
android:progress="12" />
</RelativeLayout>
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/pitchSemitoneStepUp"
android:layout_width="24dp"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="4dp"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="♯"
android:textColor="?attr/colorAccent"
android:textSize="20sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</RelativeLayout>
</RelativeLayout>
<View
android:id="@+id/separatorStepSizeSelector"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/semitoneControl"
android:layout_below="@+id/pitchControlContainer"
android:layout_marginStart="12dp"
android:layout_marginTop="6dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="6dp"
android:layout_marginBottom="5dp"
android:background="?attr/separator_color" />
<LinearLayout
android:id="@+id/stepSizeSelector"
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_height="30dp"
android:layout_below="@id/separatorStepSizeSelector"
android:orientation="horizontal">
@ -403,7 +430,8 @@
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:textColor="?attr/colorAccent" />
android:textColor="?attr/colorAccent"
tools:text="1%" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/stepSizeFivePercent"
@ -414,7 +442,8 @@
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:textColor="?attr/colorAccent" />
android:textColor="?attr/colorAccent"
tools:text="5%" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/stepSizeTenPercent"
@ -425,7 +454,8 @@
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:textColor="?attr/colorAccent" />
android:textColor="?attr/colorAccent"
tools:text="10%" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/stepSizeTwentyFivePercent"
@ -436,9 +466,10 @@
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:textColor="?attr/colorAccent" />
android:textColor="?attr/colorAccent"
tools:text="25%" />
<TextView
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/stepSizeOneHundredPercent"
android:layout_width="0dp"
android:layout_height="match_parent"
@ -447,7 +478,8 @@
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:textColor="?attr/colorAccent" />
android:textColor="?attr/colorAccent"
tools:text="100%" />
</LinearLayout>
<View
@ -456,9 +488,9 @@
android:layout_height="1dp"
android:layout_below="@+id/stepSizeSelector"
android:layout_marginStart="12dp"
android:layout_marginTop="6dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="6dp"
android:layout_marginBottom="5dp"
android:background="?attr/separator_color" />
<LinearLayout
@ -486,17 +518,6 @@
android:focusable="true"
android:text="@string/skip_silence_checkbox" />
<CheckBox
android:id="@+id/adjustBySemitonesCheckbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/skipSilenceCheckbox"
android:layout_centerHorizontal="true"
android:checked="false"
android:clickable="true"
android:focusable="true"
android:maxLines="1"
android:text="@string/adjust_by_semitones_checkbox" />
</LinearLayout>
<!-- END HERE -->

View file

@ -1,5 +1,4 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
@ -20,7 +19,7 @@
android:layout_centerVertical="true"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
app:srcCompat="@drawable/ic_playlist_add"
android:src="@drawable/ic_playlist_add"
tools:ignore="ContentDescription,RtlHardcoded" />
<org.schabi.newpipe.views.NewPipeTextView
@ -35,11 +34,26 @@
tools:ignore="RtlHardcoded" />
</RelativeLayout>
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/playlist_duplicate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/newPlaylist"
android:layout_marginHorizontal="@dimen/video_item_search_padding"
android:layout_marginBottom="@dimen/video_item_search_padding"
android:gravity="center"
android:text="@string/duplicate_in_playlist"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="13sp"
android:visibility="gone"
tools:text="@tools:sample/lorem[20]"
tools:visibility="visible" />
<View
android:id="@+id/separator"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/newPlaylist"
android:layout_below="@+id/playlist_duplicate"
android:layout_marginLeft="@dimen/video_item_search_padding"
android:layout_marginRight="@dimen/video_item_search_padding"
android:background="?attr/separator_color" />

View file

@ -71,24 +71,59 @@
android:minWidth="150dp"
tools:listitem="@layout/stream_quality_item" />
<Spinner
android:id="@+id/audio_track_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/quality_spinner"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="12dp"
android:minWidth="150dp"
tools:visibility="gone" />
<Spinner
android:id="@+id/audio_stream_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/audio_track_spinner"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="12dp"
android:minWidth="150dp"
tools:visibility="gone" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/audio_track_present_in_video_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/audio_stream_spinner"
android:layout_marginLeft="24dp"
android:layout_marginRight="24dp"
android:layout_marginBottom="12dp"
android:gravity="center"
android:text="@string/audio_track_present_in_video"
android:textSize="12sp" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/threads_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/quality_spinner"
android:layout_below="@+id/audio_track_present_in_video_text"
android:layout_marginLeft="24dp"
android:layout_marginRight="24dp"
android:layout_marginBottom="6dp"
android:text="@string/msg_threads" />
<LinearLayout
android:id="@+id/threads_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/threads_text_view"
android:layout_marginLeft="24dp"
android:layout_marginRight="24dp"
android:orientation="horizontal"
android:paddingBottom="12dp">
android:layout_marginBottom="12dp"
android:orientation="horizontal">
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/threads_count"
@ -106,4 +141,16 @@
android:max="31"
android:progress="3" />
</LinearLayout>
<org.schabi.newpipe.views.NewPipeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/threads_layout"
android:layout_marginLeft="24dp"
android:layout_marginRight="24dp"
android:layout_marginBottom="12dp"
android:gravity="center"
android:text="@string/streams_not_yet_supported_removed"
android:textSize="12sp" />
</RelativeLayout>

View file

@ -0,0 +1,18 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/toolbar_layout"
layout="@layout/toolbar_layout" />
<ProgressBar
android:id="@+id/loader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="150dp"
android:layout_marginBottom="100dp"
android:layout_centerHorizontal="true"
android:indeterminate="true" />
</RelativeLayout>

View file

@ -39,7 +39,7 @@
android:layout_width="@dimen/drawer_header_newpipe_icon_size"
android:layout_height="@dimen/drawer_header_newpipe_icon_size"
android:layout_marginEnd="@dimen/drawer_header_newpipe_icon_title_space"
app:srcCompat="@drawable/splash_foreground"
android:src="@drawable/splash_foreground"
tools:ignore="ContentDescription" />
<org.schabi.newpipe.views.NewPipeTextView
@ -86,7 +86,7 @@
android:scaleType="fitCenter"
app:tint="@color/drawer_header_font_color"
tools:ignore="ContentDescription"
tools:srcCompat="@drawable/place_holder_youtube" />
tools:src="@drawable/ic_smart_display" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/drawer_header_service_view"
@ -104,7 +104,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="4dp"
app:srcCompat="@drawable/ic_arrow_drop_down"
android:src="@drawable/ic_arrow_drop_down"
app:tint="@color/drawer_header_font_color"
tools:ignore="ContentDescription" />
</LinearLayout>

View file

@ -33,8 +33,8 @@
android:id="@+id/error_message_service_explanation_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="4dp"
android:gravity="center"
android:text="@string/general_error"
android:textSize="16sp"
android:textStyle="italic"
@ -62,7 +62,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginBottom="8dp"
android:text="@string/retry"
android:textAlignment="center"
android:textAllCaps="true"
@ -72,4 +71,19 @@
android:visibility="gone"
tools:visibility="visible" />
<Button
android:id="@+id/error_open_in_browser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginBottom="8dp"
android:text="@string/open_in_browser"
android:textAlignment="center"
android:textAllCaps="true"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textSize="16sp"
android:theme="@style/ServiceColoredButton"
android:visibility="gone"
tools:visibility="visible" />
</LinearLayout>

View file

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="4dp"
android:clickable="true"
android:focusable="true"
android:foreground="?attr/selectableItemBackground"
app:cardBackgroundColor="?attr/card_item_background_color">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/dashed_border"
android:gravity="center"
android:orientation="vertical"
android:padding="4dp">
<ImageView
android:id="@+id/icon"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_gravity="center"
android:padding="4dp"
android:scaleType="centerInside"
android:src="@drawable/ic_add"
tools:ignore="ContentDescription" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:gravity="center"
android:maxLines="1"
android:text="@string/feed_create_new_group_button_title"
android:textAllCaps="true"
android:textColor="?attr/colorAccent"
android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.cardview.widget.CardView>

View file

@ -2,9 +2,10 @@
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="64dp"
android:layout_height="48dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="4dp"
android:clickable="true"
android:focusable="true"
android:foreground="?attr/selectableItemBackground"
@ -14,32 +15,30 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/dashed_border"
android:gravity="center"
android:orientation="vertical"
android:padding="4dp">
android:orientation="horizontal">
<ImageView
android:id="@+id/icon"
android:layout_width="14dp"
android:layout_height="14dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:padding="8dp"
android:scaleType="centerInside"
app:srcCompat="@drawable/ic_add"
android:src="@drawable/ic_add"
tools:ignore="ContentDescription" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:layout_gravity="center_vertical"
android:ellipsize="end"
android:gravity="center"
android:maxLines="1"
android:padding="10dp"
android:text="@string/feed_create_new_group_button_title"
android:textAllCaps="true"
android:textColor="?attr/colorAccent"
android:textSize="10sp"
android:textStyle="bold"
tools:ignore="SmallSp" />
android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.cardview.widget.CardView>

View file

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:clickable="true"
android:focusable="true"
android:foreground="?attr/selectableItemBackground"
android:layout_margin="4dp"
app:cardBackgroundColor="?attr/card_item_background_color">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="2dp">
<ImageView
android:id="@+id/icon"
android:layout_width="36dp"
android:layout_height="0dp"
android:layout_gravity="center"
android:layout_weight="1"
android:padding="4dp"
android:scaleType="fitCenter"
tools:ignore="ContentDescription"
tools:src="@drawable/ic_fastfood" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/card_item_contrast_color"
android:ellipsize="end"
android:gravity="center"
android:maxLines="2"
android:padding="2dp"
android:textAllCaps="false"
android:textColor="?attr/colorAccent"
android:textSize="14sp"
android:textStyle="bold"
tools:text="ALL" />
</LinearLayout>
</androidx.cardview.widget.CardView>

View file

@ -2,9 +2,10 @@
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="64dp"
android:layout_height="48dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="4dp"
android:clickable="true"
android:focusable="true"
android:foreground="?attr/selectableItemBackground"
@ -12,36 +13,34 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="2dp">
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/icon"
android:layout_width="18dp"
android:layout_height="0dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:layout_weight="1"
android:paddingTop="2dp"
android:paddingBottom="2dp"
android:scaleType="fitCenter"
android:padding="8dp"
android:scaleType="centerInside"
tools:ignore="ContentDescription"
tools:src="@drawable/ic_fastfood" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:background="?attr/card_item_contrast_color"
android:ellipsize="end"
android:gravity="center"
android:maxLines="2"
android:padding="2dp"
android:gravity="center_vertical"
android:maxLines="1"
android:padding="10dp"
android:textAllCaps="false"
android:textColor="?attr/colorAccent"
android:textSize="10sp"
android:textSize="14sp"
android:textStyle="bold"
tools:ignore="SmallSp"
tools:text="ALL" />
tools:text="All" />
</LinearLayout>
</androidx.cardview.widget.CardView>

View file

@ -55,7 +55,7 @@
android:paddingTop="12dp"
android:paddingRight="16dp"
android:paddingBottom="12dp"
app:srcCompat="@drawable/ic_drag_handle"
android:src="@drawable/ic_drag_handle"
tools:ignore="ContentDescription,RtlHardcoded" />
</RelativeLayout>
</androidx.cardview.widget.CardView>

View file

@ -1,114 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="14dp"
android:background="?attr/contrast_background_color">
<View
android:layout_width="match_parent"
android:layout_height="5dp"
android:background="?attr/toolbar_shadow" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?attr/separator_color" />
<LinearLayout
android:id="@+id/import_export"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:gravity="center_vertical"
android:orientation="horizontal">
<org.schabi.newpipe.views.NewPipeTextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingLeft="16dp"
android:paddingTop="8dp"
android:paddingRight="16dp"
android:paddingBottom="8dp"
android:text="@string/tab_subscriptions"
android:textColor="?android:attr/textColorPrimary"
android:textSize="16sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/import_export_expand_icon"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginRight="16dp"
app:srcCompat="@drawable/ic_expand_more"
tools:ignore="ContentDescription,RtlHardcoded" />
</LinearLayout>
<org.schabi.newpipe.views.CollapsibleView
android:id="@+id/import_export_options"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="6dp"
tools:ignore="RtlSymmetry">
<org.schabi.newpipe.views.NewPipeTextView
android:layout_width="match_parent"
android:layout_height="@dimen/subscription_import_export_title_height"
android:gravity="left|center"
android:maxLines="1"
android:paddingLeft="36dp"
android:text="@string/import_from"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="13sp"
tools:ignore="RtlHardcoded" />
<LinearLayout
android:id="@+id/import_from_options"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="36dp"
android:layout_marginLeft="36dp"
android:orientation="vertical" />
<org.schabi.newpipe.views.NewPipeTextView
android:layout_width="match_parent"
android:layout_height="@dimen/subscription_import_export_title_height"
android:background="?attr/selectableItemBackground"
android:gravity="left|center"
android:maxLines="1"
android:paddingLeft="36dp"
android:text="@string/export_to"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="13sp"
tools:ignore="RtlHardcoded" />
<LinearLayout
android:id="@+id/export_to_options"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="36dp"
android:orientation="vertical" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_gravity="center_vertical"
android:layout_marginStart="8dp"
android:layout_marginTop="6dp"
android:layout_marginEnd="8dp"
android:background="?attr/separator_color" />
</org.schabi.newpipe.views.CollapsibleView>
</LinearLayout>

View file

@ -3,4 +3,5 @@
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:scrollbars="none" />

View file

@ -1,5 +1,4 @@
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -20,7 +19,7 @@
android:layout_gravity="center_horizontal"
android:layout_marginBottom="8dp"
android:contentDescription="@string/app_name"
app:srcCompat="@mipmap/ic_launcher" />
android:src="@mipmap/ic_launcher" />
<org.schabi.newpipe.views.NewPipeTextView
android:layout_width="wrap_content"
@ -45,6 +44,26 @@
android:paddingBottom="5dp"
android:text="@string/app_description" />
<org.schabi.newpipe.views.NewPipeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:text="@string/faq_title"
android:textAppearance="@android:style/TextAppearance.Medium" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/faq_description" />
<Button
android:id="@+id/faq_link"
style="@style/Base.Widget.AppCompat.Button.Borderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:text="@string/faq" />
<org.schabi.newpipe.views.NewPipeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"

View file

@ -1,80 +1,214 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/items_list"
<!-- since ToolbarTheme sets the tint to icons, it would make images all white,
therefore app:tint="@null" is used to undo that setting -->
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ToolbarTheme"
app:elevation="0dp">
<org.schabi.newpipe.views.CustomCollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/channel_metadata"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax">
<ImageView
android:id="@+id/channel_banner_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxHeight="70dp"
android:scaleType="fitCenter"
android:src="@drawable/placeholder_channel_banner"
app:layout_constraintTop_toTopOf="parent"
app:tint="@null"
tools:ignore="ContentDescription" />
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/channel_avatar_view"
android:layout_width="@dimen/channel_avatar_size"
android:layout_height="@dimen/channel_avatar_size"
android:layout_marginVertical="8dp"
android:layout_marginStart="8dp"
android:padding="1dp"
android:src="@drawable/placeholder_person"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0"
app:shapeAppearance="@style/CircularImageView"
app:strokeColor="#ffffff"
app:strokeWidth="2dp"
app:tint="@null" />
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/sub_channel_avatar_view"
android:layout_width="@dimen/sub_channel_avatar_size"
android:layout_height="@dimen/sub_channel_avatar_size"
android:padding="1dp"
android:src="@drawable/placeholder_person"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/channel_avatar_view"
app:layout_constraintEnd_toEndOf="@id/channel_avatar_view"
app:shapeAppearance="@style/CircularImageView"
app:strokeColor="#ffffff"
app:strokeWidth="2dp"
app:tint="@null"
tools:visibility="visible" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/channel_title_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="4dp"
android:ellipsize="end"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="16sp"
app:layout_constraintBottom_toTopOf="@+id/sub_channel_title_view"
app:layout_constraintEnd_toStartOf="@+id/channel_subscribe_button"
app:layout_constraintStart_toEndOf="@+id/channel_avatar_view"
app:layout_constraintTop_toBottomOf="@+id/channel_banner_image"
tools:text="@tools:sample/lorem[10]" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/sub_channel_title_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="4dp"
android:ellipsize="end"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="14sp"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@+id/channel_subscriber_view"
app:layout_constraintEnd_toStartOf="@+id/channel_subscribe_button"
app:layout_constraintStart_toEndOf="@+id/channel_avatar_view"
app:layout_constraintTop_toBottomOf="@+id/channel_title_view"
tools:text="@tools:sample/lorem[10]"
tools:visibility="visible" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/channel_subscriber_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="2dp"
android:layout_marginEnd="4dp"
android:layout_marginBottom="8dp"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/channel_subscribe_button"
app:layout_constraintStart_toEndOf="@+id/channel_avatar_view"
app:layout_constraintTop_toBottomOf="@+id/sub_channel_title_view"
tools:text="123,141,411 subscribers" />
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/channel_subscribe_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/subscribe_button_title"
android:textSize="@dimen/channel_rss_title_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/channel_banner_image" />
</androidx.constraintlayout.widget.ConstraintLayout>
</org.schabi.newpipe.views.CustomCollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
tools:listitem="@layout/list_stream_item" />
<ProgressBar
android:id="@+id/loading_progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:indeterminate="true"
android:visibility="gone"
tools:visibility="visible" />
<LinearLayout
android:id="@+id/empty_state_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_below="@id/app_bar_layout"
android:orientation="vertical"
android:paddingTop="90dp"
android:visibility="gone"
tools:visibility="visible">
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/channel_kaomoji"
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
app:tabGravity="fill"
app:tabIndicatorColor="@color/white"
app:tabMode="scrollable"
app:tabRippleColor="@color/white"
app:tabTextColor="@color/white" />
<androidx.viewpager.widget.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/tab_layout" />
<ProgressBar
android:id="@+id/loading_progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="10dp"
android:fontFamily="monospace"
android:text="(╯°-°)╯"
android:textSize="35sp"
tools:ignore="HardcodedText,UnusedAttribute" />
android:layout_centerInParent="true"
android:indeterminate="true"
android:visibility="gone"
tools:visibility="visible" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/channel_no_videos"
<LinearLayout
android:id="@+id/empty_state_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/empty_view_no_videos"
android:textSize="24sp" />
android:layout_centerInParent="true"
android:orientation="vertical"
android:paddingTop="90dp"
android:visibility="gone"
tools:visibility="visible">
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/error_content_not_supported"
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/channel_kaomoji"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="10dp"
android:fontFamily="monospace"
android:text="(︶︹︺)"
android:textSize="35sp"
tools:ignore="HardcodedText" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/error_content_not_supported"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="@string/content_not_supported"
android:textSize="15sp"
android:visibility="gone" />
</LinearLayout>
<!--ERROR PANEL-->
<include
android:id="@+id/error_panel"
layout="@layout/error_panel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="@string/content_not_supported"
android:textSize="15sp"
android:visibility="gone" />
</LinearLayout>
<!--ERROR PANEL-->
<include
android:id="@+id/error_panel"
layout="@layout/error_panel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginTop="50dp"
android:visibility="gone"
tools:visibility="visible" />
<View
android:layout_width="match_parent"
android:layout_height="4dp"
android:layout_alignParentTop="true"
android:background="?attr/toolbar_shadow" />
</RelativeLayout>
android:layout_centerInParent="true"
android:layout_marginTop="50dp"
android:visibility="gone"
tools:visibility="visible" />
</RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/items_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
tools:listitem="@layout/list_stream_item" />
<ProgressBar
android:id="@+id/loading_progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:indeterminate="true"
android:visibility="gone"
tools:visibility="visible" />
<include
android:id="@+id/empty_state_view"
layout="@layout/list_empty_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:visibility="gone"
tools:visibility="visible" />
<!--ERROR PANEL-->
<include
android:id="@+id/error_panel"
layout="@layout/error_panel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginTop="50dp"
android:visibility="gone"
tools:visibility="visible" />
<View
android:layout_width="match_parent"
android:layout_height="4dp"
android:layout_alignParentTop="true"
android:background="?attr/toolbar_shadow" />
</RelativeLayout>

View file

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/items_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
tools:listitem="@layout/list_stream_item" />
<ProgressBar
android:id="@+id/loading_progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:indeterminate="true"
android:visibility="gone"
tools:visibility="visible" />
<LinearLayout
android:id="@+id/empty_state_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical"
android:paddingTop="90dp"
android:visibility="gone"
tools:visibility="visible">
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/channel_kaomoji"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="10dp"
android:fontFamily="monospace"
android:text="(╯°-°)╯"
android:textSize="35sp"
tools:ignore="HardcodedText,UnusedAttribute" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/channel_no_videos"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/empty_view_no_videos"
android:textSize="24sp" />
</LinearLayout>
<!--ERROR PANEL-->
<include
android:id="@+id/error_panel"
layout="@layout/error_panel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginTop="50dp"
android:visibility="gone"
tools:visibility="visible" />
<View
android:layout_width="match_parent"
android:layout_height="4dp"
android:layout_alignParentTop="true"
android:background="?attr/toolbar_shadow" />
</RelativeLayout>

View file

@ -40,10 +40,10 @@
android:layout_marginBottom="16dp"
android:clickable="true"
android:focusable="true"
android:src="@drawable/ic_add"
app:backgroundTint="?attr/colorPrimary"
app:fabSize="auto"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:srcCompat="@drawable/ic_add" />
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -9,7 +9,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
tools:listitem="@layout/list_comments_item" />
tools:listitem="@layout/list_comment_item" />
<ProgressBar
android:id="@+id/loading_progress_bar"

View file

@ -8,6 +8,7 @@
android:scrollbars="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraint_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true">
@ -38,11 +39,11 @@
android:contentDescription="@string/description_select_enable"
android:focusable="true"
android:padding="5dp"
android:src="@drawable/ic_select_all"
app:layout_constraintBottom_toTopOf="@+id/barrier"
app:layout_constraintDimensionRatio="1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_select_all" />
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/barrier"

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
@ -57,7 +56,7 @@
android:layout_alignParentEnd="true"
android:layout_marginStart="6dp"
android:layout_marginEnd="12dp"
app:srcCompat="@drawable/ic_refresh"
android:src="@drawable/ic_refresh"
tools:ignore="ContentDescription" />
<View

View file

@ -44,8 +44,8 @@
android:layout_marginBottom="16dp"
android:clickable="true"
android:focusable="true"
android:src="@drawable/ic_add"
app:backgroundTint="?attr/colorPrimary"
app:fabSize="auto"
app:srcCompat="@drawable/ic_add" />
app:fabSize="auto" />
</RelativeLayout>

View file

@ -42,6 +42,7 @@
tools:ignore="HardcodedText,UnusedAttribute" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/empty_state_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"

View file

@ -41,6 +41,7 @@
tools:ignore="HardcodedText,UnusedAttribute" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/empty_state_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"

View file

@ -41,13 +41,13 @@
android:id="@+id/detail_thumbnail_image_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="200dp"
android:background="?windowBackground"
android:contentDescription="@string/detail_thumbnail_view_description"
android:minHeight="200dp"
android:scaleType="fitCenter"
tools:ignore="RtlHardcoded"
tools:layout_height="200dp"
tools:src="@drawable/dummy_thumbnail" />
tools:src="@drawable/placeholder_thumbnail_video" />
<ImageView
android:id="@+id/detail_thumbnail_play_button"
@ -55,8 +55,8 @@
android:layout_height="64dp"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:src="@drawable/ic_play_arrow_shadow"
android:visibility="invisible"
app:srcCompat="@drawable/ic_play_arrow_shadow"
tools:ignore="ContentDescription"
tools:visibility="visible" />
@ -187,7 +187,7 @@
android:layout_gravity="top|end"
android:layout_marginTop="11dp"
android:layout_marginEnd="10dp"
app:srcCompat="@drawable/ic_expand_more"
android:src="@drawable/ic_expand_more"
tools:ignore="ContentDescription" />
</FrameLayout>
@ -254,24 +254,22 @@
android:layout_height="wrap_content">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/detail_uploader_thumbnail_view"
android:id="@+id/detail_sub_channel_thumbnail_view"
android:layout_width="@dimen/video_item_detail_uploader_image_size"
android:layout_height="@dimen/video_item_detail_uploader_image_size"
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
android:src="@drawable/buddy"
android:contentDescription="@string/detail_sub_channel_thumbnail_view_description"
android:src="@drawable/placeholder_person"
app:shapeAppearance="@style/CircularImageView" />
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/detail_sub_channel_thumbnail_view"
android:id="@+id/detail_uploader_thumbnail_view"
android:layout_width="@dimen/video_item_detail_sub_channel_image_size"
android:layout_height="@dimen/video_item_detail_sub_channel_image_size"
android:layout_gravity="bottom|right"
android:contentDescription="@string/detail_sub_channel_thumbnail_view_description"
android:src="@drawable/buddy"
android:visibility="gone"
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
android:src="@drawable/placeholder_person"
app:shapeAppearance="@style/CircularImageView"
tools:ignore="RtlHardcoded"
tools:visibility="visible" />
tools:ignore="RtlHardcoded" />
</FrameLayout>
@ -306,26 +304,11 @@
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="@dimen/video_item_detail_uploader_text_size"
android:textStyle="bold"
tools:ignore="RtlHardcoded"
tools:text="Uploader" />
</LinearLayout>
<!--<Button
android:id="@+id/detail_uploader_subscribe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|right"
android:layout_marginRight="12dp"
android:text="@string/rss_button_title"
android:textSize="12sp"
android:theme="@style/RedButton"
app:drawableLeftCompat="@drawable/ic_rss_feed"
tools:ignore="RtlHardcoded"
android:visibility="gone"/>-->
</LinearLayout>
<!-- VIEW & THUMBS -->
@ -357,7 +340,7 @@
android:layout_height="@dimen/video_item_detail_like_image_height"
android:layout_below="@id/detail_view_count_view"
android:contentDescription="@string/detail_likes_img_view_description"
app:srcCompat="@drawable/ic_thumb_up" />
android:src="@drawable/ic_thumb_up" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_thumbs_up_count_view"
@ -381,7 +364,7 @@
android:layout_marginLeft="12dp"
android:layout_toRightOf="@id/detail_thumbs_up_count_view"
android:contentDescription="@string/detail_dislikes_img_view_description"
app:srcCompat="@drawable/ic_thumb_down"
android:src="@drawable/ic_thumb_down"
tools:ignore="RtlHardcoded" />
<org.schabi.newpipe.views.NewPipeTextView
@ -433,12 +416,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/add_to_playlist"
android:drawableTop="@drawable/ic_playlist_add"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/controls_add_to_playlist_title"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_playlist_add" />
android:textSize="@dimen/detail_control_text_size" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_controls_background"
@ -449,12 +432,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/play_audio"
android:drawableTop="@drawable/ic_headset"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/controls_background_title"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_headset" />
android:textSize="@dimen/detail_control_text_size" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_controls_popup"
@ -465,12 +448,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/open_in_popup_mode"
android:drawableTop="@drawable/ic_picture_in_picture"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/controls_popup_title"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_picture_in_picture" />
android:textSize="@dimen/detail_control_text_size" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_controls_download"
@ -481,12 +464,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/controls_download_desc"
android:drawableTop="@drawable/ic_file_download"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/download"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_file_download" />
android:textSize="@dimen/detail_control_text_size" />
</LinearLayout>
@ -510,12 +493,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/share"
android:drawableTop="@drawable/ic_share"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/share"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_share" />
android:textSize="@dimen/detail_control_text_size" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_controls_open_in_browser"
@ -526,12 +509,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/open_in_browser"
android:drawableTop="@drawable/ic_language"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/open_in_browser"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_language" />
android:textSize="@dimen/detail_control_text_size" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_controls_play_with_kodi"
@ -542,14 +525,14 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/play_with_kodi_title"
android:drawableTop="@drawable/ic_cast"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/play_with_kodi_title"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_cast" />
android:textSize="@dimen/detail_control_text_size" />
<TextView
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_controls_crash_the_player"
android:layout_width="@dimen/detail_control_width"
android:layout_height="@dimen/detail_control_height"
@ -558,12 +541,12 @@
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@string/crash_the_player"
android:drawableTop="@drawable/ic_bug_report"
android:focusable="true"
android:gravity="center"
android:paddingVertical="@dimen/detail_control_padding"
android:text="@string/crash_the_player"
android:textSize="@dimen/detail_control_text_size"
app:drawableTopCompat="@drawable/ic_bug_report" />
android:textSize="@dimen/detail_control_text_size" />
</LinearLayout>
@ -599,19 +582,19 @@
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:paddingBottom="48dp"/>
android:paddingBottom="48dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
app:tabIndicatorGravity="top"
app:tabIconTint="?attr/colorAccent"
app:elevation="16dp"
app:tabBackground="?attr/windowBackground"
app:tabGravity="fill"
app:elevation="16dp"/>
app:tabIconTint="?attr/colorAccent"
app:tabIndicatorGravity="top" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
@ -632,7 +615,7 @@
android:paddingLeft="@dimen/video_item_search_padding"
android:paddingRight="@dimen/video_item_search_padding"
android:scaleType="fitCenter"
android:src="@drawable/dummy_thumbnail" />
tools:ignore="ContentDescription" />
<LinearLayout
android:id="@+id/overlay_metadata_layout"
@ -682,32 +665,40 @@
android:layout_height="60dp"
android:layout_alignParentEnd="true"
android:gravity="center_vertical"
android:paddingLeft="@dimen/video_item_search_padding"
android:paddingRight="@dimen/video_item_search_padding"
android:theme="@style/ContrastTintTheme"
tools:ignore="RtlHardcoded">
<ImageButton
android:id="@+id/overlay_play_queue_button"
android:layout_width="40dp"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:contentDescription="@string/title_activity_play_queue"
android:scaleType="center"
android:src="@drawable/ic_list"
tools:ignore="RtlHardcoded" />
<ImageButton
android:id="@+id/overlay_play_pause_button"
android:layout_width="40dp"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:padding="10dp"
android:scaleType="center"
android:contentDescription="@string/pause"
android:focusable="true"
android:focusedByDefault="true"
app:srcCompat="@drawable/ic_play_arrow"
tools:ignore="ContentDescription,RtlHardcoded" />
android:scaleType="center"
android:src="@drawable/ic_play_arrow" />
<ImageButton
android:id="@+id/overlay_close_button"
android:layout_width="40dp"
android:layout_width="48dp"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:padding="10dp"
android:contentDescription="@string/close"
android:paddingRight="8dp"
android:scaleType="center"
app:srcCompat="@drawable/ic_close"
tools:ignore="ContentDescription,RtlHardcoded" />
android:src="@drawable/ic_close"
tools:ignore="RtlSymmetry" />
</LinearLayout>

View file

@ -26,7 +26,7 @@
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
tools:ignore="ContentDescription,RtlHardcoded"
tools:src="@drawable/place_holder_peertube" />
tools:src="@drawable/ic_placeholder_peertube" />
<TextView
android:id="@+id/instanceName"
@ -75,7 +75,7 @@
android:paddingTop="12dp"
android:paddingRight="10dp"
android:paddingBottom="12dp"
app:srcCompat="@drawable/ic_drag_handle"
android:src="@drawable/ic_drag_handle"
tools:ignore="ContentDescription,RtlHardcoded" />
</RelativeLayout>
</androidx.cardview.widget.CardView>

View file

@ -6,7 +6,7 @@
android:layout_height="wrap_content"
android:paddingVertical="6dp">
<TextView
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/metadata_type_view"
android:layout_width="96dp"
android:layout_height="wrap_content"
@ -19,7 +19,7 @@
app:layout_constraintTop_toTopOf="parent"
tools:text="Licence" />
<TextView
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/metadata_content_view"
android:layout_width="0dp"
android:layout_height="wrap_content"

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -64,7 +63,7 @@
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="center"
app:srcCompat="@drawable/ic_search_add"
android:src="@drawable/ic_search_add"
tools:ignore="ContentDescription,RtlHardcoded" />
</LinearLayout>

View file

@ -17,8 +17,8 @@
android:id="@+id/previewImage"
android:layout_width="0dp"
android:layout_height="@dimen/play_queue_thumbnail_width"
android:scaleType="centerCrop"
android:src="@drawable/dummy_thumbnail"
android:scaleType="fitCenter"
android:src="@drawable/placeholder_thumbnail_video"
app:layout_constraintDimensionRatio="16:9"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"

View file

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/itemRoot"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/channel_item_grid_padding">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/itemThumbnailView"
android:layout_width="@dimen/channel_item_card_thumbnail_image_size"
android:layout_height="@dimen/channel_item_card_thumbnail_image_size"
android:layout_centerHorizontal="true"
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
android:src="@drawable/placeholder_person"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:shapeAppearance="@style/CircularImageView"
tools:ignore="RtlHardcoded"
tools:src="@tools:sample/avatars" />
<TextView
android:id="@+id/itemTitleView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_mid"
android:ellipsize="end"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="@dimen/video_item_search_title_text_size"
android:textStyle="normal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/itemThumbnailView"
app:layout_constraintTop_toTopOf="@id/itemThumbnailView"
tools:ignore="RtlHardcoded"
tools:text="@sample/channels.json/data/name" />
<TextView
android:id="@+id/itemChannelDescriptionView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_below="@id/itemTitleView"
android:layout_centerHorizontal="true"
android:ellipsize="end"
android:maxLines="8"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="@dimen/video_item_search_upload_date_text_size"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/itemTitleView"
app:layout_constraintTop_toBottomOf="@id/itemTitleView"
tools:ignore="RtlHardcoded"
tools:text="@sample/channels.json/data/description" />
<TextView
android:id="@+id/itemAdditionalDetails"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_micro"
android:gravity="center"
android:lines="2"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="@dimen/video_item_search_upload_date_text_size"
android:textStyle="normal"
app:layout_constraintEnd_toEndOf="@id/itemThumbnailView"
app:layout_constraintStart_toStartOf="@id/itemThumbnailView"
app:layout_constraintTop_toBottomOf="@id/itemThumbnailView"
tools:ignore="RtlHardcoded"
tools:text="@sample/channels.json/data/additional" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -18,7 +18,7 @@
android:layout_centerHorizontal="true"
android:layout_margin="2dp"
android:contentDescription="@string/detail_uploader_thumbnail_view_description"
android:src="@drawable/buddy_channel_item"
android:src="@drawable/placeholder_person"
app:shapeAppearance="@style/CircularImageView"
tools:ignore="RtlHardcoded" />
@ -39,12 +39,24 @@
android:id="@+id/itemAdditionalDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/itemTitleView"
android:layout_below="@id/itemTitleView"
android:layout_centerHorizontal="true"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="@dimen/video_item_search_upload_date_text_size"
tools:ignore="RtlHardcoded"
tools:text="10M subscribers" />
tools:text="10M subscribers • 100 videos" />
<TextView
android:id="@+id/itemChannelDescriptionView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/itemAdditionalDetails"
android:layout_centerHorizontal="true"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="@dimen/video_item_search_upload_date_text_size"
android:gravity="center"
tools:ignore="RtlHardcoded"
tools:text="@tools:sample/lorem/random" />
</RelativeLayout>

View file

@ -64,7 +64,7 @@
android:layout_height="@dimen/video_item_search_avatar_image_height"
android:layout_marginLeft="@dimen/video_item_search_avatar_left_margin"
android:layout_marginRight="@dimen/video_item_search_avatar_right_margin"
android:src="@drawable/buddy"
android:src="@drawable/placeholder_person"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/itemTitleView"
app:layout_constraintHorizontal_bias="0.5"

View file

@ -17,7 +17,7 @@
android:layout_centerVertical="true"
android:layout_marginStart="3dp"
android:layout_marginRight="15dp"
android:src="@drawable/buddy_channel_item"
android:src="@drawable/placeholder_person"
app:shapeAppearance="@style/CircularImageView"
tools:ignore="RtlHardcoded" />

View file

@ -55,7 +55,7 @@
android:paddingTop="12dp"
android:paddingRight="16dp"
android:paddingBottom="12dp"
app:srcCompat="@drawable/ic_drag_handle"
android:src="@drawable/ic_drag_handle"
tools:ignore="ContentDescription,RtlHardcoded" />
</RelativeLayout>
</androidx.cardview.widget.CardView>

View file

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/itemRoot"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/comments_vertical_padding">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/itemThumbnailView"
android:layout_width="42dp"
android:layout_height="42dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="@dimen/comment_item_avatar_right_margin"
android:focusable="false"
android:src="@drawable/placeholder_person"
app:shapeAppearance="@style/CircularImageView"
tools:ignore="RtlHardcoded" />
<ImageView
android:id="@+id/detail_pinned_view"
android:layout_width="@dimen/video_item_detail_pinned_image_width"
android:layout_height="@dimen/video_item_detail_pinned_image_height"
android:layout_alignParentTop="true"
android:layout_marginEnd="@dimen/video_item_detail_pinned_right_margin"
android:layout_toEndOf="@+id/itemThumbnailView"
android:contentDescription="@string/detail_pinned_comment_view_description"
android:src="@drawable/ic_pin" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/itemTitleView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/detail_pinned_view"
android:ellipsize="end"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="@dimen/comment_item_title_text_size"
tools:text="Author Name, Lorem ipsum • 5 months ago" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/itemCommentContentView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/itemTitleView"
android:layout_marginTop="6dp"
android:layout_toEndOf="@+id/itemThumbnailView"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="@dimen/comment_item_content_text_size"
tools:text="@tools:sample/lorem/random[1]" />
<ImageView
android:id="@+id/detail_thumbs_up_img_view"
android:layout_width="@dimen/video_item_detail_like_image_width"
android:layout_height="@dimen/video_item_detail_like_image_height"
android:layout_below="@id/itemCommentContentView"
android:layout_alignBottom="@+id/replies_button"
android:layout_toEndOf="@+id/itemThumbnailView"
android:contentDescription="@string/detail_likes_img_view_description"
android:src="@drawable/ic_thumb_up" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_thumbs_up_count_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/detail_thumbs_up_img_view"
android:layout_alignBottom="@id/detail_thumbs_up_img_view"
android:layout_marginStart="@dimen/video_item_detail_like_margin"
android:layout_toEndOf="@id/detail_thumbs_up_img_view"
android:gravity="center"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="@dimen/video_item_detail_likes_text_size"
tools:text="12M" />
<ImageView
android:id="@+id/detail_heart_image_view"
android:layout_width="@dimen/video_item_detail_heart_image_size"
android:layout_height="@dimen/video_item_detail_heart_image_size"
android:layout_alignTop="@id/detail_thumbs_up_img_view"
android:layout_alignBottom="@id/detail_thumbs_up_img_view"
android:layout_marginStart="@dimen/video_item_detail_heart_margin"
android:layout_toEndOf="@+id/detail_thumbs_up_count_view"
android:contentDescription="@string/detail_heart_img_view_description"
android:src="@drawable/ic_heart" />
<Button
android:id="@+id/replies_button"
style="?android:attr/borderlessButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/itemCommentContentView"
android:layout_alignParentEnd="true"
android:layout_marginStart="@dimen/video_item_detail_heart_margin"
android:minHeight="0dp"
tools:text="543 replies" />
</RelativeLayout>

View file

@ -1,139 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/itemRoot"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/comments_vertical_padding">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/itemThumbnailView"
android:layout_width="42dp"
android:layout_height="42dp"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="3dp"
android:layout_marginRight="@dimen/comment_item_avatar_right_margin"
android:focusable="false"
android:src="@drawable/buddy"
app:shapeAppearance="@style/CircularImageView"
tools:ignore="RtlHardcoded" />
<ImageView
android:id="@+id/detail_pinned_view"
android:layout_width="@dimen/video_item_detail_pinned_image_width"
android:layout_height="@dimen/video_item_detail_pinned_image_height"
android:layout_alignParentTop="true"
android:layout_marginRight="@dimen/video_item_detail_pinned_right_margin"
android:layout_toEndOf="@+id/itemThumbnailView"
android:contentDescription="@string/detail_pinned_comment_view_description"
android:visibility="gone"
app:srcCompat="@drawable/ic_pin"
tools:visibility="visible" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/itemTitleView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginBottom="@dimen/video_item_search_image_right_margin"
android:layout_toEndOf="@+id/detail_pinned_view"
android:ellipsize="end"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="@dimen/comment_item_title_text_size"
tools:text="Author Name, Lorem ipsum" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/itemCommentContentView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/itemTitleView"
android:layout_marginBottom="@dimen/channel_item_description_to_details_margin"
android:layout_toEndOf="@+id/itemThumbnailView"
android:layout_toRightOf="@+id/itemThumbnailView"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="@dimen/comment_item_content_text_size"
tools:text="Comment Content, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tristique vitae sem vitae blanditLorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tristique vitae sem vitae blanditLorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tristique vitae sem vitae blandit" />
<ImageView
android:id="@+id/detail_thumbs_up_img_view"
android:layout_width="@dimen/video_item_detail_like_image_width"
android:layout_height="@dimen/video_item_detail_like_image_height"
android:layout_below="@id/itemCommentContentView"
android:layout_toRightOf="@+id/itemThumbnailView"
android:contentDescription="@string/detail_likes_img_view_description"
app:srcCompat="@drawable/ic_thumb_up" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_thumbs_up_count_view"
android:layout_width="wrap_content"
android:layout_height="@dimen/video_item_detail_like_image_height"
android:layout_below="@id/itemCommentContentView"
android:layout_marginLeft="@dimen/video_item_detail_like_margin"
android:layout_toRightOf="@id/detail_thumbs_up_img_view"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="@dimen/video_item_detail_likes_text_size"
tools:ignore="RtlHardcoded"
tools:text="12M" />
<ImageView
android:id="@+id/detail_heart_image_view"
android:layout_width="@dimen/video_item_detail_heart_image_size"
android:layout_height="@dimen/video_item_detail_heart_image_size"
android:layout_below="@id/itemCommentContentView"
android:layout_marginLeft="@dimen/video_item_detail_heart_margin"
android:layout_toRightOf="@+id/detail_thumbs_up_count_view"
android:contentDescription="@string/detail_heart_img_view_description"
android:visibility="gone"
tools:visibility="visible"
app:srcCompat="@drawable/ic_heart" />
<!--we can uncomment below code if we need dislike button and count in future-->
<!--<ImageView
android:id="@+id/detail_thumbs_down_img_view"
android:layout_width="@dimen/video_item_detail_like_image_width"
android:layout_height="@dimen/video_item_detail_like_image_height"
android:layout_below="@id/itemCommentContentView"
android:layout_marginLeft="12dp"
android:layout_toRightOf="@id/detail_thumbs_up_count_view"
android:contentDescription="@string/detail_dislikes_img_view_description"
app:srcCompat="?attr/thumbs_down"
tools:ignore="RtlHardcoded" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_thumbs_down_count_view"
android:layout_width="wrap_content"
android:layout_height="@dimen/video_item_detail_like_image_height"
android:layout_below="@id/itemCommentContentView"
android:layout_marginLeft="@dimen/video_item_detail_like_margin"
android:layout_toRightOf="@id/detail_thumbs_down_img_view"
android:gravity="center_vertical"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="@dimen/video_item_detail_likes_text_size"
tools:ignore="RtlHardcoded"
tools:text="10K" />-->
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/itemPublishedTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/itemCommentContentView"
android:layout_marginLeft="12dp"
android:layout_toRightOf="@id/detail_heart_image_view"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="@dimen/video_item_search_upload_date_text_size"
tools:text="1 year ago" />
</RelativeLayout>

View file

@ -1,96 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/itemRoot"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:padding="@dimen/video_item_search_padding">
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/itemThumbnailView"
android:layout_width="42dp"
android:layout_height="42dp"
android:layout_centerVertical="true"
android:layout_marginStart="3dp"
android:layout_marginRight="15dp"
android:src="@drawable/buddy_channel_item"
app:shapeAppearance="@style/CircularImageView"
tools:ignore="RtlHardcoded" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/itemCommentContentView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/channel_item_description_to_details_margin"
android:layout_toRightOf="@+id/itemThumbnailView"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="@dimen/comment_item_content_text_size"
tools:text="Channel description, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tristique vitae sem vitae blanditLorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tristique vitae sem vitae blanditLorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc tristique vitae sem vitae blandit" />
<ImageView
android:id="@+id/detail_thumbs_up_img_view"
android:layout_width="@dimen/video_item_detail_like_image_width"
android:layout_height="@dimen/video_item_detail_like_image_height"
android:layout_below="@id/itemCommentContentView"
android:layout_toRightOf="@+id/itemThumbnailView"
android:contentDescription="@string/detail_likes_img_view_description"
app:srcCompat="@drawable/ic_thumb_up" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_thumbs_up_count_view"
android:layout_width="wrap_content"
android:layout_height="@dimen/video_item_detail_like_image_height"
android:layout_below="@id/itemCommentContentView"
android:layout_marginLeft="@dimen/video_item_detail_like_margin"
android:layout_toRightOf="@id/detail_thumbs_up_img_view"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="@dimen/video_item_detail_likes_text_size"
tools:ignore="RtlHardcoded"
tools:text="12M" />
<!--we can uncomment below code if we need dislike button and count in future-->
<!--<ImageView
android:id="@+id/detail_thumbs_down_img_view"
android:layout_width="@dimen/video_item_detail_like_image_width"
android:layout_height="@dimen/video_item_detail_like_image_height"
android:layout_below="@id/itemCommentContentView"
android:layout_marginLeft="12dp"
android:layout_toRightOf="@id/detail_thumbs_up_count_view"
android:contentDescription="@string/detail_dislikes_img_view_description"
app:srcCompat="?attr/thumbs_down"
tools:ignore="RtlHardcoded" />
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/detail_thumbs_down_count_view"
android:layout_width="wrap_content"
android:layout_height="@dimen/video_item_detail_like_image_height"
android:layout_below="@id/itemCommentContentView"
android:layout_marginLeft="@dimen/video_item_detail_like_margin"
android:layout_toRightOf="@id/detail_thumbs_down_img_view"
android:gravity="center_vertical"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="@dimen/video_item_detail_likes_text_size"
tools:ignore="RtlHardcoded"
tools:text="10K" />-->
<org.schabi.newpipe.views.NewPipeTextView
android:id="@+id/itemPublishedTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/itemCommentContentView"
android:layout_marginLeft="12dp"
android:layout_toRightOf="@id/detail_thumbs_up_count_view"
android:lines="1"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="@dimen/video_item_search_upload_date_text_size"
tools:text="1 year ago" />
</RelativeLayout>

View file

@ -19,5 +19,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="6dp"
android:text="@string/empty_subscription_feed_subtitle" />
android:gravity="center"
android:paddingHorizontal="16dp"
android:text="@string/empty_list_subtitle" />
</LinearLayout>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:minHeight="128dp"
android:orientation="vertical">
<org.schabi.newpipe.views.NewPipeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="¯\\_(ツ)_/¯"
android:textAppearance="?android:attr/textAppearanceLarge"
tools:ignore="HardcodedText" />
<org.schabi.newpipe.views.NewPipeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="6dp"
android:gravity="center"
android:paddingHorizontal="16dp"
android:text="@string/import_subscriptions_hint" />
</LinearLayout>

View file

@ -19,7 +19,7 @@
android:layout_alignParentTop="true"
android:layout_marginRight="@dimen/video_item_search_image_right_margin"
android:scaleType="centerCrop"
android:src="@drawable/dummy_thumbnail_playlist"
android:src="@drawable/placeholder_thumbnail_playlist"
tools:ignore="RtlHardcoded" />
<org.schabi.newpipe.views.NewPipeTextView

Some files were not shown because too many files have changed in this diff Show more