onListen method

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

Implementation

@override
onListen(BuildContext context, ISplashViewModel viewModel) async {
  super.onListen(context, viewModel);
  switch (viewModel.state) {
    case SplashViewState.AppOpen:
      break;
    case SplashViewState.Login:
      if (loginPageRouteName != null && loginPageRouteName!.contains('/')) {
        Navigator.of(context).pushReplacementNamed(loginPageRouteName!);
        return;
      }
      viewModel.afterLogin();
      break;
    case SplashViewState.Onboarding:
      if (onBoardingPageRouteName != null &&
          onBoardingPageRouteName!.contains('/')) {
        Navigator.of(context).pushReplacementNamed(onBoardingPageRouteName!);
        return;
      }
      viewModel.afterOnboarding();
      break;
    case SplashViewState.Permission:
      if (permissionPageRouteName != null &&
          permissionPageRouteName!.contains('/')) {
        Navigator.of(context).pushNamed(permissionPageRouteName!);
        return;
      }
      viewModel.afterPermission();
      break;
    case SplashViewState.Intro:
      if (introPageRouteName != null && introPageRouteName!.contains('/')) {
        Navigator.of(context).pushReplacementNamed(introPageRouteName!);
        return;
      }
      viewModel.afterIntro();
      break;
    case SplashViewState.Error:
      break;
    case SplashViewState.ForceUpdate:
      if (forceUpdatePageRouteName != null &&
          forceUpdatePageRouteName!.contains('/')) {
        Navigator.of(context).pushReplacementNamed(forceUpdatePageRouteName!);
        return;
      }
      viewModel.afterForceUpdate();
      break;
    case SplashViewState.ReadyToService:
      break;
    case SplashViewState.GoContentsPage:
      goContentsPage(context);
      break;
    case SplashViewState.Init:
      break;
  }
}