fix: resort movies when changed

main
daniel-michel 2023-11-11 15:08:08 +01:00
parent 8a57992fd5
commit fa0e0bbbcb
1 changed files with 12 additions and 0 deletions

View File

@ -76,6 +76,7 @@ class MovieManager extends ChangeNotifier {
_insertMovie(movie);
movie.addListener(() {
_moviesModified(withoutAddingOrRemoving: true);
_resortMovies();
});
added = true;
actualMovies.add(movie);
@ -105,6 +106,17 @@ class MovieManager extends ChangeNotifier {
movies.insert(min, movie);
}
void _resortMovies() {
for (int i = 0; i < movies.length; i++) {
var temp = movies[i];
int j = i - 1;
for (; j >= 0 && movies[j].releaseDate.isAfter(temp.releaseDate); j--) {
movies[j + 1] = movies[j];
}
movies[j + 1] = temp;
}
}
void removeMoviesWhere(bool Function(MovieData movie) test) {
bool removedMovies = false;
for (int i = movies.length - 1; i >= 0; i--) {