[latin-ime] refactor to use the new Dart SDK

Change-Id: I7bad8b8947416b0fadb3b55a15bf4df0f30bcaed
diff --git a/app/latin-ime/.gitignore b/app/latin-ime/.gitignore
deleted file mode 100644
index 2804d14..0000000
--- a/app/latin-ime/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-*.mojom.dart
-.jiri
-.packages
-.project
-.pub
-build
-packages
-pubspec.lock
-/out
-/third_party/flutter
-
-# OS and editor generated files
-*~
-.DS_Store
\ No newline at end of file
diff --git a/app/latin-ime/BUILD.gn b/app/latin-ime/BUILD.gn
index 17f05cf..d8f11c2 100644
--- a/app/latin-ime/BUILD.gn
+++ b/app/latin-ime/BUILD.gn
@@ -5,7 +5,7 @@
 import("//topaz/runtime/flutter_runner/flutter_app.gni")
 
 flutter_app("latin-ime") {
-  main_dart = "main.dart"
+  main_dart = "lib/main.dart"
 
   manifest = "pubspec.yaml"
 
@@ -24,7 +24,8 @@
     "//sdk/fidl/fuchsia.ui.policy",
     "//third_party/dart-pkg/git/flutter/packages/flutter",
     "//topaz/public/dart/fidl",
-    "//topaz/public/lib/app/dart",
+    "//topaz/public/dart/fuchsia_logger",
+    "//topaz/public/dart/fuchsia_services",
     "//topaz/shell/keyboard",
   ]
 }
diff --git a/app/latin-ime/OWNERS b/app/latin-ime/OWNERS
new file mode 100644
index 0000000..fcf586e
--- /dev/null
+++ b/app/latin-ime/OWNERS
@@ -0,0 +1,2 @@
+ejia@google.com
+brycelee@google.com
diff --git a/app/latin-ime/main.dart b/app/latin-ime/lib/main.dart
similarity index 83%
rename from app/latin-ime/main.dart
rename to app/latin-ime/lib/main.dart
index 3bccea8..c64a27a 100644
--- a/app/latin-ime/main.dart
+++ b/app/latin-ime/lib/main.dart
@@ -2,19 +2,19 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'package:fidl_fuchsia_ui_input/fidl.dart';
+import 'package:fidl_fuchsia_ui_input/fidl_async.dart';
 import 'package:flutter/material.dart';
 import 'package:keyboard/keyboard.dart';
-import 'package:lib.app.dart/app.dart';
-import 'package:lib.app.dart/logging.dart';
+import 'package:fuchsia_logger/logger.dart';
+import 'package:fuchsia_services/services.dart';
 
 class ImeKeyboard extends StatelessWidget {
+  final ImeServiceProxy _imeService;
+
   const ImeKeyboard({ImeServiceProxy imeService})
       : _imeService = imeService,
         super();
 
-  final ImeServiceProxy _imeService;
-
   void _onText(String text) {
     final kbEvent = KeyboardEvent(
       phase: KeyboardEventPhase.pressed,
@@ -66,11 +66,10 @@
 }
 
 void main() {
-  final context = StartupContext.fromStartupInfo();
-  var imeService = ImeServiceProxy();
-  connectToService<ImeService>(context.environmentServices, imeService.ctrl);
+  setupLogger(name: 'latin_ime');
 
-  setupLogger();
+  final imeService = ImeServiceProxy();
+  StartupContext.fromStartupInfo().incoming.connectToService(imeService);
 
   runApp(Theme(
     data: ThemeData.light(),