diff --git a/flutter_test_gui/lib/pages/receive_screen.dart b/flutter_test_gui/lib/pages/receive_screen.dart index b3e895c..de8331e 100644 --- a/flutter_test_gui/lib/pages/receive_screen.dart +++ b/flutter_test_gui/lib/pages/receive_screen.dart @@ -3,10 +3,11 @@ import 'dart:io'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test_gui/main.dart'; +import 'package:flutter_test_gui/pages/transfer_screen.dart'; import 'package:mobile_scanner/mobile_scanner.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:flutter_test_gui/src/rust/api/simple.dart'; +// import 'package:flutter_test_gui/src/rust/api/simple.dart'; // import 'package:flutter_test_gui/src/rust/frb_generated.dart'; import 'package:flutter_test_gui/consts/consts.dart'; @@ -82,18 +83,11 @@ class ReceiveScreenState extends State { } if (Platform.isAndroid) { if (await _requestPermission(Permission.manageExternalStorage)) { - try { - final outcome = await startRustReceiver( - filepath: filePath, transfername: input, relay: appOrigin); - print('Ergebnis von Rust: $outcome'); - } catch (e) { - print('Fehler beim Starten des Receivers: $e'); - } Navigator.push( context, MaterialPageRoute( - builder: (context) => - const MyHomePage(title: 'Caesar Transfer'))); + builder: (context) => TransferScreen( + transferName: input, directory: filePath))); } else { Navigator.push( context, @@ -102,21 +96,13 @@ class ReceiveScreenState extends State { const MyHomePage(title: 'Caesar Transfer'))); } } else { - try { - final outcome = await startRustReceiver( - filepath: filePath, transfername: input, relay: appOrigin); - print('Ergebnis von Rust: $outcome'); - } catch (e) { - print('Fehler beim Starten des Receivers: $e'); - } Navigator.push( context, MaterialPageRoute( builder: (context) => - const MyHomePage(title: 'Caesar Transfer'))); + TransferScreen(transferName: input, directory: filePath))); } } - print("Transfer startet with app_origin: $appOrigin"); } @override diff --git a/flutter_test_gui/lib/pages/transfer_screen.dart b/flutter_test_gui/lib/pages/transfer_screen.dart index 4862e77..6527638 100644 --- a/flutter_test_gui/lib/pages/transfer_screen.dart +++ b/flutter_test_gui/lib/pages/transfer_screen.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_test_gui/main.dart'; import 'package:qr_flutter/qr_flutter.dart'; @@ -9,11 +11,11 @@ import 'package:flutter_test_gui/consts/consts.dart'; import 'package:permission_handler/permission_handler.dart'; class TransferScreen extends StatefulWidget { - final List files; final String transferName; + final String directory; const TransferScreen( - {Key? key, required this.transferName, required this.files}) + {Key? key, required this.transferName, required this.directory}) : super(key: key); @override @@ -32,7 +34,7 @@ class TransferScreenState extends State { Future loadSettings() async { SharedPreferences prefs = await SharedPreferences.getInstance(); appOrigin = prefs.getString('app_origin') ?? - 'wss://caesar-transfer-iu.shuttleapp.rs'; // Laden Sie die app_origin + 'wss://caesar-transfer-iu.shuttleapp.rs'; } Future callStartReceiver(String appOrigin) async { @@ -40,36 +42,45 @@ class TransferScreenState extends State { } Future _startTransfer(String appOrigin) async { - final input = inputValue.trim(); + final input = widget.transferName; + String filePath = widget.directory; if (input.isNotEmpty) { - // if (Platform.isAndroid) { - // if (await _requestPermission(Permission.storage)) { - // try { - // final outcome = - // await startRustReceiver(transfername: input, relay: appOrigin); - // print('Ergebnis von Rust: $outcome'); - // } catch (e) { - // print('Fehler beim Starten des Receivers: $e'); - // } - // Navigator.push( - // context, - // MaterialPageRoute( - // builder: (context) => MyHomePage(title: 'Caesar Transfer'))); - // } else {} - // } else { - try { - // final outcome = - // await startRustReceiver(transfername: input, relay: appOrigin); - // print('Ergebnis von Rust: $outcome'); - } catch (e) { - print('Fehler beim Starten des Receivers: $e'); + if (Platform.isAndroid) { + if (await _requestPermission(Permission.manageExternalStorage)) { + try { + final outcome = await startRustReceiver( + filepath: filePath, transfername: input, relay: appOrigin); + print('Ergebnis von Rust: $outcome'); + } catch (e) { + print('Fehler beim Starten des Receivers: $e'); + } + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + const MyHomePage(title: 'Caesar Transfer'))); + } else { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + const MyHomePage(title: 'Caesar Transfer'))); + } + } else { + try { + final outcome = await startRustReceiver( + filepath: filePath, transfername: input, relay: appOrigin); + print('Ergebnis von Rust: $outcome'); + } catch (e) { + print('Fehler beim Starten des Receivers: $e'); + } + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + const MyHomePage(title: 'Caesar Transfer'))); } - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => MyHomePage(title: 'Caesar Transfer'))); } - // } print("Transfer startet with app_origin: $appOrigin"); } @@ -98,12 +109,14 @@ class TransferScreenState extends State { widget.transferName, style: const TextStyle(color: Colors.white, fontSize: 24), ), + Text("Transfer in Progress"), const SizedBox(height: 32), - QrImageView( - data: widget.transferName, - version: QrVersions.auto, - size: 200, - foregroundColor: Constants.highlightColor, + const Center( + child: Icon( + Icons.cloud_download_rounded, + color: Constants.highlightColor, + size: 200, + ), ), ], ),