Skip to content

Commit

Permalink
[Application] Data in bloc were not being reloaded after changing the…
Browse files Browse the repository at this point in the history
… app lang
  • Loading branch information
Wolfteam committed Dec 19, 2022
1 parent 84c2ab1 commit 37edcd5
Show file tree
Hide file tree
Showing 12 changed files with 27 additions and 13 deletions.
3 changes: 2 additions & 1 deletion lib/application/artifacts/artifacts_bloc.dart
Expand Up @@ -22,7 +22,8 @@ class ArtifactsBloc extends Bloc<ArtifactsEvent, ArtifactsState> {
Stream<ArtifactsState> mapEventToState(ArtifactsEvent event) async* {
final s = event.map(
init: (e) {
if (_allArtifacts.isEmpty) {
if (_allArtifacts.isEmpty || e.force) {
_allArtifacts.clear();
_allArtifacts.addAll(_genshinService.artifacts.getArtifactsForCard());
}

Expand Down
1 change: 1 addition & 0 deletions lib/application/artifacts/artifacts_event.dart
Expand Up @@ -3,6 +3,7 @@ part of 'artifacts_bloc.dart';
@freezed
class ArtifactsEvent with _$ArtifactsEvent {
const factory ArtifactsEvent.init({
@Default(false) bool force,
@Default(<String>[]) List<String> excludeKeys,
ArtifactType? type,
}) = _Init;
Expand Down
3 changes: 2 additions & 1 deletion lib/application/characters/characters_bloc.dart
Expand Up @@ -24,7 +24,8 @@ class CharactersBloc extends Bloc<CharactersEvent, CharactersState> {
Stream<CharactersState> mapEventToState(CharactersEvent event) async* {
final s = event.map(
init: (e) {
if (_allCharacters.isEmpty) {
if (_allCharacters.isEmpty || e.force) {
_allCharacters.clear();
_allCharacters.addAll(_genshinService.characters.getCharactersForCard());
}

Expand Down
1 change: 1 addition & 0 deletions lib/application/characters/characters_event.dart
Expand Up @@ -3,6 +3,7 @@ part of 'characters_bloc.dart';
@freezed
class CharactersEvent with _$CharactersEvent {
const factory CharactersEvent.init({
@Default(false) bool force,
@Default(<String>[]) List<String> excludeKeys,
}) = _Init;

Expand Down
6 changes: 3 additions & 3 deletions lib/application/main/main_bloc.dart
Expand Up @@ -70,10 +70,10 @@ class MainBloc extends Bloc<MainEvent, MainState> {

if (languageChanged) {
_logger.info(runtimeType, '_init: Language changed, reloading all the required blocs...');
_charactersBloc.add(const CharactersEvent.init());
_weaponsBloc.add(const WeaponsEvent.init());
_charactersBloc.add(const CharactersEvent.init(force: true));
_weaponsBloc.add(const WeaponsEvent.init(force: true));
_homeBloc.add(const HomeEvent.init());
_artifactsBloc.add(const ArtifactsEvent.init());
_artifactsBloc.add(const ArtifactsEvent.init(force: true));
}

final settings = _settingsService.appSettings;
Expand Down
3 changes: 2 additions & 1 deletion lib/application/materials/materials_bloc.dart
Expand Up @@ -24,7 +24,8 @@ class MaterialsBloc extends Bloc<MaterialsEvent, MaterialsState> {
Stream<MaterialsState> mapEventToState(MaterialsEvent event) async* {
final s = event.map(
init: (e) {
if (_allMaterials.isEmpty) {
if (_allMaterials.isEmpty || e.force) {
_allMaterials.clear();
_allMaterials.addAll(_genshinService.materials.getAllMaterialsForCard());
}

Expand Down
5 changes: 4 additions & 1 deletion lib/application/materials/materials_event.dart
Expand Up @@ -2,7 +2,10 @@ part of 'materials_bloc.dart';

@freezed
class MaterialsEvent with _$MaterialsEvent {
const factory MaterialsEvent.init({@Default(<String>[]) List<String> excludeKeys}) = _Init;
const factory MaterialsEvent.init({
@Default(false) bool force,
@Default(<String>[]) List<String> excludeKeys,
}) = _Init;

const factory MaterialsEvent.searchChanged({
required String search,
Expand Down
3 changes: 2 additions & 1 deletion lib/application/monsters/monsters_bloc.dart
Expand Up @@ -23,7 +23,8 @@ class MonstersBloc extends Bloc<MonstersEvent, MonstersState> {
Stream<MonstersState> mapEventToState(MonstersEvent event) async* {
final s = event.map(
init: (e) {
if (_allMonsters.isEmpty) {
if (_allMonsters.isEmpty || e.force) {
_allMonsters.clear();
_allMonsters.addAll(_genshinService.monsters.getAllMonstersForCard());
}

Expand Down
5 changes: 4 additions & 1 deletion lib/application/monsters/monsters_event.dart
Expand Up @@ -2,7 +2,10 @@ part of 'monsters_bloc.dart';

@freezed
class MonstersEvent with _$MonstersEvent {
const factory MonstersEvent.init({@Default(<String>[]) List<String> excludeKeys}) = _Init;
const factory MonstersEvent.init({
@Default(false) bool force,
@Default(<String>[]) List<String> excludeKeys,
}) = _Init;

const factory MonstersEvent.searchChanged({
required String search,
Expand Down
3 changes: 2 additions & 1 deletion lib/application/weapons/weapons_bloc.dart
Expand Up @@ -24,7 +24,8 @@ class WeaponsBloc extends Bloc<WeaponsEvent, WeaponsState> {
Stream<WeaponsState> mapEventToState(WeaponsEvent event) async* {
final s = event.map(
init: (e) {
if (_allWeapons.isEmpty) {
if (_allWeapons.isEmpty || e.force) {
_allWeapons.clear();
_allWeapons.addAll(_genshinService.weapons.getWeaponsForCard());
}

Expand Down
1 change: 1 addition & 0 deletions lib/application/weapons/weapons_event.dart
Expand Up @@ -3,6 +3,7 @@ part of 'weapons_bloc.dart';
@freezed
class WeaponsEvent with _$WeaponsEvent {
const factory WeaponsEvent.init({
@Default(false) bool force,
@Default(<String>[]) List<String> excludeKeys,
@Default(<WeaponType>[]) List<WeaponType> weaponTypes,
@Default(true) bool areWeaponTypesEnabled,
Expand Down
6 changes: 3 additions & 3 deletions lib/presentation/main_tab_page.dart
Expand Up @@ -48,9 +48,9 @@ class _MainTabPageState extends State<MainTabPage> with SingleTickerProviderStat
if (_didChangeDependencies) return;
_didChangeDependencies = true;
context.read<HomeBloc>().add(const HomeEvent.init());
context.read<CharactersBloc>().add(const CharactersEvent.init());
context.read<WeaponsBloc>().add(const WeaponsEvent.init());
context.read<ArtifactsBloc>().add(const ArtifactsEvent.init());
context.read<CharactersBloc>().add(const CharactersEvent.init(force: true));
context.read<WeaponsBloc>().add(const WeaponsEvent.init(force: true));
context.read<ArtifactsBloc>().add(const ArtifactsEvent.init(force: true));
context.read<SettingsBloc>().add(const SettingsEvent.init());

if (widget.showChangelog) {
Expand Down

0 comments on commit 37edcd5

Please sign in to comment.