0.3.08
This commit is contained in:
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#FF24292E" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="#24FFFFFF" />
|
||||
<corners android:radius="10dp" />
|
||||
</shape>
|
||||
@@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Drawn over the portrait, not behind it, so the accent ring reads on the artwork rather
|
||||
than being covered by it. A remote has no hover: the ring plus the scale is the only
|
||||
thing saying which face is selected. -->
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_focused="true">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#00000000" />
|
||||
<stroke
|
||||
android:width="2dp"
|
||||
android:color="#FF52B54B" />
|
||||
<corners android:radius="12dp" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#00000000" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="#1FFFFFFF" />
|
||||
<corners android:radius="12dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- The cast panel has no card edge. It sits on somebody's film, so it fades into the
|
||||
picture from the bottom rather than dropping a box over it: the scene stays visible
|
||||
above the names, which is the whole reason the panel was opened. -->
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:centerColor="#D40A0C0F"
|
||||
android:centerY="0.35"
|
||||
android:endColor="#00000000"
|
||||
android:startColor="#FA07080A"
|
||||
android:type="linear" />
|
||||
</shape>
|
||||
@@ -53,9 +53,6 @@
|
||||
overlay deliberately stays in Memby's TV design language. -->
|
||||
<include layout="@layout/player_subtitle_overlay" />
|
||||
|
||||
<!-- Cast is metadata-only and never pauses or rebuilds the player. -->
|
||||
<include layout="@layout/player_cast_overlay" />
|
||||
|
||||
<!-- Service alerts, the same bar the launcher shows. Declared before the loading and
|
||||
error overlays so those cover it: a notice about the library is not what someone
|
||||
staring at a failed stream needs. Never focusable, so it cannot take the remote
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
android:visibility="gone" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/player_transport_panel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="210dp"
|
||||
android:layout_gravity="bottom"
|
||||
|
||||
@@ -1,100 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- The cast panel. It covers the bottom of somebody's film, so it is a fade rather than a
|
||||
card: the scrim carries the names and the scene stays legible above them. The paddings
|
||||
match the transport row's 48dp side inset, so opening this does not shift the column
|
||||
the title and controls are read in. -->
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/player_cast_overlay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/player_cast_scrim"
|
||||
android:clickable="true"
|
||||
android:clipChildren="false"
|
||||
android:focusable="true"
|
||||
android:visibility="gone">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="48dp"
|
||||
android:paddingTop="20dp"
|
||||
android:paddingEnd="48dp"
|
||||
android:paddingBottom="54dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/player_cast_eyebrow"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:letterSpacing="0.14"
|
||||
android:text="@string/player_cast_eyebrow"
|
||||
android:textColor="#FF52B54B"
|
||||
android:textSize="11sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<!-- The title, not the word "Cast". The eyebrow above already says what the panel
|
||||
is, and a viewer who opened this mid-scene wants confirmation of what they are
|
||||
watching more than a heading repeating the button they just pressed. -->
|
||||
<TextView
|
||||
android:id="@+id/player_cast_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="26sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/player_cast_status"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="14dp"
|
||||
android:text="@string/player_cast_loading"
|
||||
android:textColor="#AFFFFFFF"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<HorizontalScrollView
|
||||
android:id="@+id/player_cast_scroller"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
android:overScrollMode="never"
|
||||
android:paddingTop="6dp"
|
||||
android:paddingBottom="6dp"
|
||||
android:scrollbars="none">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/player_cast_people"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:clipChildren="false"
|
||||
android:gravity="top"
|
||||
android:orientation="horizontal" />
|
||||
</HorizontalScrollView>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/player_cast_profile"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/player_cast_back_hint"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:letterSpacing="0.08"
|
||||
android:text="@string/player_back_to_close"
|
||||
android:textColor="#6EFFFFFF"
|
||||
android:textSize="11sp" />
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
@@ -4,5 +4,4 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="false"
|
||||
android:importantForAccessibility="no"
|
||||
android:visibility="visible" />
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<string name="playback_retrying_now">Trying the stream again…</string>
|
||||
<string name="playback_refreshing_stream">Requesting a fresh stream from Emby…</string>
|
||||
<string name="playback_server_unreachable">Media server unavailable</string>
|
||||
<string name="playback_server_unreachable_detail">Memby couldn’t request a fresh stream. Check that the server is online, then try again.</string>
|
||||
<string name="playback_server_unreachable_detail">Memby couldn’t request a fresh stream. The server may be offline.</string>
|
||||
<string name="playback_try_again">Try again</string>
|
||||
<string name="playback_back_to_memby">Back to Memby</string>
|
||||
<plurals name="playback_retrying_in">
|
||||
@@ -23,17 +23,11 @@
|
||||
<string name="player_live">Live</string>
|
||||
<string name="player_back">Back to previous screen</string>
|
||||
<string name="player_hide_controls">Hide controls</string>
|
||||
<string name="player_cast">Cast</string>
|
||||
<string name="player_cast_eyebrow">CAST</string>
|
||||
<string name="player_cast_loading">Loading cast…</string>
|
||||
<string name="player_cast_empty">No cast information is available.</string>
|
||||
<string name="player_cast_profile_eyebrow">CAST PROFILE</string>
|
||||
<string name="player_cast_profile_loading">Loading biography and filmography…</string>
|
||||
<string name="player_guest_cast">GUEST CAST</string>
|
||||
<string name="player_cast_profile_loading">Loading cast info</string>
|
||||
<string name="player_cast_biography_empty">No biography is available.</string>
|
||||
<string name="player_cast_filmography">FILMOGRAPHY</string>
|
||||
<string name="player_cast_filmography_empty">No films or series are available.</string>
|
||||
<string name="player_cast_back_to_cast">BACK · CAST</string>
|
||||
<string name="player_cast_deceased">Deceased</string>
|
||||
<string name="player_subtitle_track">SUBTITLES</string>
|
||||
<string name="player_text_size">TEXT SIZE</string>
|
||||
<string name="player_subtitle_download">GET SUBTITLES</string>
|
||||
@@ -47,7 +41,7 @@
|
||||
<!-- Shown in place of the track list on a backend that cannot fetch one, where there
|
||||
is nothing to offer and the only honest thing to do is say so. -->
|
||||
<string name="player_subtitle_none_unavailable">This title has no subtitles, and none can be downloaded.</string>
|
||||
<string name="player_subtitle_searching">Looking for subtitles. This can take a moment.</string>
|
||||
<string name="player_subtitle_searching">Searching for subtitles. Wait a few moments.</string>
|
||||
<string name="player_subtitle_search_empty">No subtitles were found for this release.</string>
|
||||
<string name="player_subtitle_downloading">Downloading %1$s subtitles…</string>
|
||||
<string name="player_subtitle_download_failed">That subtitle could not be downloaded. Try another.</string>
|
||||
|
||||
Reference in New Issue
Block a user