import 'package:bloc/bloc.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:wow_english/models/app_config_entity.dart'; import '../../common/core/app_config_helper.dart'; import 'event.dart'; import 'state.dart'; class ModuleSelectBloc extends Bloc { ModuleSelectBloc() : super(ModuleSelectState().init()) { on(_init); } void _init(InitEvent event, Emitter emit) async { await _checkUpdate(emit); debugPrint('WQF ModuleSelectBloc _init'); } Future _checkUpdate(Emitter emit) async { int localVersion = int.parse(await AppConfigHelper.getAppVersion()); AppConfigEntity? appConfigEntity = await AppConfigHelper.getAppConfig(); if (appConfigEntity == null) { return; } if (defaultTargetPlatform == TargetPlatform.iOS) { if (localVersion < (appConfigEntity.iosVersion ?? 0) && appConfigEntity.iosRecommendUpdate == true) { emit(UpdateDialogState( appConfigEntity.iosForceUpdate ?? false, appConfigEntity)); } } else { if (localVersion < (appConfigEntity.androidVersion ?? 0) && appConfigEntity.androidRecommendUpdate == true) { emit(UpdateDialogState( appConfigEntity.androidForceUpdate ?? false, appConfigEntity, )); } } } }