<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2019 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.
  -->

<!-- These are resources that are expected to be different for OEM apps -->

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

    <!-- Keep the title and description arrays in sync -->

    <!-- Titles in the onboarding page.  [CHAR LIMIT=100]-->
    <string-array name="welcome_page_titles">
        <item><xliff:g id="app_name">Live TV</xliff:g> </item>
        <item>A simple way to discover content</item>
        <item>Download apps, get more channels</item>
        <item>Customize your channel line-up</item>
    </string-array>


    <!-- Descriptions in the onboarding page. [CHAR LIMIT=NONE] -->
    <string-array name="welcome_page_descriptions">
        <item>Watch content from your apps like watching channels on TV.</item>
        <item>Browse content from your apps with a familiar guide and friendly interface,
\njust like channels on TV.</item>
        <item>Add more channels by installing apps that offer live channels.
\nFind compatible apps in Google Play Store by using the link within the TV menu.</item>
        <!-- Refer to @string/settings_channel_source_item_setup for "Channel sources" menu
             and @string/options_item_settings for "Settings" menu. -->
        <item>Set up your newly installed channel sources to customize your channel list.
\nChoose the Channel sources within the Settings menu to get started.</item>
    </string-array>
</resources>
