# Copyright 2015 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/rules.gni")

android_resources("chrome_tabs_client_example_apk_resources") {
  resource_dirs = [ "src/Application/src/main/res" ]
  android_manifest = "src/Application/src/main/AndroidManifest.xml"
  custom_package = "org.chromium.customtabsclient"
}

android_apk("custom_tabs_client_example_apk") {
  java_files = [
    "src/Application/src/main/java/org/chromium/customtabsclient/BottomBarManager.java",
    "src/Application/src/main/java/org/chromium/customtabsclient/BrowserActionsReceiver.java",
    "src/Application/src/main/java/org/chromium/customtabsclient/MainActivity.java",
    "src/Application/src/main/java/org/chromium/customtabsclient/SessionHelper.java",
  ]
  android_manifest = "src/Application/src/main/AndroidManifest.xml"
  apk_name = "CustomTabsClientExample"
  deps = [
    ":chrome_tabs_client_example_apk_resources",
    ":custom_tabs_client_shared_java",
    ":custom_tabs_support_java",
    "//third_party/android_tools:android_support_annotations_java",
  ]
  chromium_code = false
}

android_library("custom_tabs_client_shared_java") {
  java_files = [
    "src/shared/src/main/java/org/chromium/customtabsclient/shared/CustomTabsHelper.java",
    "src/shared/src/main/java/org/chromium/customtabsclient/shared/KeepAliveService.java",
    "src/shared/src/main/java/org/chromium/customtabsclient/shared/ServiceConnectionCallback.java",
    "src/shared/src/main/java/org/chromium/customtabsclient/shared/ServiceConnection.java",
  ]

  deps = [
    ":custom_tabs_support_java",
  ]
  chromium_code = true
}

android_library("custom_tabs_support_java") {
  java_files = [
    "src/customtabs/src/android/support/customtabs/browseractions/BrowserActionsIntent.java",
    "src/customtabs/src/android/support/customtabs/browseractions/BrowserActionItem.java",
    "src/customtabs/src/android/support/customtabs/CustomTabsCallback.java",
    "src/customtabs/src/android/support/customtabs/CustomTabsClient.java",
    "src/customtabs/src/android/support/customtabs/CustomTabsIntent.java",
    "src/customtabs/src/android/support/customtabs/CustomTabsService.java",
    "src/customtabs/src/android/support/customtabs/CustomTabsServiceConnection.java",
    "src/customtabs/src/android/support/customtabs/CustomTabsSession.java",
    "src/customtabs/src/android/support/customtabs/CustomTabsSessionToken.java",
    "src/customtabs/src/android/support/customtabs/PostMessageService.java",
    "src/customtabs/src/android/support/customtabs/PostMessageServiceConnection.java",
    "src/customtabs/src/android/support/customtabs/TrustedWebUtils.java",
  ]
  deps = [
    "//third_party/android_tools:android_support_annotations_java",
    "//third_party/android_tools:android_support_compat_java",
  ]
  srcjar_deps = [ ":chrome_custom_tabs_service_aidl" ]
  chromium_code = true
}

android_aidl("chrome_custom_tabs_service_aidl") {
  interface_file = "common.aidl"

  java_in_dir = "src/customtabs/src/android/support/customtabs"
  sources = [
    "$java_in_dir/ICustomTabsCallback.aidl",
    "$java_in_dir/ICustomTabsService.aidl",
    "$java_in_dir/IPostMessageService.aidl",
  ]
}
