This commit is contained in:
Fabian Freund
2025-02-16 23:21:44 +01:00
parent ddb0f14059
commit 6368e30479
81 changed files with 20308 additions and 88 deletions
@@ -0,0 +1,42 @@
import 'package:flutter/material.dart';
import 'package:lensai/features/geckoview/domain/controllers/overlay_dialog.dart';
import 'package:lensai/features/tor/domain/services/tor_proxy.dart';
import 'package:lensai/features/tor/presentation/widgets/tor_dialog.dart';
import 'package:lensai/features/tor/presentation/widgets/tor_notification.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'start_tor_proxy.g.dart';
@Riverpod()
class StartProxyController extends _$StartProxyController {
// ignore: avoid_build_context_in_providers
Future<void> maybeStartProxy(BuildContext context) async {
final torProxyRunning = ref.read(torProxyServiceProvider);
if (torProxyRunning.valueOrNull == null) {
final result = await showDialog<bool>(
context: context,
builder: (context) {
return TorDialog();
},
);
if (result == true) {
final connection = ref.read(torProxyServiceProvider.notifier).connect();
ref.read(overlayDialogControllerProvider.notifier).show(
Positioned(
top: 0,
left: 0,
child: TorNotification(),
),
);
await connection;
}
}
}
@override
void build() {}
}
@@ -0,0 +1,27 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'start_tor_proxy.dart';
// **************************************************************************
// RiverpodGenerator
// **************************************************************************
String _$startProxyControllerHash() =>
r'c49d4f75bb499b3e695f1c4d08dcc095cfee7143';
/// See also [StartProxyController].
@ProviderFor(StartProxyController)
final startProxyControllerProvider =
AutoDisposeNotifierProvider<StartProxyController, void>.internal(
StartProxyController.new,
name: r'startProxyControllerProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$startProxyControllerHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$StartProxyController = AutoDisposeNotifier<void>;
// 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