1# 2# Copyright (C) 2020 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16# This makefile contains the system partition contents for 17# a generic TV device. 18$(call inherit-product, $(SRC_TARGET_DIR)/product/media_system.mk) 19 20$(call inherit-product-if-exists, frameworks/base/data/fonts/fonts.mk) 21$(call inherit-product-if-exists, external/google-fonts/dancing-script/fonts.mk) 22$(call inherit-product-if-exists, external/google-fonts/carrois-gothic-sc/fonts.mk) 23$(call inherit-product-if-exists, external/google-fonts/coming-soon/fonts.mk) 24$(call inherit-product-if-exists, external/google-fonts/cutive-mono/fonts.mk) 25$(call inherit-product-if-exists, external/noto-fonts/fonts.mk) 26$(call inherit-product-if-exists, external/roboto-fonts/fonts.mk) 27$(call inherit-product-if-exists, external/hyphenation-patterns/patterns.mk) 28$(call inherit-product-if-exists, frameworks/base/data/keyboards/keyboards.mk) 29$(call inherit-product-if-exists, frameworks/webview/chromium/chromium.mk) 30 31PRODUCT_IS_ATV := true 32 33PRODUCT_PACKAGES += \ 34 TvProvider 35 36# PRODUCT_SUPPORTS_TUNER: Whether the product hardware tuner. When 'false', 37# we drop mediatuner, which saves ~4 MiB of RAM. When 'true', the tuner HAL 38# should be implemented in vendor partition and android.hardware.tv.tuner 39# permission should be installed. 40# 41# Defaults to true to mimic legacy behaviour. 42PRODUCT_SUPPORTS_TUNER ?= true 43ifeq ($(PRODUCT_SUPPORTS_TUNER),true) 44 PRODUCT_PACKAGES += libmedia_tv_tuner 45endif 46 47# From build/target/product/core.mk 48PRODUCT_PACKAGES += \ 49 BasicDreams \ 50 CalendarProvider \ 51 CaptivePortalLogin \ 52 CertInstaller \ 53 ExternalStorageProvider \ 54 FusedLocation \ 55 InputDevices \ 56 KeyChain \ 57 librs_jni \ 58 PacProcessor \ 59 PrintSpooler \ 60 ProxyHandler \ 61 SharedStorageBackup \ 62 screenrecord \ 63 UserDictionaryProvider \ 64 VpnDialogs \ 65 com.android.media.tv.remoteprovider 66 67# Use TV PackageInstaller 68PRODUCT_PACKAGES += \ 69 PackageInstaller_tv 70 71# Device owner provisioning for devices defining device_admin 72PRODUCT_PACKAGES += \ 73 ManagedProvisioning 74 75 76# PRODUCT_SUPPORTS_CAMERA: Whether the product supports cameras at all 77# (built-in or external USB camera). When 'false', we drop cameraserver, which 78# saves ~3 MiB of RAM. When 'true', additional settings are required for 79# external webcams to work, see "External USB Cameras" documentation. 80# 81# Defaults to true to mimic legacy behaviour. 82PRODUCT_SUPPORTS_CAMERA ?= true 83ifeq ($(PRODUCT_SUPPORTS_CAMERA),true) 84 PRODUCT_PACKAGES += cameraserver 85 PRODUCT_PACKAGES += CameraExtensionsProxy 86else 87 # When cameraserver is not included, we need to configure Camera API to not 88 # connect to it. 89 PRODUCT_PROPERTY_OVERRIDES += config.disable_cameraservice=true 90endif 91 92# SDK builds needs to build layoutlib-legacy that depends on debug info 93ifneq ($(PRODUCT_IS_ATV_SDK),true) 94 # Strip the local variable table and the local variable type table to reduce 95 # the size of the system image. This has no bearing on stack traces, but will 96 # leave less information available via JDWP. 97 # From //build/make/target/product/go_defaults_common.mk 98 PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true 99 100 # Do not generate libartd. 101 # From //build/make/target/product/go_defaults_common.mk 102 PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false 103endif 104 105# Enable frame-exact AV sync 106PRODUCT_PROPERTY_OVERRIDES += \ 107 persist.sys.media.avsync=true 108 109# Update Display.getDeviceProductInfo() on hotplug 110PRODUCT_PROPERTY_OVERRIDES += \ 111 ro.surface_flinger.update_device_product_info_on_hotplug_reconnect=1 112 113# Copy .kl file for generic voice remotes 114PRODUCT_COPY_FILES += \ 115 device/google/atv/Generic.kl:system/usr/keylayout/Generic.kl 116 117PRODUCT_COPY_FILES += \ 118 device/google/atv/permissions/tv_core_hardware.xml:system/etc/permissions/tv_core_hardware.xml 119 120PRODUCT_COPY_FILES += \ 121 frameworks/av/media/libeffects/data/audio_effects.xml:system/etc/audio_effects.xml 122