[cleanup] Remove unused public/dart/widgets classes

- application_deprecated
- application_widget_deprecated
- pointer_events_listener_deprecated
- lottie_player.

Change-Id: I0faf0791209733c5f1dade18a8a4bd96a4ad5ffb
diff --git a/public/dart/widgets/BUILD.gn b/public/dart/widgets/BUILD.gn
index 456748d..f976d0e 100644
--- a/public/dart/widgets/BUILD.gn
+++ b/public/dart/widgets/BUILD.gn
@@ -13,9 +13,7 @@
 
   sources = [
     "application.dart",
-    "application_deprecated.dart",
     "model.dart",
-    "src/application/application_widget.dart",
     "src/model/model.dart",
     "src/model/spring_model.dart",
     "src/model/ticking_model.dart",
@@ -32,14 +30,11 @@
     # Including these files causes analysis errors
     # "utils.dart",
     # "utils_deprecated.dart",
-    # "src/application/application_widget_deprecated.dart",
     # "src/utils/frame_rate_tracer.dart",
     # "src/utils/deprecate.dart",
     # "src/utils/pointer_events_listener.dart",
     # "src/utils/change_notifiers.dart",
-    # "src/utils/pointer_events_listener_deprecated.dart",
     # "src/model/provider.dart",
-    # "src/widgets/lottie_player.dart",
     # "src/widgets/screen_container.dart",
     # "src/widgets/settings_item.dart",
   ]
diff --git a/public/dart/widgets/lib/application_deprecated.dart b/public/dart/widgets/lib/application_deprecated.dart
deleted file mode 100644
index dde2649..0000000
--- a/public/dart/widgets/lib/application_deprecated.dart
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyright 2017 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.
-
-export 'src/application/application_widget_deprecated.dart';
diff --git a/public/dart/widgets/lib/src/application/application_widget_deprecated.dart b/public/dart/widgets/lib/src/application/application_widget_deprecated.dart
deleted file mode 100644
index 7ccdced..0000000
--- a/public/dart/widgets/lib/src/application/application_widget_deprecated.dart
+++ /dev/null
@@ -1,130 +0,0 @@
-// Copyright 2017 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 'package:fidl_fuchsia_sys/fidl.dart';
-import 'package:fidl_fuchsia_ui_app/fidl.dart' show ViewProviderProxy;
-import 'package:fidl_fuchsia_ui_views/fidl_async.dart'
-    show ViewToken, ViewHolderToken;
-import 'package:flutter/widgets.dart';
-import 'package:fuchsia_scenic_flutter/child_view.dart' show ChildView;
-import 'package:fuchsia_scenic_flutter/child_view_connection.dart'
-    show ChildViewConnection;
-import 'package:lib.app.dart/app.dart';
-import 'package:meta/meta.dart';
-import 'package:zircon/zircon.dart';
-
-/// A [Widget] that displays the view of the application it launches.
-class ApplicationWidget extends StatefulWidget {
-  /// The application to launch.
-  final String url;
-
-  /// The [Launcher] used to launch the application.
-  final Launcher launcher;
-
-  /// Called if the application terminates.
-  final VoidCallback onDone;
-
-  /// Child can be hit tested.
-  final bool hitTestable;
-
-  /// Child can be focused.
-  final bool focusable;
-
-  /// Constructor.
-  const ApplicationWidget({
-    @required this.url,
-    @required this.launcher,
-    Key key,
-    this.onDone,
-    this.hitTestable = true,
-    this.focusable = true,
-  }) : super(key: key);
-
-  @override
-  _ApplicationWidgetState createState() => _ApplicationWidgetState();
-}
-
-class _ApplicationWidgetState extends State<ApplicationWidget> {
-  ComponentControllerProxy _applicationController;
-  ChildViewConnection _connection;
-
-  @override
-  void initState() {
-    super.initState();
-    _launchApp();
-  }
-
-  @override
-  void didUpdateWidget(ApplicationWidget old) {
-    super.didUpdateWidget(old);
-    if (old.url == widget.url && old.launcher == widget.launcher) {
-      return;
-    }
-
-    _cleanUp();
-    _launchApp();
-  }
-
-  @override
-  void dispose() {
-    _cleanUp();
-    super.dispose();
-  }
-
-  @override
-  Widget build(BuildContext context) => ChildView(
-        connection: _connection,
-        hitTestable: widget.hitTestable,
-        focusable: widget.focusable,
-      );
-
-  void _cleanUp() {
-    _applicationController.ctrl.close();
-    _connection = null;
-  }
-
-  void _launchApp() {
-    _applicationController = ComponentControllerProxy();
-
-    Services incomingServices = Services();
-    widget.launcher.createComponent(
-      LaunchInfo(
-          url: widget.url, directoryRequest: incomingServices.request()),
-      _applicationController.ctrl.request(),
-    );
-
-    _connection = ChildViewConnection(
-      _consumeViewProvider(
-        _consumeServices(incomingServices),
-      ),
-      onAvailable: (_) {},
-      onUnavailable: (_) => widget.onDone?.call(),
-    );
-  }
-
-  /// Creates a [ViewProviderProxy] from a [Services], closing it in the
-  /// process.
-  ViewProviderProxy _consumeServices(Services services) {
-    ViewProviderProxy viewProvider = ViewProviderProxy();
-    services
-      ..connectToService(viewProvider.ctrl)
-      ..close();
-    return viewProvider;
-  }
-
-  /// Creates a handle to a [ViewHolderToken] from a [ViewProviderProxy],
-  /// closing it in the process.
-  ViewHolderToken _consumeViewProvider(
-    ViewProviderProxy viewProvider,
-  ) {
-    final viewTokens = EventPairPair();
-    assert(viewTokens.status == ZX.OK);
-    final viewHolderToken = ViewHolderToken(value: viewTokens.first);
-    final viewToken = ViewToken(value: viewTokens.second);
-
-    viewProvider.createView(viewToken.value, null, null);
-    viewProvider.ctrl.close();
-    return viewHolderToken;
-  }
-}
diff --git a/public/dart/widgets/lib/src/utils/pointer_events_listener_deprecated.dart b/public/dart/widgets/lib/src/utils/pointer_events_listener_deprecated.dart
deleted file mode 100644
index a659d13..0000000
--- a/public/dart/widgets/lib/src/utils/pointer_events_listener_deprecated.dart
+++ /dev/null
@@ -1,207 +0,0 @@
-// 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 'dart:async';
-import 'dart:developer';
-import 'dart:ui' as ui;
-
-import 'package:fidl_fuchsia_ui_input/fidl.dart';
-import 'package:fidl_fuchsia_ui_policy/fidl.dart';
-
-/// Listens for pointer events and injects them into Flutter input pipeline.
-class PointerEventsListener implements PointerCaptureListenerHack {
-  // Holds the fidl binding to receive pointer events.
-  final PointerCaptureListenerHackBinding _pointerCaptureListenerBinding =
-      PointerCaptureListenerHackBinding();
-
-  // Holds the last [PointerEvent] mapped to its pointer id. This is used to
-  // determine the correct [PointerDataPacket] to generate at boundary condition
-  // of the screen rect.
-  final Map<int, PointerEvent> _lastPointerEvent = <int, PointerEvent>{};
-
-  // Flag to remember that a down event was seen before a move event.
-  // TODO(sanjayc): Should really convert to a FSM for PointerEvent.
-  final Map<int, bool> _downEvent = <int, bool>{};
-
-  // Holds the [onPointerDataCallback] assigned to [ui.window] at
-  // the start of the program.
-  ui.PointerDataPacketCallback _originalCallback;
-
-  /// Starts listening to pointer events. Also overrides the original
-  /// [ui.window.onPointerDataPacket] callback to a NOP since we
-  /// inject the pointer events received from the [Presentation] service.
-  void listen(PresentationProxy presentation) {
-    _originalCallback = ui.window.onPointerDataPacket;
-    ui.window.onPointerDataPacket = (ui.PointerDataPacket packet) {};
-
-    presentation
-        .capturePointerEventsHack(_pointerCaptureListenerBinding.wrap(this));
-  }
-
-  /// Stops listening to pointer events. Also restores the
-  /// [ui.window.onPointerDataPacket] callback.
-  void stop() {
-    if (_originalCallback != null) {
-      _cleanupPointerEvents();
-      _pointerCaptureListenerBinding.close();
-
-      // Restore the original pointer events callback on the window.
-      ui.window.onPointerDataPacket = _originalCallback;
-      _originalCallback = null;
-      _lastPointerEvent.clear();
-      _downEvent.clear();
-    }
-  }
-
-  void _cleanupPointerEvents() {
-    for (PointerEvent lastEvent in _lastPointerEvent.values.toList()) {
-      if (lastEvent.phase != PointerEventPhase.remove &&
-          lastEvent.type != PointerEventType.mouse) {
-        onPointerEvent(_clone(lastEvent, PointerEventPhase.remove));
-      }
-    }
-  }
-
-  PointerEvent _clone(PointerEvent event, [PointerEventPhase phase]) {
-    return PointerEvent(
-        buttons: event.buttons,
-        deviceId: event.deviceId,
-        eventTime: event.eventTime,
-        phase: phase ?? event.phase,
-        pointerId: event.pointerId,
-        radiusMajor: event.radiusMajor,
-        radiusMinor: event.radiusMinor,
-        type: event.type,
-        x: event.x,
-        y: event.y);
-  }
-
-  /// |PointerCaptureListener|.
-  @override
-  Future<void> onPointerEvent(PointerEvent event) async {
-    _onPointerEvent(event);
-  }
-
-  void _onPointerEvent(PointerEvent event) {
-    if (_originalCallback == null) {
-      return;
-    }
-
-    Timeline.startSync('PointerEventsListener.onPointerEvent');
-    final packet = _getPacket(event);
-    if (packet != null) {
-      _originalCallback(ui.PointerDataPacket(data: [packet]));
-    }
-    Timeline.finishSync();
-  }
-
-  ui.PointerChange _changeFromPointerEvent(PointerEvent event) {
-    PointerEvent lastEvent = _lastPointerEvent[event.pointerId] ?? event;
-
-    switch (event.phase) {
-      case PointerEventPhase.add:
-        return ui.PointerChange.add;
-      case PointerEventPhase.hover:
-        return ui.PointerChange.hover;
-      case PointerEventPhase.down:
-        _downEvent[event.pointerId] = true;
-        return ui.PointerChange.down;
-      case PointerEventPhase.move:
-        // If move is the first event, convert to `add` event. Otherwise,
-        // flutter pointer state machine throws an exception.
-        if (event.type != PointerEventType.mouse &&
-            _lastPointerEvent[event.pointerId] == null) {
-          return ui.PointerChange.add;
-        }
-
-        // If move event was seen before down event, convert to `down` event.
-        if (event.type != PointerEventType.mouse &&
-            _downEvent[event.pointerId] != true) {
-          _downEvent[event.pointerId] = true;
-          return ui.PointerChange.down;
-        }
-
-        // For mouse, return a hover event if no buttons were pressed.
-        if (event.type == PointerEventType.mouse && event.buttons == 0) {
-          return ui.PointerChange.hover;
-        }
-
-        // Check if this is a boundary condition and convert to up/down event.
-        if (lastEvent?.phase == PointerEventPhase.move) {
-          if (_outside(lastEvent) && _inside(event)) {
-            return ui.PointerChange.down;
-          }
-          if (_inside(lastEvent) && _outside(event)) {
-            return ui.PointerChange.cancel;
-          }
-        }
-
-        return ui.PointerChange.move;
-      case PointerEventPhase.up:
-        _downEvent[event.pointerId] = false;
-        return ui.PointerChange.up;
-      case PointerEventPhase.remove:
-        return ui.PointerChange.remove;
-      case PointerEventPhase.cancel:
-      default:
-        return ui.PointerChange.cancel;
-    }
-  }
-
-  ui.PointerDeviceKind _kindFromPointerEvent(PointerEvent event) {
-    switch (event.type) {
-      case PointerEventType.mouse:
-        return ui.PointerDeviceKind.mouse;
-      case PointerEventType.stylus:
-        return ui.PointerDeviceKind.stylus;
-      case PointerEventType.invertedStylus:
-        return ui.PointerDeviceKind.invertedStylus;
-      case PointerEventType.touch:
-      default:
-        return ui.PointerDeviceKind.touch;
-    }
-  }
-
-  ui.PointerData _getPacket(PointerEvent event) {
-    PointerEvent lastEvent = _lastPointerEvent[event.pointerId] ?? event;
-
-    // Only allow add and remove pointer events from outside the window bounds.
-    // For other events, we drop them if the last two were outside the window
-    // bounds. If any of current event or last event lies inside the window,
-    // we generate a synthetic down or up event.
-    if (event.phase != PointerEventPhase.add &&
-        event.phase != PointerEventPhase.remove &&
-        _outside(event) &&
-        _outside(lastEvent)) {
-      _lastPointerEvent[event.pointerId] = event;
-      return null;
-    }
-
-    // Convert from PointerEvent to PointerData.
-    final data = ui.PointerData(
-      buttons: event.buttons,
-      device: event.pointerId,
-      timeStamp: Duration(microseconds: event.eventTime ~/ 1000),
-      change: _changeFromPointerEvent(event),
-      kind: _kindFromPointerEvent(event),
-      physicalX: event.x * ui.window.devicePixelRatio,
-      physicalY: event.y * ui.window.devicePixelRatio,
-    );
-
-    // Remember this event for checking boundary condition on the next event.
-    _lastPointerEvent[event.pointerId] = event;
-
-    return data;
-  }
-
-  bool _inside(PointerEvent event) {
-    return event != null &&
-        event.x * ui.window.devicePixelRatio >= 0 &&
-        event.x * ui.window.devicePixelRatio < ui.window.physicalSize.width &&
-        event.y * ui.window.devicePixelRatio >= 0 &&
-        event.y * ui.window.devicePixelRatio < ui.window.physicalSize.height;
-  }
-
-  bool _outside(PointerEvent event) => !_inside(event);
-}
diff --git a/public/dart/widgets/lib/src/widgets/lottie_player.dart b/public/dart/widgets/lib/src/widgets/lottie_player.dart
deleted file mode 100644
index 59b694e..0000000
--- a/public/dart/widgets/lib/src/widgets/lottie_player.dart
+++ /dev/null
@@ -1,144 +0,0 @@
-// Copyright 2017 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 'dart:typed_data';
-
-import 'package:fidl/fidl.dart' show InterfaceHandle;
-import 'package:fidl_fuchsia_mem/fidl.dart' show Buffer;
-import 'package:fidl_fuchsia_skia_skottie/fidl.dart' as skottie;
-import 'package:fidl_fuchsia_sys/fidl.dart';
-import 'package:fidl_fuchsia_ui_app/fidl.dart' show ViewProviderProxy;
-import 'package:fidl_fuchsia_ui_views/fidl_async.dart'
-    show ViewToken, ViewHolderToken;
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
-import 'package:fuchsia_scenic_flutter/child_view.dart' show ChildView;
-import 'package:fuchsia_scenic_flutter/child_view_connection.dart'
-    show ChildViewConnection;
-import 'package:lib.app.dart/app.dart';
-import 'package:meta/meta.dart';
-import 'package:zircon/zircon.dart';
-
-typedef LoadCallback = void Function(
-    skottie.Status status, skottie.Player player);
-
-/// A [Widget] that displays lottie animation in a scenic view.
-class LottiePlayer extends StatefulWidget {
-  /// The JSON data of the animation as a string.
-  final String json;
-
-  /// The background color.
-  final Color backgroundColor;
-
-  /// Called after animation is loaded.
-  final LoadCallback onLoad;
-
-  /// Loops the animation. Default [true].
-  final bool loop;
-
-  /// Starts playing the animation after loading. Default [true].
-  final bool autoplay;
-
-  /// Constructor.
-  const LottiePlayer({
-    @required this.json,
-    this.backgroundColor = Colors.black,
-    this.loop = true,
-    this.autoplay = true,
-    Key key,
-    this.onLoad,
-  }) : super(key: key);
-
-  @override
-  _LottiePlayerState createState() => _LottiePlayerState();
-}
-
-class _LottiePlayerState extends State<LottiePlayer> {
-  final ComponentControllerProxy _controller = ComponentControllerProxy();
-  final skottie.LoaderProxy _loader = skottie.LoaderProxy();
-  ChildViewConnection _connection;
-
-  @override
-  void initState() {
-    super.initState();
-
-    _launchViewer();
-    _loadViewer();
-  }
-
-  @override
-  void didUpdateWidget(LottiePlayer old) {
-    super.didUpdateWidget(old);
-    if (old.json == widget.json &&
-        old.backgroundColor == widget.backgroundColor &&
-        old.loop == widget.loop &&
-        old.autoplay == widget.autoplay) {
-      return;
-    }
-
-    _loadViewer();
-  }
-
-  @override
-  void dispose() {
-    _loader?.ctrl?.close();
-    _controller?.ctrl?.close();
-    _connection = null;
-
-    super.dispose();
-  }
-
-  @override
-  Widget build(BuildContext context) => ChildView(
-        connection: _connection,
-        hitTestable: false,
-        focusable: false,
-      );
-
-  void _launchViewer() {
-    final startupContext = StartupContext.fromStartupInfo();
-    final incomingServices = Services();
-
-    final launcher = LauncherProxy();
-    connectToService(startupContext.environmentServices, launcher.ctrl);
-    launcher.createComponent(
-      LaunchInfo(
-        url: 'skottie_viewer',
-        directoryRequest: incomingServices.request(),
-      ),
-      _controller.ctrl.request(),
-    );
-    launcher.ctrl.close();
-
-    final viewTokens = EventPairPair();
-    assert(viewTokens.status == ZX.OK);
-    final viewHolderToken = ViewHolderToken(value: viewTokens.first);
-    final viewToken = ViewToken(value: viewTokens.second);
-
-    final viewProvider = ViewProviderProxy();
-    incomingServices.connectToService(viewProvider.ctrl);
-    viewProvider.createView(viewToken.value, null, null);
-    viewProvider.ctrl.close();
-
-    incomingServices
-      ..connectToService(_loader.ctrl)
-      ..close();
-
-    _connection = ChildViewConnection(viewHolderToken);
-  }
-
-  void _loadViewer() {
-    final SizedVmo vmo =
-        SizedVmo.fromUint8List(Uint8List.fromList(widget.json.codeUnits));
-    final options = skottie.Options(
-      backgroundColor: widget.backgroundColor.value,
-      loop: widget.loop,
-      autoplay: widget.autoplay,
-    );
-    _loader.load(Buffer(vmo: vmo, size: vmo.size), options,
-        (skottie.Status status, InterfaceHandle<skottie.Player> player) {
-      widget.onLoad(status, skottie.PlayerProxy()..ctrl.bind(player));
-    });
-  }
-}
diff --git a/public/dart/widgets/lib/utils_deprecated.dart b/public/dart/widgets/lib/utils_deprecated.dart
deleted file mode 100644
index 2d6ae85..0000000
--- a/public/dart/widgets/lib/utils_deprecated.dart
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright 2018 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
-
-export 'src/utils/change_notifiers.dart';
-export 'src/utils/pointer_events_listener_deprecated.dart';
diff --git a/public/dart/widgets/lib/widgets.dart b/public/dart/widgets/lib/widgets.dart
index 2897c7b..6bf60d9 100644
--- a/public/dart/widgets/lib/widgets.dart
+++ b/public/dart/widgets/lib/widgets.dart
@@ -11,7 +11,6 @@
 export 'src/widgets/conditional_builder.dart';
 export 'src/widgets/fuchsia_spinner.dart';
 export 'src/widgets/future_widget.dart';
-export 'src/widgets/lottie_player.dart';
 export 'src/widgets/rk4_spring_simulation.dart';
 export 'src/widgets/screen_container.dart';
 export 'src/widgets/ticking_state.dart';