[ledger] Use new PageSnapshot APIs.

LE-618

Change-Id: I8355e14c45625b3ab935bc46beba69abcbd2db90
diff --git a/examples/ledger/todo_list/lib/src/ledger_helpers.dart b/examples/ledger/todo_list/lib/src/ledger_helpers.dart
index 0f876b1..14aaf98 100644
--- a/examples/ledger/todo_list/lib/src/ledger_helpers.dart
+++ b/examples/ledger/todo_list/lib/src/ledger_helpers.dart
@@ -24,7 +24,7 @@
 /// Ledger calls, assemble the complete response and call [callback] exactly
 /// once.
 void getEntriesFromSnapshot(ledger.PageSnapshotProxy snapshot,
-    void callback(ledger.Status status, Map<List<int>, String> items)) {
+    void callback(Map<List<int>, String> items)) {
   _getEntriesRecursive(snapshot, <List<int>, String>{}, null, callback);
 }
 
@@ -32,21 +32,17 @@
     ledger.PageSnapshotProxy snapshot,
     Map<List<int>, String> items,
     ledger.Token token,
-    void callback(ledger.Status status, Map<List<int>, String> items)) async {
+    void callback(Map<List<int>, String> items)) async {
   final response = await snapshot.getEntriesInline(Uint8List(0), token);
   final status = response.status;
   final entries = response.entries;
   final nextToken = response.nextToken;
 
-  if (status != ledger.Status.ok && status != ledger.Status.partialResult) {
-    callback(status, <List<int>, String>{});
-    return;
-  }
   for (final ledger.InlinedEntry entry in entries) {
     items[entry.key] = utf8.decode(entry.inlinedValue.value);
   }
-  if (status == ledger.Status.ok) {
-    callback(ledger.Status.ok, items);
+  if (status == ledger.IterationStatus.ok) {
+    callback(items);
     return;
   }
   await _getEntriesRecursive(snapshot, items, nextToken, callback);
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 a4bb05d..91700c4 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
@@ -71,13 +71,10 @@
   }
 
   void _readItems(ledger.PageSnapshotProxy snapshot) {
-    getEntriesFromSnapshot(snapshot,
-        (ledger.Status status, Map<List<int>, String> items) {
-      if (validateLedgerResponse(status, 'getEntries')) {
-        _items = items;
-        notifyListeners();
-        snapshot.ctrl.close();
-      }
+    getEntriesFromSnapshot(snapshot, (Map<List<int>, String> items) {
+      _items = items;
+      notifyListeners();
+      snapshot.ctrl.close();
     });
   }
 
diff --git a/public/dart/sledge/lib/src/ledger_helpers.dart b/public/dart/sledge/lib/src/ledger_helpers.dart
index 5b4cd48..f096682 100644
--- a/public/dart/sledge/lib/src/ledger_helpers.dart
+++ b/public/dart/sledge/lib/src/ledger_helpers.dart
@@ -26,8 +26,7 @@
 /// Real implementation of LedgerObjectsFactory.
 class LedgerObjectsFactoryImpl implements LedgerObjectsFactory {
   @override
-  ledger.PageSnapshotProxy newPageSnapshotProxy() =>
-      ledger.PageSnapshotProxy();
+  ledger.PageSnapshotProxy newPageSnapshotProxy() => ledger.PageSnapshotProxy();
 
   @override
   ledger.PageWatcherBinding newPageWatcherBinding() =>
@@ -60,28 +59,24 @@
   List<int> keyPrefix, {
   ledger.Token token,
 }) async {
-  Completer<ledger.Status> statusCompleter = Completer<ledger.Status>();
+  Completer<ledger.IterationStatus> statusCompleter =
+      Completer<ledger.IterationStatus>();
   List<ledger.Entry> entries;
   ledger.Token nextToken;
 
-  snapshot.getEntries(keyPrefix ?? Uint8List(0), token,
-      (ledger.Status status, List<ledger.Entry> entriesResult,
+  snapshot.getEntriesNew(keyPrefix ?? Uint8List(0), token,
+      (ledger.IterationStatus status, List<ledger.Entry> entriesResult,
           ledger.Token nextTokenResult) {
     entries = entriesResult;
     nextToken = nextTokenResult;
     statusCompleter.complete(status);
   });
 
-  ledger.Status status = await statusCompleter.future;
-
-  if (status != ledger.Status.ok && status != ledger.Status.partialResult) {
-    throw Exception(
-        'PageSnapshot::GetEntries() returned an error status: $status');
-  }
+  ledger.IterationStatus status = await statusCompleter.future;
 
   result.addAll(entries.takeWhile((entry) => hasPrefix(entry.key, keyPrefix)));
 
-  if (status == ledger.Status.partialResult &&
+  if (status == ledger.IterationStatus.partialResult &&
       hasPrefix(entries[entries.length - 1].key, keyPrefix)) {
     return _getFullEntriesRecursively(
       snapshot,
diff --git a/public/dart/sledge/test/fakes/fake_ledger_page_snapshot.dart b/public/dart/sledge/test/fakes/fake_ledger_page_snapshot.dart
index 25f2ff9..b87d234 100644
--- a/public/dart/sledge/test/fakes/fake_ledger_page_snapshot.dart
+++ b/public/dart/sledge/test/fakes/fake_ledger_page_snapshot.dart
@@ -27,11 +27,12 @@
       _FakeProxyController<FakeLedgerPageSnapshot>();
 
   @override
-  void getEntries(
+  void getEntriesNew(
       Uint8List keyPrefix,
       ledger.Token token,
-      void callback(ledger.Status status, List<ledger.Entry> entriesResult,
-          ledger.Token nextTokenResult)) {
-    callback(ledger.Status.ok, _fakeLedgerPage.getEntries(keyPrefix), token);
+      void callback(ledger.IterationStatus status,
+          List<ledger.Entry> entriesResult, ledger.Token nextTokenResult)) {
+    callback(ledger.IterationStatus.ok, _fakeLedgerPage.getEntries(keyPrefix),
+        token);
   }
 }