From 645422997546c84c5eb704c52b6628ff3906735e Mon Sep 17 00:00:00 2001 From: Neeraj Gupta <254676+ua741@users.noreply.github.com> Date: Mon, 30 May 2022 16:35:00 +0530 Subject: [PATCH] DetailsSection: fetch on tab switch --- lib/ui/settings/details_section_widget.dart | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/ui/settings/details_section_widget.dart b/lib/ui/settings/details_section_widget.dart index 3bb0ac180..67b58f343 100644 --- a/lib/ui/settings/details_section_widget.dart +++ b/lib/ui/settings/details_section_widget.dart @@ -2,7 +2,9 @@ import 'dart:async'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:logging/logging.dart'; import 'package:photos/core/event_bus.dart'; +import 'package:photos/events/tab_changed_event.dart'; import 'package:photos/events/user_details_changed_event.dart'; import 'package:photos/models/user_details.dart'; import 'package:photos/services/user_service.dart'; @@ -21,6 +23,7 @@ class DetailsSectionWidget extends StatefulWidget { class _DetailsSectionWidgetState extends State { UserDetails _userDetails; StreamSubscription _userDetailsChangedEvent; + StreamSubscription _tabChangedEventSubscription; @override void initState() { @@ -30,19 +33,28 @@ class _DetailsSectionWidgetState extends State { Bus.instance.on().listen((event) { _fetchUserDetails(); }); + _tabChangedEventSubscription = + Bus.instance.on().listen((event) { + if (event.selectedIndex == 3) { + _fetchUserDetails(); + } + }); } void _fetchUserDetails() { UserService.instance.getUserDetailsV2(memoryCount: true).then((details) { - setState(() { - _userDetails = details; - }); + if (mounted) { + setState(() { + _userDetails = details; + }); + } }); } @override void dispose() { _userDetailsChangedEvent.cancel(); + _tabChangedEventSubscription.cancel(); super.dispose(); }