Dialer: Switch from makefile to blueprint

Change-Id: Iab9df52033bbc671ccd42c42f838b3227dd510ab
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..93a1858
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,291 @@
+//
+// SPDX-FileCopyrightText: 2023 The LineageOS Project
+// SPDX-License-Identifier: Apache-2.0
+//
+
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+android_app {
+    name: "Dialer",
+    aaptflags: [
+        "--auto-add-overlay",
+        "--extra-packages com.android.contacts.common",
+        "--extra-packages com.android.dialer.app",
+        "--extra-packages com.android.dialer.assisteddialing",
+        "--extra-packages com.android.dialer.assisteddialing.ui",
+        "--extra-packages com.android.dialer.blocking",
+        "--extra-packages com.android.dialer.blockreportspam",
+        "--extra-packages com.android.dialer.calldetails",
+        "--extra-packages com.android.dialer.calllog.database",
+        "--extra-packages com.android.dialer.calllog.ui",
+        "--extra-packages com.android.dialer.calllog.ui.menu",
+        "--extra-packages com.android.dialer.calllogutils",
+        "--extra-packages com.android.dialer.clipboard",
+        "--extra-packages com.android.dialer.common",
+        "--extra-packages com.android.dialer.contactphoto",
+        "--extra-packages com.android.dialer.contacts.displaypreference",
+        "--extra-packages com.android.dialer.contacts.resources",
+        "--extra-packages com.android.dialer.contactsfragment",
+        "--extra-packages com.android.dialer.databasepopulator",
+        "--extra-packages com.android.dialer.dialpadview",
+        "--extra-packages com.android.dialer.dialpadview.theme",
+        "--extra-packages com.android.dialer.glidephotomanager.impl",
+        "--extra-packages com.android.dialer.historyitemactions",
+        "--extra-packages com.android.dialer.interactions",
+        "--extra-packages com.android.dialer.lettertile",
+        "--extra-packages com.android.dialer.location",
+        "--extra-packages com.android.dialer.main.impl",
+        "--extra-packages com.android.dialer.main.impl.bottomnav",
+        "--extra-packages com.android.dialer.main.impl.toolbar",
+        "--extra-packages com.android.dialer.notification",
+        "--extra-packages com.android.dialer.oem",
+        "--extra-packages com.android.dialer.phonelookup.database",
+        "--extra-packages com.android.dialer.phonenumberutil",
+        "--extra-packages com.android.dialer.postcall",
+        "--extra-packages com.android.dialer.precall.externalreceiver",
+        "--extra-packages com.android.dialer.precall.impl",
+        "--extra-packages com.android.dialer.preferredsim.impl",
+        "--extra-packages com.android.dialer.preferredsim.suggestion",
+        "--extra-packages com.android.dialer.promotion.impl",
+        "--extra-packages com.android.dialer.rtt",
+        "--extra-packages com.android.dialer.searchfragment.common",
+        "--extra-packages com.android.dialer.searchfragment.cp2",
+        "--extra-packages com.android.dialer.searchfragment.directories",
+        "--extra-packages com.android.dialer.searchfragment.list",
+        "--extra-packages com.android.dialer.searchfragment.nearbyplaces",
+        "--extra-packages com.android.dialer.shortcuts",
+        "--extra-packages com.android.dialer.simulator.impl",
+        "--extra-packages com.android.dialer.simulator.service",
+        "--extra-packages com.android.dialer.spannable",
+        "--extra-packages com.android.dialer.speeddial",
+        "--extra-packages com.android.dialer.theme",
+        "--extra-packages com.android.dialer.theme.base",
+        "--extra-packages com.android.dialer.theme.base.impl",
+        "--extra-packages com.android.dialer.theme.common",
+        "--extra-packages com.android.dialer.theme.hidden",
+        "--extra-packages com.android.dialer.util",
+        "--extra-packages com.android.dialer.voicemail.listui",
+        "--extra-packages com.android.dialer.voicemail.listui.error",
+        "--extra-packages com.android.dialer.voicemail.settings",
+        "--extra-packages com.android.dialer.voicemailstatus",
+        "--extra-packages com.android.dialer.widget",
+        "--extra-packages com.android.incallui",
+        "--extra-packages com.android.incallui.answer.impl",
+        "--extra-packages com.android.incallui.answer.impl.affordance",
+        "--extra-packages com.android.incallui.answer.impl.answermethod",
+        "--extra-packages com.android.incallui.answer.impl.hint",
+        "--extra-packages com.android.incallui.audioroute",
+        "--extra-packages com.android.incallui.autoresizetext",
+        "--extra-packages com.android.incallui.callpending",
+        "--extra-packages com.android.incallui.commontheme",
+        "--extra-packages com.android.incallui.contactgrid",
+        "--extra-packages com.android.incallui.disconnectdialog",
+        "--extra-packages com.android.incallui.hold",
+        "--extra-packages com.android.incallui.incall.impl",
+        "--extra-packages com.android.incallui.rtt.impl",
+        "--extra-packages com.android.incallui.rtt.protocol",
+        "--extra-packages com.android.incallui.sessiondata",
+        "--extra-packages com.android.incallui.spam",
+        "--extra-packages com.android.incallui.speakerbuttonlogic",
+        "--extra-packages com.android.incallui.telecomeventui",
+        "--extra-packages com.android.incallui.video.impl",
+        "--extra-packages com.android.incallui.video.protocol",
+        "--extra-packages com.android.voicemail",
+        "--extra-packages com.android.voicemail.impl",
+        "--extra-packages com.android.voicemail.impl.configui",
+    ],
+    additional_manifests: [
+        "assets/quantum/AndroidManifest.xml",
+        "java/**/AndroidManifest.xml",
+    ],
+    aidl: {
+        local_include_dirs: ["java"],
+    },
+    certificate: "shared",
+    exclude_srcs: ["java/com/android/dialer/rootcomponentgenerator/*.java"],
+    libs: [
+        "auto_value_annotations",
+        "org.apache.http.legacy",
+    ],
+    optimize: {
+        proguard_flags_files: [
+            "java/com/android/dialer/common/proguard.flags",
+            "java/com/android/dialer/proguard/proguard.flags",
+            "java/com/android/dialer/proguard/proguard_base.flags",
+            "java/com/android/dialer/proguard/proguard_release.flags",
+            "java/com/android/incallui/answer/impl/proguard.flags",
+            "java/com/android/voicemail/impl/proguard.flags",
+            "proguard.flags",
+        ],
+    },
+    optional_uses_libs: ["org.apache.http.legacy"],
+    plugins: [
+        "auto_value_plugin",
+        "dagger2-compiler",
+        "dialer-rootcomponentprocessor",
+        "glide-annotation-processor",
+    ],
+    privileged: true,
+    product_specific: true,
+    required: [
+        "privapp_whitelist_com.android.dialer",
+        "privapp_whitelist_com.android.dialer-ext.xml",
+    ],
+    resource_dirs: [
+        "assets/quantum/res",
+        "java/com/android/contacts/common/res",
+        "java/com/android/dialer/app/res",
+        "java/com/android/dialer/assisteddialing/res",
+        "java/com/android/dialer/assisteddialing/ui/res",
+        "java/com/android/dialer/blocking/res",
+        "java/com/android/dialer/blockreportspam/res",
+        "java/com/android/dialer/calldetails/res",
+        "java/com/android/dialer/calllog/ui/menu/res",
+        "java/com/android/dialer/calllogutils/res",
+        "java/com/android/dialer/callrecord/res",
+        "java/com/android/dialer/callstats/res",
+        "java/com/android/dialer/clipboard/res",
+        "java/com/android/dialer/common/res",
+        "java/com/android/dialer/contactphoto/res",
+        "java/com/android/dialer/contacts/displaypreference/res",
+        "java/com/android/dialer/contacts/resources/res",
+        "java/com/android/dialer/contactsfragment/res",
+        "java/com/android/dialer/dialpadview/res",
+        "java/com/android/dialer/dialpadview/theme/res",
+        "java/com/android/dialer/glidephotomanager/impl/res",
+        "java/com/android/dialer/helplines/res",
+        "java/com/android/dialer/historyitemactions/res",
+        "java/com/android/dialer/interactions/res",
+        "java/com/android/dialer/lettertile/res",
+        "java/com/android/dialer/lookup/res",
+        "java/com/android/dialer/main/impl/bottomnav/res",
+        "java/com/android/dialer/main/impl/res",
+        "java/com/android/dialer/main/impl/toolbar/res",
+        "java/com/android/dialer/notification/res",
+        "java/com/android/dialer/oem/res",
+        "java/com/android/dialer/phonenumberutil/res",
+        "java/com/android/dialer/postcall/res",
+        "java/com/android/dialer/precall/impl/res",
+        "java/com/android/dialer/preferredsim/impl/res",
+        "java/com/android/dialer/preferredsim/suggestion/res",
+        "java/com/android/dialer/promotion/impl/res",
+        "java/com/android/dialer/rtt/res",
+        "java/com/android/dialer/searchfragment/common/res",
+        "java/com/android/dialer/searchfragment/cp2/res",
+        "java/com/android/dialer/searchfragment/directories/res",
+        "java/com/android/dialer/searchfragment/list/res",
+        "java/com/android/dialer/searchfragment/nearbyplaces/res",
+        "java/com/android/dialer/searchfragment/remote/res",
+        "java/com/android/dialer/shortcuts/res",
+        "java/com/android/dialer/spannable/res",
+        "java/com/android/dialer/speeddial/res",
+        "java/com/android/dialer/theme/base/res",
+        "java/com/android/dialer/theme/common/res",
+        "java/com/android/dialer/theme/hidden/res",
+        "java/com/android/dialer/theme/res",
+        "java/com/android/dialer/util/res",
+        "java/com/android/dialer/voicemail/listui/error/res",
+        "java/com/android/dialer/voicemail/listui/res",
+        "java/com/android/dialer/voicemail/settings/res",
+        "java/com/android/dialer/widget/res",
+        "java/com/android/incallui/answer/impl/affordance/res",
+        "java/com/android/incallui/answer/impl/answermethod/res",
+        "java/com/android/incallui/answer/impl/res",
+        "java/com/android/incallui/audioroute/res",
+        "java/com/android/incallui/autoresizetext/res",
+        "java/com/android/incallui/callpending/res",
+        "java/com/android/incallui/commontheme/res",
+        "java/com/android/incallui/contactgrid/res",
+        "java/com/android/incallui/disconnectdialog/res",
+        "java/com/android/incallui/hold/res",
+        "java/com/android/incallui/incall/impl/res",
+        "java/com/android/incallui/res",
+        "java/com/android/incallui/rtt/impl/res",
+        "java/com/android/incallui/sessiondata/res",
+        "java/com/android/incallui/spam/res",
+        "java/com/android/incallui/speakerbuttonlogic/res",
+        "java/com/android/incallui/telecomeventui/res",
+        "java/com/android/incallui/theme/res",
+        "java/com/android/incallui/video/impl/res",
+        "java/com/android/incallui/video/protocol/res",
+        "java/com/android/voicemail/impl/configui/res",
+        "java/com/android/voicemail/impl/res",
+    ],
+    sdk_version: "system_current",
+    srcs: [
+        "java/**/I*.aidl",
+        "java/**/*.java",
+    ],
+    static_libs: [
+        "android-common",
+        "androidx.annotation_annotation",
+        "androidx.appcompat_appcompat",
+        "androidx.cardview_cardview",
+        "androidx.collection_collection",
+        "androidx.coordinatorlayout_coordinatorlayout",
+        "androidx.dynamicanimation_dynamicanimation",
+        "androidx.exifinterface_exifinterface",
+        "androidx.fragment_fragment",
+        "androidx.localbroadcastmanager_localbroadcastmanager",
+        "androidx.preference_preference",
+        "androidx.recyclerview_recyclerview",
+        "apache-commons-compress",
+        "com.google.android.material_material",
+        "dagger2",
+        "dialer-apache-mime4j-core",
+        "dialer-apache-mime4j-dom",
+        "dialer-commons-io",
+        "dialer-protos",
+        "error_prone_annotations",
+        "glide-annotation-and-compiler-prebuilt",
+        "glide-disklrucache-prebuilt",
+        "glide-gifdecoder-prebuilt",
+        "glide-prebuilt",
+        "guava",
+        "jsr305",
+        "jsr330",
+        "libphonenumber",
+        "org.lineageos.lib.phone",
+        "volley",
+    ],
+    use_embedded_native_libs: true,
+}
+
+java_library {
+    name: "dialer-protos",
+    proto: {
+        canonical_path_from_root: false,
+        type: "lite",
+    },
+    sdk_version: "system_current",
+    srcs: ["java/**/*.proto",],
+    static_libs: ["libprotobuf-java-lite"],
+}
+
+java_plugin {
+    name: "dialer-rootcomponentprocessor",
+    processor_class: "com.android.dialer.rootcomponentgenerator.RootComponentProcessor",
+    srcs: [
+        "java/com/android/dialer/rootcomponentgenerator/*.java",
+        "java/com/android/dialer/inject/HasRootComponent.java",
+        "java/com/android/dialer/inject/IncludeInDialerRoot.java",
+        "java/com/android/dialer/inject/RootComponentGeneratorMetadata.java",
+    ],
+    static_libs: [
+        "auto_common",
+        "auto_service_annotations",
+        "dagger2",
+        "guava",
+        "javapoet",
+        "jsr330",
+    ],
+}
+
+prebuilt_etc {
+    name: "privapp_whitelist_com.android.dialer-ext.xml",
+    product_specific: true,
+    src: "privapp_whitelist_com.android.dialer-ext.xml",
+    sub_dir: "permissions",
+}
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index c0d9bff..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,156 +0,0 @@
-# Local modifications:
-# * removed com.google.android.geo.API_KEY key. This should be added to
-#      the manifest files in java/com/android/incallui/calllocation/impl/
-#      and /java/com/android/incallui/maps/impl/
-# * b/62417801 modify translation string naming convention:
-#      $ find . -type d | grep 262 | rename 's/(values)\-([a-zA-Z\+\-]+)\-(mcc262-mnc01)/$1-$3-$2/'
-# * b/37077388 temporarily disable proguard with javac
-# * b/62875795 include manually generated GRPC service class:
-#      $ protoc --plugin=protoc-gen-grpc-java=prebuilts/tools/common/m2/repository/io/grpc/protoc-gen-grpc-java/1.0.3/protoc-gen-grpc-java-1.0.3-linux-x86_64.exe \
-#               --grpc-java_out=lite:"packages/apps/Dialer/java/com/android/voicemail/impl/" \
-#               --proto_path="packages/apps/Dialer/java/com/android/voicemail/impl/transcribe/grpc/" "packages/apps/Dialer/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto"
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# The base directory for Dialer sources.
-BASE_DIR := java/com/android
-
-# Exclude testing only class, not used anywhere here
-EXCLUDE_FILES += \
-	$(BASE_DIR)/contacts/common/format/testing/SpannedTestUtils.java
-
-# Exclude rootcomponentgenerator
-EXCLUDE_FILES += \
-	$(call all-java-files-under, $(BASE_DIR)/dialer/rootcomponentgenerator) \
-
-# All Dialer resources.
-RES_DIRS := $(call all-subdir-named-dirs,res,.)
-
-# Dialer manifest files to merge.
-DIALER_MANIFEST_FILES := $(call all-named-files-under,AndroidManifest.xml,.)
-
-# Merge all manifest files.
-LOCAL_FULL_LIBS_MANIFEST_FILES := \
-	$(addprefix $(LOCAL_PATH)/, $(DIALER_MANIFEST_FILES))
-
-LOCAL_SRC_FILES := $(call all-java-files-under, $(BASE_DIR))
-LOCAL_SRC_FILES += $(call all-proto-files-under, $(BASE_DIR))
-LOCAL_SRC_FILES += $(call all-Iaidl-files-under, $(BASE_DIR))
-LOCAL_AIDL_INCLUDES :=  $(LOCAL_PATH)/java/
-LOCAL_SRC_FILES := $(filter-out $(EXCLUDE_FILES),$(LOCAL_SRC_FILES))
-
-LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/java
-
-LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)
-
-LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(RES_DIRS))
-
-# We specify each package explicitly to glob resource files.
-include ${LOCAL_PATH}/packages.mk
-
-LOCAL_AAPT_FLAGS := $(addprefix --extra-packages , $(LOCAL_AAPT_FLAGS))
-LOCAL_AAPT_FLAGS += \
-	--auto-add-overlay \
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-	android-common \
-	dialer-common-m2-target-deps \
-	dialer-glide-target-deps \
-	error_prone_annotations \
-	jsr305 \
-	libphonenumber \
-	volley \
-	org.lineageos.lib.phone \
-	androidx.annotation_annotation \
-	androidx.cardview_cardview \
-	androidx.collection_collection \
-	androidx.coordinatorlayout_coordinatorlayout \
-	androidx.core_core \
-	androidx.dynamicanimation_dynamicanimation \
-	androidx.localbroadcastmanager_localbroadcastmanager \
-	androidx.preference_preference \
-	androidx.recyclerview_recyclerview \
-	com.google.android.material_material
-
-LOCAL_JAVA_LIBRARIES := \
-	auto_value_annotations \
-	org.apache.http.legacy \
-
-LOCAL_ANNOTATION_PROCESSORS := \
-	auto_value_plugin \
-	javapoet \
-	dialer-common-m2-host-deps \
-	dialer-dagger2-compiler-deps \
-	dialer-glide-host-deps \
-	dialer-rootcomponentprocessor
-
-LOCAL_ANNOTATION_PROCESSOR_CLASSES := \
-  com.google.auto.value.processor.AutoValueProcessor,dagger.internal.codegen.ComponentProcessor,com.bumptech.glide.annotation.compiler.GlideAnnotationProcessor,com.android.dialer.rootcomponentgenerator.RootComponentProcessor
-
-# Proguard includes
-LOCAL_PROGUARD_FLAG_FILES := proguard.flags $(call all-named-files-under,proguard.*flags,$(BASE_DIR))
-LOCAL_PROGUARD_ENABLED := custom
-
-LOCAL_PROGUARD_ENABLED += optimization
-
-LOCAL_SDK_VERSION := system_current
-LOCAL_MODULE_TAGS := optional
-LOCAL_PACKAGE_NAME := Dialer
-LOCAL_CERTIFICATE := shared
-LOCAL_PRIVILEGED_MODULE := true
-LOCAL_PRODUCT_MODULE := true
-LOCAL_USE_AAPT2 := true
-LOCAL_REQUIRED_MODULES := privapp_whitelist_com.android.dialer
-LOCAL_REQUIRED_MODULES += privapp_whitelist_com.android.dialer-ext.xml
-LOCAL_USES_LIBRARIES := org.apache.http.legacy
-
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
-include $(BUILD_PACKAGE)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := privapp_whitelist_com.android.dialer-ext.xml
-LOCAL_MODULE_CLASS := ETC
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT_ETC)/permissions
-LOCAL_PRODUCT_MODULE := true
-LOCAL_SRC_FILES := $(LOCAL_MODULE)
-include $(BUILD_PREBUILT)
-
-# Cleanup local state
-BASE_DIR :=
-EXCLUDE_FILES :=
-RES_DIRS :=
-DIALER_MANIFEST_FILES :=
-EXCLUDE_MANIFESTS :=
-EXCLUDE_EXTRA_PACKAGES :=
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := dialer-rootcomponentprocessor
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/LICENSE
-LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-LOCAL_IS_HOST_MODULE := true
-BASE_DIR := java/com/android
-
-LOCAL_SRC_FILES := \
-	$(call all-java-files-under, $(BASE_DIR)/dialer/rootcomponentgenerator) \
-        $(BASE_DIR)/dialer/inject/HasRootComponent.java \
-        $(BASE_DIR)/dialer/inject/IncludeInDialerRoot.java \
-        $(BASE_DIR)/dialer/inject/RootComponentGeneratorMetadata.java
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-	dialer-common-m2-host-deps \
-	javapoet \
-	auto_service_annotations \
-	auto_common \
-	error_prone_annotations
-
-LOCAL_JAVA_LANGUAGE_VERSION := 1.8
-
-include $(BUILD_HOST_JAVA_LIBRARY)
-
-include $(CLEAR_VARS)
diff --git a/packages.mk b/packages.mk
deleted file mode 100644
index 892ca20..0000000
--- a/packages.mk
+++ /dev/null
@@ -1,97 +0,0 @@
-# Update this when adding a new AndroidManifest.xml.
-LOCAL_AAPT_FLAGS := \
-	com.android.assets.product \
-	com.android.assets.quantum \
-	com.android.contacts.common \
-	com.android.dialer.about \
-	com.android.dialer.app \
-	com.android.dialer.app.manifests.activities \
-	com.android.dialer.assisteddialing \
-	com.android.dialer.assisteddialing.ui \
-	com.android.dialer.backup \
-	com.android.dialer.blocking \
-	com.android.dialer.blockreportspam \
-	com.android.dialer.calldetails \
-	com.android.dialer.calllog.config \
-	com.android.dialer.calllog.database \
-	com.android.dialer.calllog.ui \
-	com.android.dialer.calllog.ui.menu \
-	com.android.dialer.calllogutils \
-	com.android.dialer.clipboard \
-	com.android.dialer.common \
-	com.android.dialer.common.concurrent.testing \
-	com.android.dialer.common.preference \
-	com.android.dialer.contacts.displaypreference \
-	com.android.dialer.contacts.resources \
-	com.android.dialer.contactphoto \
-	com.android.dialer.contactsfragment \
-	com.android.dialer.databasepopulator \
-	com.android.dialer.dialpadview \
-	com.android.dialer.dialpadview.theme \
-	com.android.dialer.glidephotomanager.impl \
-  com.android.dialer.historyitemactions \
-	com.android.dialer.interactions \
-	com.android.dialer.lettertile \
-	com.android.dialer.location \
-	com.android.dialer.main.impl \
-	com.android.dialer.main.impl.toolbar \
-	com.android.dialer.main.impl.bottomnav \
-	com.android.dialer.notification \
-	com.android.dialer.oem \
-	com.android.dialer.phonelookup.database \
-	com.android.dialer.phonenumberutil \
-	com.android.dialer.postcall \
-	com.android.dialer.precall.impl \
-	com.android.dialer.precall.externalreceiver \
-	com.android.dialer.preferredsim.impl \
-	com.android.dialer.preferredsim.suggestion \
-	com.android.dialer.promotion.impl \
-	com.android.dialer.rtt \
-	com.android.dialer.searchfragment.common \
-	com.android.dialer.searchfragment.cp2 \
-	com.android.dialer.searchfragment.directories \
-	com.android.dialer.searchfragment.list \
-	com.android.dialer.searchfragment.nearbyplaces \
-	com.android.dialer.searchfragment.remote \
-	com.android.dialer.shortcuts \
-	com.android.dialer.simulator.impl \
-	com.android.dialer.simulator.service \
-	com.android.dialer.speeddial \
-	com.android.dialer.spannable \
-	com.android.dialer.theme \
-	com.android.dialer.theme.base \
-	com.android.dialer.theme.base.impl \
-	com.android.dialer.theme.common \
-	com.android.dialer.theme.hidden \
-	com.android.dialer.util \
-	com.android.dialer.voicemail.listui \
-	com.android.dialer.voicemail.listui.error \
-	com.android.dialer.voicemail.listui.menu \
-	com.android.dialer.voicemail.settings \
-	com.android.dialer.voicemailstatus \
-	com.android.dialer.widget \
-	com.android.incallui \
-	com.android.incallui.answer.impl.affordance \
-	com.android.incallui.answer.impl \
-	com.android.incallui.answer.impl.answermethod \
-	com.android.incallui.answer.impl.hint \
-	com.android.incallui.audioroute \
-	com.android.incallui.autoresizetext \
-	com.android.incallui.callpending \
-	com.android.incallui.commontheme \
-	com.android.incallui.contactgrid \
-	com.android.incallui.disconnectdialog \
-	com.android.incallui.hold \
-	com.android.incallui.incall.impl \
-	com.android.incallui.rtt.impl \
-	com.android.incallui.rtt.protocol \
-	com.android.incallui.sessiondata \
-	com.android.incallui.spam \
-	com.android.incallui.speakerbuttonlogic \
-	com.android.incallui.telecomeventui \
-	com.android.incallui.video.impl \
-	com.android.incallui.video.protocol \
-	com.android.phoneapphelper \
-	com.android.voicemail \
-	com.android.voicemail.impl \
-	com.android.voicemail.impl.configui \
diff --git a/prebuilts/Android.bp b/prebuilts/Android.bp
new file mode 100644
index 0000000..1e6f6b6
--- /dev/null
+++ b/prebuilts/Android.bp
@@ -0,0 +1,34 @@
+//
+// SPDX-FileCopyrightText: 2023 The LineageOS Project
+// SPDX-License-Identifier: Apache-2.0
+//
+
+java_import {
+    name: "dialer-apache-mime4j-core",
+    apex_available: [
+        "//apex_available:platform",
+        "//apex_available:anyapex",
+    ],
+    jars: ["apache-mime4j-core-0.8.9.jar"],
+    sdk_version: "current",
+}
+
+java_import {
+    name: "dialer-apache-mime4j-dom",
+    apex_available: [
+        "//apex_available:platform",
+        "//apex_available:anyapex",
+    ],
+    jars: ["apache-mime4j-dom-0.8.9.jar"],
+    sdk_version: "current",
+}
+
+java_import {
+    name: "dialer-commons-io",
+    apex_available: [
+        "//apex_available:platform",
+        "//apex_available:anyapex",
+    ],
+    jars: ["commons-io-2.13.0.jar"],
+    sdk_version: "current",
+}
diff --git a/prebuilts/apache-mime4j-core-0.8.9.jar b/prebuilts/apache-mime4j-core-0.8.9.jar
new file mode 100644
index 0000000..6d09681
--- /dev/null
+++ b/prebuilts/apache-mime4j-core-0.8.9.jar
Binary files differ
diff --git a/prebuilts/apache-mime4j-dom-0.8.9.jar b/prebuilts/apache-mime4j-dom-0.8.9.jar
new file mode 100644
index 0000000..ce90724
--- /dev/null
+++ b/prebuilts/apache-mime4j-dom-0.8.9.jar
Binary files differ
diff --git a/prebuilts/commons-io-2.13.0.jar b/prebuilts/commons-io-2.13.0.jar
new file mode 100644
index 0000000..eb316f4
--- /dev/null
+++ b/prebuilts/commons-io-2.13.0.jar
Binary files differ