removeObserver method

void removeObserver(
  1. Object? observer, {
  2. String? key,
})

Implementation

void removeObserver(Object? observer, {String? key}) {
  if (observer == null) {
    log.severe('remove: the param error');
    return;
  }

  var removedItems = [];
  if (key == null) {
    removedItems = _notifications.where((element) => element.observer == observer).toList();
    _notifications.removeWhere((element) => element.observer == observer);
  } else {
    removedItems = _notifications.where((element) => element.key == key && element.observer == observer).toList();
    _notifications.removeWhere((element) => element.key == key && element.observer == observer);
  }
  log.info('removedItems.count = ${removedItems.length}');
}