This commit is contained in:
@ -22,25 +22,26 @@ class MediaProvider extends ChangeNotifier {
|
||||
int get crossAxisCount => _crossAxisCount;
|
||||
List<MediaItem> get mediaItems => _mediaItems;
|
||||
bool get isLoading => _isLoading;
|
||||
Function get resetMedia => _resetMedia;
|
||||
|
||||
void setType(String type) {
|
||||
_typeid = types.indexOf(type);
|
||||
loadMedia(reload: true);
|
||||
_resetMedia();
|
||||
}
|
||||
|
||||
void setMode(int mode) {
|
||||
_mode = mode;
|
||||
loadMedia(reload: true);
|
||||
_resetMedia();
|
||||
}
|
||||
|
||||
void toggleRandom() {
|
||||
_random = !_random;
|
||||
loadMedia(reload: true);
|
||||
_resetMedia();
|
||||
}
|
||||
|
||||
void setTag(String? tag) {
|
||||
_tag = tag;
|
||||
loadMedia(reload: true);
|
||||
_resetMedia();
|
||||
}
|
||||
|
||||
void setCrossAxisCount(int crossAxisCount) {
|
||||
@ -50,7 +51,8 @@ class MediaProvider extends ChangeNotifier {
|
||||
|
||||
void setMediaItems(List<MediaItem> mediaItems) {
|
||||
if (_mediaItems != mediaItems) {
|
||||
_mediaItems = mediaItems;
|
||||
_mediaItems.clear();
|
||||
_mediaItems.addAll(mediaItems);
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
||||
@ -60,25 +62,27 @@ class MediaProvider extends ChangeNotifier {
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
Future<void> loadMedia({bool reload = false, bool notify = true}) async {
|
||||
void _resetMedia() {
|
||||
_mediaItems.clear();
|
||||
notifyListeners();
|
||||
loadMedia();
|
||||
}
|
||||
|
||||
Future<void> loadMedia({bool notify = true}) async {
|
||||
if (_isLoading) return;
|
||||
_isLoading = true;
|
||||
if (notify) notifyListeners();
|
||||
|
||||
try {
|
||||
final newMedia = await fetchMedia(
|
||||
older: reload
|
||||
? null
|
||||
: _mediaItems.isNotEmpty
|
||||
? _mediaItems.last.id
|
||||
: null,
|
||||
older: _mediaItems.isNotEmpty ? _mediaItems.last.id : null,
|
||||
type: type,
|
||||
mode: mode,
|
||||
random: random,
|
||||
tag: tag,
|
||||
);
|
||||
|
||||
reload ? setMediaItems(newMedia) : addMediaItems(newMedia);
|
||||
addMediaItems(newMedia);
|
||||
} catch (e) {
|
||||
debugPrint('Fehler beim Laden der Medien: $e');
|
||||
} finally {
|
||||
|
Reference in New Issue
Block a user