add settings page so set ssh login
request storage permissions on android
This commit is contained in:
@ -6,6 +6,11 @@ class Item {
|
||||
String name;
|
||||
|
||||
Item(this.isFolder, this.uri, this.name);
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'Item{isFolder: $isFolder, uri: $uri, name: $name}';
|
||||
}
|
||||
}
|
||||
|
||||
class Folder {
|
||||
|
@ -10,11 +10,11 @@ import 'dart:ui' as ui show Codec, ImmutableBuffer;
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
|
||||
class SSHDataProvider extends DataProvider {
|
||||
final String host;
|
||||
final int port;
|
||||
final String username;
|
||||
final String password;
|
||||
final String initialPath;
|
||||
final Future<String> host;
|
||||
final Future<int> port;
|
||||
final Future<String> username;
|
||||
final Future<String> password;
|
||||
final Future<String> initialPath;
|
||||
|
||||
SftpClient? sftpClient;
|
||||
SSHClient? sshClient;
|
||||
@ -31,8 +31,8 @@ class SSHDataProvider extends DataProvider {
|
||||
if (sshClient != null && !sshClient!.isClosed) return;
|
||||
|
||||
sshClient = SSHClient(
|
||||
await SSHSocket.connect(host, port),
|
||||
username: username,
|
||||
await SSHSocket.connect(await host, await port),
|
||||
username: await username,
|
||||
onPasswordRequest: () => password,
|
||||
);
|
||||
await sshClient?.authenticated;
|
||||
@ -45,7 +45,8 @@ class SSHDataProvider extends DataProvider {
|
||||
await connect();
|
||||
if (sftpClient == null) throw const FormatException("");
|
||||
|
||||
final dir = uri != null ? Directory.fromUri(uri) : Directory(initialPath);
|
||||
final dir =
|
||||
uri != null ? Directory.fromUri(uri) : Directory(await initialPath);
|
||||
|
||||
final items = await sftpClient!.listdir(dir.path);
|
||||
List<Item> res = [];
|
||||
|
Reference in New Issue
Block a user