Yao Chen | d54f9dd | 2017-10-17 17:37:48 +0000 | [diff] [blame] | 1 | |
| 2 | genrule { |
| 3 | name: "android_util_StatsLog.cpp", |
| 4 | tools: ["stats-log-api-gen"], |
| 5 | cmd: "$(location stats-log-api-gen) --jni $(genDir)/android_util_StatsLog.cpp", |
| 6 | out: [ |
| 7 | "android_util_StatsLog.cpp", |
| 8 | ], |
| 9 | } |
| 10 | |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 11 | cc_library_shared { |
| 12 | name: "libandroid_runtime", |
| 13 | |
| 14 | cflags: [ |
| 15 | "-Wno-unused-parameter", |
| 16 | "-Wno-non-virtual-dtor", |
| 17 | "-Wno-maybe-uninitialized", |
| 18 | "-Wno-parentheses", |
| 19 | |
| 20 | "-DGL_GLEXT_PROTOTYPES", |
| 21 | "-DEGL_EGLEXT_PROTOTYPES", |
| 22 | |
| 23 | "-DU_USING_ICU_NAMESPACE=0", |
| 24 | |
| 25 | "-Wall", |
| 26 | "-Werror", |
| 27 | "-Wno-error=deprecated-declarations", |
| 28 | "-Wunused", |
| 29 | "-Wunreachable-code", |
| 30 | |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 31 | // TODO: Linear blending should be enabled by default, but we are |
| 32 | // TODO: making it an opt-in while it's a work in progress |
| 33 | //"-DANDROID_ENABLE_LINEAR_BLENDING", |
| 34 | ], |
| 35 | |
| 36 | cppflags: ["-Wno-conversion-null"], |
| 37 | |
| 38 | srcs: [ |
| 39 | "AndroidRuntime.cpp", |
| 40 | "com_android_internal_content_NativeLibraryHelper.cpp", |
| 41 | "com_google_android_gles_jni_EGLImpl.cpp", |
| 42 | "com_google_android_gles_jni_GLImpl.cpp", // TODO: .arm |
| 43 | "android_app_Activity.cpp", |
Tim Murray | 59f3dc1 | 2018-10-22 15:26:08 -0700 | [diff] [blame] | 44 | "android_app_ActivityThread.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 45 | "android_app_NativeActivity.cpp", |
| 46 | "android_app_admin_SecurityLog.cpp", |
| 47 | "android_opengl_EGL14.cpp", |
Courtney Goeltzenleuchter | 367ed8b | 2018-07-18 10:45:37 -0600 | [diff] [blame] | 48 | "android_opengl_EGL15.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 49 | "android_opengl_EGLExt.cpp", |
| 50 | "android_opengl_GLES10.cpp", |
| 51 | "android_opengl_GLES10Ext.cpp", |
| 52 | "android_opengl_GLES11.cpp", |
| 53 | "android_opengl_GLES11Ext.cpp", |
| 54 | "android_opengl_GLES20.cpp", |
| 55 | "android_opengl_GLES30.cpp", |
| 56 | "android_opengl_GLES31.cpp", |
| 57 | "android_opengl_GLES31Ext.cpp", |
| 58 | "android_opengl_GLES32.cpp", |
| 59 | "android_database_CursorWindow.cpp", |
| 60 | "android_database_SQLiteCommon.cpp", |
| 61 | "android_database_SQLiteConnection.cpp", |
| 62 | "android_database_SQLiteGlobal.cpp", |
| 63 | "android_database_SQLiteDebug.cpp", |
| 64 | "android_graphics_drawable_AnimatedVectorDrawable.cpp", |
| 65 | "android_graphics_drawable_VectorDrawable.cpp", |
| 66 | "android_view_DisplayEventReceiver.cpp", |
| 67 | "android_view_DisplayListCanvas.cpp", |
John Reck | 9d8d99d | 2018-02-21 12:55:41 -0800 | [diff] [blame] | 68 | "android_view_TextureLayer.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 69 | "android_view_InputChannel.cpp", |
| 70 | "android_view_InputDevice.cpp", |
| 71 | "android_view_InputEventReceiver.cpp", |
| 72 | "android_view_InputEventSender.cpp", |
| 73 | "android_view_InputQueue.cpp", |
| 74 | "android_view_KeyCharacterMap.cpp", |
| 75 | "android_view_KeyEvent.cpp", |
| 76 | "android_view_MotionEvent.cpp", |
| 77 | "android_view_PointerIcon.cpp", |
| 78 | "android_view_RenderNode.cpp", |
| 79 | "android_view_RenderNodeAnimator.cpp", |
| 80 | "android_view_Surface.cpp", |
| 81 | "android_view_SurfaceControl.cpp", |
| 82 | "android_view_SurfaceSession.cpp", |
| 83 | "android_view_TextureView.cpp", |
| 84 | "android_view_ThreadedRenderer.cpp", |
| 85 | "android_view_VelocityTracker.cpp", |
| 86 | "android_text_AndroidCharacter.cpp", |
Seigo Nonaka | 44a1df2 | 2017-08-31 18:22:38 -0700 | [diff] [blame] | 87 | "android_text_Hyphenator.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 88 | "android_os_Debug.cpp", |
| 89 | "android_os_GraphicsEnvironment.cpp", |
Yifan Hong | bb0bd00 | 2017-11-14 16:14:04 -0800 | [diff] [blame] | 90 | "android_os_HidlSupport.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 91 | "android_os_HwBinder.cpp", |
| 92 | "android_os_HwBlob.cpp", |
| 93 | "android_os_HwParcel.cpp", |
| 94 | "android_os_HwRemoteBinder.cpp", |
Nirav Atre | 9850dd9 | 2018-07-24 17:03:44 -0700 | [diff] [blame] | 95 | "android_os_NativeHandle.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 96 | "android_os_MemoryFile.cpp", |
| 97 | "android_os_MessageQueue.cpp", |
| 98 | "android_os_Parcel.cpp", |
| 99 | "android_os_SELinux.cpp", |
John Reck | dea6a02 | 2017-05-25 17:09:33 -0700 | [diff] [blame] | 100 | "android_os_SharedMemory.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 101 | "android_os_SystemClock.cpp", |
| 102 | "android_os_SystemProperties.cpp", |
| 103 | "android_os_Trace.cpp", |
| 104 | "android_os_UEventObserver.cpp", |
| 105 | "android_os_VintfObject.cpp", |
| 106 | "android_os_VintfRuntimeInfo.cpp", |
| 107 | "android_net_LocalSocketImpl.cpp", |
| 108 | "android_net_NetUtils.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 109 | "android_nio_utils.cpp", |
| 110 | "android_util_AssetManager.cpp", |
| 111 | "android_util_Binder.cpp", |
| 112 | "android_util_EventLog.cpp", |
Adam Lesinski | bde1df2 | 2018-02-09 11:12:22 -0800 | [diff] [blame] | 113 | "android_util_Log.cpp", |
Adam Lesinski | bebfcc4 | 2018-02-12 14:27:46 -0800 | [diff] [blame] | 114 | "android_util_MemoryIntArray.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 115 | "android_util_PathParser.cpp", |
| 116 | "android_util_Process.cpp", |
| 117 | "android_util_StringBlock.cpp", |
| 118 | "android_util_XmlBlock.cpp", |
| 119 | "android_util_jar_StrictJarFile.cpp", |
| 120 | "android_graphics_Canvas.cpp", |
| 121 | "android_graphics_Picture.cpp", |
Leon Scroggins III | 671cce2 | 2018-01-14 16:52:17 -0500 | [diff] [blame] | 122 | "android/graphics/AnimatedImageDrawable.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 123 | "android/graphics/Bitmap.cpp", |
| 124 | "android/graphics/BitmapFactory.cpp", |
Leon Scroggins III | 0c01dbf | 2017-10-20 14:08:11 -0400 | [diff] [blame] | 125 | "android/graphics/ByteBufferStreamAdaptor.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 126 | "android/graphics/Camera.cpp", |
| 127 | "android/graphics/CanvasProperty.cpp", |
| 128 | "android/graphics/ColorFilter.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 129 | "android/graphics/FontFamily.cpp", |
| 130 | "android/graphics/FontUtils.cpp", |
| 131 | "android/graphics/CreateJavaOutputStreamAdaptor.cpp", |
| 132 | "android/graphics/GIFMovie.cpp", |
| 133 | "android/graphics/GraphicBuffer.cpp", |
| 134 | "android/graphics/Graphics.cpp", |
Leon Scroggins III | 0c01dbf | 2017-10-20 14:08:11 -0400 | [diff] [blame] | 135 | "android/graphics/ImageDecoder.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 136 | "android/graphics/Interpolator.cpp", |
| 137 | "android/graphics/MaskFilter.cpp", |
| 138 | "android/graphics/Matrix.cpp", |
| 139 | "android/graphics/Movie.cpp", |
| 140 | "android/graphics/MovieImpl.cpp", |
| 141 | "android/graphics/NinePatch.cpp", |
| 142 | "android/graphics/NinePatchPeeker.cpp", |
| 143 | "android/graphics/Paint.cpp", |
Ben Wagner | 0ed10be | 2018-06-28 17:08:16 -0400 | [diff] [blame] | 144 | "android/graphics/PaintFilter.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 145 | "android/graphics/Path.cpp", |
| 146 | "android/graphics/PathMeasure.cpp", |
| 147 | "android/graphics/PathEffect.cpp", |
| 148 | "android/graphics/Picture.cpp", |
| 149 | "android/graphics/BitmapRegionDecoder.cpp", |
| 150 | "android/graphics/Region.cpp", |
| 151 | "android/graphics/Shader.cpp", |
| 152 | "android/graphics/SurfaceTexture.cpp", |
| 153 | "android/graphics/Typeface.cpp", |
| 154 | "android/graphics/Utils.cpp", |
| 155 | "android/graphics/YuvToJpegEncoder.cpp", |
Seigo Nonaka | a1c21c0 | 2018-07-20 15:57:39 -0700 | [diff] [blame] | 156 | "android/graphics/fonts/Font.cpp", |
Seigo Nonaka | 88930f1 | 2018-07-24 17:09:23 -0700 | [diff] [blame] | 157 | "android/graphics/fonts/FontFamily.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 158 | "android/graphics/pdf/PdfDocument.cpp", |
| 159 | "android/graphics/pdf/PdfEditor.cpp", |
| 160 | "android/graphics/pdf/PdfRenderer.cpp", |
| 161 | "android/graphics/pdf/PdfUtils.cpp", |
Seigo Nonaka | 70200b0 | 2018-10-01 16:04:11 -0700 | [diff] [blame] | 162 | "android/graphics/text/LineBreaker.cpp", |
| 163 | "android/graphics/text/MeasuredText.cpp", |
Eric Laurent | 7c31847e | 2018-11-29 14:33:56 -0800 | [diff] [blame] | 164 | "android_media_AudioEffectDescriptor.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 165 | "android_media_AudioRecord.cpp", |
| 166 | "android_media_AudioSystem.cpp", |
| 167 | "android_media_AudioTrack.cpp", |
| 168 | "android_media_DeviceCallback.cpp", |
| 169 | "android_media_JetPlayer.cpp", |
Ray Essick | 510225b | 2018-01-24 14:27:16 -0800 | [diff] [blame] | 170 | "android_media_MediaMetricsJNI.cpp", |
jiabin | c0f4944 | 2018-01-05 10:23:50 -0800 | [diff] [blame] | 171 | "android_media_MicrophoneInfo.cpp", |
Paul McLean | 84b49130 | 2018-05-09 10:03:57 -0600 | [diff] [blame] | 172 | "android_media_midi.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 173 | "android_media_RemoteDisplay.cpp", |
| 174 | "android_media_ToneGenerator.cpp", |
| 175 | "android_hardware_Camera.cpp", |
| 176 | "android_hardware_camera2_CameraMetadata.cpp", |
| 177 | "android_hardware_camera2_legacy_LegacyCameraDevice.cpp", |
| 178 | "android_hardware_camera2_legacy_PerfMeasurement.cpp", |
| 179 | "android_hardware_camera2_DngCreator.cpp", |
Santos Cordon | ee8931e | 2017-04-05 10:31:15 -0700 | [diff] [blame] | 180 | "android_hardware_display_DisplayViewport.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 181 | "android_hardware_HardwareBuffer.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 182 | "android_hardware_SensorManager.cpp", |
| 183 | "android_hardware_SerialPort.cpp", |
| 184 | "android_hardware_SoundTrigger.cpp", |
| 185 | "android_hardware_UsbDevice.cpp", |
| 186 | "android_hardware_UsbDeviceConnection.cpp", |
| 187 | "android_hardware_UsbRequest.cpp", |
| 188 | "android_hardware_location_ActivityRecognitionHardware.cpp", |
| 189 | "android_util_FileObserver.cpp", |
| 190 | "android/opengl/poly_clip.cpp", // TODO: .arm |
| 191 | "android/opengl/util.cpp", |
| 192 | "android_server_NetworkManagementSocketTagger.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 193 | "android_ddm_DdmHandleNativeHeap.cpp", |
| 194 | "android_backup_BackupDataInput.cpp", |
| 195 | "android_backup_BackupDataOutput.cpp", |
| 196 | "android_backup_FileBackupHelperBase.cpp", |
| 197 | "android_backup_BackupHelperDispatcher.cpp", |
| 198 | "android_app_backup_FullBackup.cpp", |
Adam Lesinski | bebfcc4 | 2018-02-12 14:27:46 -0800 | [diff] [blame] | 199 | "android_content_res_ApkAssets.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 200 | "android_content_res_ObbScanner.cpp", |
| 201 | "android_content_res_Configuration.cpp", |
| 202 | "android_animation_PropertyValuesHolder.cpp", |
Bo Zhu | 0985613 | 2018-04-01 12:24:09 -0700 | [diff] [blame] | 203 | "android_security_Scrypt.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 204 | "com_android_internal_net_NetworkStatsFactory.cpp", |
Narayan Kamath | f9419f0 | 2017-06-15 11:35:38 +0100 | [diff] [blame] | 205 | "com_android_internal_os_ClassLoaderFactory.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 206 | "com_android_internal_os_FuseAppLoop.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 207 | "com_android_internal_os_Zygote.cpp", |
Jesse Hall | 1fe1dc0 | 2017-07-06 15:30:39 -0700 | [diff] [blame] | 208 | "com_android_internal_os_ZygoteInit.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 209 | "com_android_internal_util_VirtualRefBasePtr.cpp", |
| 210 | "com_android_internal_view_animation_NativeInterpolatorFactoryHelper.cpp", |
| 211 | "hwbinder/EphemeralStorage.cpp", |
| 212 | "fd_utils.cpp", |
Robert Carr | e1db320 | 2018-07-23 15:24:59 -0700 | [diff] [blame] | 213 | "android_hardware_input_InputWindowHandle.cpp", |
| 214 | "android_hardware_input_InputApplicationHandle.cpp", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 215 | ], |
| 216 | |
| 217 | include_dirs: [ |
| 218 | // we need to access the private Bionic header |
| 219 | // <bionic_tls.h> in com_google_android_gles_jni_GLImpl.cpp |
| 220 | "bionic/libc/private", |
| 221 | |
| 222 | "external/skia/include/private", |
| 223 | "external/skia/src/codec", |
| 224 | "external/skia/src/core", |
| 225 | "external/skia/src/effects", |
| 226 | "external/skia/src/image", |
| 227 | "external/skia/src/images", |
| 228 | "frameworks/base/media/jni", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 229 | "system/media/camera/include", |
| 230 | "system/media/private/camera/include", |
| 231 | ], |
| 232 | |
| 233 | static_libs: [ |
| 234 | "libgif", |
| 235 | "libseccomp_policy", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 236 | "libgrallocusage", |
Bo Zhu | 0985613 | 2018-04-01 12:24:09 -0700 | [diff] [blame] | 237 | "libscrypt_static", |
Howard Ro | 2733041 | 2018-10-02 12:08:28 -0700 | [diff] [blame] | 238 | "libstatssocket", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 239 | ], |
| 240 | |
| 241 | shared_libs: [ |
Chenbo Feng | 441febd | 2018-11-07 17:46:24 -0800 | [diff] [blame] | 242 | "libbpf_android", |
Chenbo Feng | 5bb4fea | 2018-10-15 17:31:43 -0700 | [diff] [blame] | 243 | "libnetdbpf", |
Chenbo Feng | 828f1b4 | 2017-11-20 17:03:59 -0800 | [diff] [blame] | 244 | "libnetdutils", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 245 | "libmemtrack", |
| 246 | "libandroidfw", |
| 247 | "libappfuse", |
| 248 | "libbase", |
Robert Sloan | ca1c192 | 2017-06-22 14:11:59 -0700 | [diff] [blame] | 249 | "libcrypto", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 250 | "libnativehelper", |
| 251 | "liblog", |
| 252 | "libcutils", |
| 253 | "libdebuggerd_client", |
| 254 | "libutils", |
| 255 | "libbinder", |
| 256 | "libui", |
Jiyong Park | 354ac499 | 2017-05-08 13:29:35 +0900 | [diff] [blame] | 257 | "libgraphicsenv", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 258 | "libgui", |
| 259 | "libsensor", |
| 260 | "libinput", |
| 261 | "libcamera_client", |
| 262 | "libcamera_metadata", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 263 | "libsqlite", |
| 264 | "libEGL", |
| 265 | "libGLESv1_CM", |
| 266 | "libGLESv2", |
dimitry | 1fa9818 | 2018-12-12 13:08:17 +0100 | [diff] [blame] | 267 | "libGLESv3", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 268 | "libvulkan", |
| 269 | "libziparchive", |
| 270 | "libETC1", |
| 271 | "libhardware", |
| 272 | "libhardware_legacy", |
| 273 | "libselinux", |
| 274 | "libicuuc", |
| 275 | "libmedia", |
Ray Essick | 510225b | 2018-01-24 14:27:16 -0800 | [diff] [blame] | 276 | "libmediametrics", |
Sandeep Patil | be82541 | 2018-12-11 10:09:46 -0800 | [diff] [blame^] | 277 | "libmeminfo", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 278 | "libaudioclient", |
| 279 | "libjpeg", |
| 280 | "libusbhost", |
| 281 | "libharfbuzz_ng", |
| 282 | "libz", |
| 283 | "libpdfium", |
| 284 | "libimg_utils", |
| 285 | "libnetd_client", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 286 | "libsoundtrigger", |
| 287 | "libminikin", |
| 288 | "libprocessgroup", |
| 289 | "libnativebridge", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 290 | "libnativeloader", |
| 291 | "libmemunreachable", |
| 292 | "libhidlbase", |
| 293 | "libhidltransport", |
| 294 | "libhwbinder", |
| 295 | "libvintf", |
| 296 | "libnativewindow", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 297 | "libhwui", |
| 298 | "libdl", |
Yao Chen | d54f9dd | 2017-10-17 17:37:48 +0000 | [diff] [blame] | 299 | "libstatslog", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 300 | ], |
| 301 | |
Yao Chen | d54f9dd | 2017-10-17 17:37:48 +0000 | [diff] [blame] | 302 | generated_sources: ["android_util_StatsLog.cpp"], |
| 303 | |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 304 | local_include_dirs: ["android/graphics"], |
Colin Cross | 76de4f6 | 2017-05-15 18:10:40 -0700 | [diff] [blame] | 305 | export_include_dirs: [ |
| 306 | ".", |
| 307 | "include", |
| 308 | ], |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 309 | export_shared_lib_headers: [ |
| 310 | // AndroidRuntime.h depends on nativehelper/jni.h |
| 311 | "libnativehelper", |
| 312 | |
| 313 | // our headers include libnativewindow's public headers |
| 314 | "libnativewindow", |
Colin Cross | 76de4f6 | 2017-05-15 18:10:40 -0700 | [diff] [blame] | 315 | |
| 316 | // GraphicsJNI.h includes hwui headers |
| 317 | "libhwui", |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 318 | ], |
Colin Cross | 3f8fd40 | 2017-04-20 12:20:20 -0700 | [diff] [blame] | 319 | } |