# 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.

if (is_android) {
  import("//services/android/rules.gni")
  import("//build/config/android/config.gni")

  mojo_android_java_application("sensors") {
    sources = [
      "src/org/chromium/mojo/sensors/Sensors.java",
    ]

    mojo_main = "org.chromium.mojo.sensors.Sensors"

    deps = [
      ":sensors_lib",
      "//mojo/public/interfaces/application:application_java",
      "//mojo/public/java:application",
      "//mojo/services/sensors/public/interfaces:interfaces_java",
    ]
  }

  android_library("sensors_lib") {
    java_files = [
      "src/org/chromium/mojo/sensors/SensorForwarder.java",
      "src/org/chromium/mojo/sensors/SensorServiceImpl.java",
    ]

    deps = [
      "//mojo/public/java:bindings",
      "//mojo/public/java:system",
      "//mojo/services/sensors/public/interfaces:interfaces_java",
    ]
  }
}
