diff --git a/lib/events/account_configured_event.dart b/lib/events/account_configured_event.dart new file mode 100644 index 000000000..e102e614e --- /dev/null +++ b/lib/events/account_configured_event.dart @@ -0,0 +1,3 @@ +import 'package:photos/events/event.dart'; + +class AccountConfiguredEvent extends Event {} diff --git a/lib/ui/home_widget.dart b/lib/ui/home_widget.dart index c12ce99cb..1695a0c44 100644 --- a/lib/ui/home_widget.dart +++ b/lib/ui/home_widget.dart @@ -11,6 +11,7 @@ import 'package:photo_manager/photo_manager.dart'; import 'package:photos/core/configuration.dart'; import 'package:photos/core/event_bus.dart'; import 'package:photos/db/files_db.dart'; +import 'package:photos/events/account_configured_event.dart'; import 'package:photos/events/backup_folders_updated_event.dart'; import 'package:photos/events/local_photos_updated_event.dart'; import 'package:photos/events/permission_granted_event.dart'; @@ -53,8 +54,8 @@ class HomeWidget extends StatefulWidget { } class _HomeWidgetState extends State { - static const _deviceFolderGalleryWidget = const CollectionsGalleryWidget(); - static const _sharedCollectionGallery = const SharedCollectionGallery(); + static const _deviceFolderGalleryWidget = CollectionsGalleryWidget(); + static const _sharedCollectionGallery = SharedCollectionGallery(); static const _headerWidget = HeaderWidget(); final _logger = Logger("HomeWidgetState"); @@ -75,6 +76,7 @@ class _HomeWidgetState extends State { StreamSubscription _permissionGrantedEvent; StreamSubscription _firstImportEvent; StreamSubscription _backupFoldersUpdatedEvent; + StreamSubscription _accountConfiguredEvent; @override void initState() { @@ -107,6 +109,10 @@ class _HomeWidgetState extends State { Bus.instance.on().listen((event) { setState(() {}); }); + _accountConfiguredEvent = + Bus.instance.on().listen((event) { + setState(() {}); + }); _triggerLogoutEvent = Bus.instance.on().listen((event) async { AlertDialog alert = AlertDialog( @@ -180,15 +186,28 @@ class _HomeWidgetState extends State { super.initState(); } + @override + void dispose() { + _tabChangedEventSubscription.cancel(); + _subscriptionPurchaseEvent.cancel(); + _triggerLogoutEvent.cancel(); + _loggedOutEvent.cancel(); + _permissionGrantedEvent.cancel(); + _firstImportEvent.cancel(); + _backupFoldersUpdatedEvent.cancel(); + _accountConfiguredEvent.cancel(); + super.dispose(); + } + void _initMediaShareSubscription() { - _intentDataStreamSubscription = - ReceiveSharingIntent.getMediaStream().listen((List value) { - setState(() { - _sharedFiles = value; - }); - }, onError: (err) { - _logger.severe("getIntentDataStream error: $err"); - }); + _intentDataStreamSubscription = ReceiveSharingIntent.getMediaStream() + .listen((List value) { + setState(() { + _sharedFiles = value; + }); + }, onError: (err) { + _logger.severe("getIntentDataStream error: $err"); + }); // For sharing images coming from outside the app while the app is closed ReceiveSharingIntent.getInitialMedia().then((List value) { setState(() { @@ -289,7 +308,7 @@ class _HomeWidgetState extends State { } // Attach a listener to the stream - getLinksStream().listen((String link) { + linkStream.listen((String link) { _logger.info("Link received: " + link); _getCredentials(context, link); }, onError: (err) { @@ -307,7 +326,7 @@ class _HomeWidgetState extends State { } Widget _getMainGalleryWidget() { - var header; + Widget header; if (_selectedFiles.files.isEmpty) { header = _headerWidgetWithSettingsButton; } else { @@ -460,18 +479,6 @@ class _HomeWidgetState extends State { TabChangedEventSource.tab_bar, )); } - - @override - void dispose() { - _tabChangedEventSubscription.cancel(); - _subscriptionPurchaseEvent.cancel(); - _triggerLogoutEvent.cancel(); - _loggedOutEvent.cancel(); - _permissionGrantedEvent.cancel(); - _firstImportEvent.cancel(); - _backupFoldersUpdatedEvent.cancel(); - super.dispose(); - } } class HomePageAppBar extends StatefulWidget { @@ -497,7 +504,7 @@ class _HomePageAppBarState extends State { @override Widget build(BuildContext context) { - final appBar = Container( + final appBar = SizedBox( height: 60, child: GalleryAppBarWidget( GalleryAppBarType.homepage, @@ -514,8 +521,8 @@ class _HomePageAppBarState extends State { } class HeaderWidget extends StatelessWidget { - static const _memoriesWidget = const MemoriesWidget(); - static const _syncIndicator = const SyncIndicator(); + static const _memoriesWidget = MemoriesWidget(); + static const _syncIndicator = SyncIndicator(); const HeaderWidget({ Key key, diff --git a/lib/ui/password_entry_page.dart b/lib/ui/password_entry_page.dart index 1a0c2ef57..b60b93466 100644 --- a/lib/ui/password_entry_page.dart +++ b/lib/ui/password_entry_page.dart @@ -7,6 +7,7 @@ import 'package:flutter_password_strength/flutter_password_strength.dart'; import 'package:logging/logging.dart'; import 'package:photos/core/configuration.dart'; import 'package:photos/core/event_bus.dart'; +import 'package:photos/events/account_configured_event.dart'; import 'package:photos/events/subscription_purchased_event.dart'; import 'package:photos/services/user_service.dart'; import 'package:photos/ui/common_elements.dart'; @@ -300,6 +301,7 @@ class _PasswordEntryPageState extends State { try { await UserService.instance.setAttributes(result); await dialog.hide(); + Bus.instance.fire(AccountConfiguredEvent()); Navigator.of(context).pushAndRemoveUntil( MaterialPageRoute( builder: (BuildContext context) {