m3_lightmeter/lib/screens/shared/release_notes_dialog/bloc_release_notes.dart

31 lines
961 B
Dart
Raw Normal View History

import 'dart:async';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:lightmeter/data/shared_prefs_service.dart';
import 'package:lightmeter/screens/shared/release_notes_dialog/state_release_notes.dart';
2024-05-23 09:34:11 +00:00
import 'package:lightmeter/utils/platform_utils.dart';
class ReleaseNotesBloc extends Cubit<ReleaseNotesState> {
final UserPreferencesService _userPreferencesService;
2024-05-23 09:34:11 +00:00
final PlatformUtils _platformUtils;
2024-05-23 09:34:11 +00:00
ReleaseNotesBloc(
this._userPreferencesService,
this._platformUtils,
) : super(const HiddenReleaseNotesDialogState()) {
_showDialogIfNeeded();
}
Future<void> _showDialogIfNeeded() async {
2024-05-23 09:34:11 +00:00
_platformUtils.version.then((version) {
if (version != _userPreferencesService.seenChangelogVersion) {
emit(ShowReleaseNotesDialogState(version));
}
});
}
void setChangelogVersion() {
_userPreferencesService.seenChangelogVersion = (state as ShowReleaseNotesDialogState).version;
}
}