diff options
author | Simon Rettberg | 2017-03-03 12:08:54 +0100 |
---|---|---|
committer | Simon Rettberg | 2017-03-03 12:08:54 +0100 |
commit | f1a056e7fed96bdaf27c154f47e17efb1eb6a9ab (patch) | |
tree | 9fe69322ad39796b312341e0b693f9aed5b3de30 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java | |
parent | [server] Implement getSupportedFeatures() (diff) | |
download | tutor-module-f1a056e7fed96bdaf27c154f47e17efb1eb6a9ab.tar.gz tutor-module-f1a056e7fed96bdaf27c154f47e17efb1eb6a9ab.tar.xz tutor-module-f1a056e7fed96bdaf27c154f47e17efb1eb6a9ab.zip |
[client] Don't update server storage space too often if user is inactive
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java index 2421bad2..f7f99884 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/Gui.java @@ -1,5 +1,6 @@ package org.openslx.dozmod.gui; +import java.awt.AWTEvent; import java.awt.Component; import java.awt.Dimension; import java.awt.Frame; @@ -11,6 +12,7 @@ import java.awt.Point; import java.awt.Rectangle; import java.awt.Toolkit; import java.awt.Window; +import java.awt.event.AWTEventListener; import java.lang.reflect.InvocationTargetException; import java.util.concurrent.atomic.AtomicReference; @@ -29,6 +31,17 @@ import org.openslx.util.QuickTimer; public class Gui { private static final Logger LOGGER = Logger.getLogger(Gui.class); + + private static long lastUserActivity = System.currentTimeMillis(); + + static { + Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() { + @Override + public void eventDispatched(AWTEvent event) { + lastUserActivity = System.currentTimeMillis(); + } + }, AWTEvent.MOUSE_EVENT_MASK | AWTEvent.KEY_EVENT_MASK); + } private static Rectangle clientArea(GraphicsDevice gd) { Insets inset = Toolkit.getDefaultToolkit().getScreenInsets(gd.getDefaultConfiguration()); @@ -349,5 +362,13 @@ public class Gui { } }); } + + /** + * Get last user activity timestamp. + * This considers mouse clicks and key presses. + */ + public static long getLastUserActivityMillis() { + return lastUserActivity; + } } |