import("//webrtc.gni")

if (is_android) {
  import("//third_party/jni_zero/jni_zero.gni")
  rtc_android_apk("androidnativeapi") {
    testonly = true
    apk_name = "androidnativeapi"
    android_manifest = "AndroidManifest.xml"
    min_sdk_version = 23
    target_sdk_version = 31

    sources = [
      "java/org/webrtc/examples/androidnativeapi/CallClient.java",
      "java/org/webrtc/examples/androidnativeapi/MainActivity.java",
    ]

    deps = [
      ":resources",
      "//rtc_base:base_java",
      "//sdk/android:camera_java",
      "//sdk/android:surfaceviewrenderer_java",
      "//sdk/android:video_api_java",
      "//sdk/android:video_java",
      "//third_party/androidx:androidx_annotation_annotation_java",
    ]

    shared_libraries = [ ":examples_androidnativeapi_jni" ]
  }

  generate_jni("generated_jni") {
    testonly = true
    sources = [ "java/org/webrtc/examples/androidnativeapi/CallClient.java" ]
    namespace = "webrtc_examples"
  }

  rtc_shared_library("examples_androidnativeapi_jni") {
    testonly = true
    sources = [
      "jni/android_call_client.cc",
      "jni/android_call_client.h",
      "jni/onload.cc",
    ]

    suppressed_configs += [ "//build/config/android:hide_all_but_jni_onload" ]
    configs += [ "//build/config/android:hide_all_but_jni" ]

    deps = [
      ":generated_jni",
      "../../api:create_modular_peer_connection_factory",
      "../../api:enable_media_with_defaults",
      "../../api:make_ref_counted",
      "../../api:media_stream_interface",
      "../../api:peer_connection_interface",
      "../../api:rtc_error",
      "../../api:scoped_refptr",
      "../../api:sequence_checker",
      "../../api/video:video_frame",
      "../../rtc_base:checks",
      "../../rtc_base:logging",
      "../../rtc_base:macromagic",
      "../../rtc_base:ssl",
      "../../rtc_base:ssl_adapter",
      "../../rtc_base:threading",
      "../../rtc_base/synchronization:mutex",
      "//api:jsep",
      "//api:libjingle_peerconnection_api",
      "//api/rtc_event_log:rtc_event_log_factory",
      "//api/task_queue:default_task_queue_factory",
      "//media:rtc_audio_video",
      "//media:rtc_internal_video_codecs",
      "//modules/utility",
      "//pc:libjingle_peerconnection",
      "//pc:webrtc_sdp",
      "//sdk/android:native_api_base",
      "//sdk/android:native_api_jni",
      "//sdk/android:native_api_video",
    ]
  }

  android_resources("resources") {
    testonly = true
    custom_package = "org.webrtc.examples.androidnativeapi"
    sources = [
      "res/layout/activity_main.xml",
      "res/values/strings.xml",
    ]

    # Needed for Bazel converter.
    resource_dirs = [ "res" ]
    assert(resource_dirs != [])  # Mark as used.
  }
}
