aboutsummaryrefslogtreecommitdiff
path: root/res/values
diff options
context:
space:
mode:
Diffstat (limited to 'res/values')
-rw-r--r--res/values/attr.xml25
-rw-r--r--res/values/attrs.xml48
-rw-r--r--res/values/colors.xml1
-rw-r--r--res/values/dimens.xml50
-rwxr-xr-xres/values/google-services.xml8
-rw-r--r--res/values/integers.xml2
-rw-r--r--res/values/strings.xml222
-rw-r--r--res/values/styles.xml7
-rw-r--r--res/values/themes.xml2
9 files changed, 156 insertions, 209 deletions
diff --git a/res/values/attr.xml b/res/values/attr.xml
deleted file mode 100644
index 1261ea41..00000000
--- a/res/values/attr.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ Copyright (C) 2015 The Android Open Source Project
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<resources>
- <declare-styleable name="CurrentProgramState" >
- <attr name="state_current_program" format="boolean" />
- </declare-styleable>
- <declare-styleable name="ProgramTooWideState" >
- <attr name="state_program_too_wide" format="boolean" />
- </declare-styleable>
-</resources>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
new file mode 100644
index 00000000..a26a9ef2
--- /dev/null
+++ b/res/values/attrs.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2015 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<resources>
+ <declare-styleable name="CurrentProgramState" >
+ <attr name="state_current_program" format="boolean" />
+ </declare-styleable>
+ <declare-styleable name="ProgramTooWideState" >
+ <attr name="state_program_too_wide" format="boolean" />
+ </declare-styleable>
+ <!-- XML attributes that describe the
+ {@link com.android.tv.dvr.ui.FadeBackground FadeBackground} transition. The
+ attributes of the {@link android.R.styleable#Transition Transition} resource are available
+ in addition to the specific attributes of FadeBackground described here. -->
+ <declare-styleable name="FadeBackground">
+ <!-- Equivalent to <code>transitionVisibilityMode</code>, fadingMode works only with the
+ FadeBackground transition. -->
+ <attr name="fadingMode">
+ <!-- FadeBackground will only fade appearing items in. -->
+ <enum name="fade_in" value="1" />
+ <!-- FadeBackground will only fade disappearing items out. -->
+ <enum name="fade_out" value="2" />
+ </attr>
+ </declare-styleable>
+
+ <!-- XML attributes that describe the
+ {@link com.android.tv.menu.widget.PlaybackProgressBar PlaybackProgressBar} widget.
+ The attributes of the {@link com.android.internal.R.styleable.View View} resources are
+ available in addition to the specific attributes of PlaybackProgressBar described here. -->
+ <declare-styleable name="PlaybackProgressBar">
+ <!-- Drawable used for the progress mode. -->
+ <attr name="progressDrawable" format="reference" />
+ </declare-styleable>
+</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index b6b40563..c3cbc22c 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -109,6 +109,7 @@
<!-- TV view -->
<color name="tvview_block_text_color">#80EEEEEE</color>
+ <color name="tvview_block_image_color_filter">#99000000</color>
<!-- Channel banner -->
<color name="channel_banner_text_color">#FFEEEEEE</color>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index ca601775..fc8eb009 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -193,7 +193,7 @@
<dimen name="program_guide_table_header_row_height">40dp</dimen>
<dimen name="program_guide_table_header_row_font_size">16sp</dimen>
<dimen name="program_guide_table_header_row_fade_length">24dp</dimen>
- <dimen name="program_guide_table_header_row_overlap">-52dp</dimen>
+ <dimen name="program_guide_table_header_row_overlap">-72dp</dimen>
<dimen name="program_guide_table_item_row_height">64dp</dimen>
<dimen name="program_guide_table_item_padding">16dp</dimen>
<dimen name="program_guide_table_item_compound_drawable_padding">8dp</dimen>
@@ -222,8 +222,6 @@
<dimen name="program_guide_table_detail_dvr_margin_start_without_track">0dp</dimen>
<dimen name="program_guide_table_detail_dvr_icon_margin_top">0.5dp</dimen>
<dimen name="program_guide_table_detail_dvr_drawable_padding">4dp</dimen>
- <dimen name="program_guide_table_detail_meta_margin_start">12dp</dimen>
- <dimen name="program_guide_table_detail_meta_margin_bottom">4sp</dimen>
<dimen name="program_guide_table_detail_critic_scores_margin_start">6dp</dimen>
<dimen name="program_guide_table_detail_critic_score_margin_start">6dp</dimen>
<dimen name="program_guide_table_detail_critic_score_logo_dimen">10dp</dimen>
@@ -246,23 +244,9 @@
<dimen name="shrunken_tvview_block_icon_height">60dp</dimen>
<dimen name="shrunken_tvview_block_vertical_spacing">24dp</dimen>
- <!-- PIP view -->
- <dimen name="pipview_margin_horizontal">56dp</dimen>
- <dimen name="pipview_margin_top">27dp</dimen>
- <dimen name="pipview_margin_bottom">27dp</dimen>
- <dimen name="pipview_small_size_width">240dp</dimen>
- <dimen name="pipview_small_size_height">135dp</dimen>
- <dimen name="pipview_large_size_width">384dp</dimen>
- <dimen name="pipview_large_size_height">216dp</dimen>
-
- <!-- PAP View -->
- <dimen name="papview_margin_horizontal">20dp</dimen>
- <dimen name="papview_spacing">24dp</dimen>
-
<!-- Edit channels -->
<dimen name="shrunken_tvview_margin_start">56dp</dimen>
<dimen name="shrunken_tvview_margin_end">32dp</dimen>
- <dimen name="shrunken_tvview_height">288dp</dimen>
<!-- Channel banner -->
<dimen name="channel_banner_width">696dp</dimen>
@@ -276,7 +260,7 @@
<dimen name="channel_banner_channel_logo_height">44dp</dimen>
<dimen name="channel_banner_channel_logo_margin_start">8dp</dimen>
<dimen name="channel_banner_input_logo_size">16dp</dimen>
- <dimen name="channel_banner_program_description_width">536dp</dimen>
+ <dimen name="channel_banner_program_description_width">456dp</dimen>
<dimen name="channel_banner_program_large_text_size">28sp</dimen>
<dimen name="channel_banner_program_medium_text_size">20sp</dimen>
<dimen name="channel_banner_program_large_margin_top">-10sp</dimen>
@@ -292,6 +276,7 @@
<!-- Input banner -->
<dimen name="input_banner_item_height">48dp</dimen>
+ <dimen name="input_banner_item_label_max_width">324dp</dimen>
<!-- Keypad channel switch -->
<dimen name="keypad_channel_switch_channel_number_text_size">
@@ -338,9 +323,7 @@
<!-- DVR screens -->
<eat-comment />
- <dimen name="dvr_card_layout_width">196dp</dimen>
-
- <!--DVR schedules list-->
+ <!-- DVR schedules list -->
<dimen name="dvr_schedules_layout_padding">132dp</dimen>
<dimen name="dvr_schedules_row_divider_height">1dp</dimen>
<dimen name="dvr_schedules_item_width">960dp</dimen>
@@ -351,9 +334,7 @@
<dimen name="dvr_schedules_item_time_start_padding">32dp</dimen>
<dimen name="dvr_schedules_item_time_margin">14dp</dimen>
<dimen name="dvr_schedules_item_info_top_margin">15dp</dimen>
- <dimen name="dvr_schedules_item_conflict_info_top_margin">12dp</dimen>
<dimen name="dvr_schedules_item_conflict_info_bottom_margin">15dp</dimen>
- <dimen name="dvr_schedules_item_schedule_width">56dp</dimen>
<dimen name="dvr_schedules_item_delete_width">46dp</dimen>
<dimen name="dvr_schedules_item_section_margin">32dp</dimen>
<dimen name="dvr_schedules_item_icon_size">18dp</dimen>
@@ -363,26 +344,29 @@
<dimen name="dvr_schedules_header_margin_bottom">24dp</dimen>
<dimen name="dvr_schedules_header_subtitle_margin_top">5dp</dimen>
<dimen name="dvr_schedules_header_icon_container_width">143dp</dimen>
- <dimen name="dvr_schedules_header_icon_size">32dp</dimen>
<dimen name="dvr_schedules_header_icon_horizontal_margin">12dp</dimen>
<dimen name="dvr_schedules_warning_icon_padding">4dp</dimen>
- <!-- card width - margin-->
- <dimen name="dvr_card_image_layout_width">192dp</dimen>
- <dimen name="dvr_card_image_layout_height">108dp</dimen>
- <dimen name="dvr_card_progress_height">2dp</dimen>
+ <!-- DVR Library -->
+ <dimen name="dvr_library_expanded_row_height">175dp</dimen>
+ <dimen name="dvr_library_card_image_layout_width">144dp</dimen>
+ <dimen name="dvr_library_card_image_layout_height">108dp</dimen>
+ <dimen name="dvr_library_card_progress_height">2dp</dimen>
+ <dimen name="dvr_library_card_folded_title_height">20dp</dimen>
+ <dimen name="dvr_library_card_expanded_title_height">36.5dp</dimen>
<!-- DVR playback fragment -->
- <dimen name="dvr_related_recordings_width">146dp</dimen>
- <dimen name="dvr_related_recordings_height">82dp</dimen>
+ <dimen name="dvr_related_recordings_width">108dp</dimen>
+ <dimen name="dvr_related_recordings_height">81dp</dimen>
<!-- This value is used to adjust position of DVR playback controls row when there is no
program description -->
<dimen name="dvr_playback_controls_extra_padding_top">27.5dp</dimen>
<!-- This value is used to adjust position of DVR playback overlay fragment when there is no
related recordings -->
- <dimen name="dvr_playback_fragment_extra_padding_top">48dp</dimen>
- <dimen name="lb_playback_controls_padding_top">265dp</dimen>
- <dimen name="lb_playback_controls_padding_bottom">40dp</dimen>
+ <dimen name="dvr_playback_overlay_padding_top_no_related_row">48dp</dimen>
+ <!-- This value is used to adjust position of DVR playback overlay fragment when there is
+ secondary controls row -->
+ <dimen name="dvr_playback_overlay_padding_top_no_secondary_row">36dp</dimen>
<!-- details fragment -->
<dimen name="dvr_details_poster_width">219dp</dimen>
diff --git a/res/values/google-services.xml b/res/values/google-services.xml
deleted file mode 100755
index 379a3453..00000000
--- a/res/values/google-services.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<resources>
- <string name="firebase_database_url" translatable="false">https://live-channels-1237.firebaseio.com</string>
- <string name="gcm_defaultSenderId" translatable="false">399597460505</string>
- <string name="google_api_key" translatable="false">AIzaSyDK2BtNulo2ltWIogD64y1hBWKrdg9Sa7k</string>
- <string name="google_crash_reporting_api_key" translatable="false">AIzaSyDK2BtNulo2ltWIogD64y1hBWKrdg9Sa7k</string>
- <string name="google_app_id" translatable="false">1:399597460505:android:6c699100869b1467</string>
-</resources>
diff --git a/res/values/integers.xml b/res/values/integers.xml
index 81ccbeb7..aa68465e 100644
--- a/res/values/integers.xml
+++ b/res/values/integers.xml
@@ -87,4 +87,6 @@
<!-- DVR library -->
<integer name="dvr_details_full_text_animation_duration">500</integer>
+ <integer name="dvr_card_title_max_lines_folded">1</integer>
+ <integer name="dvr_card_title_max_lines">2</integer>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index a58f2d36..a1f438fa 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -63,11 +63,9 @@
The play means a playback of video and audio. [CHAR LIMIT=NONE] -->
<string name="menu_title_play_controls">Play controls</string>
<!-- Title of the channels row in the main menu. [CHAR LIMIT=NONE] -->
- <string name="menu_title_channels">Recent channels</string>
+ <string name="menu_title_channels">Channels</string>
<!-- Title of the TV option row in the main menu. [CHAR LIMIT=NONE] -->
<string name="menu_title_options">TV options</string>
- <!-- Title of the PIP option row in the main menu. [CHAR LIMIT=NONE] -->
- <string name="menu_title_pip_options">PIP options</string>
<!-- Play speed of 2X, 3X, 4X, 5X -->
<string name="play_controls_speed" translatable="false">%1$dX</string>
@@ -101,12 +99,6 @@
<string name="options_item_display_mode">Display mode</string>
<!-- Label of "PIP (Picture in picture)" item in the TV option row. [CHAR LIMIT=17] -->
<string name="options_item_pip">PIP</string>
- <!-- Description of the "PIP" item in the TV option row indicating that the currently the PIP
- is turned on. [CHAR LIMIT=17] -->
- <string name="options_item_pip_on">On</string>
- <!-- Description of the "PIP" item in the TV option row indicating that the currently the PIP
- is turned off. [CHAR LIMIT=20] -->
- <string name="options_item_pip_off">Off</string>
<!-- Label of "Multi audio" item in the TV option row. [CHAR LIMIT=17] -->
<string name="options_item_multi_audio">Multi-audio</string>
<!-- Label of "Get more channels" item in the TV option row. [CHAR LIMIT=17] -->
@@ -116,54 +108,6 @@
<!-- Label of "Settings" item in the TV option row. [CHAR LIMIT=17] -->
<string name="options_item_settings">Settings</string>
- <!-- Label of "Source" item in the PIP option row. The item enables the user to select
- a specific input (e.g. HDMI 1) for the PIP window. [CHAR LIMIT=17] -->
- <string name="pip_options_item_source">Source</string>
- <!-- Label of "Swap" item in the PIP option row.
- After swapping, the main window and PIP window will show the channels of each other. [CHAR LIMIT=17] -->
- <string name="pip_options_item_swap">Swap</string>
- <!-- Description of the "Swap" item in the PIP option row indicating that the currently the
- windows are swapped. [CHAR LIMIT=20] -->
- <string name="pip_options_item_swap_on">On</string>
- <!-- Description of the "Swap" item in the PIP option row indicating that the currently the
- windows are not swapped. [CHAR LIMIT=20] -->
- <string name="pip_options_item_swap_off">Off</string>
- <!-- Label of "Sound" item in the PIP option row. [CHAR LIMIT=17] -->
- <string name="pip_options_item_sound">Sound</string>
- <!-- Description of the "Sound" item in the PIP option row indicating that the current sound
- source is main window. [CHAR LIMIT=20] -->
- <string name="pip_options_item_sound_main">Main</string>
- <!-- Description of the "Sound" item in the PIP option row indicating that the current sound
- source is PIP window. [CHAR LIMIT=20] -->
- <string name="pip_options_item_sound_pip_window">PIP window</string>
- <!-- Label of "Layout" item in the PIP option row. [CHAR LIMIT=17] -->
- <string name="pip_options_item_layout">Layout</string>
- <!-- Description of the "Layout" item in the PIP option row indicating that the current PIP
- window is at the bottom right corner of the screen. [CHAR LIMIT=20] -->
- <string name="pip_options_item_layout_bottom_right">Bottom right</string>
- <!-- Description of the "Layout" item in the PIP option row indicating that the current PIP
- window is at the top right corner of the screen. [CHAR LIMIT=20] -->
- <string name="pip_options_item_layout_top_right">Top right</string>
- <!-- Description of the "Layout" item in the PIP option row indicating that the current PIP
- window is at the top left corner of the screen. [CHAR LIMIT=20] -->
- <string name="pip_options_item_layout_top_left">Top left</string>
- <!-- Description of the "Layout" item in the PIP option row indicating that the current PIP
- window is at the bottom left corner of the screen. [CHAR LIMIT=20] -->
- <string name="pip_options_item_layout_bottom_left">Bottom left</string>
- <!-- Description of the "Layout" item in the PIP option row indicating that the current PIP
- layout is side-by-side (i.e. Picture and Picture). [CHAR LIMIT=20] -->
- <string name="pip_options_item_layout_side_by_side">Side by side</string>
- <!-- Label of "Size" item in the PIP option row. [CHAR LIMIT=17] -->
- <string name="pip_options_item_size">Size</string>
- <!-- Description of the "Size" item in the PIP option row indicating that the current PIP size
- is big. [CHAR LIMIT=20] -->
- <string name="pip_options_item_size_big">Big</string>
- <!-- Description of the "Size" item in the PIP option row indicating that the current PIP size
- is small. [CHAR LIMIT=20] -->
- <string name="pip_options_item_size_small">Small</string>
-
- <!-- Title of "Input source" option to select an input for PIP. [CHAR LIMIT=30] -->
- <string name="side_panel_title_pip_input_source">Input source</string>
<!-- Label of a unified input for tuner type inputs. [CHAR LIMIT=30] -->
<string name="input_long_label_for_tuner">TV (antenna/cable)</string>
@@ -175,8 +119,11 @@
<!-- Program title for blocked channel [CHAR LIMIT=23] -->
<string name="program_title_for_blocked_channel">Blocked channel</string>
- <!-- Default string for unknown language used in "Closed Caption" and "Multi Audio" options. [CHAR LIMIT=30] -->
- <string name="default_language">Unknown language</string>
+ <!-- Default string for unknown language used in "Multi Audio" options. [CHAR LIMIT=30] -->
+ <string name="multi_audio_unknown_language">Unknown language</string>
+
+ <!-- Default string for unknown language used in "Closed Caption" options. [CHAR LIMIT=30] -->
+ <string name="closed_caption_unknown_language">Closed captions %1$d</string>
<!-- Inside "Closed captions" option side panel -->
<eat-comment />
@@ -371,6 +318,15 @@
<!-- Toast message when an user couldn't pass the PIN confirmation. [CHAR LIMIT=NONE] -->
<string name="pin_toast_not_match">Try again, PIN doesn\'t match</string>
+ <!-- Title of postal/zip code input guided step fragment [CHAR LIMIT=30] -->
+ <string name="postal_code_guidance_title">Enter your ZIP Code.</string>
+ <!-- Description of postal/zip code input guided step fragment [CHAR LIMIT=NONE] -->
+ <string name="postal_code_guidance_description">Live TV app will use the ZIP Code to provide a complete program guide for the TV channels.</string>
+ <!-- Description of postal/zip code input edit text view to prompt users entering ZIP Code [CHAR LIMIT=30] -->
+ <string name="postal_code_action_description">Enter your ZIP Code</string>
+ <!-- Warning message shown in description field of postal/zip code input edit text view when user enters an invalid ZIP Code and presses Done [CHAR LIMIT=30] -->
+ <string name="postal_code_invalid_warning">Invalid ZIP Code</string>
+
<!-- menu for "Settings" option -->
<eat-comment />
<!-- Title of "Settings" option. [CHAR LIMIT=30] -->
@@ -391,6 +347,8 @@
<string name="settings_menu_licenses">Open source licenses</string>
<!--Title for a dialog box that shows licenses for open source code used in the app [CHAR LIMIT=35] -->
<string name="dialog_title_licenses">Open source licenses</string>
+ <!-- Menu item to send feedback [CHAR LIMIT=30] -->
+ <string name="settings_send_feedback">Send feedback</string>
<!-- Menu item that shows the application version(eg 1.2.03-final) as a second line below this title [CHAR LIMIT=35] -->
<string name="settings_menu_version">Version</string>
@@ -486,10 +444,6 @@
<string name="msg_no_input">No TV input found</string>
<!-- Error message when a specific TV input isn't installed. [CHAR LIMIT=NONE] -->
<string name="msg_no_specific_input">Cannot find the TV input</string>
- <!-- Error message when PIP is not supported. [CHAR LIMIT=NONE] -->
- <string name="msg_no_pip_support">PIP is not supported</string>
- <!-- Error message when there is no available input. [CHAR LIMIT=NONE] -->
- <string name="msg_no_available_input_by_pip">There is no available input which can be shown with PIP</string>
<!-- Error message when the selected TV input is a tuner type TV input, not a pass-through type
input. Tuner type inputs such as built-in tuner, external usb tuner, network tuner or
virtual IPTV tuner provide live channels to tune to. As opposed to tuner type input,
@@ -519,15 +473,23 @@
<!-- Debug Options -->
<string name="menu_developer_options" translatable="false">Developer options</string>
<string name="dev_item_watch_history" translatable="false">Watch history</string>
+ <string name="dev_item_dvr_history" translatable="false">DVR history</string>
<string name="dev_item_fetch_epg" translatable="false">Fetch program guide</string>
- <string name="dev_item_send_feedback" translatable="false">Send feedback</string>
<string name="dev_item_store_ts_on" translatable="false">Store TS for debugging: On</string>
<string name="dev_item_store_ts_off" translatable="false">Store TS for debugging: Off</string>
<string name="dev_item_store_ts_description" translatable="false">Store some TS data before exceptions/crash for debugging.</string>
+ <!-- The state of the schedules which is in DVR history. -->
+ <string name="dvr_history_dialog_state_fail" translatable="false">[Fail]</string>
+ <string name="dvr_history_dialog_state_success" translatable="false">[Success]</string>
+ <string name="dvr_history_dialog_state_clip" translatable="false">[Clip]</string>
+
<!-- Title of Recently watched dialog. It is used for debug purpose. -->
<string name="recently_watched" translatable="false">Recently watched</string>
+ <!-- Title of DVR history dialog. -->
+ <string name="dvr_history_dialog_title" translatable="false">DVR history</string>
+
<!-- EPG Search strings. -->
<!-- Remove translatable="false" once UI is finalized -->
<string name="search_result_no_result" translatable="false">No result</string>
@@ -548,13 +510,6 @@
<string name="epg_dvr_dialog_message_remove_recording_schedule" translatable="false">Cancel recording</string>
<!-- Dialog message to ask to stop the current recording. -->
<string name="epg_dvr_dialog_message_stop_recording" translatable="false">Stop recording</string>
- <!-- Item label to schedule program recording. -->
- <string name="epg_dvr_record_program" translatable="false">Record program</string>
- <!-- Item label to schedule whole season recording of a TV show. -->
- <string name="epg_dvr_record_season" translatable="false">Record season</string>
- <!-- Item label to delete a recording schedule when a recording scheduled program is
- clicked in EPG. -->
- <string name="epg_dvr_delete_program" translatable="false">Delete schedule</string>
<!-- Menu item label to start DVR manager UI. -->
<string name="channels_item_dvr">Recordings &amp; schedules</string>
@@ -586,15 +541,10 @@
<string name="dvr_main_series">Series</string>
<!-- Header of DVR tab label for recorded programs list without any genre [CHAR LIMIT=20] -->
<string name="dvr_main_others">Others</string>
- <string name="dvr_msg_no_recording_on_the_row" translatable="false">None</string>
- <string name="dvr_msg_channel_unknown" translatable="false">Channel unknown</string>
- <string name="dvr_msg_no_available_tuners_for_recording_channel" translatable="false">No available tuners to record this channel.</string>
- <string name="dvr_msg_channel_already_recording" translatable="false">The channel is already being recorded.</string>
<!-- Toast message that the current channel cannot be recorded. -->
<string name="dvr_msg_cannot_record_channel">The channel cannot be recorded.</string>
<!-- Toast message that the current program cannot be recorded. -->
<string name="dvr_msg_cannot_record_program">The program cannot be recorded.</string>
- <string name="dvr_msg_no_item_in_browse" translatable="false">There is no item.</string>
<!-- Toast message that a new recording schedule has been created from the user action. -->
<string name="dvr_msg_program_scheduled"><xliff:g id="programName" example="Big bang theory">%1$s</xliff:g> has been scheduled to be recorded</string>
<!-- Toast message that a new recording schedule of the current program has been created
@@ -631,9 +581,6 @@
<!-- DVR detailed page -->
<eat-comment />
- <string name="dvr_detail_cancel" translatable="false">Cancel recording</string>
- <string name="dvr_detail_stop_keep" translatable="false">Stop and keep recording</string>
- <string name="dvr_detail_stop_delete" translatable="false">Stop and delete recording</string>
<!-- Button label to play recorded programs from beginning.
Displayed when there's no watched history available. [CHAR LIMIT=15] -->
<string name="dvr_detail_watch">Watch</string>
@@ -709,18 +656,12 @@
<!-- DVR epg strings -->
<eat-comment />
- <string name="dvr_action_tune" translatable="false">Tune</string>
<!-- The action to cancel and close the dialog. [CHAR LIMIT=10] -->
<string name="dvr_action_cancel">Cancel</string>
<string name="dvr_action_delete_schedule" translatable="false">Delete schedule</string>
<string name="dvr_action_record_program" translatable="false">Record program</string>
- <string name="dvr_action_record_one_episode" translatable="false">Record this episode only</string>
- <string name="dvr_action_error_done" translatable="false">Done</string>
- <string name="dvr_action_error_open_dvr" translatable="false">Open DVR</string>
- <!-- The action to cancel forgetting DVR storage. -->
- <string name="dvr_action_error_cancel">Cancel</string>
- <!-- The action to forget DVR storage which is missing currently -->
- <string name="dvr_action_error_forget_storage">Forget</string>
+ <!-- The action to forget DVR storage which is missing currently. invoke android internal storage settings activity. -->
+ <string name="dvr_action_error_storage_settings" translatable="false">Open storage settings</string>
<!-- The action to stop recording. [CHAR LIMIT=10] -->
<string name="dvr_action_stop">Stop</string>
<!-- The action to open the activity which shows all the schedules.[CHAR LIMIT=32] -->
@@ -749,6 +690,8 @@
<string name="dvr_action_record_cancel">Cancel this recording</string>
<!-- The title of the action to show the details of the recorded program. [CHAR LIMIT=32] -->
<string name="dvr_action_watch_now">Watch now</string>
+ <!-- The title of the action to open the DVR library to delete some recorded programs. [CHAR LIMIT=32] -->
+ <string name="dvr_action_delete_recordings">Delete recordings&#8230;</string>
<!-- Dvr label in epg to indicate the program is recordable. [CHAR LIMIT=30] -->
<string name="dvr_epg_program_recordable">Recordable</string>
<!-- Dvr label in epg to indicate the program is scheduled to be recorded. [CHAR LIMIT=30] -->
@@ -766,24 +709,36 @@
recording schedules. -->
<string name="dvr_schedule_progress_message_reading_programs">Reading programs to create recording schedules</string>
<!-- A popup message which informs that Live TV is reading program information. -->
- <string name="dvr_series_schedules_progress_message_reading_programs">Reading programs</string>
- <!-- A popup message which informs that Live TV is updating series recording. -->
- <string name="dvr_series_schedules_progress_message_updating_programs">Updating series recording</string>
- <string name="dvr_error_insufficient_space_title" translatable="false">Insufficient storage space</string>
- <string name="dvr_error_insufficient_space_description" translatable="false">No sufficient storage space for recording. Please clean up the storage.</string>
+ <string name="dvr_series_progress_message_reading_programs">Reading programs</string>
+ <!-- Dialog action which let user view the recent recordings. -->
+ <string name="dvr_error_insufficient_space_action_view_recent_recordings">View recent recordings</string>
+ <!-- Dialog title which means there is one recording doesn't complete. -->
+ <string name="dvr_error_insufficient_space_title_one_recording">The recording of <xliff:g id="programName" example="Friends">%1$s</xliff:g> is incomplete.</string>
+ <!-- Dialog title which means there are two recordings don't complete. -->
+ <string name="dvr_error_insufficient_space_title_two_recordings">The recordings of <xliff:g id="programName_1" example="Friends">%1$s</xliff:g> and <xliff:g id="programName_2" example="Friends">%2$s</xliff:g> are incomplete.</string>
+ <!-- Dialog title which means there are three or more recordings don't complete.-->
+ <string name="dvr_error_insufficient_space_title_three_or_more_recordings">The recordings of <xliff:g id="programName_1" example="Friends">%1$s</xliff:g>, <xliff:g id="programName_2" example="Friends">%2$s</xliff:g> and <xliff:g id="programName_3" example="Friends">%3$s</xliff:g> are incomplete.</string>
+ <!-- Description which means there is one recording didn't complete due to no sufficient space.
+ -->
+ <string name="dvr_error_insufficient_space_description_one_recording">The recording of <xliff:g id="programName" example="Friends">%1$s</xliff:g> didn\'t complete due to insufficient storage.</string>
+ <!-- Description which means there are two recordings didn't complete due to no sufficient
+ space. -->
+ <string name="dvr_error_insufficient_space_description_two_recordings">The recordings of <xliff:g id="programName_1" example="Friends">%1$s</xliff:g> and <xliff:g id="programName_2" example="Friends">%2$s</xliff:g> didn\'t complete due to insufficient storage.</string>
+ <!-- Description which means there are three or more recordings didn't complete due to no
+ sufficient space.-->
+ <string name="dvr_error_insufficient_space_description_three_or_more_recordings">The recordings of <xliff:g id="programName_1" example="Friends">%1$s</xliff:g>, <xliff:g id="programName_2" example="Friends">%2$s</xliff:g> and <xliff:g id="programName_3" example="Friends">%3$s</xliff:g> didn\'t complete due to insufficient storage.</string>
<!-- Dialog title which will be shown when the current storage is too small for DVR. -->
<string name="dvr_error_small_sized_storage_title">DVR needs more storage</string>
- <!-- Dialog description which will be shown when tthe current storage is too small for DVR. -->
+ <!-- Dialog description which will be shown when the current storage is too small for DVR. -->
<string name="dvr_error_small_sized_storage_description">You will be able to record programs with DVR. However there is not enough storage on your device now for DVR to work. Please connect an external drive that is <xliff:g id="storage size" example="10GB">%1$s</xliff:g>GB or larger and follow the steps to format it as device storage.</string>
+ <!-- Dialog title which will be shown when there is no free space on the current storage for DVR. -->
+ <string name="dvr_error_no_free_space_title">Not enough storage</string>
+ <!-- Dialog description which will be shown when there is no free space on the current storage for DVR. -->
+ <string name="dvr_error_no_free_space_description">This program will not be recorded because there is not enough storage. Try deleting some existing recordings.</string>
<!-- Dialog title which will be shown when the current DVR storage is not accessible. -->
<string name="dvr_error_missing_storage_title">Missing storage</string>
<!-- Dialog description which will be shown when the current DVR storage is not accessible. -->
- <string name="dvr_error_missing_storage_description">Some of the storage used by DVR is missing. Please connect the external drive you used before to re-enable DVR. Alternately, you can choose to forget the storage if it\'s no longer available.</string>
- <!-- Dialog title which will be shown when you confirmed to forget the current DVR storage. -->
- <string name="dvr_error_forget_storage_title">Forget storage?</string>
- <!-- Dialog description which will be shown when you confirmed to forget the current DVR
- storage. -->
- <string name="dvr_error_forget_storage_description">All your recorded content and schedules will be lost.</string>
+ <string name="dvr_error_missing_storage_description" translatable="false">Some of the storage used by DVR is missing. Please connect the external drive you used before to re-enable DVR. Alternately, you can forget the storage in the storage settings, if it\'s no longer available.</string>
<!-- The recording being requested to play is not existent in storage. It may be deleted. -->
<string name="dvr_toast_recording_deleted" translatable="false">The recording seems to be deleted.</string>
@@ -847,50 +802,44 @@
<string name="dvr_already_recorded_dialog_description">This program has already been recorded. It’s available in the DVR library.</string>
<!-- The title of dialog that notifies the user the series recording has been scheduled. -->
<string name="dvr_series_recording_dialog_title">Series recording scheduled</string>
- <!-- The description of the dialog which notifies how many schedules has been added
- for series recording.-->
- <plurals name="dvr_series_recording_scheduled_no_conflict">
- <item quantity="one">%1$d recording has been scheduled for %2$s.</item>
- <item quantity="other">%1$d recordings have been scheduled for %2$s.</item>
+ <!-- The description of the dialog which notifies how many schedules have been added for the
+ series. -->
+ <plurals name="dvr_series_scheduled_no_conflict">
+ <item quantity="one"><xliff:g id="numberOfRecordings" example="1">%1$d</xliff:g> recording has been scheduled for <xliff:g id="seriesName" example="Friends">%2$s</xliff:g>.</item>
+ <item quantity="other"><xliff:g id="numberOfRecordings" example="5">%1$d</xliff:g> recordings have been scheduled for <xliff:g id="seriesName" example="Friends">%2$s</xliff:g>.</item>
</plurals>
- <!-- The description of the dialog which notifies how many schedules has been added
- for series recording. But some of them won't be recorded due to conflicts. -->
+ <!-- The description of the dialog which notifies how many schedules have been added for the
+ series. But some episodes of this series won't be recorded due to conflict with
+ other schedules. -->
<plurals name="dvr_series_recording_scheduled_only_this_series_conflict">
- <item quantity="one">%1$d recording has been scheduled for %2$s. %3$d of them will not be recorded due to conflicts.</item>
- <item quantity="other">%1$d recordings have been scheduled for %2$s. %3$d of them will not be recorded due to conflicts.</item>
+ <item quantity="one"><xliff:g id="numberOfRecordings" example="1">%1$d</xliff:g> recording has been scheduled for <xliff:g id="seriesName" example="Friends">%2$s</xliff:g>. It will not be recorded due to conflicts.</item>
+ <item quantity="other"><xliff:g id="numberOfRecordings" example="5">%1$d</xliff:g> recordings have been scheduled for <xliff:g id="seriesName" example="Friends">%2$s</xliff:g>. <xliff:g id="numberOfConflictRecordings" example="2">%3$d</xliff:g> of them will not be recorded due to conflicts.</item>
</plurals>
- <!-- The description of the dialog which notifies how many schedules has been added
- for series recording. But only 1 episode of other series won't be recorded due to conflict
+ <!-- The description of the dialog which notifies how many schedules have been added for the
+ series. But some episodes of this and other series won't be recorded due to the episodes
+ of this series conflict with other schedules and the episodes of other series conflict
with this series. -->
- <plurals name="dvr_series_recording_scheduled_this_and_other_series_one_conflict">
- <item quantity="one">%1$d recording has been scheduled for %2$s. 1 episode of this series and other series will not be recorded due to conflicts.</item>
- <item quantity="other">%1$d recordings have been scheduled for %2$s. 1 episode of this series and other series will not be recorded due to conflicts.</item>
+ <plurals name="dvr_series_scheduled_this_and_other_series_conflict">
+ <item quantity="one"><xliff:g id="numberOfRecordings" example="1">%1$d</xliff:g> recording has been scheduled for <xliff:g id="seriesName" example="Friends">%2$s</xliff:g>. <xliff:g id="numberOfConflictEpisodes" example="1">%3$d</xliff:g> episodes of this series and other series will not be recorded due to conflicts.</item>
+ <item quantity="other"><xliff:g id="numberOfRecordings" example="5">%1$d</xliff:g> recordings have been scheduled for <xliff:g id="seriesName" example="Friends">%2$s</xliff:g>. <xliff:g id="numberOfConflictEpisodes" example="2">%3$d</xliff:g> episodes of this series and other series will not be recorded due to conflicts.</item>
</plurals>
- <!-- The description of the dialog which notifies how many schedules has been added
- for series recording. But some episodes of other series won't be recorded due to conflict
- with this. -->
- <plurals name="dvr_series_recording_scheduled_this_and_other_series_conflict">
- <item quantity="one">%1$d recording has been scheduled for %2$s. %3$d episodes of this series and other series will not be recorded due to conflicts.</item>
- <item quantity="other">%1$d recordings have been scheduled for %2$s. %3$d episodes of this series and other series will not be recorded due to conflicts.</item>
- </plurals>
- <!-- The description of the dialog which notifies how many schedules has been added
- for series recording. But only 1 episode of other series won't be recorded due to conflict
- with this series but no conflicts in this series. -->
- <plurals name="dvr_series_recording_scheduled_only_other_series_one_conflict">
- <item quantity="one">%1$d recording has been scheduled for %2$s. 1 episode of other series will not be recorded due to conflicts.</item>
- <item quantity="other">%1$d recordings have been scheduled for %2$s. 1 episode of other series will not be recorded due to conflicts.</item>
+ <!-- The description of the dialog which notifies how many schedules have been added for the
+ series. But only 1 episode of other series won't be recorded due to conflict
+ with this series. -->
+ <plurals name="dvr_series_scheduled_only_other_series_one_conflict">
+ <item quantity="one"><xliff:g id="numberOfRecordings" example="1">%1$d</xliff:g> recording has been scheduled for <xliff:g id="seriesName" example="Friends">%2$s</xliff:g>. 1 episode of other series will not be recorded due to conflicts.</item>
+ <item quantity="other"><xliff:g id="numberOfRecordings" example="5">%1$d</xliff:g> recordings have been scheduled for <xliff:g id="seriesName" example="Friends">%2$s</xliff:g>. 1 episode of other series will not be recorded due to conflicts.</item>
</plurals>
- <!-- The description of the dialog which notifies how many schedules has been added
- for series recording. But some of other series won't be recorded due to conflict with this
- series but no conflicts in this series . -->
- <plurals name="dvr_series_recording_scheduled_only_other_series_conflict">
- <item quantity="one">%1$d recording has been scheduled for %2$s. %3$d episodes of other series will not be recorded due to conflicts.</item>
- <item quantity="other">%1$d recordings have been scheduled for %2$s. %3$d episodes of other series will not be recorded due to conflicts.</item>
+ <!-- The description of the dialog which notifies how many schedules have been added for the
+ series. But some episodes of other series won't be recorded due to conflict with this
+ series. -->
+ <plurals name="dvr_series_scheduled_only_other_series_many_conflicts">
+ <item quantity="one"><xliff:g id="numberOfRecordings" example="1">%1$d</xliff:g> recording has been scheduled for <xliff:g id="seriesName" example="Friends">%2$s</xliff:g>. <xliff:g id="numberOfConflictEpisodes" example="1">%3$d</xliff:g> episodes of other series will not be recorded due to conflicts.</item>
+ <item quantity="other"><xliff:g id="numberOfRecordings" example="5">%1$d</xliff:g> recordings have been scheduled for <xliff:g id="seriesName" example="Friends">%2$s</xliff:g>. <xliff:g id="numberOfConflictEpisodes" example="2">%3$d</xliff:g> episodes of other series will not be recorded due to conflicts.</item>
</plurals>
<!-- DVR playback strings -->
<eat-comment />
- <string name="dvr_now_playing_card_no_title" translatable="false">Recorded Program</string>
<!-- DVR playback activity's warning about the recorded program is not found. -->
<string name="dvr_program_not_found">Recorded program not found.</string>
<!-- Label used in DVR playback activity as the header of the row of related recordings. [CHAR LIMIT=32] -->
@@ -902,11 +851,6 @@
<eat-comment />
<string name="dvr_recording_till_format" translatable="false">Recording till <xliff:g id="recordingEndTime" example="9:00pm">%1$s</xliff:g></string>
- <!-- Account Selection strings -->
- <eat-comment />
- <string name="account_selected" translatable="false">%1$s is the selected account</string>
- <string name="no_account_selected" translatable="false">No account available</string>
-
<!-- DVR schedule list strings -->
<eat-comment/>
<!-- Description of list's header about how many recordings in the recording list. -->
@@ -944,6 +888,8 @@
<string name="dvr_series_schedules_stop_dialog_description">Recorded episodes will remain available in the DVR library.</string>
<!-- Action to stop creating the schedules for the series. -->
<string name="dvr_series_schedules_stop_dialog_action_stop">Stop</string>
+ <!-- Description of no episodes in stopped series recording. -->
+ <string name="dvr_series_schedules_stopped_empty_state">No episodes are on air now.</string>
<!-- Description of no episodes in series recording, and the episodes will be recorded once
they are available. -->
<string name="dvr_series_schedules_empty_state">No episodes are available.\nThey will be recorded once they are available.</string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 3a34af52..84885f13 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -92,7 +92,7 @@
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/lb_basic_card_title_text_color</item>
<item name="android:fontFamily">sans-serif-condensed</item>
- <item name="android:singleLine">true</item>
+ <item name="android:maxLines">@integer/dvr_card_title_max_lines_folded</item>
<item name="android:ellipsize">end</item>
</style>
@@ -143,7 +143,7 @@
<item name="android:layout_height">60dp</item>
</style>
- <style name="TV.Dvr.GuidedActionsListStyle" parent="Widget.Setup.GuidedActionsListStyle">
+ <style name="TV.Dvr.GuidedActionsListStyle" parent="Widget.Leanback.GuidedActionsListStyle">
<item name="android:layout_marginTop">51dp</item>
<item name="android:layout_marginBottom">10dp</item>
<item name="android:layout_marginEnd">56dp</item>
@@ -151,11 +151,8 @@
<style name="TV.Dvr.GuidedActionItemContainerStyle" parent="Widget.Setup.GuidedActionItemContainerStyle">
<item name="android:layout_height">48dp</item>
- <item name="android:layout_marginTop">7dp</item>
- <item name="android:paddingBottom">15dp</item>
<item name="android:paddingEnd">16dp</item>
<item name="android:paddingStart">16dp</item>
- <item name="android:paddingTop">14dp</item>
</style>
<style name="TV.Dvr.GuidedActionItemContainerStyle.Twoline.Action" parent="TV.Dvr.GuidedActionItemContainerStyle">
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 9be64eb8..ae9cd289 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -114,5 +114,7 @@
<style name="Theme.TV.Dvr.Browse.Details" parent="Theme.Leanback.Details">
<item name="detailsDescriptionTitleStyle">@style/TV.Dvr.Browse.DetailsDescriptionTitleStyle</item>
+ <item name="android:windowSharedElementEnterTransition">@transition/dvr_details_shared_element_enter_transition</item>
+ <item name="android:windowSharedElementReturnTransition">@transition/dvr_details_shared_element_return_transition</item>
</style>
</resources>