3.12. TV Input Framework

The Android Television Input Framework (TIF) simplifies the delivery of live content to Android Television devices. TIF provides a standard API to create input modules that control Android Television devices.

If device implementations support TIF, they:

  • [C-1-1] MUST declare the platform feature android.software.live_tv.
  • [C-1-2] MUST preload a TV application (TV App) and meet all requirements described in section 3.12.1.

3.12.1. TV App

If device implementations support TIF:

  • [C-1-1] The TV App MUST provide facilities to install and use TV Channels and meet the following requirements.

The TV app that is required for Android device implementations declaring the android.software.live_tv feature flag, MUST meet the following requirements:

  • Device implementations SHOULD allow third-party TIF-based inputs (third-party inputs) to be installed and managed.
  • Device implementations MAY provide visual separation between pre-installed TIF-based inputs (installed inputs) and third-party inputs.
  • Device implementations SHOULD NOT display the third-party inputs more than a single navigation action away from the TV App (i.e. expanding a list of third-party inputs from the TV App).

The Android Open Source Project provides an implementation of the TV App that meets the above requirements.

3.12.1.1. Electronic Program Guide

If device implementations support TIF, they:

  • [C-1-1] MUST show an informational and interactive overlay, which MUST include an electronic program guide (EPG) generated from the values in the TvContract.Programs fields.
  • [C-1-2] On channel change, device implementations MUST display EPG data for the currently playing program.
  • [SR] The EPG is STRONGLY RECOMMENDED to display installed inputs and third-party inputs with equal prominence. The EPG SHOULD NOT display the third-party inputs more than a single navigation action away from the installed inputs on the EPG.
  • The EPG SHOULD display information from all installed inputs and third-party inputs.
  • The EPG MAY provide visual separation between the installed inputs and third-party inputs.

3.12.1.2. Navigation

If device implementations support TIF, they:

  • [C-1-1] MUST allow navigation for the following functions via the D-pad, Back, and Home keys on the Android Television device’s input device(s) (i.e. remote control, remote control application, or game controller):
*   Changing TV channels
*   Opening EPG
*   Configuring and tuning to third-party TIF-based inputs (if those inputs are supported)
*   Opening Settings menu
  • SHOULD pass key events to HDMI inputs through CEC.

3.12.1.3. TV input app linking

If device implementations support TIF:

  • [C-1-1] Android Television device implementations MUST support TV input app linking, which allows all inputs to provide activity links from the current activity to another activity (i.e. a link from live programming to related content). The TV App SHOULD show TV input app linking when it is provided.

3.12.1.4. Time shifting

If device implementations support TIF, they:

  • [SR] STRONGLY RECOMMENDED to support time shifting, which allows the user to pause and resume live content.
  • SHOULD provide the user a way to pause and resume the currently playing program, if time shifting for that program is available.

3.12.1.5. TV recording

If device implementations support TIF, they:

  • [SR] STRONGLY RECOMMENDED to support TV recording.
  • SHOULD provide a user interface to play recorded programs.
  • If the TV input supports recording and the recording of a program is not prohibited, the EPG MAY provide a way to record a program.