# Copyright 2018 The Fuchsia 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("//topaz/runtime/flutter_runner/flutter_app.gni")

flutter_app("bluetooth_settings") {

  main_dart = "lib/main.dart"

  manifest = "pubspec.yaml"

  sources = [
    "src/bluetooth_model.dart",
    "src/bluetooth_settings.dart",
  ]

  meta = [
    {
      path = rebase_path("meta/bluetooth_settings.cmx")
      dest = "bluetooth_settings.cmx"
    },
  ]

  deps = [
    "//sdk/fidl/fuchsia.bluetooth",
    "//sdk/fidl/fuchsia.bluetooth.control",
    "//sdk/fidl/fuchsia.bluetooth.gatt",
    "//sdk/fidl/fuchsia.bluetooth.le",
    "//third_party/dart-pkg/git/flutter/packages/flutter",
    "//topaz/lib/settings:lib.settings",
    "//topaz/public/dart/fuchsia_logger",
    "//topaz/public/dart/fuchsia_services",
    "//topaz/public/dart/widgets:lib.widgets",
  ]
}
