[setui] Remove local SetUI service implementation.

SetUI service is being implemented as a standalone service under
Garnet. Removing this copy as it is not compatible with soft
transitions and currently unused.

Fixes: SU-178
Test: Ensure setup flow still functions with removal.
Change-Id: I57b340595a90ed3bd37960478d081964562dc3b5
diff --git a/lib/setui/settings/service/BUILD.gn b/lib/setui/settings/service/BUILD.gn
index f3a6f6a..bc8cccd 100644
--- a/lib/setui/settings/service/BUILD.gn
+++ b/lib/setui/settings/service/BUILD.gn
@@ -14,7 +14,6 @@
     "src/network_controller.dart",
     "src/intl_controller.dart",
     "src/connectivity_controller.dart",
-    "src/local_service.dart",
     "src/timezone_controller.dart",
     "src/intl/intl_settings_util.dart",
   ]
@@ -41,7 +40,6 @@
     # STOPSHIP(brycelee): add test back once migration to new api is complete.
     # "network_controller_test.dart",
     "intl_controller_test.dart",
-    "service_test.dart",
   ]
 
   deps = [
diff --git a/lib/setui/settings/service/lib/service.dart b/lib/setui/settings/service/lib/service.dart
index 0d8c0e9..a301379 100644
--- a/lib/setui/settings/service/lib/service.dart
+++ b/lib/setui/settings/service/lib/service.dart
@@ -5,8 +5,6 @@
 import 'package:lib_setui_settings_common/setting_adapter.dart';
 import 'package:lib_setui_settings_common/setting_source.dart';
 
-import 'src/local_service.dart';
-
 /// Library that wraps the underlying setUi service.
 ///
 /// Can be used to swap out between different implementations.
@@ -37,7 +35,7 @@
       this._service, this._listenerBinder, this._logger);
 
   SetUiServiceAdapter._local(this._listenerBinder, this._logger)
-      : _service = LocalSetUiService();
+      : _service = null;
 
   /// Gets the setting from the service with the given [SettingType].
   ///
diff --git a/lib/setui/settings/service/lib/src/local_service.dart b/lib/setui/settings/service/lib/src/local_service.dart
deleted file mode 100644
index 463559b..0000000
--- a/lib/setui/settings/service/lib/src/local_service.dart
+++ /dev/null
@@ -1,82 +0,0 @@
-import 'package:fidl/fidl.dart';
-import 'package:fidl_fuchsia_setui/fidl.dart';
-
-import 'connectivity_controller.dart';
-import 'intl_controller.dart';
-import 'network_controller.dart';
-import 'setui_setting_controller.dart';
-import 'timezone_controller.dart';
-
-class LocalSetUiService implements SetUiService {
-  Map<SettingType, SetUiSettingController> controllers = {};
-  final SetUiSettingControllerCreator creator;
-  final SetUiListenerProxyBinder proxyBinder;
-
-  LocalSetUiService(
-      {this.creator = SetUiSettingControllerCreator.instance,
-      this.proxyBinder = _bindListenerProxy});
-
-  @override
-  void listen(
-      SettingType settingType, InterfaceHandle<SettingListener> listener) {
-    _getController(settingType).addListener(proxyBinder(listener));
-  }
-
-  @override
-  void update(
-      SettingsObject value, void Function(UpdateResponse response) callback) {
-    // TODO: Remove this method and replace with mutate.
-  }
-
-  @override
-  void mutate(SettingType settingType, Mutation mutation,
-      void Function(MutationResponse response) callback) {
-    interactiveMutate(settingType, mutation, null /*handles*/, callback);
-  }
-
-  @override
-  void interactiveMutate(
-      SettingType settingType,
-      Mutation mutation,
-      MutationHandles handles,
-      void Function(MutationResponse response) callback) {
-    _getController(settingType).mutate(mutation, handles: handles).then((code) {
-      callback(MutationResponse(returnCode: code));
-    });
-  }
-
-  SetUiSettingController _getController(SettingType type) =>
-      controllers.putIfAbsent(type, () => creator.createController(type));
-}
-
-class SetUiSettingControllerCreator {
-  static const SetUiSettingControllerCreator instance =
-      SetUiSettingControllerCreator();
-
-  const SetUiSettingControllerCreator();
-
-  SetUiSettingController createController(SettingType type) {
-    switch (type) {
-      case SettingType.timeZone:
-        return TimeZoneController();
-      case SettingType.wireless:
-        return NetworkController();
-      case SettingType.connectivity:
-        return ConnectivityController();
-      case SettingType.intl:
-        return IntlSettingsController();
-      default:
-        throw UnimplementedError('No controller for the given type!');
-    }
-  }
-}
-
-SettingListenerProxy _bindListenerProxy(
-    InterfaceHandle<SettingListener> listener) {
-  final proxy = SettingListenerProxy();
-  proxy.ctrl.bind(listener);
-  return proxy;
-}
-
-typedef SetUiListenerProxyBinder = SettingListenerProxy Function(
-    InterfaceHandle<SettingListener> listener);
diff --git a/lib/setui/settings/service/test/service_test.dart b/lib/setui/settings/service/test/service_test.dart
deleted file mode 100644
index 2e7ff3c..0000000
--- a/lib/setui/settings/service/test/service_test.dart
+++ /dev/null
@@ -1,201 +0,0 @@
-import 'dart:async';
-
-import 'package:fidl/fidl.dart';
-import 'package:fidl_fuchsia_setui/fidl.dart';
-import 'package:flutter/material.dart';
-import 'package:lib_setui_service/service.dart';
-import 'package:lib_setui_service/src/local_service.dart';
-import 'package:lib_setui_service/src/setui_setting_controller.dart';
-import 'package:lib_setui_settings_common/setting_source.dart';
-import 'package:mockito/mockito.dart';
-import 'package:test/test.dart';
-// ignore_for_file: implementation_imports
-
-const String defaultValue = 'default';
-
-const String value1 = 'value1';
-
-void main() {
-  SetUiServiceAdapter manager;
-  LocalSetUiService service;
-  FakeSetUiSettingControllerCreator fakeControllers;
-
-  setUp(() {
-    fakeControllers = FakeSetUiSettingControllerCreator();
-    service = LocalSetUiService(
-        creator: fakeControllers, proxyBinder: _bindListenerProxy);
-    manager = SetUiServiceAdapter.withService(service, _bindListener, null);
-  });
-
-  group('SetUi service', () {
-    test('gets an object that then gets updated', () async {
-      final SettingSource<String> object =
-          manager.fetch<String>(SettingType.unknown);
-
-      await awaitForSetting(object, defaultValue);
-      expect(object.state, defaultValue);
-
-      final controller = fakeControllers.fakes[SettingType.unknown];
-      controller.item.value = value1;
-
-      await awaitForSetting(object, value1);
-      expect(object.state, value1);
-    });
-    test('mutates a value', () async {
-      final object = manager.fetch<String>(SettingType.unknown);
-
-      await awaitForSetting(object, defaultValue);
-      expect(object.state, defaultValue);
-
-      final response = await manager.mutate(
-          SettingType.unknown,
-          Mutation.withStringMutationValue(StringMutation(
-              operation: StringOperation.update, value: value1)));
-      expect(response.returnCode, ReturnCode.ok);
-      expect(object.state, value1);
-    });
-    test('mutates a value without listeners and closes after mutate', () async {
-      final response = await manager.mutate(
-          SettingType.unknown,
-          Mutation.withStringMutationValue(StringMutation(
-              operation: StringOperation.update, value: value1)));
-      expect(response.returnCode, ReturnCode.ok);
-
-      final FakeStringSettingController controller =
-          fakeControllers.fakes[SettingType.unknown];
-      expect(controller.item.value, value1);
-      expect(controller.open, false);
-    });
-    test('calls initialize and close depending on listeners', () async {
-      final object = manager.fetch<String>(SettingType.unknown);
-
-      await awaitForSetting(object, defaultValue);
-      expect(object.state, defaultValue);
-
-      final FakeStringSettingController controller =
-          fakeControllers.fakes[SettingType.unknown];
-
-      expect(controller.open, true);
-
-      final FakeSetUiListenerProxy proxy = controller.listeners.single;
-      when(proxy.ctrl.isBound).thenReturn(false);
-      controller.item.value = value1;
-
-      expect(controller.open, false);
-
-      manager.fetch<String>(SettingType.unknown);
-
-      expect(controller.open, true);
-    });
-  });
-}
-
-// Helper function for awaiting for a setting to change. If the setting is
-// already at the expected value, then the function immediately returns.
-Future<void> awaitForSetting(SettingSource source, Object expectedValue) async {
-  if (source.state == expectedValue) {
-    return;
-  }
-
-  final Completer<void> completer = Completer<void>();
-
-  final StreamSubscription subscription =
-      source.addListener(completer.complete);
-  await completer.future;
-  await subscription.cancel();
-}
-
-Future<void> listenForNextChange(SettingSource notifier) async {
-  final completer = Completer();
-  final StreamSubscription subscription =
-      notifier.addListener(completer.complete);
-  await completer.future;
-  await subscription.cancel();
-}
-
-class FakeSetUiSettingControllerCreator
-    implements SetUiSettingControllerCreator {
-  Map<SettingType, FakeStringSettingController> fakes = {};
-
-  @override
-  SetUiSettingController createController(SettingType type) =>
-      fakes.putIfAbsent(type, () => FakeStringSettingController());
-}
-
-class FakeStringSettingController extends SetUiSettingController {
-  final ValueNotifier<String> item = ValueNotifier<String>(defaultValue);
-  bool open = false;
-
-  @override
-  Future<void> close() async {
-    Completer<void> completer = new Completer<void>();
-    item.removeListener(notifyListeners);
-    open = false;
-    completer.complete();
-    return completer.future;
-  }
-
-  @override
-  Future<void> initialize() async {
-    Completer<void> completer = new Completer<void>();
-    item.addListener(notifyListeners);
-    open = true;
-    completer.complete();
-    return completer.future;
-  }
-
-  @override
-  Future<ReturnCode> mutate(Mutation mutation,
-      {MutationHandles handles}) async {
-    return applyMutation(mutation, handles: handles);
-  }
-
-  @override
-  Future<ReturnCode> applyMutation(Mutation mutation,
-      {MutationHandles handles}) async {
-    if (mutation.tag != MutationTag.stringMutationValue) {
-      return ReturnCode.unsupported;
-    }
-
-    item.value = mutation.stringMutationValue.value;
-    return ReturnCode.ok;
-  }
-
-  @override
-  SettingsObject get value => stringObject(item.value);
-}
-
-InterfaceHandle<SettingListener> _bindListener(SettingListener impl) =>
-    MockInterfaceHandle(impl);
-
-SettingListenerProxy _bindListenerProxy(
-    InterfaceHandle<SettingListener> listener) {
-  final MockInterfaceHandle<SettingListener> handle = listener;
-  return FakeSetUiListenerProxy(handle.impl);
-}
-
-class MockProxyController<T> extends Mock implements ProxyController<T> {}
-
-class MockInterfaceHandle<T> extends Mock implements InterfaceHandle<T> {
-  final T impl;
-
-  MockInterfaceHandle(this.impl);
-}
-
-class FakeSetUiListenerProxy implements SettingListenerProxy {
-  final SettingListener impl;
-
-  @override
-  final MockProxyController<SettingListener> ctrl =
-      MockProxyController<SettingListener>();
-
-  FakeSetUiListenerProxy(this.impl) {
-    when(ctrl.isBound).thenReturn(true);
-  }
-
-  @override
-  void notify(SettingsObject object) => impl.notify(object);
-}
-
-SettingsObject stringObject(String value) => SettingsObject(
-    settingType: SettingType.unknown, data: SettingData.withStringValue(value));