setNewRoute method

Future<int?> setNewRoute(
  1. String routeName, {
  2. String? routeId,
})

Called when switching to new tab Consider using a SynchronousFuture if the result can be computed synchronously.

Implementation

Future<int?> setNewRoute(String routeName, {String? routeId}) async {
  int i = -1;
  if (routeId != null) {
    i = _routes.indexWhere((e) => e.id == routeId);
  } else {
    i = _routes.indexWhere((e) => e.name == routeName);
  }
  if (i == -1) {
    _log('No tab matched routeName[$routeName] ${routeId != null ? 'or routeId[$routeId]' : ''} , setNewRoute ignored');
    return SynchronousFuture(null);
  }
  await setNewIndex(i);
  return SynchronousFuture(i);
}