Skip to content

Commit

Permalink
- remove failed downloads from history
Browse files Browse the repository at this point in the history
  • Loading branch information
derreisende77 committed Oct 18, 2023
1 parent 95fc830 commit 53e95a4
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@
- **FEATURE(Linux):** Dark Mode Erkennung funktioniert nun auch mit GNOME. Danke an @swsnr!
- **FEATURE(Linux):** Die Fensterdekorationen der Windows/macOS-Versionen werden nun auch unter Linux verwendet.
- **FEATURE:** Das Nachladen von fehlenden Filmgrößen kann in den *Einstellungen/Aufzeichnen und Abspielen/Download* abgeschaltet werden.

- **FEATURE:** Fehlerhafte Downloads werden nun automatisch aus der Gesehen Datenbank entfernt.
-
# **14.0.0**
- Es wird nun Java 20 verwendet.
- User Interface wurde primär für neue macOS-Versionen überarbeitet.
Expand Down
13 changes: 13 additions & 0 deletions src/main/java/mediathek/controller/starter/DirectHttpDownload.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import mediathek.config.Konstanten;
import mediathek.controller.MVBandwidthCountingInputStream;
import mediathek.controller.ThrottlingInputStream;
import mediathek.controller.history.SeenHistoryController;
import mediathek.daten.DatenDownload;
import mediathek.gui.dialog.DialogContinueDownload;
import mediathek.gui.dialog.MeldungDownloadfehler;
Expand Down Expand Up @@ -340,6 +341,9 @@ public synchronized void run() {
logger.error("run()", ex);
start.status = Start.STATUS_ERR;
state = HttpDownloadState.ERROR;

removeSeenHistoryEntry();

SwingUtilities.invokeLater(() -> new MeldungDownloadfehler(MediathekGui.ui(), ex.getLocalizedMessage(), datenDownload).setVisible(true));
} finally {
if (body != null)
Expand All @@ -357,6 +361,15 @@ public synchronized void run() {
messageBus.unsubscribe(this);
}

private void removeSeenHistoryEntry() {
if (datenDownload.film != null) {
logger.trace("Removing failed download entry from history");
try (var historyController = new SeenHistoryController()) {
historyController.markUnseen(datenDownload.film);
}
}
}

private void waitForPendingDownloads() {
try {
if (infoFuture != null)
Expand Down

0 comments on commit 53e95a4

Please sign in to comment.