• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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