# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/android/config.gni")
import("//build/config/android/rules.gni")
import("//build/config/arm.gni")
import("//build/config/ui.gni")
import("//media/media_options.gni")

assert(is_android)

source_set("android") {
  sources = [
    "screen_capture_machine_android.cc",
    "screen_capture_machine_android.h",
    "thread_safe_capture_oracle.cc",
    "thread_safe_capture_oracle.h",
  ]
  configs += [ "//media:media_config" ]
  deps = [
    ":screen_capture_jni_headers",
    "//media",
    "//media/capture:capture_device_specific",
    "//media/capture/mojom:image_capture",
    "//third_party/libyuv",
    "//ui/gfx:color_space",
    "//ui/gfx/geometry",
  ]
}

generate_jni("screen_capture_jni_headers") {
  sources = [ "java/src/org/chromium/media/ScreenCapture.java" ]
}

android_library("screen_capture_java") {
  deps = [
    "//base:base_java",
    "//third_party/androidx:androidx_annotation_annotation_java",
  ]
  sources = [ "java/src/org/chromium/media/ScreenCapture.java" ]
  annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
}
