Convert Dialer to Android.bp

BYPASS_INCLUSIVE_LANGUAGE_REASON=Android.bp conversion

Bug: 341232521
Test: m Dialer
Change-Id: Ie9d97bf949ad0d5e46d4bed4359d5e1b7da71f47
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..8c5e5ea
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,371 @@
+//
+// Copyright (C) 2024 The Android Open Source 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.
+//
+
+package {
+    default_applicable_licenses: ["Android-Apache-2.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"
+
+// Extracted from previous packages.mk and subtracted EXCLUDE_EXTRA_PACKAGES.
+EXTRA_PACKAGE_FLAGS = [
+    "--auto-add-overlay",
+    "--extra-packages com.android.assets.product",
+    "--extra-packages com.android.assets.quantum",
+    "--extra-packages com.android.bubble",
+    "--extra-packages com.android.contacts.common",
+    "--extra-packages com.android.dialer.about",
+    "--extra-packages com.android.dialer.app",
+    "--extra-packages com.android.dialer.app.manifests.activities",
+    "--extra-packages com.android.dialer.assisteddialing",
+    "--extra-packages com.android.dialer.assisteddialing.ui",
+    "--extra-packages com.android.dialer.backup",
+    "--extra-packages com.android.dialer.blocking",
+    "--extra-packages com.android.dialer.blockreportspam",
+    "--extra-packages com.android.dialer.callcomposer",
+    "--extra-packages com.android.dialer.callcomposer.camera",
+    "--extra-packages com.android.dialer.callcomposer.camera.camerafocus",
+    "--extra-packages com.android.dialer.callcomposer.cameraui",
+    "--extra-packages com.android.dialer.calldetails",
+    "--extra-packages com.android.dialer.calllog.config",
+    "--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.commandline",
+    "--extra-packages com.android.dialer.common",
+    "--extra-packages com.android.dialer.common.concurrent.testing",
+    "--extra-packages com.android.dialer.common.preference",
+    "--extra-packages com.android.dialer.configprovider",
+    "--extra-packages com.android.dialer.contacts.displaypreference",
+    "--extra-packages com.android.dialer.contacts.resources",
+    "--extra-packages com.android.dialer.contactphoto",
+    "--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.enrichedcall.simulator",
+    "--extra-packages com.android.dialer.feedback",
+    "--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.toolbar",
+    "--extra-packages com.android.dialer.main.impl.bottomnav",
+    "--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.impl",
+    "--extra-packages com.android.dialer.precall.externalreceiver",
+    "--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.searchfragment.remote",
+    "--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.spam.promo",
+    "--extra-packages com.android.dialer.speeddial",
+    "--extra-packages com.android.dialer.spannable",
+    "--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.listui.menu",
+    "--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.affordance",
+    "--extra-packages com.android.incallui.answer.impl",
+    "--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.speakeasy",
+    "--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.phoneapphelper",
+    "--extra-packages com.android.voicemail",
+    "--extra-packages com.android.voicemail.impl",
+    "--extra-packages com.android.voicemail.impl.configui",
+    "--extra-packages me.leolin.shortcutbadger",
+]
+
+filegroup {
+    name: "dialer_manifests",
+    srcs: ["**/AndroidManifest.xml"],
+    exclude_srcs: [
+        "java/com/android/dialer/binary/aosp/testing/AndroidManifest.xml",
+        "java/com/android/dialer/binary/google/AndroidManifest.xml",
+        "java/com/android/incallui/calllocation/impl/AndroidManifest.xml",
+        "java/com/android/incallui/maps/impl/AndroidManifest.xml",
+    ],
+}
+
+// Subtraction(RES_DIRS - EXCLUDE_RESOURCE_DIRECTORIES).
+RES_DIRS = [
+    "assets/product/res",
+    "assets/quantum/res",
+    "java/com/android/contacts/common/res",
+    "java/com/android/dialer/about/res",
+    "java/com/android/dialer/app/res",
+    "java/com/android/dialer/app/voicemail/error/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/callcomposer/camera/camerafocus/res",
+    "java/com/android/dialer/callcomposer/cameraui/res",
+    "java/com/android/dialer/callcomposer/res",
+    "java/com/android/dialer/calldetails/res",
+    "java/com/android/dialer/calllog/ui/menu/res",
+    "java/com/android/dialer/calllog/ui/res",
+    "java/com/android/dialer/calllogutils/res",
+    "java/com/android/dialer/clipboard/res",
+    "java/com/android/dialer/common/preference/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/enrichedcall/simulator/res",
+    "java/com/android/dialer/glidephotomanager/impl/res",
+    "java/com/android/dialer/historyitemactions/res",
+    "java/com/android/dialer/interactions/res",
+    "java/com/android/dialer/lettertile/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/spam/promo/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/hint/res",
+    "java/com/android/incallui/answer/impl/res",
+    "java/com/android/incallui/audioroute/res",
+    "java/com/android/incallui/autoresizetext/res",
+    "java/com/android/incallui/calllocation/impl/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",
+]
+
+android_app {
+    name: "Dialer",
+    srcs: [
+        "java/com/android/**/*.java",
+        "java/com/android/**/*.proto",
+        "java/com/android/**/*.aidl",
+    ],
+    exclude_srcs: [
+        // Exclude files incompatible with AOSP.
+        "java/com/android/incallui/calllocation/impl/AuthException.java",
+        "java/com/android/incallui/calllocation/impl/CallLocationImpl.java",
+        "java/com/android/incallui/calllocation/impl/CallLocationModule.java",
+        "java/com/android/incallui/calllocation/impl/DownloadMapImageTask.java",
+        "java/com/android/incallui/calllocation/impl/GoogleLocationSettingHelper.java",
+        "java/com/android/incallui/calllocation/impl/HttpFetcher.java",
+        "java/com/android/incallui/calllocation/impl/LocationFragment.java",
+        "java/com/android/incallui/calllocation/impl/LocationHelper.java",
+        "java/com/android/incallui/calllocation/impl/LocationPresenter.java",
+        "java/com/android/incallui/calllocation/impl/LocationUrlBuilder.java",
+        "java/com/android/incallui/calllocation/impl/ReverseGeocodeTask.java",
+        "java/com/android/incallui/calllocation/impl/TrafficStatsTags.java",
+        "java/com/android/incallui/maps/impl/MapsImpl.java",
+        "java/com/android/incallui/maps/impl/MapsModule.java",
+        "java/com/android/incallui/maps/impl/StaticMapFragment.java",
+        // Exclude testing only class, not used anywhere here
+        "java/com/android/contacts/common/format/testing/SpannedTestUtils.java",
+        // Exclude rootcomponentgenerator
+        "java/com/android/dialer/rootcomponentgenerator/**/*.java",
+        "java/com/android/dialer/inject/demo/**/*.java",
+        //  Exclude build variants for now
+        "java/com/android/dialer/constants/googledialer/ConstantsImpl.java",
+        "java/com/android/dialer/binary/google/GoogleStubDialerRootComponent.java",
+        "java/com/android/dialer/binary/google/GoogleStubDialerApplication.java",
+        // b/62875795
+        "java/com/android/voicemail/impl/com/google/internal/communications/voicemailtranscription/v1/VoicemailTranscriptionServiceGrpc.java",
+    ],
+    additional_manifests: [":dialer_manifests"],
+    aidl: {
+        local_include_dirs: ["java"],
+    },
+    proto: {
+        local_include_dirs: ["."],
+    },
+    resource_dirs: RES_DIRS,
+
+    aaptflags: EXTRA_PACKAGE_FLAGS,
+
+    // LOCAL_STATIC_JAVA_LIBRARIES + LOCAL_STATIC_ANDROID_LIBRARIES
+    static_libs: [
+        "android-common",
+        "android-support-core-ui",
+        "android-support-design",
+        "android-support-transition",
+        "android-support-v13",
+        "android-support-v4",
+        "android-support-v7-appcompat",
+        "android-support-v7-cardview",
+        "android-support-v7-recyclerview",
+        "android-support-dynamic-animation",
+        "com.android.vcard",
+        "dialer-common-m2-target-deps",
+        "dialer-glide-target-deps",
+        "error_prone_annotations",
+        "jsr305",
+        "libbackup",
+        "libphonenumber",
+        "volley",
+        "zxing-core-1.7",
+    ],
+    libs: [
+        "auto_value_annotations",
+        "org.apache.http.legacy",
+    ],
+    // LOCAL_ANNOTATION_PROCESSORS
+    plugins: [
+        "auto_value_plugin",
+        "dialer-dagger2-compiler",
+        "dialer-glide-annotation-processor",
+        "dialer_rootcomponentprocessor_plugin",
+    ],
+    // Forcibly uses the same jdk version used in dialer-rootcomponentprocessor.
+    java_version: "1.8",
+    optimize: {
+        proguard_flags_files: ["**/proguard.flags"],
+        // LOCAL_PROGUARD_ENABLED := custom
+        no_aapt_flags: true,
+        enabled: true,
+        optimize: true,
+    },
+    sdk_version: "system_current",
+    certificate: "shared",
+    privileged: true,
+    product_specific: true,
+    required: [
+        "privapp_whitelist_com.android.dialer",
+    ],
+    uses_libs: ["org.apache.http.legacy"],
+}
+
+java_library_host {
+    name: "dialer-rootcomponentprocessor",
+    srcs: [
+        "java/com/android/dialer/rootcomponentgenerator/**/*.java",
+        "java/com/android/dialer/inject/DialerRootComponent.java",
+        "java/com/android/dialer/inject/DialerVariant.java",
+        "java/com/android/dialer/inject/HasRootComponent.java",
+        "java/com/android/dialer/inject/IncludeInDialerRoot.java",
+        "java/com/android/dialer/inject/InstallIn.java",
+        "java/com/android/dialer/inject/RootComponentGeneratorMetadata.java",
+    ],
+    static_libs: [
+        "auto_service_annotations",
+        "auto_common",
+        "dialer-common-m2-host-deps",
+        "error_prone_annotations",
+        "javapoet",
+    ],
+    java_version: "1.8",
+}
+
+java_plugin {
+    name: "dialer_rootcomponentprocessor_plugin",
+    static_libs: ["dialer-rootcomponentprocessor"],
+    processor_class: "com.android.dialer.rootcomponentgenerator.RootComponentProcessor",
+    visibility: ["//packages/apps/Dialer"],
+}