# Copyright 2017 The Cobalt Authors. All Rights Reserved.
#
# 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.

# Cobalt-on-Android-specific configuration for Starboard.

{
  'variables': {
    'in_app_dial': 0,

    'custom_media_session_client': 1,
    'enable_account_manager': 1,

    'cobalt_enable_quic': 0,

    # Some Android devices do not advertise their support for
    # EGL_SWAP_BEHAVIOR_PRESERVED_BIT properly, so, we play it safe and disable
    # relying on it for Android.
    'render_dirty_region_only': 0,

    # The 'android_system' font package installs only minimal fonts, with a
    # fonts.xml referencing the superset of font files we expect to find on any
    # Android platform. The Android SbFileOpen implementation falls back to
    # system fonts when it can't find the font file in the cobalt content.
    'cobalt_font_package': 'android_system',

    # On Android, we almost never want to actually terminate the process, so
    # instead indicate that we would instead like to be suspended when users
    # initiate an "exit".
    'cobalt_user_on_exit_strategy': 'suspend',

    # Switch Android's SurfaceFlinger queue to "async mode" so that we don't
    # queue up rendered frames which would interfere with frame timing and
    # more importantly lead to input latency.
    'cobalt_egl_swap_interval': 0,

    # Platform-specific implementations to compile into cobalt.
    'cobalt_platform_dependencies': [
      '<(DEPTH)/starboard/android/shared/cobalt/cobalt_platform.gyp:cobalt_platform',
    ],

    # Platform-specific interfaces to inject into Cobalt's JavaScript 'window'
    # global object.
    'cobalt_webapi_extension_source_idl_files': [
      'android.idl',
      'feedback_service.idl',
    ],

    # Platform-specific IDL interface implementations.
    'cobalt_webapi_extension_gyp_target':
    '<(DEPTH)/starboard/android/shared/cobalt/android_webapi_extension.gyp:android_webapi_extension',
  },
}
