Line data Source code
1 : import 'package:redux/redux.dart';
2 :
3 : import '../../../actions.dart';
4 : import '../../../types.dart';
5 : import '../../redux/extensions/store_extensions.dart';
6 : import '../../utils/red_fire_locator.dart';
7 :
8 : class DetectPlatformMiddleware<T extends RedFireState>
9 : extends TypedMiddleware<T, DetectPlatformAction> {
10 1 : DetectPlatformMiddleware()
11 2 : : super((store, action, next) async {
12 1 : next(action);
13 :
14 : try {
15 1 : final platformService = RedFireLocator.getPlatformService();
16 :
17 1 : final platform = platformService.detectPlatform();
18 0 : store.dispatch(UpdateSettingsAction(platform: platform));
19 : } catch (error, trace) {
20 1 : store.dispatchProblem(error, trace);
21 : }
22 : });
23 : }
|