f089cd027e
With the extractor PR, fixes title & description shown in the wrong language. Fixed views / spectators counts possibly in the wrong language Fixed live spectators not showing full count on detail page Fixed LIVE shown on players, it shows translated instead Fixed Videos string in search / three dots not available in Weblate (because it was videos, but there already was a plural string named videos, in Weblate) Subscriber count is always giving the short count. We can't get exact number since this YouTube update: https://support.google.com/youtube/thread/6543166 But only short count (B, M, k), so showing full number, eg for 1.9M: 1,900,000, is wrong because the number could be 1,923,490 or 1,897,789… Added a « sytem default » option to content language and country language selector. It's the one selected by default (not en-GB anymore then), and correspond to the language of the system / country of the system By system I mean phone, tablet, TV… Fixed russian showing - before time ago (eg 19hrs ago) This is a workaround fix, I opened an issue on prettytime library repo. Fixed russian plurals: other was used instead of many for videos and subscribers Fixed seek_duration english only
313 lines
No EOL
13 KiB
XML
313 lines
No EOL
13 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
android:id="@+id/main_content"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:fitsSystemWindows="true"
|
|
tools:context="org.schabi.newpipe.player.BackgroundPlayerActivity">
|
|
|
|
<com.google.android.material.appbar.AppBarLayout
|
|
android:id="@+id/appbar"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
|
|
app:popupTheme="@style/ThemeOverlay.AppCompat.ActionBar">
|
|
|
|
<androidx.appcompat.widget.Toolbar
|
|
android:id="@+id/toolbar"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="?attr/actionBarSize"
|
|
android:layout_weight="1"
|
|
android:background="?attr/colorPrimary"
|
|
app:layout_scrollFlags="scroll|enterAlways"
|
|
app:title="@string/app_name"/>
|
|
|
|
</com.google.android.material.appbar.AppBarLayout>
|
|
|
|
<androidx.recyclerview.widget.RecyclerView
|
|
android:id="@+id/play_queue"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:layout_below="@+id/appbar"
|
|
android:layout_above="@id/progress_bar"
|
|
android:layout_toLeftOf="@+id/control_pane"
|
|
android:layout_toStartOf="@+id/control_pane"
|
|
android:scrollbars="vertical"
|
|
app:layoutManager="LinearLayoutManager"
|
|
tools:listitem="@layout/play_queue_item"/>
|
|
|
|
<RelativeLayout
|
|
android:id="@+id/control_pane"
|
|
android:layout_width="200dp"
|
|
android:layout_height="match_parent"
|
|
android:layout_alignParentRight="true"
|
|
android:layout_alignParentEnd="true"
|
|
android:layout_above="@id/progress_bar"
|
|
android:layout_below="@id/appbar">
|
|
|
|
<LinearLayout
|
|
android:id="@+id/metadata"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:layout_above="@+id/playback_controls_top"
|
|
android:orientation="vertical"
|
|
android:padding="8dp"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:background="?attr/selectableItemBackground"
|
|
tools:ignore="RtlHardcoded,RtlSymmetry">
|
|
|
|
<TextView
|
|
android:id="@+id/song_name"
|
|
style="@android:style/TextAppearance.StatusBar.EventContent.Title"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:ellipsize="end"
|
|
android:maxLines="4"
|
|
android:textColor="?attr/colorAccent"
|
|
android:textSize="14sp"
|
|
tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec aliquam augue, eget cursus est. Ut id tristique enim, ut scelerisque tellus. Sed ultricies ipsum non mauris ultricies, commodo malesuada velit porta."
|
|
/>
|
|
|
|
<TextView
|
|
android:id="@+id/artist_name"
|
|
style="@android:style/TextAppearance.StatusBar.EventContent"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:ellipsize="end"
|
|
android:maxLines="2"
|
|
android:textSize="12sp"
|
|
tools:text="Duis posuere arcu condimentum lobortis mattis." />
|
|
</LinearLayout>
|
|
|
|
<TextView
|
|
android:id="@+id/seek_display"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_centerInParent="true"
|
|
android:background="#c0000000"
|
|
android:paddingBottom="5dp"
|
|
android:paddingLeft="30dp"
|
|
android:paddingRight="30dp"
|
|
android:paddingTop="5dp"
|
|
android:layout_above="@+id/playback_controls_top"
|
|
android:textColor="@android:color/white"
|
|
android:textSize="22sp"
|
|
android:textStyle="bold"
|
|
android:visibility="gone"
|
|
tools:ignore="RtlHardcoded"
|
|
tools:text="1:06:29"
|
|
tools:visibility="visible"/>
|
|
|
|
<RelativeLayout
|
|
android:id="@+id/playback_controls_top"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="60dp"
|
|
android:paddingTop="10dp"
|
|
android:layout_above="@+id/playback_controls_bottom"
|
|
android:orientation="horizontal"
|
|
tools:ignore="RtlHardcoded">
|
|
|
|
<ImageButton
|
|
android:id="@+id/control_backward"
|
|
android:layout_width="40dp"
|
|
android:layout_height="40dp"
|
|
android:layout_centerVertical="true"
|
|
android:layout_marginLeft="5dp"
|
|
android:layout_toLeftOf="@+id/control_play_pause"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:scaleType="fitCenter"
|
|
android:tint="?attr/colorAccent"
|
|
android:src="@drawable/exo_controls_previous"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
tools:ignore="ContentDescription"/>
|
|
|
|
<ImageButton
|
|
android:id="@+id/control_play_pause"
|
|
android:layout_width="50dp"
|
|
android:layout_height="50dp"
|
|
android:layout_centerVertical="true"
|
|
android:layout_centerHorizontal="true"
|
|
android:layout_centerInParent="true"
|
|
android:layout_marginLeft="5dp"
|
|
android:layout_marginRight="5dp"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:scaleType="fitCenter"
|
|
android:tint="?attr/colorAccent"
|
|
android:src="@drawable/ic_pause_white"
|
|
tools:ignore="ContentDescription"/>
|
|
|
|
<ProgressBar
|
|
android:id="@+id/control_progress_bar"
|
|
style="?android:attr/progressBarStyleLargeInverse"
|
|
android:layout_width="50dp"
|
|
android:layout_height="50dp"
|
|
android:layout_centerVertical="true"
|
|
android:layout_centerHorizontal="true"
|
|
android:layout_centerInParent="true"
|
|
android:layout_marginLeft="5dp"
|
|
android:layout_marginRight="5dp"
|
|
android:background="#00000000"
|
|
android:tint="?attr/colorAccent"
|
|
android:padding="2dp"
|
|
android:clickable="false"
|
|
android:scaleType="fitCenter"
|
|
android:indeterminate="true"
|
|
android:visibility="invisible"/>
|
|
|
|
<ImageButton
|
|
android:id="@+id/control_forward"
|
|
android:layout_width="40dp"
|
|
android:layout_height="40dp"
|
|
android:layout_centerVertical="true"
|
|
android:layout_marginRight="5dp"
|
|
android:layout_toRightOf="@+id/control_play_pause"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:scaleType="fitCenter"
|
|
android:tint="?attr/colorAccent"
|
|
android:src="@drawable/exo_controls_next"
|
|
tools:ignore="ContentDescription"/>
|
|
</RelativeLayout>
|
|
|
|
<RelativeLayout
|
|
android:id="@+id/playback_controls_bottom"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="60dp"
|
|
android:paddingTop="10dp"
|
|
android:layout_alignParentBottom="true"
|
|
android:orientation="horizontal"
|
|
tools:ignore="RtlHardcoded">
|
|
|
|
<TextView
|
|
android:id="@+id/control_playback_speed"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="35dp"
|
|
android:layout_marginLeft="5dp"
|
|
android:layout_marginRight="5dp"
|
|
android:layout_centerVertical="true"
|
|
android:layout_toLeftOf="@+id/control_repeat"
|
|
android:gravity="center"
|
|
android:minWidth="50dp"
|
|
android:text="1x"
|
|
android:textColor="?attr/colorAccent"
|
|
android:textStyle="bold"
|
|
android:background="?attr/selectableItemBackground"
|
|
tools:ignore="HardcodedText,RtlHardcoded"/>
|
|
|
|
<ImageButton
|
|
android:id="@+id/control_repeat"
|
|
android:layout_width="30dp"
|
|
android:layout_height="30dp"
|
|
android:layout_toLeftOf="@+id/anchor"
|
|
android:layout_centerVertical="true"
|
|
android:layout_marginLeft="5dp"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:scaleType="fitXY"
|
|
android:tint="?attr/colorAccent"
|
|
android:src="@drawable/ic_repeat_white"
|
|
tools:ignore="ContentDescription"/>
|
|
|
|
<View android:layout_width="10dp"
|
|
android:layout_height="1dp"
|
|
android:layout_centerInParent="true"
|
|
android:id="@+id/anchor"/>
|
|
|
|
<ImageButton
|
|
android:id="@+id/control_shuffle"
|
|
android:layout_width="30dp"
|
|
android:layout_height="30dp"
|
|
android:layout_toRightOf="@+id/anchor"
|
|
android:layout_centerVertical="true"
|
|
android:layout_marginRight="5dp"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:scaleType="fitXY"
|
|
android:tint="?attr/colorAccent"
|
|
android:src="@drawable/ic_shuffle_white_24dp"
|
|
tools:ignore="ContentDescription"/>
|
|
|
|
<TextView
|
|
android:id="@+id/control_playback_pitch"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="35dp"
|
|
android:layout_marginLeft="5dp"
|
|
android:layout_marginRight="5dp"
|
|
android:layout_centerVertical="true"
|
|
android:layout_toRightOf="@+id/control_shuffle"
|
|
android:gravity="center"
|
|
android:minWidth="50dp"
|
|
android:text="100%"
|
|
android:textColor="?attr/colorAccent"
|
|
android:textStyle="bold"
|
|
android:background="?attr/selectableItemBackground"
|
|
tools:ignore="HardcodedText,RtlHardcoded"/>
|
|
</RelativeLayout>
|
|
</RelativeLayout>
|
|
|
|
<LinearLayout
|
|
android:id="@+id/progress_bar"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentBottom="true"
|
|
android:gravity="center"
|
|
android:orientation="horizontal"
|
|
android:paddingLeft="16dp"
|
|
android:background="@drawable/player_controls_bg"
|
|
android:paddingRight="16dp">
|
|
|
|
<TextView
|
|
android:id="@+id/current_time"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="match_parent"
|
|
android:gravity="center"
|
|
android:minHeight="40dp"
|
|
android:text="-:--:--"
|
|
android:textColor="?attr/colorAccent"
|
|
tools:ignore="HardcodedText"
|
|
tools:text="1:06:29"/>
|
|
|
|
<androidx.appcompat.widget.AppCompatSeekBar
|
|
android:id="@+id/seek_bar"
|
|
style="@style/Widget.AppCompat.SeekBar"
|
|
android:layout_width="0dp"
|
|
android:layout_height="match_parent"
|
|
android:layout_weight="1"
|
|
android:paddingBottom="4dp"
|
|
android:paddingTop="8dp"
|
|
tools:progress="25"
|
|
tools:secondaryProgress="50"/>
|
|
|
|
<TextView
|
|
android:id="@+id/end_time"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="match_parent"
|
|
android:gravity="center"
|
|
android:text="-:--:--"
|
|
android:textColor="?attr/colorAccent"
|
|
tools:ignore="HardcodedText"
|
|
tools:text="1:23:49"/>
|
|
|
|
<TextView
|
|
android:id="@+id/live_sync"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="match_parent"
|
|
android:paddingLeft="4dp"
|
|
android:paddingRight="4dp"
|
|
android:gravity="center"
|
|
android:text="@string/duration_live"
|
|
android:textAllCaps="true"
|
|
android:textColor="?attr/colorAccent"
|
|
android:background="?attr/selectableItemBackground"
|
|
android:visibility="gone"/>
|
|
</LinearLayout>
|
|
</RelativeLayout> |