From a3d0eadac3e931b0121ea63f06446f4e10b8f3c0 Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Fri, 1 Aug 2025 20:48:21 +0200 Subject: [PATCH] use overlay buidler instead of instance --- app/lib/features/geckoview/domain/controllers/overlay.dart | 6 +++--- .../features/geckoview/domain/controllers/overlay.g.dart | 6 +++--- .../features/browser/presentation/screens/browser.dart | 6 +++--- .../tor/presentation/controllers/start_tor_proxy.dart | 5 ++++- .../tor/presentation/controllers/start_tor_proxy.g.dart | 2 +- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/app/lib/features/geckoview/domain/controllers/overlay.dart b/app/lib/features/geckoview/domain/controllers/overlay.dart index 0240e9f2..7423256d 100644 --- a/app/lib/features/geckoview/domain/controllers/overlay.dart +++ b/app/lib/features/geckoview/domain/controllers/overlay.dart @@ -25,13 +25,13 @@ part 'overlay.g.dart'; @Riverpod() class OverlayController extends _$OverlayController { @override - Widget? build() { + WidgetBuilder? build() { return null; } // ignore: use_setters_to_change_properties api decision - void show(Widget dialog) { - state = dialog; + void show(WidgetBuilder builder) { + state = builder; } void dismiss() { diff --git a/app/lib/features/geckoview/domain/controllers/overlay.g.dart b/app/lib/features/geckoview/domain/controllers/overlay.g.dart index 05814e73..e86fa940 100644 --- a/app/lib/features/geckoview/domain/controllers/overlay.g.dart +++ b/app/lib/features/geckoview/domain/controllers/overlay.g.dart @@ -6,12 +6,12 @@ part of 'overlay.dart'; // RiverpodGenerator // ************************************************************************** -String _$overlayControllerHash() => r'b6dc3ca17611c4efadc7e8248d493cd3c7061e01'; +String _$overlayControllerHash() => r'7b7885e07ae557c14199b6942b5d6392592ab747'; /// See also [OverlayController]. @ProviderFor(OverlayController) final overlayControllerProvider = - AutoDisposeNotifierProvider.internal( + AutoDisposeNotifierProvider.internal( OverlayController.new, name: r'overlayControllerProvider', debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product') @@ -21,6 +21,6 @@ final overlayControllerProvider = allTransitiveDependencies: null, ); -typedef _$OverlayController = AutoDisposeNotifier; +typedef _$OverlayController = AutoDisposeNotifier; // ignore_for_file: type=lint // ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/app/lib/features/geckoview/features/browser/presentation/screens/browser.dart b/app/lib/features/geckoview/features/browser/presentation/screens/browser.dart index 1f3ee4ea..6170e9f3 100644 --- a/app/lib/features/geckoview/features/browser/presentation/screens/browser.dart +++ b/app/lib/features/geckoview/features/browser/presentation/screens/browser.dart @@ -57,7 +57,7 @@ class BrowserScreen extends HookConsumerWidget { final eventService = ref.watch(eventServiceProvider); final displayedSheet = ref.watch(bottomSheetControllerProvider); - final displayedOverlay = ref.watch(overlayControllerProvider); + final overlayBuilder = ref.watch(overlayControllerProvider); final lastBackButtonPress = useRef(null); @@ -130,7 +130,7 @@ class BrowserScreen extends HookConsumerWidget { return OverlayPortal( controller: overlayController, overlayChildBuilder: (context) { - return displayedOverlay!; + return overlayBuilder!.call(context); }, child: Listener( onPointerDown: (displayedSheet != null) @@ -161,7 +161,7 @@ class BrowserScreen extends HookConsumerWidget { return true; } - if (displayedOverlay != null) { + if (overlayBuilder != null) { ref.read(overlayControllerProvider.notifier).dismiss(); return true; } diff --git a/app/lib/features/tor/presentation/controllers/start_tor_proxy.dart b/app/lib/features/tor/presentation/controllers/start_tor_proxy.dart index cfbabb4b..6eeb641d 100644 --- a/app/lib/features/tor/presentation/controllers/start_tor_proxy.dart +++ b/app/lib/features/tor/presentation/controllers/start_tor_proxy.dart @@ -51,7 +51,10 @@ class StartProxyController extends _$StartProxyController { ref .read(overlayControllerProvider.notifier) - .show(Positioned(top: 0, left: 0, child: TorNotification())); + .show( + (context) => + Positioned(top: 0, left: 0, child: TorNotification()), + ); await connection; } diff --git a/app/lib/features/tor/presentation/controllers/start_tor_proxy.g.dart b/app/lib/features/tor/presentation/controllers/start_tor_proxy.g.dart index b19327e6..dc377783 100644 --- a/app/lib/features/tor/presentation/controllers/start_tor_proxy.g.dart +++ b/app/lib/features/tor/presentation/controllers/start_tor_proxy.g.dart @@ -7,7 +7,7 @@ part of 'start_tor_proxy.dart'; // ************************************************************************** String _$startProxyControllerHash() => - r'b83cdc1b6d1c358a2042ff2b7cc2f19f82e5d5ed'; + r'3e8b409f069f32b601b1c60acbe0a72694fd1cc2'; /// See also [StartProxyController]. @ProviderFor(StartProxyController)