onListen method

  1. @override
void onListen(
  1. BuildContext context,
  2. IPermissionListViewModel viewModel
)
override

Implementation

@override
void onListen(BuildContext context, IPermissionListViewModel viewModel) {
  super.onListen(context, viewModel);
  switch (viewModel.state) {
    case PermissionListViewState.Init:
      break;
    case PermissionListViewState.Refresh:
      Future.forEach<IPermissionViewModel>(
          _permissionItemViewBuilder.listItems.map((e) => e.viewModel),
          (viewModel) async => await viewModel.refresh());
      break;
    case PermissionListViewState.Error:
      break;
    case PermissionListViewState.Skip:
      if (backTo == null) {
        Navigator.of(context).pop("skip");
      } else {
        Navigator.of(context)
            .pushNamedAndRemoveUntil(backTo!, (route) => false);
      }
      break;
    case PermissionListViewState.AllGranted:
      if (backTo == null) {
        Navigator.of(context).pop('all_granted');
      } else {
        Navigator.of(context)
            .pushNamedAndRemoveUntil(backTo!, (route) => false);
      }
      break;
  }
}