From 7262a79a8df7bd069109f0e2e0c074b8dc7f489e Mon Sep 17 00:00:00 2001 From: soloturn Date: Tue, 26 Apr 2022 02:28:36 +0200 Subject: [PATCH] read clipboard correctly to start auto-download fixes #86. --- .../rarchives/ripme/ui/ClipboardUtils.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/rarchives/ripme/ui/ClipboardUtils.java b/src/main/java/com/rarchives/ripme/ui/ClipboardUtils.java index c149d6fe..55b68d65 100644 --- a/src/main/java/com/rarchives/ripme/ui/ClipboardUtils.java +++ b/src/main/java/com/rarchives/ripme/ui/ClipboardUtils.java @@ -1,8 +1,8 @@ package com.rarchives.ripme.ui; -import java.awt.HeadlessException; import java.awt.Toolkit; import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.io.IOException; import java.util.HashSet; @@ -30,16 +30,13 @@ class ClipboardUtils { } public static String getClipboardString() { - try { - return (String) Toolkit - .getDefaultToolkit() - .getSystemClipboard() - .getData(DataFlavor.getTextPlainUnicodeFlavor()); - } catch (IllegalStateException e) { - e.printStackTrace(); - logger.error("Caught and recovered from IllegalStateException: " + e.getMessage()); - } catch (HeadlessException | IOException | UnsupportedFlavorException e) { - e.printStackTrace(); + Transferable contents = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null); + if (contents.isDataFlavorSupported(DataFlavor.stringFlavor)) { + try { + return (String) contents.getTransferData(DataFlavor.stringFlavor); + } catch (UnsupportedFlavorException | IOException e) { + logger.debug("ignore this one" + e.getMessage()); + } } return null; } @@ -47,7 +44,7 @@ class ClipboardUtils { class AutoripThread extends Thread { volatile boolean isRunning = false; - private Set rippedURLs = new HashSet<>(); + private final Set rippedURLs = new HashSet<>(); public void run() { isRunning = true;