Home | History | Annotate | Download | only in 3_software
      1 ## 3.12\. TV Input Framework
      2 
      3 The [Android Television Input Framework (TIF)](
      4 http://source.android.com/devices/tv/index.html) simplifies the delivery of live
      5 content to Android Television devices. TIF provides a standard API to create
      6 input modules that control Android Television devices.
      7 
      8 *    [T-0-1] Android Television device implementations MUST support TV Input
      9 Framework.
     10 
     11 If device implementations support TIF, they:
     12 
     13 *    [C-1-1] MUST declare the platform feature `android.software.live_tv`.
     14 *    [C-1-2] MUST preload a TV application (TV App) and meet all requirements
     15      described in [section 3.12.1](#3_12_tv-input-framework).
     16 
     17 ### 3.12.1\. TV App
     18 
     19 If device implementations support TIF:
     20 
     21 *    [C-1-1] The TV App MUST provide facilities to install and use [TV Channels](
     22 http://developer.android.com/reference/android/media/tv/TvContract.Channels.html)
     23 and meet the following requirements:
     24 
     25 The TV app that is required for Android device implementations declaring the
     26 `android.software.live_tv` feature flag, MUST meet the following requirements:
     27 
     28 *   Device implementations SHOULD allow third-party TIF-based inputs
     29     ([third-party inputs](
     30     https://source.android.com/devices/tv/index.html#third-party_input_example))
     31     to be installed and managed.
     32 *   Device implementations MAY provide visual separation between pre-installed
     33     [TIF-based inputs](
     34     https://source.android.com/devices/tv/index.html#tv_inputs)
     35     (installed inputs) and third-party inputs.
     36 *   Device implementations SHOULD NOT display the third-party inputs more than a
     37     single navigation action away from the TV App (i.e. expanding a list of
     38     third-party inputs from the TV App).
     39 
     40 The Android Open Source Project provides an implementation of the TV App that
     41 meets the above requirements.
     42 
     43 #### 3.12.1.1\. Electronic Program Guide
     44 
     45 If device implementations support TIF, they:
     46 
     47 *    [C-1-1] MUST show an informational and
     48 interactive overlay, which MUST include an electronic program guide (EPG)
     49 generated from the values in the [TvContract.Programs](
     50 https://developer.android.com/reference/android/media/tv/TvContract.Programs.html)
     51 fields.
     52 *   [C-1-2] On channel change, device implementations MUST display EPG data for
     53     the currently playing program.
     54 *   [SR] The EPG is STRONGLY RECOMMENDED to display installed inputs and
     55     third-party inputs with equal prominence. The EPG SHOULD NOT display the
     56     third-party inputs more than a single navigation action away from the
     57     installed inputs on the EPG.
     58 *   The EPG SHOULD display information from all installed inputs and third-party
     59     inputs.
     60 *   The EPG MAY provide visual separation between the installed inputs and
     61     third-party inputs.
     62 
     63 #### 3.12.1.2\. Navigation
     64 
     65 If device implementations support TIF, they:
     66 
     67 *    [C-1-1] MUST allow navigation for the following functions via
     68 the D-pad, Back, and Home keys on the Android Television devices input
     69 device(s) (i.e. remote control, remote control application, or game controller):
     70 
     71     *   Changing TV channels
     72     *   Opening EPG
     73     *   Configuring and tuning to third-party TIF-based inputs (if those inputs are supported)
     74     *   Opening Settings menu
     75 
     76 *    SHOULD pass key events to HDMI inputs through CEC.
     77 
     78 #### 3.12.1.3\. TV input app linking
     79 
     80 Android Television device implementations SHOULD support
     81 [TV input app linking](http://developer.android.com/reference/android/media/tv/TvContract.Channels.html#COLUMN_APP_LINK_INTENT_URI),
     82 which allows all inputs to provide activity links from the current activity to
     83 another activity (i.e. a link from live programming to related content). The TV
     84 App SHOULD show TV input app linking when it is provided.
     85 
     86 #### 3.12.1.4\. Time shifting
     87 
     88 If device implementations support TIF, they:
     89 
     90 *    [SR] STRONGLY RECOMMENDED to support time shifting, which allows the user
     91 to pause and resume live content.
     92 *    SHOULD provide the user a way to pause and resume the currently playing
     93 program, if time shifting for that program [is available](
     94 https://developer.android.com/reference/android/media/tv/TvInputManager.html#TIME_SHIFT_STATUS_AVAILABLE).
     95 
     96 #### 3.12.1.5\. TV recording
     97 
     98 If device implementations support TIF, they:
     99 
    100 *    [SR] STRONGLY RECOMMENDED to support TV recording.
    101 *    If the TV input supports recording and the recording of a program is not
    102 [prohibited](
    103 https://developer.android.com/reference/android/media/tv/TvContract.Programs.html#COLUMN_RECORDING_PROHIBITED),
    104 the EPG MAY provide a way to [record a program](
    105 https://developer.android.com/reference/android/media/tv/TvInputInfo.html#canRecord%28%29).
    106