diff --git a/AndroidProducts.mk b/AndroidProducts.mk
index 044e0f7..5d63b45 100644
--- a/AndroidProducts.mk
+++ b/AndroidProducts.mk
@@ -1,11 +1,13 @@
#
-# Copyright (C) 2021-2022 KonstaKANG
+# Copyright (C) 2021-2023 KonstaKANG
#
# SPDX-License-Identifier: Apache-2.0
#
PRODUCT_MAKEFILES := \
- $(LOCAL_DIR)/aosp_rpi4.mk
+ $(LOCAL_DIR)/aosp_rpi4.mk \
+ $(LOCAL_DIR)/aosp_rpi4_tv.mk
COMMON_LUNCH_CHOICES := \
- aosp_rpi4-userdebug
+ aosp_rpi4-userdebug \
+ aosp_rpi4_tv-userdebug
diff --git a/aosp_rpi4.mk b/aosp_rpi4.mk
index d4cdc94..606e3a7 100644
--- a/aosp_rpi4.mk
+++ b/aosp_rpi4.mk
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2021-2022 KonstaKANG
+# Copyright (C) 2021-2023 KonstaKANG
#
# SPDX-License-Identifier: Apache-2.0
#
@@ -7,6 +7,23 @@
# Inherit device configuration
$(call inherit-product, device/brcm/rpi4/device.mk)
+PRODUCT_AAPT_CONFIG := normal mdpi hdpi
+PRODUCT_AAPT_PREF_CONFIG := hdpi
+PRODUCT_CHARACTERISTICS := tablet,nosdcard
+$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
+
+# Overlays
+PRODUCT_PACKAGES += \
+ AndroidRpiOverlay \
+ SettingsRpiOverlay \
+ SettingsProviderRpiOverlay \
+ SystemUIRpiOverlay \
+ WifiRpiOverlay
+
+# Permissions
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/tablet_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/tablet_core_hardware.xml
+
# Device identifier. This must come after all inclusions.
PRODUCT_DEVICE := rpi4
PRODUCT_NAME := aosp_rpi4
diff --git a/aosp_rpi4_tv.mk b/aosp_rpi4_tv.mk
new file mode 100644
index 0000000..cab2ce3
--- /dev/null
+++ b/aosp_rpi4_tv.mk
@@ -0,0 +1,38 @@
+#
+# Copyright (C) 2021-2023 KonstaKANG
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+# Inherit device configuration
+$(call inherit-product, device/brcm/rpi4/device.mk)
+
+PRODUCT_AAPT_PREF_CONFIG := tvdpi
+PRODUCT_CHARACTERISTICS := tv
+$(call inherit-product, device/google/atv/products/atv_base.mk)
+
+# Android TV
+PRODUCT_PACKAGES += \
+ DocumentsUI \
+ LeanbackIME \
+ TvProvision \
+ TvSampleLeanbackLauncher \
+ TvSettingsTwoPanel
+
+# Bluetooth
+PRODUCT_VENDOR_PROPERTIES += \
+ bluetooth.device.class_of_device=34,4,36
+
+# Overlays
+PRODUCT_PACKAGES += \
+ AndroidTvRpiOverlay \
+ SettingsProviderTvRpiOverlay \
+ WifiRpiOverlay
+
+# Device identifier. This must come after all inclusions.
+PRODUCT_DEVICE := rpi4
+PRODUCT_NAME := aosp_rpi4_tv
+PRODUCT_BRAND := Raspberry
+PRODUCT_MODEL := Raspberry Pi 4
+PRODUCT_MANUFACTURER := Raspberry
+PRODUCT_RELEASE_NAME := Raspberry Pi 4
diff --git a/device.mk b/device.mk
index 5b5186f..6086b6f 100644
--- a/device.mk
+++ b/device.mk
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2021-2022 KonstaKANG
+# Copyright (C) 2021-2023 KonstaKANG
#
# SPDX-License-Identifier: Apache-2.0
#
@@ -8,14 +8,9 @@ DEVICE_PATH := device/brcm/rpi4
PRODUCT_SOONG_NAMESPACES += $(DEVICE_PATH)
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
$(call inherit-product, frameworks/native/build/tablet-7in-xhdpi-2048-dalvik-heap.mk)
$(call inherit-product, vendor/brcm/rpi4/rpi4-vendor.mk)
-PRODUCT_AAPT_CONFIG := normal mdpi hdpi
-PRODUCT_AAPT_PREF_CONFIG := hdpi
-PRODUCT_CHARACTERISTICS := tablet,nosdcard
-
# API level
PRODUCT_SHIPPING_API_LEVEL := 33
@@ -218,18 +213,6 @@ PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_c2_tv.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_tv.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_c2_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_video.xml
-# Overlays
-PRODUCT_PACKAGES += \
- AndroidRpiOverlay \
- SettingsRpiOverlay \
- SettingsProviderRpiOverlay \
- SystemUIRpiOverlay \
- WifiRpiOverlay
-
-# Permissions
-PRODUCT_COPY_FILES += \
- frameworks/native/data/etc/tablet_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/tablet_core_hardware.xml
-
# Power
PRODUCT_PACKAGES += \
android.hardware.power-service.example
diff --git a/overlay/AndroidTvRpiOverlay/Android.bp b/overlay/AndroidTvRpiOverlay/Android.bp
new file mode 100644
index 0000000..74325dc
--- /dev/null
+++ b/overlay/AndroidTvRpiOverlay/Android.bp
@@ -0,0 +1,10 @@
+// Copyright (C) 2021-2022 KonstaKANG
+//
+// SPDX-License-Identifier: Apache-2.0
+
+runtime_resource_overlay {
+ name: "AndroidTvRpiOverlay",
+ resource_dirs: ["res"],
+ sdk_version: "current",
+ proprietary: true
+}
diff --git a/overlay/AndroidTvRpiOverlay/AndroidManifest.xml b/overlay/AndroidTvRpiOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..53301be
--- /dev/null
+++ b/overlay/AndroidTvRpiOverlay/AndroidManifest.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/overlay/AndroidTvRpiOverlay/res/values/config.xml b/overlay/AndroidTvRpiOverlay/res/values/config.xml
new file mode 100644
index 0000000..ebf4b84
--- /dev/null
+++ b/overlay/AndroidTvRpiOverlay/res/values/config.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+ 86400000
+
+
+ 128
+
+
+ 20
+
+
+ 20
+
+
+ true
+
+
+ 1
+
+
+ false
+ true
+
+
diff --git a/overlay/SettingsProviderTvRpiOverlay/Android.bp b/overlay/SettingsProviderTvRpiOverlay/Android.bp
new file mode 100644
index 0000000..514ee87
--- /dev/null
+++ b/overlay/SettingsProviderTvRpiOverlay/Android.bp
@@ -0,0 +1,10 @@
+// Copyright (C) 2021-2022 KonstaKANG
+//
+// SPDX-License-Identifier: Apache-2.0
+
+runtime_resource_overlay {
+ name: "SettingsProviderTvRpiOverlay",
+ resource_dirs: ["res"],
+ sdk_version: "current",
+ proprietary: true
+}
diff --git a/overlay/SettingsProviderTvRpiOverlay/AndroidManifest.xml b/overlay/SettingsProviderTvRpiOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..95d18f1
--- /dev/null
+++ b/overlay/SettingsProviderTvRpiOverlay/AndroidManifest.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/overlay/SettingsProviderTvRpiOverlay/res/values/defaults.xml b/overlay/SettingsProviderTvRpiOverlay/res/values/defaults.xml
new file mode 100644
index 0000000..777e453
--- /dev/null
+++ b/overlay/SettingsProviderTvRpiOverlay/res/values/defaults.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+ 128
+
+
+ 0
+
+
+ true
+ true
+
+