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",
+}