fix: resort movies when changed
parent
8a57992fd5
commit
fa0e0bbbcb
|
@ -76,6 +76,7 @@ class MovieManager extends ChangeNotifier {
|
||||||
_insertMovie(movie);
|
_insertMovie(movie);
|
||||||
movie.addListener(() {
|
movie.addListener(() {
|
||||||
_moviesModified(withoutAddingOrRemoving: true);
|
_moviesModified(withoutAddingOrRemoving: true);
|
||||||
|
_resortMovies();
|
||||||
});
|
});
|
||||||
added = true;
|
added = true;
|
||||||
actualMovies.add(movie);
|
actualMovies.add(movie);
|
||||||
|
@ -105,6 +106,17 @@ class MovieManager extends ChangeNotifier {
|
||||||
movies.insert(min, movie);
|
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) {
|
void removeMoviesWhere(bool Function(MovieData movie) test) {
|
||||||
bool removedMovies = false;
|
bool removedMovies = false;
|
||||||
for (int i = movies.length - 1; i >= 0; i--) {
|
for (int i = movies.length - 1; i >= 0; i--) {
|
||||||
|
|
Loading…
Reference in New Issue