bloc.dart
1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import 'package:bloc/bloc.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import '../../common/core/app_config_helper.dart';
import '../../common/request/dao/system_dao.dart';
import '../../models/app_version_entity.dart';
import '../../utils/log_util.dart';
import 'event.dart';
import 'state.dart';
class HomeBloc extends Bloc<HomeEvent, HomeState> {
HomeBloc() : super(HomeState().init()) {
on<InitEvent>(_init);
}
void _init(InitEvent event, Emitter<HomeState> emit) async {
await _checkUpdate(emit);
debugPrint('WQF ModuleSelectBloc _init');
}
Future<void> _checkUpdate(Emitter<HomeState> emit) async {
if (AppConfigHelper.checkedUpdate) {
return;
}
int localVersion = int.parse(await AppConfigHelper.getAppVersion());
AppVersionEntity? appVersionEntity = await SystemDao.getVersionInfo();
AppConfigHelper.checkedUpdate = true;
if (appVersionEntity == null) {
return;
}
Log.d("WQF _checkUpdate appVersionEntity: $appVersionEntity localVersion=$localVersion");
if (localVersion < int.parse(appVersionEntity.version ?? '0')) {
emit(UpdateDialogState(
appVersionEntity.volType == UpdateStrategy.FORCE.name, appVersionEntity));
}
}
}