[ledger] Use the new API to retrieve the Ledger
TEST=Everything compiles, existing tests still run.
Change-Id: Icfd0000db68abda065a02fb5d52b80898366770d
diff --git a/app/contacts/agents/content_provider/lib/src/modular/contacts_content_provider_impl.dart b/app/contacts/agents/content_provider/lib/src/modular/contacts_content_provider_impl.dart
index 2ecfceb..9ff68f8 100644
--- a/app/contacts/agents/content_provider/lib/src/modular/contacts_content_provider_impl.dart
+++ b/app/contacts/agents/content_provider/lib/src/modular/contacts_content_provider_impl.dart
@@ -351,21 +351,16 @@
// Connect to ledger
_ledger?.ctrl?.close();
_ledger = new ledger.LedgerProxy();
- Completer<ledger.Status> statusCompleter = new Completer<ledger.Status>();
- _componentContext.getLedger(
- _ledger.ctrl.request(),
- statusCompleter.complete,
- );
- ledger.Status status = await statusCompleter.future;
- _handleLedgerResponseStatus(
- status: status,
- ledgerCall: '_componentContext.getLedger()',
- );
+ _ledger.ctrl.onConnectionError = () {
+ log.severe('Ledger disconnected.');
+ throw new Exception('Contacts Content Provider Ledger disconnected.');
+ };
+ _componentContext.getLedgerNew(_ledger.ctrl.request());
// Grab the page of contacts
_page?.ctrl?.close();
_page = new ledger.PageProxy();
- statusCompleter = new Completer<ledger.Status>();
+ Completer<ledger.Status> statusCompleter = new Completer<ledger.Status>();
_ledger.getRootPage(
_page.ctrl.request(),
statusCompleter.complete,
diff --git a/bin/xi/xi_mod/lib/main.dart b/bin/xi/xi_mod/lib/main.dart
index 16d7363..f2b109a 100644
--- a/bin/xi/xi_mod/lib/main.dart
+++ b/bin/xi/xi_mod/lib/main.dart
@@ -18,14 +18,6 @@
/// If `true`, draws the editor with a watermarked background.
const bool kDrawDebugBackground = false;
-dynamic _handleResponse(String description) {
- return (Status status) {
- if (status != Status.ok) {
- log.info('$description: $status');
- }
- };
-}
-
/// An implementation of the [Lifecycle] interface, which controls the lifetime
/// of the module. Also manages the ModuleContext connection.
class ModuleImpl implements Lifecycle {
@@ -34,7 +26,7 @@
log.info('ModuleImpl::init call');
connectToService(kContext.environmentServices, _moduleContext.ctrl);
_moduleContext.getComponentContext(_componentContext.ctrl.request());
- _componentContext.getLedger(_ledgerRequest, _handleResponse('getLedger'));
+ _componentContext.getLedgerNew(_ledgerRequest);
}
final LifecycleBinding _lifecycleBinding = new LifecycleBinding();
diff --git a/examples/ledger/todo_list/lib/src/models/todo_list_model.dart b/examples/ledger/todo_list/lib/src/models/todo_list_model.dart
index 179177f..9091e85 100644
--- a/examples/ledger/todo_list/lib/src/models/todo_list_model.dart
+++ b/examples/ledger/todo_list/lib/src/models/todo_list_model.dart
@@ -33,9 +33,11 @@
/// Call this method to connect the model
void connect(ComponentContextProxy componentContext) {
- componentContext.getLedger(
+ _ledger.ctrl.onConnectionError = () {
+ print('[Todo List] Ledger disconnected.');
+ };
+ componentContext.getLedgerNew(
_ledger.ctrl.request(),
- handleLedgerResponse('getLedger'),
);
_ledger.getRootPage(
_page.ctrl.request(),
diff --git a/public/dart/sledge/lib/src/sledge.dart b/public/dart/sledge/lib/src/sledge.dart
index b36692e..d0017ee 100644
--- a/public/dart/sledge/lib/src/sledge.dart
+++ b/public/dart/sledge/lib/src/sledge.dart
@@ -6,7 +6,6 @@
import 'dart:typed_data';
import 'package:fidl_fuchsia_ledger/fidl.dart' as ledger;
-import 'package:fidl_fuchsia_ledger/fidl.dart' as ledger_async;
import 'package:fidl_fuchsia_modular/fidl.dart';
import 'package:fidl_fuchsia_modular/fidl_async.dart' as modular_async;
import 'package:fidl/fidl.dart' as fidl;
@@ -51,14 +50,7 @@
/// Default constructor.
factory Sledge(ComponentContext componentContext, [SledgePageId pageId]) {
fidl.InterfacePair<ledger.Ledger> ledgerPair = new fidl.InterfacePair();
- componentContext.getLedger(ledgerPair.passRequest(),
- (ledger.Status status) {
- if (status != ledger.Status.ok) {
- throw new Exception(
- 'Sledge failed to connect to Ledger with status `$status`.');
- }
- });
-
+ componentContext.getLedgerNew(ledgerPair.passRequest());
return new Sledge._(ledgerPair.passHandle(), pageId);
}
@@ -75,7 +67,7 @@
_ledgerProxy.ctrl.onConnectionError = () {
initializationCompleter.complete(false);
- throw new Exception('Sledge failed to connect to Ledger.');
+ throw new Exception('Sledge was disconnected from the Ledger.');
};
_ledgerProxy.getPage(pageId.id, _pageProxy.ctrl.request(),
@@ -97,15 +89,7 @@
factory Sledge.forAsync(modular_async.ComponentContext componentContext,
[SledgePageId pageId]) {
final pair = new ChannelPair();
- componentContext
- .getLedger(new fidl.InterfaceRequest(pair.first))
- .then((status) async {
- if (status != ledger_async.Status.ok) {
- throw new Exception(
- 'Sledge failed to connect to Ledger with status `$status`.');
- }
- });
-
+ componentContext.getLedgerNew(new fidl.InterfaceRequest(pair.first));
return new Sledge._(new fidl.InterfaceHandle(pair.second), pageId);
}