# 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"
  deps = [
    "//third_party/android_deps:android_support_v7_appcompat_java",
  ]
}

android_resources("custom_tabs_support_resources") {
  resource_dirs = [ "src/customtabs/res" ]
  android_manifest = "src/customtabs/AndroidManifest.xml"
  custom_package = "android.support.customtabs"
}

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_deps:android_arch_lifecycle_common_java",
    "//third_party/android_deps:android_support_annotations_java",
    "//third_party/android_deps:android_support_v7_appcompat_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/BrowserActionItem.java",
    "src/customtabs/src/android/support/customtabs/browseractions/BrowserActionsFallbackMenuAdapter.java",
    "src/customtabs/src/android/support/customtabs/browseractions/BrowserActionsFallbackMenuDialog.java",
    "src/customtabs/src/android/support/customtabs/browseractions/BrowserActionsFallbackMenuUi.java",
    "src/customtabs/src/android/support/customtabs/browseractions/BrowserActionsFallbackMenuView.java",
    "src/customtabs/src/android/support/customtabs/browseractions/BrowserActionsIntent.java",
    "src/customtabs/src/android/support/customtabs/browseractions/BrowserServiceFileProvider.java",
    "src/customtabs/src/android/support/customtabs/browseractions/BrowserServiceImageReadTask.java",
    "src/customtabs/src/android/support/customtabs/trusted/TrustedWebActivityService.java",
    "src/customtabs/src/android/support/customtabs/trusted/TrustedWebActivityServiceWrapper.java",
    "src/customtabs/src/android/support/customtabs/trusted/TrustedWebActivityServiceConnectionManager.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/PostMessageBackend.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 = [
    ":custom_tabs_support_resources",
    "//third_party/android_deps:android_support_annotations_java",
    "//third_party/android_deps:android_support_compat_java",
    "//third_party/android_deps:android_support_v7_appcompat_java",
  ]
  srcjar_deps = [ ":chrome_custom_tabs_service_aidl" ]
  android_manifest_for_lint = "src/customtabs/AndroidManifest.xml"
  chromium_code = false
}

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",
    "$java_in_dir/trusted/ITrustedWebActivityService.aidl",
  ]
}
