1*61046927SAndroid Build Coastguard Worker/* 2*61046927SAndroid Build Coastguard Worker * Copyright (C) 2023 The Android Open Source Project 3*61046927SAndroid Build Coastguard Worker * 4*61046927SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*61046927SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*61046927SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*61046927SAndroid Build Coastguard Worker * 8*61046927SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*61046927SAndroid Build Coastguard Worker * 10*61046927SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*61046927SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*61046927SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*61046927SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*61046927SAndroid Build Coastguard Worker * limitations under the License. 15*61046927SAndroid Build Coastguard Worker */ 16*61046927SAndroid Build Coastguard Worker 17*61046927SAndroid Build Coastguard Workerpackage { 18*61046927SAndroid Build Coastguard Worker // See: http://go/android-license-faq 19*61046927SAndroid Build Coastguard Worker default_applicable_licenses: ["external_mesa3d_license"], 20*61046927SAndroid Build Coastguard Worker} 21*61046927SAndroid Build Coastguard Worker 22*61046927SAndroid Build Coastguard Workerpython_binary_host { 23*61046927SAndroid Build Coastguard Worker name: "vk_format_info_gen", 24*61046927SAndroid Build Coastguard Worker main: "vk_format_info_gen.py", 25*61046927SAndroid Build Coastguard Worker srcs: ["vk_format_info_gen.py"], 26*61046927SAndroid Build Coastguard Worker libs: [ 27*61046927SAndroid Build Coastguard Worker "mako", 28*61046927SAndroid Build Coastguard Worker ], 29*61046927SAndroid Build Coastguard Worker} 30*61046927SAndroid Build Coastguard Worker 31*61046927SAndroid Build Coastguard Workergenrule { 32*61046927SAndroid Build Coastguard Worker name: "vk_cmd_queue_header", 33*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 34*61046927SAndroid Build Coastguard Worker out: ["vk_cmd_queue.h"], 35*61046927SAndroid Build Coastguard Worker tools: ["vk_cmd_queue_gen"], 36*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_cmd_queue_gen) --xml " + 37*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --out-h " + 38*61046927SAndroid Build Coastguard Worker "$(location vk_cmd_queue.h) --out-c " + 39*61046927SAndroid Build Coastguard Worker "$(genDir)/placeholder.c --beta false", 40*61046927SAndroid Build Coastguard Worker} 41*61046927SAndroid Build Coastguard Worker 42*61046927SAndroid Build Coastguard Workergenrule { 43*61046927SAndroid Build Coastguard Worker name: "vk_cmd_queue_impl", 44*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 45*61046927SAndroid Build Coastguard Worker out: ["vk_cmd_queue.c"], 46*61046927SAndroid Build Coastguard Worker tools: ["vk_cmd_queue_gen"], 47*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_cmd_queue_gen) --xml " + 48*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --out-c " + 49*61046927SAndroid Build Coastguard Worker "$(location vk_cmd_queue.c) --out-h " + 50*61046927SAndroid Build Coastguard Worker "$(genDir)/vk_cmd_queue.h --beta false", 51*61046927SAndroid Build Coastguard Worker} 52*61046927SAndroid Build Coastguard Worker 53*61046927SAndroid Build Coastguard Workergenrule { 54*61046927SAndroid Build Coastguard Worker name: "vk_common_entrypoints_header", 55*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 56*61046927SAndroid Build Coastguard Worker out: ["vk_common_entrypoints.h"], 57*61046927SAndroid Build Coastguard Worker tools: ["vk_entrypoints_gen"], 58*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_entrypoints_gen) --xml " + 59*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --proto --weak --out-h " + 60*61046927SAndroid Build Coastguard Worker "$(location vk_common_entrypoints.h) --out-c " + 61*61046927SAndroid Build Coastguard Worker "$(genDir)/placeholder.c --prefix vk_common --beta false", 62*61046927SAndroid Build Coastguard Worker} 63*61046927SAndroid Build Coastguard Worker 64*61046927SAndroid Build Coastguard Workergenrule { 65*61046927SAndroid Build Coastguard Worker name: "vk_common_entrypoints_impl", 66*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 67*61046927SAndroid Build Coastguard Worker out: ["vk_common_entrypoints.c"], 68*61046927SAndroid Build Coastguard Worker tools: ["vk_entrypoints_gen"], 69*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_entrypoints_gen) --xml " + 70*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --proto --weak --out-h " + 71*61046927SAndroid Build Coastguard Worker "$(genDir)/vk_common_entrypoints.h --out-c " + 72*61046927SAndroid Build Coastguard Worker "$(location vk_common_entrypoints.c) --prefix vk_common " + 73*61046927SAndroid Build Coastguard Worker "--beta false", 74*61046927SAndroid Build Coastguard Worker} 75*61046927SAndroid Build Coastguard Worker 76*61046927SAndroid Build Coastguard Workergenrule { 77*61046927SAndroid Build Coastguard Worker name: "vk_cmd_enqueue_entrypoints_header", 78*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 79*61046927SAndroid Build Coastguard Worker out: ["vk_cmd_enqueue_entrypoints.h"], 80*61046927SAndroid Build Coastguard Worker tools: ["vk_entrypoints_gen"], 81*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_entrypoints_gen) --xml " + 82*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --proto --weak --out-h " + 83*61046927SAndroid Build Coastguard Worker "$(location vk_cmd_enqueue_entrypoints.h) --out-c " + 84*61046927SAndroid Build Coastguard Worker "$(genDir)/placeholder.c --prefix vk_cmd_enqueue " + 85*61046927SAndroid Build Coastguard Worker " --prefix vk_cmd_enqueue_unless_primary --beta false", 86*61046927SAndroid Build Coastguard Worker} 87*61046927SAndroid Build Coastguard Worker 88*61046927SAndroid Build Coastguard Workergenrule { 89*61046927SAndroid Build Coastguard Worker name: "vk_cmd_enqueue_entrypoints_impl", 90*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 91*61046927SAndroid Build Coastguard Worker out: ["vk_cmd_enqueue_entrypoints.c"], 92*61046927SAndroid Build Coastguard Worker tools: ["vk_entrypoints_gen"], 93*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_entrypoints_gen) --xml " + 94*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --proto --weak --out-h " + 95*61046927SAndroid Build Coastguard Worker "$(genDir)/vk_cmd_enqueue_entrypoints.h --out-c " + 96*61046927SAndroid Build Coastguard Worker "$(location vk_cmd_enqueue_entrypoints.c) --prefix vk_cmd_enqueue " + 97*61046927SAndroid Build Coastguard Worker "--prefix vk_cmd_enqueue_unless_primary --beta false", 98*61046927SAndroid Build Coastguard Worker} 99*61046927SAndroid Build Coastguard Worker 100*61046927SAndroid Build Coastguard Workergenrule { 101*61046927SAndroid Build Coastguard Worker name: "vk_dispatch_trampolines_header", 102*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 103*61046927SAndroid Build Coastguard Worker out: ["vk_dispatch_trampolines.h"], 104*61046927SAndroid Build Coastguard Worker tools: ["vk_dispatch_trampolines_gen"], 105*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_dispatch_trampolines_gen) --xml " + 106*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --out-h " + 107*61046927SAndroid Build Coastguard Worker "$(location vk_dispatch_trampolines.h) --out-c " + 108*61046927SAndroid Build Coastguard Worker "$(genDir)/placeholder.c --beta false", 109*61046927SAndroid Build Coastguard Worker} 110*61046927SAndroid Build Coastguard Worker 111*61046927SAndroid Build Coastguard Workergenrule { 112*61046927SAndroid Build Coastguard Worker name: "vk_dispatch_trampolines_impl", 113*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 114*61046927SAndroid Build Coastguard Worker out: ["vk_dispatch_trampolines.c"], 115*61046927SAndroid Build Coastguard Worker tools: ["vk_dispatch_trampolines_gen"], 116*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_dispatch_trampolines_gen) --xml " + 117*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --out-h " + 118*61046927SAndroid Build Coastguard Worker "$(genDir)/vk_dispatch_trampolines.h --out-c " + 119*61046927SAndroid Build Coastguard Worker "$(location vk_dispatch_trampolines.c) --beta false", 120*61046927SAndroid Build Coastguard Worker} 121*61046927SAndroid Build Coastguard Worker 122*61046927SAndroid Build Coastguard Workergenrule { 123*61046927SAndroid Build Coastguard Worker name: "vk_physical_device_features_header", 124*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 125*61046927SAndroid Build Coastguard Worker out: ["vk_physical_device_features.h"], 126*61046927SAndroid Build Coastguard Worker tools: ["vk_physical_device_features_gen"], 127*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_physical_device_features_gen) --xml " + 128*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --out-h " + 129*61046927SAndroid Build Coastguard Worker "$(location vk_physical_device_features.h) --out-c " + 130*61046927SAndroid Build Coastguard Worker "$(genDir)/placeholder.c --beta false", 131*61046927SAndroid Build Coastguard Worker} 132*61046927SAndroid Build Coastguard Worker 133*61046927SAndroid Build Coastguard Workergenrule { 134*61046927SAndroid Build Coastguard Worker name: "vk_physical_device_features_impl", 135*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 136*61046927SAndroid Build Coastguard Worker out: ["vk_physical_device_features.c"], 137*61046927SAndroid Build Coastguard Worker tools: ["vk_physical_device_features_gen"], 138*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_physical_device_features_gen) --xml " + 139*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --out-h " + 140*61046927SAndroid Build Coastguard Worker "$(genDir)/vk_physical_device_features.h --out-c " + 141*61046927SAndroid Build Coastguard Worker "$(location vk_physical_device_features.c) --beta false", 142*61046927SAndroid Build Coastguard Worker} 143*61046927SAndroid Build Coastguard Worker 144*61046927SAndroid Build Coastguard Workergenrule { 145*61046927SAndroid Build Coastguard Worker name: "vk_physical_device_properties_header", 146*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 147*61046927SAndroid Build Coastguard Worker out: ["vk_physical_device_properties.h"], 148*61046927SAndroid Build Coastguard Worker tools: ["vk_physical_device_properties_gen"], 149*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_physical_device_properties_gen) --xml " + 150*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --out-h " + 151*61046927SAndroid Build Coastguard Worker "$(location vk_physical_device_properties.h) --out-c " + 152*61046927SAndroid Build Coastguard Worker "$(genDir)/placeholder.c --beta false", 153*61046927SAndroid Build Coastguard Worker} 154*61046927SAndroid Build Coastguard Worker 155*61046927SAndroid Build Coastguard Workergenrule { 156*61046927SAndroid Build Coastguard Worker name: "vk_physical_device_properties_impl", 157*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 158*61046927SAndroid Build Coastguard Worker out: ["vk_physical_device_properties.c"], 159*61046927SAndroid Build Coastguard Worker tools: ["vk_physical_device_properties_gen"], 160*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_physical_device_properties_gen) --xml " + 161*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --out-h " + 162*61046927SAndroid Build Coastguard Worker "$(genDir)/vk_physical_device_properties.h --out-c " + 163*61046927SAndroid Build Coastguard Worker "$(location vk_physical_device_properties.c) --beta false", 164*61046927SAndroid Build Coastguard Worker} 165*61046927SAndroid Build Coastguard Worker 166*61046927SAndroid Build Coastguard Workergenrule { 167*61046927SAndroid Build Coastguard Worker name: "vk_format_info_header", 168*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 169*61046927SAndroid Build Coastguard Worker out: ["vk_format_info.h"], 170*61046927SAndroid Build Coastguard Worker tools: ["vk_format_info_gen"], 171*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_format_info_gen) --xml " + 172*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --out-h " + 173*61046927SAndroid Build Coastguard Worker "$(location vk_format_info.h) --out-c " + 174*61046927SAndroid Build Coastguard Worker "$(genDir)/placeholder.c", 175*61046927SAndroid Build Coastguard Worker} 176*61046927SAndroid Build Coastguard Worker 177*61046927SAndroid Build Coastguard Workergenrule { 178*61046927SAndroid Build Coastguard Worker name: "vk_format_info_impl", 179*61046927SAndroid Build Coastguard Worker srcs: [":mesa_vulkan_xml"], 180*61046927SAndroid Build Coastguard Worker out: ["vk_format_info.c"], 181*61046927SAndroid Build Coastguard Worker tools: ["vk_format_info_gen"], 182*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vk_format_info_gen) --xml " + 183*61046927SAndroid Build Coastguard Worker "$(location :mesa_vulkan_xml) --out-h " + 184*61046927SAndroid Build Coastguard Worker "$(genDir)/vk_format_info.h --out-c " + 185*61046927SAndroid Build Coastguard Worker "$(location vk_format_info.c)", 186*61046927SAndroid Build Coastguard Worker} 187*61046927SAndroid Build Coastguard Worker 188*61046927SAndroid Build Coastguard Workercc_library_static { 189*61046927SAndroid Build Coastguard Worker name: "mesa_vulkan_runtime", 190*61046927SAndroid Build Coastguard Worker vendor: true, 191*61046927SAndroid Build Coastguard Worker host_supported: true, 192*61046927SAndroid Build Coastguard Worker defaults: [ 193*61046927SAndroid Build Coastguard Worker "mesa_common_defaults", 194*61046927SAndroid Build Coastguard Worker ], 195*61046927SAndroid Build Coastguard Worker header_libs: [ 196*61046927SAndroid Build Coastguard Worker "mesa_common_headers", 197*61046927SAndroid Build Coastguard Worker "mesa_nir_headers", 198*61046927SAndroid Build Coastguard Worker "mesa_compiler_headers", 199*61046927SAndroid Build Coastguard Worker ], 200*61046927SAndroid Build Coastguard Worker static_libs: [ 201*61046927SAndroid Build Coastguard Worker "libarect", 202*61046927SAndroid Build Coastguard Worker "mesa_util", 203*61046927SAndroid Build Coastguard Worker "mesa_vulkan_util", 204*61046927SAndroid Build Coastguard Worker "mesa_util_c11", 205*61046927SAndroid Build Coastguard Worker "mesa_util_format", 206*61046927SAndroid Build Coastguard Worker "mesa_compiler", 207*61046927SAndroid Build Coastguard Worker ], 208*61046927SAndroid Build Coastguard Worker generated_headers: [ 209*61046927SAndroid Build Coastguard Worker "vk_cmd_queue_header", 210*61046927SAndroid Build Coastguard Worker "vk_common_entrypoints_header", 211*61046927SAndroid Build Coastguard Worker "vk_cmd_enqueue_entrypoints_header", 212*61046927SAndroid Build Coastguard Worker "vk_dispatch_trampolines_header", 213*61046927SAndroid Build Coastguard Worker "vk_physical_device_features_header", 214*61046927SAndroid Build Coastguard Worker "vk_physical_device_properties_header", 215*61046927SAndroid Build Coastguard Worker "vk_format_info_header", 216*61046927SAndroid Build Coastguard Worker "nir_builder_opcodes_header", 217*61046927SAndroid Build Coastguard Worker "nir_intrinsics_header", 218*61046927SAndroid Build Coastguard Worker "nir_intrinsics_indices_header", 219*61046927SAndroid Build Coastguard Worker "nir_opcodes_header", 220*61046927SAndroid Build Coastguard Worker "u_format_gen_header", 221*61046927SAndroid Build Coastguard Worker "spirv_info_header", 222*61046927SAndroid Build Coastguard Worker "builtin_types_header", 223*61046927SAndroid Build Coastguard Worker ], 224*61046927SAndroid Build Coastguard Worker generated_sources: [ 225*61046927SAndroid Build Coastguard Worker "vk_cmd_queue_impl", 226*61046927SAndroid Build Coastguard Worker "vk_common_entrypoints_impl", 227*61046927SAndroid Build Coastguard Worker "vk_cmd_enqueue_entrypoints_impl", 228*61046927SAndroid Build Coastguard Worker "vk_dispatch_trampolines_impl", 229*61046927SAndroid Build Coastguard Worker "vk_physical_device_features_impl", 230*61046927SAndroid Build Coastguard Worker "vk_physical_device_properties_impl", 231*61046927SAndroid Build Coastguard Worker "vk_format_info_impl", 232*61046927SAndroid Build Coastguard Worker ], 233*61046927SAndroid Build Coastguard Worker srcs: [ 234*61046927SAndroid Build Coastguard Worker "rmv/vk_rmv_common.c", 235*61046927SAndroid Build Coastguard Worker "rmv/vk_rmv_exporter.c", 236*61046927SAndroid Build Coastguard Worker "vk_acceleration_structure.c", 237*61046927SAndroid Build Coastguard Worker "vk_blend.c", 238*61046927SAndroid Build Coastguard Worker "vk_buffer.c", 239*61046927SAndroid Build Coastguard Worker "vk_buffer_view.c", 240*61046927SAndroid Build Coastguard Worker "vk_cmd_copy.c", 241*61046927SAndroid Build Coastguard Worker "vk_cmd_enqueue.c", 242*61046927SAndroid Build Coastguard Worker "vk_command_buffer.c", 243*61046927SAndroid Build Coastguard Worker "vk_command_pool.c", 244*61046927SAndroid Build Coastguard Worker "vk_debug_report.c", 245*61046927SAndroid Build Coastguard Worker "vk_debug_utils.c", 246*61046927SAndroid Build Coastguard Worker "vk_deferred_operation.c", 247*61046927SAndroid Build Coastguard Worker "vk_descriptor_set_layout.c", 248*61046927SAndroid Build Coastguard Worker "vk_descriptors.c", 249*61046927SAndroid Build Coastguard Worker "vk_descriptor_update_template.c", 250*61046927SAndroid Build Coastguard Worker "vk_device.c", 251*61046927SAndroid Build Coastguard Worker "vk_device_memory.c", 252*61046927SAndroid Build Coastguard Worker "vk_fence.c", 253*61046927SAndroid Build Coastguard Worker "vk_framebuffer.c", 254*61046927SAndroid Build Coastguard Worker "vk_image.c", 255*61046927SAndroid Build Coastguard Worker "vk_instance.c", 256*61046927SAndroid Build Coastguard Worker "vk_log.c", 257*61046927SAndroid Build Coastguard Worker "vk_object.c", 258*61046927SAndroid Build Coastguard Worker "vk_meta.c", 259*61046927SAndroid Build Coastguard Worker "vk_meta_object_list.c", 260*61046927SAndroid Build Coastguard Worker "vk_physical_device.c", 261*61046927SAndroid Build Coastguard Worker "vk_pipeline_layout.c", 262*61046927SAndroid Build Coastguard Worker "vk_query_pool.c", 263*61046927SAndroid Build Coastguard Worker "vk_queue.c", 264*61046927SAndroid Build Coastguard Worker "vk_render_pass.c", 265*61046927SAndroid Build Coastguard Worker "vk_sampler.c", 266*61046927SAndroid Build Coastguard Worker "vk_semaphore.c", 267*61046927SAndroid Build Coastguard Worker "vk_standard_sample_locations.c", 268*61046927SAndroid Build Coastguard Worker "vk_sync.c", 269*61046927SAndroid Build Coastguard Worker "vk_sync_binary.c", 270*61046927SAndroid Build Coastguard Worker "vk_sync_dummy.c", 271*61046927SAndroid Build Coastguard Worker "vk_sync_timeline.c", 272*61046927SAndroid Build Coastguard Worker "vk_video.c", 273*61046927SAndroid Build Coastguard Worker "vk_ycbcr_conversion.c", 274*61046927SAndroid Build Coastguard Worker "vk_graphics_state.c", 275*61046927SAndroid Build Coastguard Worker ], 276*61046927SAndroid Build Coastguard Worker export_include_dirs: [ 277*61046927SAndroid Build Coastguard Worker ".", 278*61046927SAndroid Build Coastguard Worker ], 279*61046927SAndroid Build Coastguard Worker target: { 280*61046927SAndroid Build Coastguard Worker android: { 281*61046927SAndroid Build Coastguard Worker srcs: select(soong_config_variable("gfxstream", "mesa3d_platforms"), { 282*61046927SAndroid Build Coastguard Worker "none": [], 283*61046927SAndroid Build Coastguard Worker default: [ 284*61046927SAndroid Build Coastguard Worker "vk_android.c", 285*61046927SAndroid Build Coastguard Worker ], 286*61046927SAndroid Build Coastguard Worker }), 287*61046927SAndroid Build Coastguard Worker static_libs: [ 288*61046927SAndroid Build Coastguard Worker "mesa_u_gralloc", 289*61046927SAndroid Build Coastguard Worker ], 290*61046927SAndroid Build Coastguard Worker shared_libs: [ 291*61046927SAndroid Build Coastguard Worker "libnativewindow", 292*61046927SAndroid Build Coastguard Worker "libsync", 293*61046927SAndroid Build Coastguard Worker "libcutils", 294*61046927SAndroid Build Coastguard Worker ], 295*61046927SAndroid Build Coastguard Worker header_libs: [ 296*61046927SAndroid Build Coastguard Worker "hwvulkan_headers", 297*61046927SAndroid Build Coastguard Worker "libnativewindow_headers", 298*61046927SAndroid Build Coastguard Worker ], 299*61046927SAndroid Build Coastguard Worker }, 300*61046927SAndroid Build Coastguard Worker }, 301*61046927SAndroid Build Coastguard Worker} 302