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# Aussme 'true' if no one sets 'false'. 82ifneq ($(PRODUCT_SUPPORTS_CAMERA),false) 83 PRODUCT_PACKAGES += cameraserver 84 PRODUCT_PACKAGES += CameraExtensionsProxy 85else 86 # When cameraserver is not included, we need to configure Camera API to not 87 # connect to it. 88 PRODUCT_PROPERTY_OVERRIDES += config.disable_cameraservice=true 89endif 90 91# SDK builds needs to build layoutlib-legacy that depends on debug info 92ifneq ($(PRODUCT_IS_ATV_SDK),true) 93 # Strip the local variable table and the local variable type table to reduce 94 # the size of the system image. This has no bearing on stack traces, but will 95 # leave less information available via JDWP. 96 # From //build/make/target/product/go_defaults_common.mk 97 PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true 98 99 # Do not generate libartd. 100 # From //build/make/target/product/go_defaults_common.mk 101 PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false 102endif 103 104# Enable frame-exact AV sync 105PRODUCT_PROPERTY_OVERRIDES += \ 106 persist.sys.media.avsync=true 107 108# Update Display.getDeviceProductInfo() on hotplug 109PRODUCT_PROPERTY_OVERRIDES += \ 110 ro.surface_flinger.update_device_product_info_on_hotplug_reconnect=1 111 112# Copy .kl file for generic voice remotes 113PRODUCT_COPY_FILES += \ 114 device/google/atv/Generic.kl:system/usr/keylayout/Generic.kl 115 116PRODUCT_COPY_FILES += \ 117 device/google/atv/permissions/tv_core_hardware.xml:system/etc/permissions/tv_core_hardware.xml 118 119PRODUCT_PACKAGES += framework-audio_effects.xml 120