diff --git a/build/target/product/AndroidProducts.mk b/build/target/product/AndroidProducts.mk
new file mode 100644
index 000000000..6d7e97cf6
--- /dev/null
+++ b/build/target/product/AndroidProducts.mk
@@ -0,0 +1,22 @@
+#
+# Copyright (C) 2021 The Styx Project
+#
+# 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.
+#
+
+PRODUCT_MAKEFILES := \
+ $(LOCAL_DIR)/styx_arm64.mk
+
+COMMON_LUNCH_CHOICES := \
+ styx_arm64-eng \
+ styx_arm64-userdebug
diff --git a/build/target/product/styx_arm64.mk b/build/target/product/styx_arm64.mk
new file mode 100644
index 000000000..8a515e8ae
--- /dev/null
+++ b/build/target/product/styx_arm64.mk
@@ -0,0 +1,30 @@
+# Copyright (C) 2018-2020 The LineageOS Project
+# Copyright (C) 2021 The Styx Project
+#
+# 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.
+
+$(call inherit-product, build/target/product/aosp_arm64.mk)
+$(call inherit-product, build/target/product/gsi_release.mk)
+
+$(call inherit-product, vendor/styx/config/common.mk)
+
+PRODUCT_COPY_FILES += \
+ device/generic/goldfish/data/etc/permissions/privapp-permissions-goldfish.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-goldfish.xml \
+
+# Allow building otatools
+TARGET_FORCE_OTA_PACKAGE := true
+
+TARGET_PROVIDES_KERNEL_MAKEFILE := true
+TARGET_NO_KERNEL := true
+
+PRODUCT_NAME := styx_arm64
diff --git a/config/BoardConfigKernel.mk b/config/BoardConfigKernel.mk
index 20eab683f..8a2ae16c3 100644
--- a/config/BoardConfigKernel.mk
+++ b/config/BoardConfigKernel.mk
@@ -95,6 +95,7 @@ endif
# Needed for CONFIG_COMPAT_VDSO, safe to set for all arm64 builds
ifeq ($(KERNEL_ARCH),arm64)
KERNEL_CROSS_COMPILE += CROSS_COMPILE_ARM32="$(KERNEL_TOOLCHAIN_arm)/$(KERNEL_TOOLCHAIN_PREFIX_arm)"
+ KERNEL_CROSS_COMPILE += CROSS_COMPILE_COMPAT="$(KERNEL_TOOLCHAIN_arm)/$(KERNEL_TOOLCHAIN_PREFIX_arm)"
endif
# Clear this first to prevent accidental poisoning from env
diff --git a/config/common.mk b/config/common.mk
index b9cb8bc1e..8ff617069 100644
--- a/config/common.mk
+++ b/config/common.mk
@@ -22,7 +22,10 @@ $(call inherit-product, vendor/styx/config/versioning.mk)
# Inherit from our kernel/header generator
$(call inherit-product, vendor/styx/config/BoardConfigStyx.mk)
-# Inherit system packages
+# Inherit from fonts
+$(call inherit-product, vendor/styx/fonts/fonts.mk)
+
+# Inherit prebuilt packages
$(call inherit-product, vendor/styx/prebuilts/targets.mk)
# Inherit overlays
@@ -31,3 +34,14 @@ $(call inherit-product, vendor/styx/overlay/overlays.mk)
# Inherit properties
TARGET_PRODUCT_PROP += vendor/styx/config/properties/product.prop
TARGET_SYSTEM_PROP += vendor/styx/config/properties/system.prop
+
+# Inherit system packages
+$(call inherit-product, vendor/styx/config/packages.mk)
+
+# Inherit SoC-specific bits
+$(call inherit-product, vendor/styx/soc/soc.mk)
+
+# Inherit GMS
+ifneq ($(TARGET_DISABLES_GMS), true)
+$(call inherit-product-if-exists, vendor/google/gms/config.mk)
+endif
diff --git a/config/packages.mk b/config/packages.mk
new file mode 100644
index 000000000..a980c2e87
--- /dev/null
+++ b/config/packages.mk
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2021 The Styx Project
+#
+# 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.
+#
+
+# Styles and Wallpapers
+PRODUCT_PACKAGES += \
+ ThemePicker
+
+# GrapheneOS Camera
+PRODUCT_PACKAGES += \
+ Camera
diff --git a/config/properties/system.prop b/config/properties/system.prop
index 503604c4a..3a23a683a 100644
--- a/config/properties/system.prop
+++ b/config/properties/system.prop
@@ -10,3 +10,6 @@ dalvik.vm.dex2oat64.enabled=true
# Disable MTE async for system_server
arm64.memtag.process.system_server=off
+
+# Disable writing to XML as binary.
+persist.sys.binary_xml=false
diff --git a/config/versioning.mk b/config/versioning.mk
index 82c66cdfc..e9d7da234 100644
--- a/config/versioning.mk
+++ b/config/versioning.mk
@@ -18,7 +18,7 @@
#
PLATFORM_STYX_VERSION_MAJOR := 2.0
-PLATFORM_STYX_VERSION_MINOR := alpha1
+PLATFORM_STYX_VERSION_MINOR := alpha
PLATFORM_STYX_RELEASE := $(PLATFORM_STYX_VERSION_MAJOR)-$(PLATFORM_STYX_VERSION_MINOR)
TARGET_PRODUCT_SHORT := $(subst styx_,,$(TARGET_DEVICE))
diff --git a/fonts/fira-code/Android.bp b/fonts/fira-code/Android.bp
new file mode 100644
index 000000000..2334d65bf
--- /dev/null
+++ b/fonts/fira-code/Android.bp
@@ -0,0 +1,25 @@
+/**
+ * Copyright (C) 2021 The Proton AOSP Project
+ *
+ * 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.
+ */
+
+prebuilt_font {
+ name: "CutiveMono.ttf",
+ src: "FiraCode-Regular_CutiveMono.ttf",
+}
+
+prebuilt_font {
+ name: "DroidSansMono.ttf",
+ src: "FiraCode-Regular_DroidSansMono.ttf",
+}
diff --git a/fonts/fira-code/FiraCode-Regular_CutiveMono.ttf b/fonts/fira-code/FiraCode-Regular_CutiveMono.ttf
new file mode 100644
index 000000000..bbb106a79
Binary files /dev/null and b/fonts/fira-code/FiraCode-Regular_CutiveMono.ttf differ
diff --git a/fonts/fira-code/FiraCode-Regular_DroidSansMono.ttf b/fonts/fira-code/FiraCode-Regular_DroidSansMono.ttf
new file mode 100644
index 000000000..61e55befe
Binary files /dev/null and b/fonts/fira-code/FiraCode-Regular_DroidSansMono.ttf differ
diff --git a/fonts/fira-code/NOTICE b/fonts/fira-code/NOTICE
new file mode 100644
index 000000000..805e0b38b
--- /dev/null
+++ b/fonts/fira-code/NOTICE
@@ -0,0 +1,93 @@
+Copyright (c) 2014, The Fira Code Project Authors (https://github.com/tonsky/FiraCode)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/fonts/font_files.mk b/fonts/font_files.mk
new file mode 100644
index 000000000..b4ea3e685
--- /dev/null
+++ b/fonts/font_files.mk
@@ -0,0 +1,42 @@
+# Copyright (C) 2021 The Proton AOSP Project
+#
+# 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.
+
+LOCAL_PATH := vendor/styx/fonts
+
+# We have to use PRODUCT_PACKAGES (together with BUILD_PREBUILT) instead of
+# PRODUCT_COPY_FILES to install the font files, so that the NOTICE file can
+# get installed too.
+
+PRODUCT_PACKAGES += \
+ CutiveMono.ttf \
+ DroidSansMono.ttf \
+ Roboto-Regular.ttf \
+ Manrope-VF.ttf \
+ NotoSans-Italic-VF.ttf \
+ NotoSans-VF.ttf \
+ Recursive-VF.ttf \
+ RobotoFallback-VF.ttf \
+ RobotoSystem-VF.ttf \
+ RobotoStatic-Regular.ttf \
+ SourceSans3-Italic-VF.otf \
+ SourceSans3-VF.otf \
+ NotoSerif-BoldItalic.ttf \
+ NotoSerif-Bold.ttf \
+ NotoSerif-Italic.ttf \
+ NotoSerif-Regular.ttf \
+
+# Register new fonts
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/fonts_customization.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/fonts_customization.xml \
+
diff --git a/fonts/fonts.mk b/fonts/fonts.mk
new file mode 100644
index 000000000..e0d55e75c
--- /dev/null
+++ b/fonts/fonts.mk
@@ -0,0 +1,34 @@
+# Copyright (C) 2021 The Proton AOSP Project
+#
+# 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.
+
+LOCAL_PATH := vendor/styx/fonts
+
+# Copy font files
+include vendor/styx/fonts/font_files.mk
+
+# Register custom fonts
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/fonts_customization.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/fonts_customization.xml \
+
+# Overlays for UI font styles
+PRODUCT_PACKAGES += \
+ FontHKGroteskOverlay \
+ FontManropeOverlay \
+ FontNotoSansOverlay \
+ FontRecursiveCasualOverlay \
+ FontRecursiveLinearOverlay \
+ FontRobotoOverlay \
+ FontSourceSansOverlay \
+ FontSourceSerifOverlay \
+ FontHarmonyOSSansOverlay \
diff --git a/fonts/fonts_customization.xml b/fonts/fonts_customization.xml
new file mode 100644
index 000000000..3d9057f1e
--- /dev/null
+++ b/fonts/fonts_customization.xml
@@ -0,0 +1,296 @@
+
+
+
+
+
+
+
+ Manrope-VF.ttf
+
+
+ Manrope-VF.ttf
+
+
+ Manrope-VF.ttf
+
+
+ Manrope-VF.ttf
+
+
+
+
+
+
+ NotoSans-VF.ttf
+
+
+ NotoSans-Italic-VF.ttf
+
+
+ NotoSans-VF.ttf
+
+
+ NotoSans-Italic-VF.ttf
+
+
+ NotoSans-VF.ttf
+
+
+ NotoSans-Italic-VF.ttf
+
+
+ NotoSans-VF.ttf
+
+
+ NotoSans-Italic-VF.ttf
+
+
+
+
+
+
+ SourceSans3-VF.otf
+
+
+ SourceSans3-Italic-VF.otf
+
+
+ SourceSans3-VF.otf
+
+
+ SourceSans3-Italic-VF.otf
+
+
+ SourceSans3-VF.otf
+
+
+ SourceSans3-Italic-VF.otf
+
+
+ SourceSans3-VF.otf
+
+
+ SourceSans3-Italic-VF.otf
+
+
+ SourceSans3-VF.otf
+
+
+ SourceSans3-Italic-VF.otf
+
+
+ SourceSans3-VF.otf
+
+
+ SourceSans3-Italic-VF.otf
+
+
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+ Recursive-VF.ttf
+
+
+
+
+
+
+
+
+ RobotoSystem-VF.ttf
+
+
+
+
+ RobotoSystem-VF.ttf
+
+
+
+
+ RobotoSystem-VF.ttf
+
+
+
+
+ RobotoSystem-VF.ttf
+
+
+
+
+ RobotoSystem-VF.ttf
+
+
+
+
+ RobotoSystem-VF.ttf
+
+
+
+
+ RobotoSystem-VF.ttf
+
+
+
+
+ RobotoSystem-VF.ttf
+
+
+
+
+ RobotoSystem-VF.ttf
+
+
+
+
+ RobotoSystem-VF.ttf
+
+
+
+
+ RobotoSystem-VF.ttf
+
+
+
+
+ RobotoSystem-VF.ttf
+
+
+
+
+
+
+
diff --git a/fonts/generate_build.sh b/fonts/generate_build.sh
new file mode 100755
index 000000000..13ea83869
--- /dev/null
+++ b/fonts/generate_build.sh
@@ -0,0 +1,89 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+shopt -s nullglob
+
+cd "$(dirname "$0")"
+
+q='"'
+
+echo '# Copyright (C) 2021 The Proton AOSP Project
+#
+# 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.
+
+LOCAL_PATH := vendor/styx/fonts
+
+# We have to use PRODUCT_PACKAGES (together with BUILD_PREBUILT) instead of
+# PRODUCT_COPY_FILES to install the font files, so that the NOTICE file can
+# get installed too.
+
+PRODUCT_PACKAGES += \' > font_files.mk
+
+rm -f */Android.bp
+
+for src in */*.ttf */*.otf
+do
+ echo "$src"
+
+ font_dir="$(dirname "$src")"
+ src_base="$(basename "$(basename "$src" .ttf)" .otf)"
+ src_name="$(basename "$src")"
+ src_ext="${src##*.}"
+
+ if [[ -f "$font_dir/product.flag" ]]; then
+ product_flag="
+ product_specific: true,"
+ else
+ product_flag=""
+ src_ext="ttf"
+ fi
+
+ if [[ "$src" == *"_"* ]]; then
+ # If a name was explicitly specified with an underscore, use it
+ android_name="$(cut -d'_' -f2 <<< "$src_base").$src_ext"
+ else
+ # Use heuristics to construct a name
+ android_name="$(sed -e 's/Inter/Roboto/; s/SFUIText/Roboto/; s/SourceSerif4/NotoSerif/' <<< "$src_base").$src_ext"
+ fi
+
+ if [[ ! -f "$font_dir/Android.bp" ]]; then
+ echo '/**
+ * Copyright (C) 2021 The Proton AOSP Project
+ *
+ * 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.
+ */' > "$font_dir/Android.bp"
+ fi
+
+ echo "
+prebuilt_font {
+ name: ${q}$android_name${q},
+ src: ${q}$src_name${q},$product_flag
+}" >> "$font_dir/Android.bp"
+ echo " $android_name \\" >> font_files.mk
+
+done
+
+echo '
+# Register new fonts
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/fonts_customization.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/fonts_customization.xml \
diff --git a/fonts/generate_overlays.py b/fonts/generate_overlays.py
new file mode 100755
index 000000000..5c2bb53b6
--- /dev/null
+++ b/fonts/generate_overlays.py
@@ -0,0 +1,121 @@
+#!/usr/bin/env python3
+
+import sys
+import os
+import shutil
+
+DEST_DIR = f"{os.path.dirname(os.path.realpath(__file__))}/overlays"
+
+# (user-facing name, font family name)
+FONTS = {
+ "Manrope": "manrope",
+ "Noto Sans": "noto-sans",
+ "Recursive Casual": "recursive-casual",
+ "Recursive Linear": "recursive",
+ "Roboto": "roboto-system",
+ "Source Sans": "source-sans",
+ "Source Serif": "serif",
+}
+
+# Android.bp
+ANDROID_BP_TEMPLATE = """//
+// Copyright (C) 2021 The Proton AOSP Project
+//
+// 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.
+//
+
+runtime_resource_overlay {{
+ name: "Font{apk_name}Overlay",
+ theme: "Font{apk_name}",
+ product_specific: true,
+}}
+"""
+
+# AndroidManifest.xml
+ANDROID_MANIFEST_TEMPLATE = """
+
+
+
+
+
+
+
+"""
+
+# config.xml
+CONFIG_XML_TEMPLATE = """
+
+
+ {font_name}
+ {font_name}-medium
+ {font_name}
+ {font_name}-medium
+
+"""
+
+def main():
+ for user_name, family_name in FONTS.items():
+ pkg_apk_name = user_name.replace(" ", "").replace("+", "Plus")
+ pkg_name = user_name.lower().replace(" ", "_").replace("+", "plus_")
+ apk_name = f"Font{pkg_apk_name}Overlay"
+ pkg_dir = f"{DEST_DIR}/{apk_name}"
+
+ print(apk_name)
+ shutil.rmtree(pkg_dir, ignore_errors=True)
+
+ xml_dir = f"{pkg_dir}/res/values"
+ os.makedirs(xml_dir, exist_ok=True)
+ with open(f"{xml_dir}/config.xml", "w+") as f:
+ f.write(CONFIG_XML_TEMPLATE.format(font_name=family_name))
+
+ with open(f"{pkg_dir}/Android.bp", "w+") as f:
+ f.write(ANDROID_BP_TEMPLATE.format(apk_name=pkg_apk_name))
+
+ with open(f"{pkg_dir}/AndroidManifest.xml", "w+") as f:
+ f.write(ANDROID_MANIFEST_TEMPLATE.format(pkg_name=pkg_name, user_name=user_name))
+
+if __name__ == '__main__':
+ main()
diff --git a/fonts/inter/Android.bp b/fonts/inter/Android.bp
new file mode 100644
index 000000000..34657388a
--- /dev/null
+++ b/fonts/inter/Android.bp
@@ -0,0 +1,26 @@
+/**
+ * Copyright (C) 2021 The Proton AOSP Project
+ *
+ * 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.
+ */
+
+prebuilt_font {
+ name: "Roboto-Regular.ttf",
+ src: "Inter-Regular.ttf",
+ symlinks: ["DroidSans.ttf", "DroidSans-Bold.ttf"],
+}
+
+prebuilt_font {
+ name: "RobotoStatic-Regular.ttf",
+ src: "InterStatic-Regular.otf",
+}
diff --git a/fonts/inter/Inter-Regular.ttf b/fonts/inter/Inter-Regular.ttf
new file mode 100644
index 000000000..fe8a7079b
Binary files /dev/null and b/fonts/inter/Inter-Regular.ttf differ
diff --git a/fonts/inter/InterStatic-Regular.otf b/fonts/inter/InterStatic-Regular.otf
new file mode 100644
index 000000000..372ddb489
Binary files /dev/null and b/fonts/inter/InterStatic-Regular.otf differ
diff --git a/fonts/inter/NOTICE b/fonts/inter/NOTICE
new file mode 100644
index 000000000..ff80f8c61
--- /dev/null
+++ b/fonts/inter/NOTICE
@@ -0,0 +1,94 @@
+Copyright (c) 2016-2020 The Inter Project Authors.
+"Inter" is trademark of Rasmus Andersson.
+https://github.com/rsms/inter
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION AND CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/fonts/manrope/Android.bp b/fonts/manrope/Android.bp
new file mode 100644
index 000000000..23f3a395e
--- /dev/null
+++ b/fonts/manrope/Android.bp
@@ -0,0 +1,21 @@
+/**
+ * Copyright (C) 2021 The Proton AOSP Project
+ *
+ * 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.
+ */
+
+prebuilt_font {
+ name: "Manrope-VF.ttf",
+ src: "Manrope-VF.ttf",
+ product_specific: true,
+}
diff --git a/fonts/manrope/Manrope-VF.ttf b/fonts/manrope/Manrope-VF.ttf
new file mode 100644
index 000000000..3610d7213
Binary files /dev/null and b/fonts/manrope/Manrope-VF.ttf differ
diff --git a/fonts/manrope/NOTICE b/fonts/manrope/NOTICE
new file mode 100644
index 000000000..0bc44ac15
--- /dev/null
+++ b/fonts/manrope/NOTICE
@@ -0,0 +1,93 @@
+Copyright 2020 The Manrope Project Authors (https://github.com/sharanda/manrope)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/fonts/manrope/product.flag b/fonts/manrope/product.flag
new file mode 100644
index 000000000..e69de29bb
diff --git a/fonts/noto-sans/Android.bp b/fonts/noto-sans/Android.bp
new file mode 100644
index 000000000..1fcbc88bf
--- /dev/null
+++ b/fonts/noto-sans/Android.bp
@@ -0,0 +1,27 @@
+/**
+ * Copyright (C) 2021 The Proton AOSP Project
+ *
+ * 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.
+ */
+
+prebuilt_font {
+ name: "NotoSans-Italic-VF.ttf",
+ src: "NotoSans-Italic-VF.ttf",
+ product_specific: true,
+}
+
+prebuilt_font {
+ name: "NotoSans-VF.ttf",
+ src: "NotoSans-VF.ttf",
+ product_specific: true,
+}
diff --git a/fonts/noto-sans/NOTICE b/fonts/noto-sans/NOTICE
new file mode 100644
index 000000000..d952d62c0
--- /dev/null
+++ b/fonts/noto-sans/NOTICE
@@ -0,0 +1,92 @@
+This Font Software is licensed under the SIL Open Font License,
+Version 1.1.
+
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font
+creation efforts of academic and linguistic communities, and to
+provide a free and open framework in which fonts may be shared and
+improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply to
+any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software
+components as distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to,
+deleting, or substituting -- in part or in whole -- any of the
+components of the Original Version, by changing formats or by porting
+the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed,
+modify, redistribute, and sell modified and unmodified copies of the
+Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in
+Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the
+corresponding Copyright Holder. This restriction only applies to the
+primary font name as presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created using
+the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/fonts/noto-sans/NotoSans-Italic-VF.ttf b/fonts/noto-sans/NotoSans-Italic-VF.ttf
new file mode 100644
index 000000000..0d6fbc321
Binary files /dev/null and b/fonts/noto-sans/NotoSans-Italic-VF.ttf differ
diff --git a/fonts/noto-sans/NotoSans-VF.ttf b/fonts/noto-sans/NotoSans-VF.ttf
new file mode 100644
index 000000000..ee052cb60
Binary files /dev/null and b/fonts/noto-sans/NotoSans-VF.ttf differ
diff --git a/fonts/noto-sans/product.flag b/fonts/noto-sans/product.flag
new file mode 100644
index 000000000..e69de29bb
diff --git a/fonts/overlays/FontManropeOverlay/Android.bp b/fonts/overlays/FontManropeOverlay/Android.bp
new file mode 100644
index 000000000..ede527c83
--- /dev/null
+++ b/fonts/overlays/FontManropeOverlay/Android.bp
@@ -0,0 +1,21 @@
+//
+// Copyright (C) 2021 The Proton AOSP Project
+//
+// 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.
+//
+
+runtime_resource_overlay {
+ name: "FontManropeOverlay",
+ theme: "FontManrope",
+ product_specific: true,
+}
diff --git a/fonts/overlays/FontManropeOverlay/AndroidManifest.xml b/fonts/overlays/FontManropeOverlay/AndroidManifest.xml
new file mode 100644
index 000000000..6a1cf60fd
--- /dev/null
+++ b/fonts/overlays/FontManropeOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
diff --git a/fonts/overlays/FontManropeOverlay/res/values/config.xml b/fonts/overlays/FontManropeOverlay/res/values/config.xml
new file mode 100644
index 000000000..2dcff6331
--- /dev/null
+++ b/fonts/overlays/FontManropeOverlay/res/values/config.xml
@@ -0,0 +1,22 @@
+
+
+
+ manrope
+ manrope-medium
+ manrope
+ manrope-medium
+
diff --git a/fonts/overlays/FontNotoSansOverlay/Android.bp b/fonts/overlays/FontNotoSansOverlay/Android.bp
new file mode 100644
index 000000000..72ed1d05a
--- /dev/null
+++ b/fonts/overlays/FontNotoSansOverlay/Android.bp
@@ -0,0 +1,21 @@
+//
+// Copyright (C) 2021 The Proton AOSP Project
+//
+// 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.
+//
+
+runtime_resource_overlay {
+ name: "FontNotoSansOverlay",
+ theme: "FontNotoSans",
+ product_specific: true,
+}
diff --git a/fonts/overlays/FontNotoSansOverlay/AndroidManifest.xml b/fonts/overlays/FontNotoSansOverlay/AndroidManifest.xml
new file mode 100644
index 000000000..168bcb528
--- /dev/null
+++ b/fonts/overlays/FontNotoSansOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
diff --git a/fonts/overlays/FontNotoSansOverlay/res/values/config.xml b/fonts/overlays/FontNotoSansOverlay/res/values/config.xml
new file mode 100644
index 000000000..6fcc45793
--- /dev/null
+++ b/fonts/overlays/FontNotoSansOverlay/res/values/config.xml
@@ -0,0 +1,22 @@
+
+
+
+ noto-sans
+ noto-sans-medium
+ noto-sans
+ noto-sans-medium
+
diff --git a/fonts/overlays/FontRecursiveCasualOverlay/Android.bp b/fonts/overlays/FontRecursiveCasualOverlay/Android.bp
new file mode 100644
index 000000000..23aeeca0b
--- /dev/null
+++ b/fonts/overlays/FontRecursiveCasualOverlay/Android.bp
@@ -0,0 +1,21 @@
+//
+// Copyright (C) 2021 The Proton AOSP Project
+//
+// 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.
+//
+
+runtime_resource_overlay {
+ name: "FontRecursiveCasualOverlay",
+ theme: "FontRecursiveCasual",
+ product_specific: true,
+}
diff --git a/fonts/overlays/FontRecursiveCasualOverlay/AndroidManifest.xml b/fonts/overlays/FontRecursiveCasualOverlay/AndroidManifest.xml
new file mode 100644
index 000000000..820307d96
--- /dev/null
+++ b/fonts/overlays/FontRecursiveCasualOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
diff --git a/fonts/overlays/FontRecursiveCasualOverlay/res/values/config.xml b/fonts/overlays/FontRecursiveCasualOverlay/res/values/config.xml
new file mode 100644
index 000000000..117803069
--- /dev/null
+++ b/fonts/overlays/FontRecursiveCasualOverlay/res/values/config.xml
@@ -0,0 +1,22 @@
+
+
+
+ recursive-casual
+ recursive-casual-medium
+ recursive-casual
+ recursive-casual-medium
+
diff --git a/fonts/overlays/FontRecursiveLinearOverlay/Android.bp b/fonts/overlays/FontRecursiveLinearOverlay/Android.bp
new file mode 100644
index 000000000..b86e16362
--- /dev/null
+++ b/fonts/overlays/FontRecursiveLinearOverlay/Android.bp
@@ -0,0 +1,21 @@
+//
+// Copyright (C) 2021 The Proton AOSP Project
+//
+// 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.
+//
+
+runtime_resource_overlay {
+ name: "FontRecursiveLinearOverlay",
+ theme: "FontRecursiveLinear",
+ product_specific: true,
+}
diff --git a/fonts/overlays/FontRecursiveLinearOverlay/AndroidManifest.xml b/fonts/overlays/FontRecursiveLinearOverlay/AndroidManifest.xml
new file mode 100644
index 000000000..d98d243dc
--- /dev/null
+++ b/fonts/overlays/FontRecursiveLinearOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
diff --git a/fonts/overlays/FontRecursiveLinearOverlay/res/values/config.xml b/fonts/overlays/FontRecursiveLinearOverlay/res/values/config.xml
new file mode 100644
index 000000000..4b6a926ce
--- /dev/null
+++ b/fonts/overlays/FontRecursiveLinearOverlay/res/values/config.xml
@@ -0,0 +1,22 @@
+
+
+
+ recursive
+ recursive-medium
+ recursive
+ recursive-medium
+
diff --git a/fonts/overlays/FontRobotoOverlay/Android.bp b/fonts/overlays/FontRobotoOverlay/Android.bp
new file mode 100644
index 000000000..7fb430f7d
--- /dev/null
+++ b/fonts/overlays/FontRobotoOverlay/Android.bp
@@ -0,0 +1,21 @@
+//
+// Copyright (C) 2021 The Proton AOSP Project
+//
+// 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.
+//
+
+runtime_resource_overlay {
+ name: "FontRobotoOverlay",
+ theme: "FontRoboto",
+ product_specific: true,
+}
diff --git a/fonts/overlays/FontRobotoOverlay/AndroidManifest.xml b/fonts/overlays/FontRobotoOverlay/AndroidManifest.xml
new file mode 100644
index 000000000..5dc613d87
--- /dev/null
+++ b/fonts/overlays/FontRobotoOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
diff --git a/fonts/overlays/FontRobotoOverlay/res/values/config.xml b/fonts/overlays/FontRobotoOverlay/res/values/config.xml
new file mode 100644
index 000000000..4f4cd9f1e
--- /dev/null
+++ b/fonts/overlays/FontRobotoOverlay/res/values/config.xml
@@ -0,0 +1,22 @@
+
+
+
+ roboto-system
+ roboto-system-medium
+ roboto-system
+ roboto-system-medium
+
diff --git a/fonts/overlays/FontSourceSansOverlay/Android.bp b/fonts/overlays/FontSourceSansOverlay/Android.bp
new file mode 100644
index 000000000..dc5ead50b
--- /dev/null
+++ b/fonts/overlays/FontSourceSansOverlay/Android.bp
@@ -0,0 +1,21 @@
+//
+// Copyright (C) 2021 The Proton AOSP Project
+//
+// 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.
+//
+
+runtime_resource_overlay {
+ name: "FontSourceSansOverlay",
+ theme: "FontSourceSans",
+ product_specific: true,
+}
diff --git a/fonts/overlays/FontSourceSansOverlay/AndroidManifest.xml b/fonts/overlays/FontSourceSansOverlay/AndroidManifest.xml
new file mode 100644
index 000000000..2e6d97790
--- /dev/null
+++ b/fonts/overlays/FontSourceSansOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
diff --git a/fonts/overlays/FontSourceSansOverlay/res/values/config.xml b/fonts/overlays/FontSourceSansOverlay/res/values/config.xml
new file mode 100644
index 000000000..e0f368d60
--- /dev/null
+++ b/fonts/overlays/FontSourceSansOverlay/res/values/config.xml
@@ -0,0 +1,22 @@
+
+
+
+ source-sans
+ source-sans-medium
+ source-sans
+ source-sans-medium
+
diff --git a/fonts/overlays/FontSourceSerifOverlay/Android.bp b/fonts/overlays/FontSourceSerifOverlay/Android.bp
new file mode 100644
index 000000000..40e97c8fd
--- /dev/null
+++ b/fonts/overlays/FontSourceSerifOverlay/Android.bp
@@ -0,0 +1,21 @@
+//
+// Copyright (C) 2021 The Proton AOSP Project
+//
+// 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.
+//
+
+runtime_resource_overlay {
+ name: "FontSourceSerifOverlay",
+ theme: "FontSourceSerif",
+ product_specific: true,
+}
diff --git a/fonts/overlays/FontSourceSerifOverlay/AndroidManifest.xml b/fonts/overlays/FontSourceSerifOverlay/AndroidManifest.xml
new file mode 100644
index 000000000..b2b28db0f
--- /dev/null
+++ b/fonts/overlays/FontSourceSerifOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
diff --git a/fonts/overlays/FontSourceSerifOverlay/res/values/config.xml b/fonts/overlays/FontSourceSerifOverlay/res/values/config.xml
new file mode 100644
index 000000000..2f4d231cf
--- /dev/null
+++ b/fonts/overlays/FontSourceSerifOverlay/res/values/config.xml
@@ -0,0 +1,22 @@
+
+
+
+ serif
+ serif-medium
+ serif
+ serif-medium
+
diff --git a/fonts/patch-font-names.sh b/fonts/patch-font-names.sh
new file mode 100755
index 000000000..ddfea4971
--- /dev/null
+++ b/fonts/patch-font-names.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+ttx ${@:-*.ttf}
+
+function replace_name() {
+ cur_name=$1
+ tgt_name=$2
+ shift
+ shift
+ echo "$cur_name -> $tgt_name"
+ sed -i "s/\(
+
+
+
+
+
diff --git a/overlay/StyxFrameworksOverlay/res/values/colors_device_defaults.xml b/overlay/StyxFrameworksOverlay/res/values/colors_device_defaults.xml
new file mode 100644
index 000000000..f11f44ee7
--- /dev/null
+++ b/overlay/StyxFrameworksOverlay/res/values/colors_device_defaults.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ @android:color/system_neutral1_10
+
diff --git a/overlay/StyxFrameworksOverlay/res/values/config.xml b/overlay/StyxFrameworksOverlay/res/values/config.xml
index 87ab67124..80217e354 100644
--- a/overlay/StyxFrameworksOverlay/res/values/config.xml
+++ b/overlay/StyxFrameworksOverlay/res/values/config.xml
@@ -56,4 +56,19 @@
20dp
+
+
+ com.android.wallpaper
+
+
+ true
+
+
+ true
+
+
+ "M50 0A50 50,0,1,1,50 100A50 50,0,1,1,50 0"
diff --git a/overlay/StyxSystemUIOverlay/AndroidManifest.xml b/overlay/StyxSystemUIOverlay/AndroidManifest.xml
index db991ef6e..0fa19d0bc 100644
--- a/overlay/StyxSystemUIOverlay/AndroidManifest.xml
+++ b/overlay/StyxSystemUIOverlay/AndroidManifest.xml
@@ -16,5 +16,5 @@
+ android:targetPackage="com.android.systemui" />
diff --git a/overlay/StyxSystemUIOverlay/res/values-night/colors.xml b/overlay/StyxSystemUIOverlay/res/values-night/colors.xml
new file mode 100644
index 000000000..a4888b576
--- /dev/null
+++ b/overlay/StyxSystemUIOverlay/res/values-night/colors.xml
@@ -0,0 +1,22 @@
+
+
+
+
+ @*android:color/primary_device_default_dark
+ @*android:color/surface_variant_dark
+ @*android:color/foreground_device_default_dark
+
+ @*android:color/surface_variant_dark
+ @*android:color/accent_device_default_dark
+
diff --git a/overlay/StyxSystemUIOverlay/res/values/colors.xml b/overlay/StyxSystemUIOverlay/res/values/colors.xml
new file mode 100644
index 000000000..5a74c091d
--- /dev/null
+++ b/overlay/StyxSystemUIOverlay/res/values/colors.xml
@@ -0,0 +1,25 @@
+
+
+
+
+ @*android:color/primary_device_default_light
+ @*android:color/surface_highlight_light
+ @*android:color/foreground_device_default_light
+
+ @*android:color/surface_highlight_light
+ @*android:color/accent_device_default_light
+
+
+ org.protonaosp.systemui.CustomSystemUIFactory
+
diff --git a/overlay/StyxSystemUIOverlay/res/values/dimens.xml b/overlay/StyxSystemUIOverlay/res/values/dimens.xml
new file mode 100644
index 000000000..ae1e6fb17
--- /dev/null
+++ b/overlay/StyxSystemUIOverlay/res/values/dimens.xml
@@ -0,0 +1,20 @@
+
+
+
+
+ 0dp
+
diff --git a/overlay/StyxSystemUIOverlay/res/values/flags.xml b/overlay/StyxSystemUIOverlay/res/values/flags.xml
index aa982b29b..770347e1d 100644
--- a/overlay/StyxSystemUIOverlay/res/values/flags.xml
+++ b/overlay/StyxSystemUIOverlay/res/values/flags.xml
@@ -16,6 +16,7 @@
-->
- true
+ true
+ true
true
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_android_auto.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_android_auto.xml
new file mode 100644
index 000000000..bb3e3cc40
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_android_auto.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_authenticator.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_authenticator.xml
new file mode 100644
index 000000000..4164356db
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_authenticator.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calculator.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calculator.xml
new file mode 100644
index 000000000..ac5404db3
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calculator.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_1.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_1.xml
new file mode 100644
index 000000000..605f0513c
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_1.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_10.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_10.xml
new file mode 100644
index 000000000..38ebe1235
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_10.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_11.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_11.xml
new file mode 100644
index 000000000..a5d3625c1
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_11.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_12.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_12.xml
new file mode 100644
index 000000000..a33b0f28d
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_12.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_13.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_13.xml
new file mode 100644
index 000000000..70624a7b3
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_13.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_14.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_14.xml
new file mode 100644
index 000000000..a05cd06ec
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_14.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_15.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_15.xml
new file mode 100644
index 000000000..16d8bac62
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_15.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_16.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_16.xml
new file mode 100644
index 000000000..f407323f2
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_16.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_17.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_17.xml
new file mode 100644
index 000000000..ee8d11160
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_17.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_18.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_18.xml
new file mode 100644
index 000000000..2baf479f8
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_18.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_19.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_19.xml
new file mode 100644
index 000000000..9738bd9b6
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_19.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_2.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_2.xml
new file mode 100644
index 000000000..9092320fb
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_2.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_20.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_20.xml
new file mode 100644
index 000000000..f2869bf8d
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_20.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_21.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_21.xml
new file mode 100644
index 000000000..fc1051a37
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_21.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_22.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_22.xml
new file mode 100644
index 000000000..f0b2e8a54
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_22.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_23.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_23.xml
new file mode 100644
index 000000000..1a35b33a8
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_23.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_24.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_24.xml
new file mode 100644
index 000000000..70c30248a
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_24.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_25.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_25.xml
new file mode 100644
index 000000000..8f13d81c6
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_25.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_26.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_26.xml
new file mode 100644
index 000000000..543d8b146
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_26.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_27.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_27.xml
new file mode 100644
index 000000000..d15ec724d
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_27.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_28.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_28.xml
new file mode 100644
index 000000000..2ff439dbe
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_28.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_29.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_29.xml
new file mode 100644
index 000000000..cff266320
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_29.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_3.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_3.xml
new file mode 100644
index 000000000..a28556a66
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_3.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_30.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_30.xml
new file mode 100644
index 000000000..4f752c569
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_30.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_31.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_31.xml
new file mode 100644
index 000000000..a0d424455
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_31.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_4.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_4.xml
new file mode 100644
index 000000000..0b002ebdf
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_4.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_5.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_5.xml
new file mode 100644
index 000000000..215c9e980
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_5.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_6.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_6.xml
new file mode 100644
index 000000000..3c6124466
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_6.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_7.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_7.xml
new file mode 100644
index 000000000..6044cc4b1
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_7.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_8.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_8.xml
new file mode 100644
index 000000000..049cd8f09
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_8.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_9.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_9.xml
new file mode 100644
index 000000000..61b01c9a4
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_calendar_9.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_camera.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_camera.xml
new file mode 100644
index 000000000..1a50272c2
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_camera.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_chrome.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_chrome.xml
new file mode 100644
index 000000000..23fca0a99
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_chrome.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_clock.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_clock.xml
new file mode 100644
index 000000000..aa6458c20
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_clock.xml
@@ -0,0 +1,23 @@
+
+
+ -
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_contacts.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_contacts.xml
new file mode 100644
index 000000000..dd9b284fc
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_contacts.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_dialer.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_dialer.xml
new file mode 100644
index 000000000..dd378eea9
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_dialer.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_docs_editors.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_docs_editors.xml
new file mode 100644
index 000000000..1ca8e11f2
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_docs_editors.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_drive.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_drive.xml
new file mode 100644
index 000000000..26e5468e9
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_drive.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_duo.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_duo.xml
new file mode 100644
index 000000000..1db691e0d
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_duo.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_family_link.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_family_link.xml
new file mode 100644
index 000000000..bbb6579c2
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_family_link.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_family_link_ct.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_family_link_ct.xml
new file mode 100644
index 000000000..c2d9de5c7
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_family_link_ct.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_files.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_files.xml
new file mode 100644
index 000000000..84f4752c3
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_files.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_find_my_device.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_find_my_device.xml
new file mode 100644
index 000000000..e28ddd8b0
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_find_my_device.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_g_translate.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_g_translate.xml
new file mode 100644
index 000000000..7a5a6c1b9
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_g_translate.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_gboard.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_gboard.xml
new file mode 100644
index 000000000..6b720d79c
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_gboard.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_gfit_health.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_gfit_health.xml
new file mode 100644
index 000000000..28fd25084
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_gfit_health.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_gmail.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_gmail.xml
new file mode 100644
index 000000000..d83672b16
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_gmail.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google.xml
new file mode 100644
index 000000000..26f853f43
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google_assistant.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google_assistant.xml
new file mode 100644
index 000000000..2af906767
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google_assistant.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google_fi.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google_fi.xml
new file mode 100644
index 000000000..e68ca0cdb
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google_fi.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google_one.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google_one.xml
new file mode 100644
index 000000000..22ce105e1
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google_one.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google_tv.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google_tv.xml
new file mode 100644
index 000000000..c2323a45b
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_google_tv.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_gpay.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_gpay.xml
new file mode 100644
index 000000000..b93097e8f
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_gpay.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_home.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_home.xml
new file mode 100644
index 000000000..cc6215c17
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_home.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_keep.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_keep.xml
new file mode 100644
index 000000000..78e9ff3c3
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_keep.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_lens.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_lens.xml
new file mode 100644
index 000000000..82d65bc94
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_lens.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_maps.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_maps.xml
new file mode 100644
index 000000000..974c26c4b
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_maps.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_meet.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_meet.xml
new file mode 100644
index 000000000..47ffec931
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_meet.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_messages.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_messages.xml
new file mode 100644
index 000000000..cc67b0070
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_messages.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_news.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_news.xml
new file mode 100644
index 000000000..1b6d92bba
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_news.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_photos.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_photos.xml
new file mode 100644
index 000000000..12451f812
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_photos.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_play_books.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_play_books.xml
new file mode 100644
index 000000000..fa1a32877
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_play_books.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_play_games.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_play_games.xml
new file mode 100644
index 000000000..f1afefa19
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_play_games.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_play_services.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_play_services.xml
new file mode 100644
index 000000000..0be2e7a28
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_play_services.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_play_store.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_play_store.xml
new file mode 100644
index 000000000..4095b0ca0
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_play_store.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_podcasts.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_podcasts.xml
new file mode 100644
index 000000000..4877d90af
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_podcasts.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_recorder.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_recorder.xml
new file mode 100644
index 000000000..7e5a4e2fa
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_recorder.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_safety.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_safety.xml
new file mode 100644
index 000000000..82a7cdfd9
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_safety.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_settings.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_settings.xml
new file mode 100644
index 000000000..3cff92cf6
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_settings.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_sheets.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_sheets.xml
new file mode 100644
index 000000000..3873cf76c
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_sheets.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_slides.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_slides.xml
new file mode 100644
index 000000000..c0043a6d7
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_slides.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_youtube.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_youtube.xml
new file mode 100644
index 000000000..f7960f95f
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_youtube.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_youtube_music.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_youtube_music.xml
new file mode 100644
index 000000000..aa4f53ea5
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_youtube_music.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_youtube_tv.xml b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_youtube_tv.xml
new file mode 100644
index 000000000..8ee05d9c2
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/drawable/themed_icon_youtube_tv.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/overlay/common/packages/apps/Launcher3/res/values/arrays.xml b/overlay/common/packages/apps/Launcher3/res/values/arrays.xml
new file mode 100644
index 000000000..778670cd6
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/values/arrays.xml
@@ -0,0 +1,47 @@
+
+
+ - @drawable/themed_icon_calendar_1
+ - @drawable/themed_icon_calendar_2
+ - @drawable/themed_icon_calendar_3
+ - @drawable/themed_icon_calendar_4
+ - @drawable/themed_icon_calendar_5
+ - @drawable/themed_icon_calendar_6
+ - @drawable/themed_icon_calendar_7
+ - @drawable/themed_icon_calendar_8
+ - @drawable/themed_icon_calendar_9
+ - @drawable/themed_icon_calendar_10
+ - @drawable/themed_icon_calendar_11
+ - @drawable/themed_icon_calendar_12
+ - @drawable/themed_icon_calendar_13
+ - @drawable/themed_icon_calendar_14
+ - @drawable/themed_icon_calendar_15
+ - @drawable/themed_icon_calendar_16
+ - @drawable/themed_icon_calendar_17
+ - @drawable/themed_icon_calendar_18
+ - @drawable/themed_icon_calendar_19
+ - @drawable/themed_icon_calendar_20
+ - @drawable/themed_icon_calendar_21
+ - @drawable/themed_icon_calendar_22
+ - @drawable/themed_icon_calendar_23
+ - @drawable/themed_icon_calendar_24
+ - @drawable/themed_icon_calendar_25
+ - @drawable/themed_icon_calendar_26
+ - @drawable/themed_icon_calendar_27
+ - @drawable/themed_icon_calendar_28
+ - @drawable/themed_icon_calendar_29
+ - @drawable/themed_icon_calendar_30
+ - @drawable/themed_icon_calendar_31
+
+
+ - com.android.launcher3.LEVEL_PER_TICK_ICON_ROUND
+ - @drawable/themed_icon_clock
+ - com.android.launcher3.HOUR_LAYER_INDEX
+ - 0
+ - com.android.launcher3.MINUTE_LAYER_INDEX
+ - 1
+ - com.android.launcher3.DEFAULT_HOUR
+ - 10
+ - com.android.launcher3.DEFAULT_MINUTE
+ - 10
+
+
diff --git a/overlay/common/packages/apps/Launcher3/res/values/config.xml b/overlay/common/packages/apps/Launcher3/res/values/config.xml
new file mode 100644
index 000000000..846ec0e46
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/values/config.xml
@@ -0,0 +1,20 @@
+
+
+
+ com.android.wallpaper
+ org.protonaosp.launcher3.ThemedLocalColorExtractor
+
diff --git a/overlay/common/packages/apps/Launcher3/res/values/dimens.xml b/overlay/common/packages/apps/Launcher3/res/values/dimens.xml
new file mode 100644
index 000000000..a140f05a2
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/values/dimens.xml
@@ -0,0 +1,3 @@
+
+ 24dp
+
diff --git a/overlay/common/packages/apps/Launcher3/res/xml/grayscale_icon_map.xml b/overlay/common/packages/apps/Launcher3/res/xml/grayscale_icon_map.xml
new file mode 100644
index 000000000..1bd382c82
--- /dev/null
+++ b/overlay/common/packages/apps/Launcher3/res/xml/grayscale_icon_map.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/overlay/overlays.mk b/overlay/overlays.mk
index a3e94296c..ffa545962 100644
--- a/overlay/overlays.mk
+++ b/overlay/overlays.mk
@@ -14,6 +14,8 @@
# limitations under the License.
#
+PRODUCT_PACKAGE_OVERLAYS += vendor/styx/overlay/common
+
PRODUCT_PACKAGES += \
StyxFrameworksOverlay \
StyxSystemUIOverlay
diff --git a/prebuilts/telephony/apns-conf.xml b/prebuilts/telephony/apns-conf.xml
index 3c779108e..3095b1d86 100644
--- a/prebuilts/telephony/apns-conf.xml
+++ b/prebuilts/telephony/apns-conf.xml
@@ -2961,26 +2961,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scripts/merge-aosp.sh b/scripts/merge-aosp.sh
index be142bc49..0047de44d 100755
--- a/scripts/merge-aosp.sh
+++ b/scripts/merge-aosp.sh
@@ -9,7 +9,7 @@ blu=$'\e[1;34m'
end=$'\e[0m'
REMOTE="styx"
-BRANCH="R"
+BRANCH="S"
BLACKLIST="manifest \
packages/apps/Gallery2"
diff --git a/soc/mediatek/mssi.mk b/soc/mediatek/mssi.mk
new file mode 100644
index 000000000..1ca7fef61
--- /dev/null
+++ b/soc/mediatek/mssi.mk
@@ -0,0 +1,29 @@
+#
+# Copyright (C) 2021 The Styx Project
+#
+# 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.
+#
+
+SOC_MTK_PATH := vendor/styx/soc/mediatek
+
+# Permissions
+PRODUCT_COPY_FILES += \
+ $(SOC_MTK_PATH)/permissions/privapp-permissions-mediatek.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-mediatek.xml \
+ $(SOC_MTK_PATH)/permissions/system-ext-permissions-mediatek.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/system-ext-permissions-mediatek.xml
+
+# Secure Computing (seccomp) Policies
+PRODUCT_COPY_FILES += \
+ $(SOC_MTK_PATH)/seccomp/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
+ $(SOC_MTK_PATH)/seccomp/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy \
+ $(SOC_MTK_PATH)/seccomp/mediaextractor.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaextractor.policy
+
diff --git a/soc/mediatek/permissions/privapp-permissions-mediatek.xml b/soc/mediatek/permissions/privapp-permissions-mediatek.xml
new file mode 100644
index 000000000..5f19d946e
--- /dev/null
+++ b/soc/mediatek/permissions/privapp-permissions-mediatek.xml
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soc/mediatek/permissions/system-ext-permissions-mediatek.xml b/soc/mediatek/permissions/system-ext-permissions-mediatek.xml
new file mode 100644
index 000000000..aa8e55cf5
--- /dev/null
+++ b/soc/mediatek/permissions/system-ext-permissions-mediatek.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soc/mediatek/seccomp/mediacodec.policy b/soc/mediatek/seccomp/mediacodec.policy
new file mode 100644
index 000000000..24f60efef
--- /dev/null
+++ b/soc/mediatek/seccomp/mediacodec.policy
@@ -0,0 +1,22 @@
+#Mediatek used system call
+getpid: 1
+gettid: 1
+sendto: 1
+pselect6: 1
+sched_getparam: 1
+sched_getscheduler: 1
+mlock: 1
+munlock: 1
+recvfrom: 1
+sched_getaffinity: 1
+sched_setaffinity: 1
+sched_getaffinity: 1
+flock: 1
+fchownat: 1
+fchmodat: 1
+fsync: 1
+sysinfo: 1
+setsockopt: 1
+setrlimit: 1
+eventfd2: 1
+unlinkat: 1
diff --git a/soc/mediatek/seccomp/mediaextractor.policy b/soc/mediatek/seccomp/mediaextractor.policy
new file mode 100644
index 000000000..3564ac968
--- /dev/null
+++ b/soc/mediatek/seccomp/mediaextractor.policy
@@ -0,0 +1,8 @@
+# MediaTek used system call
+gettimeofday: 1
+# for audio TableOfContent thread
+ioprio_set: 1
+unlinkat: 1
+setsockopt: 1
+clock_gettime: 1
+setrlimit: 1
diff --git a/soc/mediatek/seccomp/mediaswcodec.policy b/soc/mediatek/seccomp/mediaswcodec.policy
new file mode 100644
index 000000000..faaac02c8
--- /dev/null
+++ b/soc/mediatek/seccomp/mediaswcodec.policy
@@ -0,0 +1,2 @@
+#Mediatek used system call
+clock_nanosleep: 1
diff --git a/soc/qcom/config.fs b/soc/qcom/config.fs
new file mode 100644
index 000000000..11d82a2ec
--- /dev/null
+++ b/soc/qcom/config.fs
@@ -0,0 +1,224 @@
+[AID_VENDOR_QTI_DIAG]
+value:2901
+
+[AID_VENDOR_QDSS]
+value:2902
+
+[AID_VENDOR_RFS]
+value:2903
+
+[AID_VENDOR_RFS_SHARED]
+value:2904
+
+[AID_VENDOR_FASTRPC]
+value:2908
+
+[AID_VENDOR_ADPL_ODL]
+value:2905
+
+[AID_VENDOR_QRTR]
+value:2906
+
+[AID_VENDOR_THERMAL]
+value:2907
+
+[AID_VENDOR_QTR]
+value:2909
+
+[vendor/bin/wcnss_filter]
+mode: 0755
+user: AID_BLUETOOTH
+group: AID_BLUETOOTH
+caps: BLOCK_SUSPEND
+
+[system/vendor/bin/wcnss_filter]
+mode: 0755
+user: AID_BLUETOOTH
+group: AID_BLUETOOTH
+caps: BLOCK_SUSPEND
+
+[vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti]
+mode: 0755
+user: AID_BLUETOOTH
+group: AID_BLUETOOTH
+caps: BLOCK_SUSPEND NET_ADMIN
+
+[system/vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti]
+mode: 0755
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: BLOCK_SUSPEND NET_ADMIN
+
+[vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti-lazy]
+mode: 0755
+user: AID_BLUETOOTH
+group: AID_BLUETOOTH
+caps: BLOCK_SUSPEND NET_ADMIN
+
+[system/vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti-lazy]
+mode: 0755
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: BLOCK_SUSPEND NET_ADMIN
+
+[system/bin/cnss-daemon]
+mode: 0755
+user: AID_BLUETOOTH
+group: AID_BLUETOOTH
+caps: NET_BIND_SERVICE
+
+[vendor/bin/pm-service]
+mode: 0755
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: NET_BIND_SERVICE
+
+[system/vendor/bin/pm-service]
+mode: 0755
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: NET_BIND_SERVICE
+
+[system/bin/pm-service]
+mode: 0755
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: NET_BIND_SERVICE
+
+[vendor/bin/pd-mapper]
+mode: 0755
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: NET_BIND_SERVICE
+
+[system/vendor/bin/pd-mapper]
+mode: 0755
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: NET_BIND_SERVICE
+
+[system/bin/pd-mapper]
+mode: 0755
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: NET_BIND_SERVICE
+
+[vendor/bin/imsdatadaemon]
+mode: 0755
+user: AID_RADIO
+group: AID_RADIO
+caps: NET_BIND_SERVICE
+
+[system/vendor/bin/imsdatadaemon]
+mode: 0755
+user: AID_RADIO
+group: AID_RADIO
+caps: NET_BIND_SERVICE
+
+[vendor/bin/ims_rtp_daemon]
+mode: 0755
+user: AID_RADIO
+group: AID_RADIO
+caps: NET_BIND_SERVICE
+
+[system/vendor/bin/ims_rtp_daemon]
+mode: 0755
+user: AID_RADIO
+group: AID_RADIO
+caps: NET_BIND_SERVICE
+
+[vendor/bin/imsrcsd]
+mode: 0755
+user: AID_RADIO
+group: AID_RADIO
+caps: NET_BIND_SERVICE BLOCK_SUSPEND WAKE_ALARM
+
+[system/vendor/bin/imsrcsd]
+mode: 0755
+user: AID_RADIO
+group: AID_RADIO
+caps: NET_BIND_SERVICE BLOCK_SUSPEND WAKE_ALARM
+
+[vendor/bin/cnd]
+mode: 0755
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: NET_BIND_SERVICE BLOCK_SUSPEND NET_ADMIN
+
+[system/vendor/bin/cnd]
+mode: 0755
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: NET_BIND_SERVICE BLOCK_SUSPEND NET_ADMIN
+
+[vendor/bin/slim_daemon]
+mode: 0755
+user: AID_GPS
+group: AID_GPS
+caps: NET_BIND_SERVICE
+
+[system/vendor/bin/slim_daemon]
+mode: 0755
+user: AID_GPS
+group: AID_GPS
+caps: NET_BIND_SERVICE
+
+[vendor/bin/loc_launcher]
+mode: 0755
+user: AID_GPS
+group: AID_GPS
+caps: SETUID SETGID
+
+[system/vendor/bin/loc_launcher]
+mode: 0755
+user: AID_GPS
+group: AID_GPS
+caps: SETUID SETGID
+
+[vendor/bin/xtwifi-client]
+mode: 0755
+user: AID_GPS
+group: AID_GPS
+caps: NET_BIND_SERVICE BLOCK_SUSPEND WAKE_ALARM
+
+[vendor/bin/sensors.qti]
+mode: 0755
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: NET_BIND_SERVICE
+
+[firmware/]
+mode: 0771
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: 0
+
+[firmware/image/*]
+mode: 0771
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: 0
+
+[vendor/firmware_mnt/image/*]
+mode: 0771
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: 0
+
+[bt_firmware/]
+mode: 0771
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: 0
+
+[persist/]
+mode: 0771
+user: AID_SYSTEM
+group: AID_SYSTEM
+caps: 0
+
+[dsp/]
+mode: 0771
+user: AID_MEDIA
+group: AID_MEDIA
+caps: 0
diff --git a/soc/qcom/permissions/privapp-permissions-qti-system-ext.xml b/soc/qcom/permissions/privapp-permissions-qti-system-ext.xml
new file mode 100644
index 000000000..1e4cc25cd
--- /dev/null
+++ b/soc/qcom/permissions/privapp-permissions-qti-system-ext.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soc/qcom/permissions/privapp-permissions-qti.xml b/soc/qcom/permissions/privapp-permissions-qti.xml
new file mode 100644
index 000000000..75f7f1bf3
--- /dev/null
+++ b/soc/qcom/permissions/privapp-permissions-qti.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soc/qcom/qssi.mk b/soc/qcom/qssi.mk
new file mode 100644
index 000000000..d1ce288b5
--- /dev/null
+++ b/soc/qcom/qssi.mk
@@ -0,0 +1,35 @@
+#
+# Copyright (C) 2021 The Styx Project
+#
+# 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.
+#
+
+SOC_QC_PATH := vendor/styx/soc/qcom
+
+# Filesystem
+TARGET_FS_CONFIG_GEN := $(SOC_QC_PATH)/config.fs
+
+# Permissions
+PRODUCT_COPY_FILES += \
+ $(SOC_QC_PATH)/permissions/privapp-permissions-qti.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/permissions/privapp-permissions-qti.xml \
+ $(SOC_QC_PATH)/permissions/privapp-permissions-qti-system-ext.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/privapp-permissions-qti-system-ext.xml
+
+# Whitelists
+PRODUCT_COPY_FILES += \
+ $(SOC_QC_PATH)/whitelists/qti_whitelist.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/sysconfig/qti_whitelist.xml \
+ $(SOC_QC_PATH)/whitelists/qti_whitelist_system_ext.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/sysconfig/qti_whitelist_system_ext.xml
+
+# QTI VNDK Framework Detect
+PRODUCT_PACKAGES += \
+ libvndfwk_detect_jni.qti.vendor \
+ libqti_vndfwk_detect.vendor
diff --git a/soc/qcom/whitelists/qti_whitelist.xml b/soc/qcom/whitelists/qti_whitelist.xml
new file mode 100644
index 000000000..0d0d83d24
--- /dev/null
+++ b/soc/qcom/whitelists/qti_whitelist.xml
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/soc/qcom/whitelists/qti_whitelist_system_ext.xml b/soc/qcom/whitelists/qti_whitelist_system_ext.xml
new file mode 100644
index 000000000..59c3f63a2
--- /dev/null
+++ b/soc/qcom/whitelists/qti_whitelist_system_ext.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
diff --git a/soc/soc.mk b/soc/soc.mk
new file mode 100644
index 000000000..3ab0baeb5
--- /dev/null
+++ b/soc/soc.mk
@@ -0,0 +1,25 @@
+#
+# Copyright (C) 2021 The Styx Project
+#
+# 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.
+#
+
+# Inherit Qualcomm board stuff
+ifeq ($(TARGET_USES_QCOM_CHIPSET), true)
+$(call inherit-product, vendor/styx/soc/qcom/qssi.mk)
+endif
+
+# Inherit MediaTek board stuff
+ifeq ($(TARGET_USES_MEDIATEK_CHIPSET), true)
+$(call inherit-product, vendor/styx/soc/mediatek/mssi.mk)
+endif