fix: Fixed saved views bug, formatted files, minor changes

This commit is contained in:
Anton Stubenbord
2023-06-10 16:29:12 +02:00
parent 3161343c35
commit 4c3f97136e
93 changed files with 1049 additions and 585 deletions

View File

@@ -4,33 +4,53 @@ import 'package:flutter/widgets.dart';
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
class ShareIntentQueue extends ChangeNotifier {
final Queue<SharedMediaFile> _queue = Queue();
final Map<String, Queue<SharedMediaFile>> _queues = {};
ShareIntentQueue._();
static final instance = ShareIntentQueue._();
void add(SharedMediaFile file) {
void add(
SharedMediaFile file, {
required String userId,
}) {
debugPrint("Adding received file to queue: ${file.path}");
_queue.add(file);
_getQueue(userId).add(file);
notifyListeners();
}
void addAll(Iterable<SharedMediaFile> files) {
void addAll(
Iterable<SharedMediaFile> files, {
required String userId,
}) {
debugPrint(
"Adding received files to queue: ${files.map((e) => e.path).join(",")}");
_queue.addAll(files);
_getQueue(userId).addAll(files);
notifyListeners();
}
SharedMediaFile? pop() {
if (hasUnhandledFiles) {
return _queue.removeFirst();
SharedMediaFile? pop(String userId) {
if (userHasUnhandlesFiles(userId)) {
return _getQueue(userId).removeFirst();
// Don't notify listeners, only when new item is added.
} else {
return null;
}
}
bool get hasUnhandledFiles => _queue.isNotEmpty;
Queue<SharedMediaFile> _getQueue(String userId) {
if (!_queues.containsKey(userId)) {
_queues[userId] = Queue<SharedMediaFile>();
}
return _queues[userId]!;
}
bool userHasUnhandlesFiles(String userId) => _getQueue(userId).isNotEmpty;
}
class UserAwareShareMediaFile {
final String userId;
final SharedMediaFile sharedFile;
UserAwareShareMediaFile(this.userId, this.sharedFile);
}