This commit is contained in:
Thibault Deckers 2025-05-26 23:39:43 +02:00
parent b6faf36671
commit 6f9a581d99
29 changed files with 29 additions and 29 deletions

View file

@ -25,7 +25,7 @@ final Covers covers = Covers._private();
typedef CoverProps = (int? entryId, String? packageName, Color? color);
class Covers {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final _lock = Lock();
final StreamController<Set<CollectionFilter>?> _entryChangeStreamController = StreamController.broadcast();

View file

@ -15,7 +15,7 @@ import 'package:synchronized/synchronized.dart';
final DynamicAlbums dynamicAlbums = DynamicAlbums._private();
class DynamicAlbums with ChangeNotifier {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final _lock = Lock();
Set<DynamicAlbumFilter> _rows = {};

View file

@ -46,7 +46,7 @@ import 'package:latlong2/latlong.dart';
final Settings settings = Settings._private();
class Settings with ChangeNotifier, SettingsAccess, SearchSettings, AppSettings, CollectionSettings, DebugSettings, DisplaySettings, FilterGridsSettings, InfoSettings, NavigationSettings, PrivacySettings, ScreenSaverSettings, SlideshowSettings, SubtitlesSettings, VideoSettings, ViewerSettings, WidgetSettings {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final EventChannel _platformSettingsChangeChannel = const OptionalEventChannel('deckers.thibault/aves/settings_change');
final StreamController<SettingsChangedEvent> _updateStreamController = StreamController.broadcast();
final StreamController<SettingsChangedEvent> _updateTileExtentStreamController = StreamController.broadcast();

View file

@ -34,7 +34,7 @@ class CollectionLens with ChangeNotifier {
EntrySortFactor sortFactor;
bool sortReverse;
final AChangeNotifier filterChangeNotifier = AChangeNotifier(), sortSectionChangeNotifier = AChangeNotifier();
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
int? id;
bool listenToSource, stackBursts, stackDevelopedRaws, fixedSort;
List<AvesEntry>? fixedSelection;

View file

@ -15,7 +15,7 @@ import 'package:provider/provider.dart';
final Vaults vaults = Vaults._private();
class Vaults extends ChangeNotifier {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
Set<VaultDetails> _rows = {};
final Set<String> _unlockedDirPaths = {};

View file

@ -25,7 +25,7 @@ abstract class MediaSessionService {
class PlatformMediaSessionService implements MediaSessionService, Disposable {
static const _platformObject = MethodChannel('deckers.thibault/aves/media_session');
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final EventChannel _mediaCommandChannel = const OptionalEventChannel('deckers.thibault/aves/media_command');
final StreamController _streamController = StreamController.broadcast();

View file

@ -160,7 +160,7 @@ class AvesApp extends StatefulWidget {
}
class _AvesAppState extends State<AvesApp> with WidgetsBindingObserver {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
late final Future<void> _appSetup;
late final Future<bool> _shouldUseBoldFontLoader;
final TvRailController _tvRailController = TvRailController();

View file

@ -57,7 +57,7 @@ class CollectionAppBar extends StatefulWidget {
}
class _CollectionAppBarState extends State<CollectionAppBar> with SingleTickerProviderStateMixin, WidgetsBindingObserver {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final EntrySetActionDelegate _actionDelegate = EntrySetActionDelegate();
late AnimationController _browseToSelectAnimation;
final ValueNotifier<bool> _isSelectingNotifier = ValueNotifier(false);

View file

@ -52,7 +52,7 @@ class CollectionPage extends StatefulWidget {
}
class _CollectionPageState extends State<CollectionPage> {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
late CollectionLens _collection;
final StreamController<DraggableScrollbarEvent> _draggableScrollBarEventStreamController = StreamController.broadcast();

View file

@ -45,7 +45,7 @@ class MenuQuickChooser<T> extends StatefulWidget {
}
class _MenuQuickChooserState<T> extends State<MenuQuickChooser<T>> {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final ValueNotifier<Rect> _selectedRowRect = ValueNotifier(Rect.zero);
final ScrollController _scrollController = ScrollController();
int _scrollDirection = 0;

View file

@ -23,7 +23,7 @@ class RateQuickChooser extends StatefulWidget {
}
class _RateQuickChooserState extends State<RateQuickChooser> {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
ValueNotifier<int?> get valueNotifier => widget.valueNotifier;

View file

@ -28,7 +28,7 @@ class PlayToggler extends StatefulWidget {
}
class _PlayTogglerState extends State<PlayToggler> with SingleTickerProviderStateMixin {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
late AnimationController _playPauseAnimation;
AvesVideoController? get controller => widget.controller;

View file

@ -44,7 +44,7 @@ class _GridItemTrackerState<T> extends State<GridItemTracker<T>> with WidgetsBin
return (scrollableContext.findRenderObject() as RenderBox).size;
}
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
// grid section metrics before the app is laid out with the new orientation
late SectionedListLayout<T> _lastSectionedListLayout;

View file

@ -150,7 +150,7 @@ class AvesFilterChip extends StatefulWidget {
}
class _AvesFilterChipState extends State<AvesFilterChip> {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
late Future<Color> _colorFuture;
late Color _outlineColor;
late bool _tapped;

View file

@ -83,7 +83,7 @@ class GeoMap extends StatefulWidget {
}
class _GeoMapState extends State<GeoMap> {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
// as of google_maps_flutter v2.0.6, Google map initialization is blocking
// cf https://github.com/flutter/flutter/issues/28493

View file

@ -66,7 +66,7 @@ class EntryLeafletMap<T> extends StatefulWidget {
class _EntryLeafletMapState<T> extends State<EntryLeafletMap<T>> with TickerProviderStateMixin {
final MapController _leafletMapController = MapController();
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
Map<MarkerKey<T>, GeoEntry<T>> _geoEntryByMarkerKey = {};
final Debouncer _debouncer = Debouncer(delay: ADurations.mapIdleDebounceDelay);

View file

@ -15,7 +15,7 @@ class TileExtentController {
late double userPreferredExtent;
Size _viewportSize = Size.zero;
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
Size get viewportSize => _viewportSize;

View file

@ -56,7 +56,7 @@ class EditEntryLocationDialog extends StatefulWidget {
}
class _EditEntryLocationDialogState extends State<EditEntryLocationDialog> with FeedbackMixin {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
LocationEditAction _action = LocationEditAction.chooseOnMap;
LatLng? _mapCoordinates;
late final AvesEntry mainEntry;

View file

@ -63,7 +63,7 @@ class _Content extends StatefulWidget {
}
class _ContentState extends State<_Content> with SingleTickerProviderStateMixin {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final AvesMapController _mapController = AvesMapController();
late final ValueNotifier<bool> _isPageAnimatingNotifier;
final ValueNotifier<LatLng?> _dotLocationNotifier = ValueNotifier(null), _infoLocationNotifier = ValueNotifier(null);

View file

@ -28,7 +28,7 @@ class ImageEditorPage extends StatefulWidget {
}
class _ImageEditorPageState extends State<ImageEditorPage> {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final ValueNotifier<EditorAction?> _actionNotifier = ValueNotifier(null);
final ValueNotifier<EdgeInsets> _marginNotifier = ValueNotifier(EdgeInsets.zero);
final ValueNotifier<ViewState> _viewStateNotifier = ValueNotifier<ViewState>(ViewState.zero);

View file

@ -36,7 +36,7 @@ class EditorImage extends StatefulWidget {
}
class _EditorImageState extends State<EditorImage> {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final ValueNotifier<double> _scrimOpacityNotifier = ValueNotifier(0);
AvesEntry get entry => widget.entry;

View file

@ -38,7 +38,7 @@ class Cropper extends StatefulWidget {
}
class _CropperState extends State<Cropper> with SingleTickerProviderStateMixin {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final ValueNotifier<Rect> _outlineNotifier = ValueNotifier(Rect.zero);
final ValueNotifier<int> _gridDivisionNotifier = ValueNotifier(0);
late AnimationController _gridAnimationController;

View file

@ -40,7 +40,7 @@ class ExplorerPage extends StatefulWidget {
}
class _ExplorerPageState extends State<ExplorerPage> {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final ValueNotifier<VolumeRelativeDirectory?> _directory = ValueNotifier(null);
final ValueNotifier<VolumeRelativeDirectory?> _contentsDirectory = ValueNotifier(null);
final ValueNotifier<List<Directory>> _contents = ValueNotifier([]);

View file

@ -79,7 +79,7 @@ class FilterGridAppBar<T extends CollectionFilter, CSAD extends ChipSetActionDel
}
class _FilterGridAppBarState<T extends CollectionFilter, CSAD extends ChipSetActionDelegate<T>> extends State<FilterGridAppBar<T, CSAD>> with SingleTickerProviderStateMixin, WidgetsBindingObserver {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
late AnimationController _browseToSelectAnimation;
final ValueNotifier<bool> _isSelectingNotifier = ValueNotifier(false);
final FocusNode _queryBarFocusNode = FocusNode();

View file

@ -115,7 +115,7 @@ class _Content extends StatefulWidget {
}
class _ContentState extends State<_Content> with SingleTickerProviderStateMixin {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final AvesMapController _mapController = AvesMapController();
final ValueNotifier<bool> _isPageAnimatingNotifier = ValueNotifier(false);
final ValueNotifier<int?> _selectedIndexNotifier = ValueNotifier(0);

View file

@ -23,7 +23,7 @@ class FloatingNavBar extends StatefulWidget {
}
class _FloatingNavBarState extends State<FloatingNavBar> with SingleTickerProviderStateMixin {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
late AnimationController _controller;
late CurvedAnimation _animation;
late Animation<Offset> _offset;

View file

@ -64,7 +64,7 @@ class ViewerVerticalPageView extends StatefulWidget {
}
class _ViewerVerticalPageViewState extends State<ViewerVerticalPageView> {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final ValueNotifier<double> _backgroundOpacityNotifier = ValueNotifier(1);
final ValueNotifier<bool> _isVerticallyScrollingNotifier = ValueNotifier(false);
final ValueNotifier<bool> _isImageFocusedNotifier = ValueNotifier(true);

View file

@ -150,7 +150,7 @@ class _InfoPageContent extends StatefulWidget {
}
class _InfoPageContentState extends State<_InfoPageContent> {
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
late EntryInfoActionDelegate _actionDelegate;
final ValueNotifier<Map<String, MetadataDirectory>> _metadataNotifier = ValueNotifier({});
final ValueNotifier<EntryAction?> _isEditingMetadataNotifier = ValueNotifier(null);

View file

@ -54,7 +54,7 @@ class EntryPageView extends StatefulWidget {
class _EntryPageViewState extends State<EntryPageView> with TickerProviderStateMixin {
late ValueNotifier<ViewState> _viewStateNotifier;
late AvesMagnifierController _magnifierController;
final List<StreamSubscription> _subscriptions = [];
final Set<StreamSubscription> _subscriptions = {};
final ValueNotifier<Widget?> _actionFeedbackChildNotifier = ValueNotifier(null);
OverlayEntry? _actionFeedbackOverlayEntry;