forked from Nexus/nexus
use gomuks for downloading media
This commit is contained in:
parent
90230651e6
commit
fa451621de
20 changed files with 159 additions and 241 deletions
|
|
@ -18,6 +18,7 @@ import "package:nexus/models/content/message.dart";
|
|||
import "package:nexus/models/event.dart";
|
||||
import "package:nexus/models/oauth_auth_code_response.dart";
|
||||
import "package:nexus/models/paginate.dart";
|
||||
import "package:nexus/models/requests/download_media.dart";
|
||||
import "package:nexus/models/requests/get_event.dart";
|
||||
import "package:nexus/models/requests/get_related_events.dart";
|
||||
import "package:nexus/models/requests/get_room_state.dart";
|
||||
|
|
@ -271,6 +272,9 @@ class ClientController extends AsyncNotifier<int> {
|
|||
Future<MessageContent> uploadMedia(UploadMediaRequest request) async =>
|
||||
.fromJson(await _sendCommand("upload_media", request.toJson()));
|
||||
|
||||
Future<File> downloadMedia(DownloadMediaRequest request) async =>
|
||||
.new((await _sendCommand("download_media", request.toJson()))["path"]);
|
||||
|
||||
Future<void> logout() => _sendCommand("logout");
|
||||
|
||||
Future<void> markRead(Room room) async {
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
import "package:cross_cache/cross_cache.dart";
|
||||
import "package:flutter_riverpod/flutter_riverpod.dart";
|
||||
|
||||
class CrossCacheController extends Notifier<CrossCache> {
|
||||
@override
|
||||
CrossCache build() => .new();
|
||||
|
||||
static final provider = NotifierProvider<CrossCacheController, CrossCache>(
|
||||
CrossCacheController.new,
|
||||
);
|
||||
}
|
||||
|
|
@ -3,7 +3,6 @@ import "package:flutter_riverpod/flutter_riverpod.dart";
|
|||
import "package:http/http.dart";
|
||||
import "package:nexus/controllers/client_state.dart";
|
||||
import "package:nexus/controllers/header.dart";
|
||||
import "package:nexus/helpers/extensions/mxc_to_https.dart";
|
||||
import "package:nexus/models/open_graph_data.dart";
|
||||
|
||||
class UrlPreviewController extends AsyncNotifier<OpenGraphData?> {
|
||||
|
|
@ -30,12 +29,9 @@ class UrlPreviewController extends AsyncNotifier<OpenGraphData?> {
|
|||
final decodedValue = json.decode(response.body);
|
||||
if (decodedValue is! Map<String, dynamic>) return null;
|
||||
|
||||
final mxc = decodedValue["og:image"];
|
||||
final image = mxc == null
|
||||
? null
|
||||
: Uri.tryParse(mxc)?.mxcToHttps(homeserver);
|
||||
|
||||
return .fromJson(decodedValue).copyWith(imageUrl: image);
|
||||
return .fromJson(
|
||||
decodedValue,
|
||||
).copyWith(imageUrl: decodedValue["og:image"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue