diff --git a/java/base/src/main/java/base/worker/Worker.java b/java/base/src/main/java/base/worker/Worker.java index 098a129..af85571 100644 --- a/java/base/src/main/java/base/worker/Worker.java +++ b/java/base/src/main/java/base/worker/Worker.java @@ -86,7 +86,7 @@ public abstract class Worker { } } - protected void sleep() { + public void sleep() { sleep(SLEEP); } diff --git a/java/mimis/src/main/java/mimis/Component.java b/java/mimis/src/main/java/mimis/Component.java index 0dcc223..e66fcc1 100644 --- a/java/mimis/src/main/java/mimis/Component.java +++ b/java/mimis/src/main/java/mimis/Component.java @@ -16,7 +16,6 @@ */ package mimis; -import base.worker.Listener; import mimis.input.Button; import mimis.input.Feedback; import mimis.input.Input; @@ -28,8 +27,10 @@ import mimis.parser.ParserInput; import mimis.router.Router; import mimis.state.TaskMap; import mimis.value.Action; +import base.work.Listen; +import base.worker.Worker.Type; -public abstract class Component extends Listener { +public abstract class Component extends Listen { protected static final String TITLE = "Component"; protected String title; @@ -39,11 +40,15 @@ public abstract class Component extends Listener { this(TITLE); } + public Component(Type type) { + super(type); + } + public Component(String title) { this.title = title; } - public void setRouter(Router router) { + public void setRouter(Router router) { this.router = router; } diff --git a/java/mimis/src/main/java/mimis/Gui.java b/java/mimis/src/main/java/mimis/Gui.java index 0c10dc5..9efc169 100644 --- a/java/mimis/src/main/java/mimis/Gui.java +++ b/java/mimis/src/main/java/mimis/Gui.java @@ -53,7 +53,7 @@ public class Gui extends Component { createFrame(buttonManagerArray); } - protected void activate() throws ActivateException { + public void activate() throws ActivateException { listen(Feedback.class); super.activate(); } diff --git a/java/mimis/src/main/java/mimis/Main.java b/java/mimis/src/main/java/mimis/Main.java index 9fca846..89e5096 100644 --- a/java/mimis/src/main/java/mimis/Main.java +++ b/java/mimis/src/main/java/mimis/Main.java @@ -82,7 +82,7 @@ public class Main extends Mimis { end(Action.CURRENT); } - protected void deactivate() throws DeactivateException { + public void deactivate() throws DeactivateException { super.deactivate(); logger.debug("Stop managers"); @@ -112,6 +112,6 @@ public class Main extends Mimis { } public static void main(String[] args) { - new Main().start(false); + new Main().start(); } } diff --git a/java/mimis/src/main/java/mimis/Mimis.java b/java/mimis/src/main/java/mimis/Mimis.java index fbd9b0f..8d430a0 100644 --- a/java/mimis/src/main/java/mimis/Mimis.java +++ b/java/mimis/src/main/java/mimis/Mimis.java @@ -16,16 +16,17 @@ */ package mimis; -import base.exception.worker.ActivateException; -import base.exception.worker.DeactivateException; import mimis.input.Feedback; import mimis.input.Task; import mimis.manager.Manager; import mimis.parser.Parser; import mimis.router.Router; -import mimis.util.ArrayCycle; import mimis.value.Action; import mimis.value.Target; +import base.exception.worker.ActivateException; +import base.exception.worker.DeactivateException; +import base.util.ArrayCycle; +import base.worker.Worker; public abstract class Mimis extends Component { protected Component[] currentArray; @@ -34,6 +35,7 @@ public abstract class Mimis extends Component { protected ArrayCycle componentCycle; public Mimis(Component... currentArray) { + super(Worker.Type.FOREGROUND); this.currentArray = initialize(false, currentArray); componentCycle = new ArrayCycle(currentArray); router = new Router(); @@ -45,7 +47,7 @@ public abstract class Mimis extends Component { super.activate(); } - protected void deactivate() throws DeactivateException { + public void deactivate() throws DeactivateException { super.deactivate(); manager.stop(); } diff --git a/java/mimis/src/main/java/mimis/application/cmd/CMDApplication.java b/java/mimis/src/main/java/mimis/application/cmd/CMDApplication.java index ddb76ed..ba7742e 100644 --- a/java/mimis/src/main/java/mimis/application/cmd/CMDApplication.java +++ b/java/mimis/src/main/java/mimis/application/cmd/CMDApplication.java @@ -42,7 +42,7 @@ public abstract class CMDApplication extends Component implements Application { detect = true; } - protected void activate() throws ActivateException { + public void activate() throws ActivateException { detect = true; if (!running) { String path = getPath(); @@ -64,15 +64,14 @@ public abstract class CMDApplication extends Component implements Application { public boolean active() { if (detect) { running = Native.isRunning(program); - if (!active && running) { - active = true; + if (!running) { start(); } } - return active; + return super.active(); } - protected synchronized void deactivate() throws DeactivateException { + public synchronized void deactivate() throws DeactivateException { detect = false; super.deactivate(); if (process != null) { diff --git a/java/mimis/src/main/java/mimis/application/cmd/windows/WindowsApplication.java b/java/mimis/src/main/java/mimis/application/cmd/windows/WindowsApplication.java index 0d518fe..b4d5647 100644 --- a/java/mimis/src/main/java/mimis/application/cmd/windows/WindowsApplication.java +++ b/java/mimis/src/main/java/mimis/application/cmd/windows/WindowsApplication.java @@ -42,7 +42,7 @@ public abstract class WindowsApplication extends CMDApplication { handle = 0; } - protected void activate() throws ActivateException { + public void activate() throws ActivateException { if (program != null) { super.activate(); } @@ -51,14 +51,13 @@ public abstract class WindowsApplication extends CMDApplication { sleep(START_SLEEP); handle = Native.getHandle(window); } - active = handle > 0; - if (!active) { + if (handle < 0) { throw new ActivateException(); } } public boolean active() { - if (!active || program == null) { + if (!super.active() || program == null) { handle = Native.getHandle(window); if (handle > 0 && program == null) { start(); @@ -67,13 +66,11 @@ public abstract class WindowsApplication extends CMDApplication { return program == null ? handle > 0 : super.active(); } - protected void deactivate() throws DeactivateException { - if (process == null) { - active = false; - } else { - super.deactivate(); + public void deactivate() throws DeactivateException { + if (process != null) { + close(); } - close(); + super.deactivate(); } protected void close() { diff --git a/java/mimis/src/main/java/mimis/application/cmd/windows/gomplayer/GomPlayerApplication.java b/java/mimis/src/main/java/mimis/application/cmd/windows/gomplayer/GomPlayerApplication.java index b5bb2be..53d43d2 100644 --- a/java/mimis/src/main/java/mimis/application/cmd/windows/gomplayer/GomPlayerApplication.java +++ b/java/mimis/src/main/java/mimis/application/cmd/windows/gomplayer/GomPlayerApplication.java @@ -16,12 +16,12 @@ */ package mimis.application.cmd.windows.gomplayer; -import base.exception.worker.ActivateException; -import base.exception.worker.DeactivateException; -import base.worker.ThreadWorker; import mimis.application.cmd.windows.WindowsApplication; import mimis.value.Action; import mimis.value.Amount; +import base.exception.worker.ActivateException; +import base.exception.worker.DeactivateException; +import base.work.Work; public class GomPlayerApplication extends WindowsApplication { protected final static String PROGRAM = "GOM.exe"; @@ -31,48 +31,50 @@ public class GomPlayerApplication extends WindowsApplication { protected static final int VOLUME_SLEEP = 100; protected static final int SEEK_SLEEP = 100; - protected VolumeWorker volumeWorker; - protected SeekWorker seekWorker; + protected VolumeWork volumeWork; + protected SeekWork seekWork; public GomPlayerApplication() { super(PROGRAM, TITLE, WINDOW); - volumeWorker = new VolumeWorker(); - seekWorker = new SeekWorker(); + volumeWork = new VolumeWork(); + seekWork = new SeekWork(); } - protected void deactivate() throws DeactivateException { + public void deactivate() throws DeactivateException { super.deactivate(); - volumeWorker.stop(); - seekWorker.stop(); + volumeWork.stop(); + seekWork.stop(); } public void exit() { super.exit(); - volumeWorker.exit(); - seekWorker.exit(); + volumeWork.exit(); + seekWork.exit(); } public void begin(Action action) { logger.trace("GomPlayerApplication begin: " + action); switch (action) { case VOLUME_UP: - volumeWorker.start(); + volumeWork.start(); break; case VOLUME_DOWN: - volumeWorker.start(); + volumeWork.start(); break; case FORWARD: - seekWorker.start(Amount.SMALL, 1); + seekWork.start(Amount.SMALL, 1); break; case REWIND: - seekWorker.start(Amount.SMALL, -1); + seekWork.start(Amount.SMALL, -1); break; case NEXT: - seekWorker.start(Amount.MEDIUM, 1); + seekWork.start(Amount.MEDIUM, 1); break; case PREVIOUS: - seekWorker.start(Amount.MEDIUM, -1); - break; + seekWork.start(Amount.MEDIUM, -1); + break; + default: + break; } } @@ -89,19 +91,21 @@ public class GomPlayerApplication extends WindowsApplication { case REWIND: case NEXT: case PREVIOUS: - seekWorker.stop(); + seekWork.stop(); break; case VOLUME_UP: case VOLUME_DOWN: - volumeWorker.stop(); + volumeWork.stop(); break; case FULLSCREEN: command(0x8154); break; + default: + break; } } - protected class VolumeWorker extends ThreadWorker { + protected class VolumeWork extends Work { protected int volumeChangeSign; public void start(int volumeChangeSign) throws ActivateException { @@ -115,7 +119,7 @@ public class GomPlayerApplication extends WindowsApplication { } }; - protected class SeekWorker extends ThreadWorker { + protected class SeekWork extends Work { protected Amount amount; protected int seekDirection; diff --git a/java/mimis/src/main/java/mimis/application/cmd/windows/photoviewer/PhotoViewerApplication.java b/java/mimis/src/main/java/mimis/application/cmd/windows/photoviewer/PhotoViewerApplication.java index ff490b9..99581d7 100644 --- a/java/mimis/src/main/java/mimis/application/cmd/windows/photoviewer/PhotoViewerApplication.java +++ b/java/mimis/src/main/java/mimis/application/cmd/windows/photoviewer/PhotoViewerApplication.java @@ -16,12 +16,12 @@ */ package mimis.application.cmd.windows.photoviewer; -import base.exception.worker.DeactivateException; -import base.worker.ThreadWorker; import mimis.application.cmd.windows.WindowsApplication; import mimis.value.Action; import mimis.value.Key; import mimis.value.Type; +import base.exception.worker.DeactivateException; +import base.work.Work; public class PhotoViewerApplication extends WindowsApplication { protected final static String TITLE = "Photo Viewer"; @@ -30,33 +30,35 @@ public class PhotoViewerApplication extends WindowsApplication { protected static final int ZOOM_SLEEP = 100; protected static final int DELETE_SLEEP = 2000; - protected ZoomWorker zoomWorker; + protected ZoomWork zoomWork; protected boolean fullscreen; public PhotoViewerApplication() { super(TITLE, WINDOW); - zoomWorker = new ZoomWorker(); + zoomWork = new ZoomWork(); fullscreen = false; } - protected void deactivate() throws DeactivateException { + public void deactivate() throws DeactivateException { super.deactivate(); - zoomWorker.stop(); + zoomWork.stop(); } public void exit() { super.exit(); - zoomWorker.exit(); + zoomWork.exit(); } public void begin(Action action) { switch (action) { case VOLUME_UP: - zoomWorker.start(1); + zoomWork.start(1); break; case VOLUME_DOWN: - zoomWorker.start(-1); + zoomWork.start(-1); break; + default: + break; } } @@ -65,7 +67,7 @@ public class PhotoViewerApplication extends WindowsApplication { switch (action) { case VOLUME_UP: case VOLUME_DOWN: - zoomWorker.stop(); + zoomWork.stop(); break; case NEXT: key(Type.DOWN, Key.RIGHT); @@ -106,10 +108,12 @@ public class PhotoViewerApplication extends WindowsApplication { end(Action.FULLSCREEN); }*/ break; + default: + break; } } - protected class ZoomWorker extends ThreadWorker { + protected class ZoomWork extends Work { protected int zoomDirection; public void start(int zoomDirection) { diff --git a/java/mimis/src/main/java/mimis/application/cmd/windows/winamp/WinampApplication.java b/java/mimis/src/main/java/mimis/application/cmd/windows/winamp/WinampApplication.java index d6dd352..fcd266c 100644 --- a/java/mimis/src/main/java/mimis/application/cmd/windows/winamp/WinampApplication.java +++ b/java/mimis/src/main/java/mimis/application/cmd/windows/winamp/WinampApplication.java @@ -16,11 +16,11 @@ */ package mimis.application.cmd.windows.winamp; -import base.exception.worker.DeactivateException; -import base.worker.ThreadWorker; import mimis.application.cmd.windows.WindowsApplication; import mimis.value.Action; import mimis.value.Command; +import base.exception.worker.DeactivateException; +import base.work.Work; public class WinampApplication extends WindowsApplication { protected final static String PROGRAM = "winamp.exe"; @@ -52,8 +52,8 @@ public class WinampApplication extends WindowsApplication { protected static final int VOLUME_SLEEP = 50; protected static final int SEEK_SLEEP = 100; - protected VolumeWorker volumeWorker; - protected SeekWorker seekWorker; + protected VolumeWork volumeWork; + protected SeekWork seekWork; protected double volume; protected boolean muted; @@ -61,37 +61,39 @@ public class WinampApplication extends WindowsApplication { super(PROGRAM, TITLE, WINDOW); volume = getVolume(); muted = volume == 0; - volumeWorker = new VolumeWorker(); - seekWorker = new SeekWorker(); + volumeWork = new VolumeWork(); + seekWork = new SeekWork(); } public void deactivate() throws DeactivateException { super.deactivate(); - volumeWorker.stop(); - seekWorker.stop(); + volumeWork.stop(); + seekWork.stop(); } public void exit() { super.exit(); - volumeWorker.exit(); - seekWorker.exit(); + volumeWork.exit(); + seekWork.exit(); } public void begin(Action action) { logger.trace("WinampApplication begin: " + action); switch (action) { case VOLUME_UP: - volumeWorker.start(1); + volumeWork.start(1); break; case VOLUME_DOWN: - volumeWorker.start(-1); + volumeWork.start(-1); break; case FORWARD: - seekWorker.start(1); + seekWork.start(1); break; case REWIND: - seekWorker.start(-1); + seekWork.start(-1); break; + default: + break; } } @@ -117,7 +119,7 @@ public class WinampApplication extends WindowsApplication { break; case FORWARD: case REWIND: - seekWorker.stop(); + seekWork.stop(); break; case MUTE: if (muted) { @@ -130,7 +132,7 @@ public class WinampApplication extends WindowsApplication { break; case VOLUME_UP: case VOLUME_DOWN: - volumeWorker.stop(); + volumeWork.stop(); break; case SHUFFLE: command(WINAMP_FILE_SHUFFLE); @@ -148,6 +150,8 @@ public class WinampApplication extends WindowsApplication { system(Command.System.MAXIMIZE); command(WINAMP_VISPLUGIN); break; + default: + break; } } @@ -167,7 +171,7 @@ public class WinampApplication extends WindowsApplication { return user(0, IPC_GETOUTPUTTIME) / 1000; } - protected class VolumeWorker extends ThreadWorker { + protected class VolumeWork extends Work { protected int volumeChangeSign; public void start(int volumeChangeSign) { @@ -181,7 +185,7 @@ public class WinampApplication extends WindowsApplication { } }; - protected class SeekWorker extends ThreadWorker { + protected class SeekWork extends Work { protected int seekDirection; public void start(int seekDirection) { diff --git a/java/mimis/src/main/java/mimis/application/cmd/windows/wmp/WMPApplication.java b/java/mimis/src/main/java/mimis/application/cmd/windows/wmp/WMPApplication.java index 8eecae0..821bfd9 100644 --- a/java/mimis/src/main/java/mimis/application/cmd/windows/wmp/WMPApplication.java +++ b/java/mimis/src/main/java/mimis/application/cmd/windows/wmp/WMPApplication.java @@ -16,9 +16,9 @@ */ package mimis.application.cmd.windows.wmp; -import base.worker.ThreadWorker; import mimis.application.cmd.windows.WindowsApplication; import mimis.value.Action; +import base.work.Work; public class WMPApplication extends WindowsApplication { protected final static String PROGRAM = "wmplayer.exe"; @@ -27,11 +27,11 @@ public class WMPApplication extends WindowsApplication { protected static final int VOLUME_SLEEP = 120; - protected VolumeWorker volumeWorker; + protected VolumeWork volumeWork; public WMPApplication() { super(PROGRAM, TITLE, WINDOW); - volumeWorker = new VolumeWorker(); + volumeWork = new VolumeWork(); } public void begin(Action action) { @@ -56,17 +56,19 @@ public class WMPApplication extends WindowsApplication { command(18817); break; case VOLUME_UP: - volumeWorker.start(1); + volumeWork.start(1); break; case VOLUME_DOWN: - volumeWorker.start(-1); + volumeWork.start(-1); break; case SHUFFLE: command(18842); break; case REPEAT: command(18843); - break; + break; + default: + break; } } @@ -81,12 +83,14 @@ public class WMPApplication extends WindowsApplication { break; case VOLUME_UP: case VOLUME_DOWN: - volumeWorker.stop(); + volumeWork.stop(); break; + default: + break; } } - protected class VolumeWorker extends ThreadWorker { + protected class VolumeWork extends Work { protected int volumeChangeSign; public void start(int volumeChangeSign) { diff --git a/java/mimis/src/main/java/mimis/application/itunes/iTunesApplication.java b/java/mimis/src/main/java/mimis/application/itunes/iTunesApplication.java index 696eb0b..83b9226 100644 --- a/java/mimis/src/main/java/mimis/application/itunes/iTunesApplication.java +++ b/java/mimis/src/main/java/mimis/application/itunes/iTunesApplication.java @@ -21,7 +21,7 @@ import mimis.application.Application; import mimis.value.Action; import base.exception.worker.ActivateException; import base.exception.worker.DeactivateException; -import base.worker.ThreadWorker; +import base.work.Work; import com.dt.iTunesController.ITCOMDisabledReason; import com.dt.iTunesController.ITTrack; @@ -38,7 +38,7 @@ public class iTunesApplication extends Component implements Application, iTunesE protected static final String PLAYLIST_DISLIKE = "Dislike"; protected iTunes iTunes; - protected VolumeWorker volumeWorker; + protected VolumeWork volumeWork; protected boolean events; public iTunesApplication() { @@ -48,10 +48,10 @@ public class iTunesApplication extends Component implements Application, iTunesE public iTunesApplication(boolean events) { super(TITLE); this.events = events; - volumeWorker = new VolumeWorker(); + volumeWork = new VolumeWork(); } - protected synchronized void activate() throws ActivateException { + public synchronized void activate() throws ActivateException { iTunes = new iTunes(); iTunes.connect(); if (events) { @@ -63,19 +63,18 @@ public class iTunesApplication extends Component implements Application, iTunesE public synchronized boolean active() { try { iTunes.getMute(); - active = true; } catch (Exception e) { - active = false; + stop(); } - return active; + return super.active(); } - protected synchronized void deactivate() throws DeactivateException { + public synchronized void deactivate() throws DeactivateException { if (events) { exit(); } else { super.deactivate(); - volumeWorker.stop(); + volumeWork.stop(); try { iTunes.release(); } catch (Exception e) { @@ -89,13 +88,13 @@ public class iTunesApplication extends Component implements Application, iTunesE try { iTunes.quit(); } catch (Exception e) {} - volumeWorker.exit(); + volumeWork.exit(); super.exit(); } protected void begin(Action action) { logger.trace("iTunesApplication begin: " + action); - if (!active) return; + if (!active()) return; switch (action) { case FORWARD: iTunes.fastForward(); @@ -104,17 +103,19 @@ public class iTunesApplication extends Component implements Application, iTunesE iTunes.rewind(); break; case VOLUME_UP: - volumeWorker.start(VOLUME_CHANGE_RATE); + volumeWork.start(VOLUME_CHANGE_RATE); break; case VOLUME_DOWN: - volumeWorker.start(-VOLUME_CHANGE_RATE); + volumeWork.start(-VOLUME_CHANGE_RATE); break; + default: + break; } } protected void end(Action action) { logger.trace("iTunesApplication end: " + action); - if (!active) return; + if (!active()) return; switch (action) { case PLAY: iTunes.playPause(); @@ -136,7 +137,7 @@ public class iTunesApplication extends Component implements Application, iTunesE break; case VOLUME_UP: case VOLUME_DOWN: - volumeWorker.stop(); + volumeWork.stop(); break; case SHUFFLE: iTunes.toggleShuffle(); @@ -150,6 +151,8 @@ public class iTunesApplication extends Component implements Application, iTunesE case DISLIKE: iTunes.playlistAddCurrentTrack(PLAYLIST_DISLIKE); break; + default: + break; } } @@ -159,13 +162,13 @@ public class iTunesApplication extends Component implements Application, iTunesE public void onDatabaseChangedEvent(int[][] deletedObjectIDs, int[][] changedObjectIDs) {} public void onPlayerPlayEvent(ITTrack iTrack) { - if (active) { + if (active()) { logger.trace("iTunesEvent: play"); } } public void onPlayerStopEvent(ITTrack iTrack) { - if (active) { + if (active()) { logger.trace("iTunesEvent: stop"); } } @@ -177,7 +180,7 @@ public class iTunesApplication extends Component implements Application, iTunesE public void onAboutToPromptUserToQuitEvent() {} public void onSoundVolumeChangedEvent(int newVolume) {} - protected class VolumeWorker extends ThreadWorker { + protected class VolumeWork extends Work { protected int volumeChangeRate; public void start(int volumeChangeRate) { diff --git a/java/mimis/src/main/java/mimis/application/lirc/LircApplication.java b/java/mimis/src/main/java/mimis/application/lirc/LircApplication.java index dde99e9..2ba1f7f 100644 --- a/java/mimis/src/main/java/mimis/application/lirc/LircApplication.java +++ b/java/mimis/src/main/java/mimis/application/lirc/LircApplication.java @@ -39,10 +39,10 @@ public class LircApplication extends Component implements Application { } public boolean active() { - return active = lircService.active(); + return lircService.active(); } - protected void deactivate() throws DeactivateException { + public void deactivate() throws DeactivateException { super.deactivate(); lircService.stop(); } diff --git a/java/mimis/src/main/java/mimis/application/lirc/ipod/iPodApplication.java b/java/mimis/src/main/java/mimis/application/lirc/ipod/iPodApplication.java index 2ee8305..bb69c4f 100644 --- a/java/mimis/src/main/java/mimis/application/lirc/ipod/iPodApplication.java +++ b/java/mimis/src/main/java/mimis/application/lirc/ipod/iPodApplication.java @@ -16,58 +16,60 @@ */ package mimis.application.lirc.ipod; -import base.exception.worker.ActivateException; -import base.exception.worker.DeactivateException; -import base.worker.ThreadWorker; import mimis.application.lirc.LircApplication; import mimis.device.lirc.remote.WC02IPOButton; import mimis.value.Action; +import base.exception.worker.ActivateException; +import base.exception.worker.DeactivateException; +import base.work.Work; public class iPodApplication extends LircApplication { protected static final String TITLE = "iPod"; protected static final int VOLUME_SLEEP = 100; - protected VolumeWorker volumeWorker; + protected VolumeWork volumeWork; public iPodApplication() { super(TITLE); - volumeWorker = new VolumeWorker(); + volumeWork = new VolumeWork(); } - protected void deactivate() throws DeactivateException { + public void deactivate() throws DeactivateException { super.deactivate(); - volumeWorker.stop(); + volumeWork.stop(); } public void exit() { super.exit(); - volumeWorker.exit(); + volumeWork.exit(); } protected void begin(Action action) { logger.trace("iPodApplication begin: " + action); - if (!active) return; + if (!active()) return; switch (action) { case VOLUME_UP: try { - volumeWorker.activate(1); + volumeWork.activate(1); } catch (ActivateException e) { logger.error("", e); } break; case VOLUME_DOWN: try { - volumeWorker.activate(-1); + volumeWork.activate(-1); } catch (ActivateException e) { logger.error("", e); } break; + default: + break; } } protected void end(Action action) { logger.trace("iPodApplication end: " + action); - if (!active) return; + if (!active()) return; switch (action) { case PLAY: send(WC02IPOButton.PLAY); @@ -80,12 +82,14 @@ public class iPodApplication extends LircApplication { break; case VOLUME_UP: case VOLUME_DOWN: - volumeWorker.stop(); + volumeWork.stop(); break; + default: + break; } } - protected class VolumeWorker extends ThreadWorker { + protected class VolumeWork extends Work { protected int volumeChangeRate; public void activate(int volumeChangeRate) throws ActivateException { diff --git a/java/mimis/src/main/java/mimis/application/mpc/MPCApplication.java b/java/mimis/src/main/java/mimis/application/mpc/MPCApplication.java index c59de26..22a2980 100644 --- a/java/mimis/src/main/java/mimis/application/mpc/MPCApplication.java +++ b/java/mimis/src/main/java/mimis/application/mpc/MPCApplication.java @@ -16,9 +16,9 @@ */ package mimis.application.mpc; -import base.worker.ThreadWorker; import mimis.application.cmd.windows.WindowsApplication; import mimis.value.Action; +import base.work.Work; public class MPCApplication extends WindowsApplication { protected final static String PROGRAM = "mpc-hc.exe"; @@ -28,30 +28,32 @@ public class MPCApplication extends WindowsApplication { protected static final int VOLUME_SLEEP = 50; protected static final int SEEK_SLEEP = 50; - protected VolumeWorker volumeWorker; - protected SeekWorker seekWorker; - + protected VolumeWork volumeWork; + protected SeekWork seekWork; + public MPCApplication() { super(PROGRAM, TITLE, WINDOW); - volumeWorker = new VolumeWorker(); - seekWorker = new SeekWorker(); + volumeWork = new VolumeWork(); + seekWork = new SeekWork(); } public void begin(Action action) { logger.trace("MPCApplication: " + action); switch (action) { case FORWARD: - seekWorker.start(1); + seekWork.start(1); break; case REWIND: - seekWorker.start(-1); + seekWork.start(-1); break; case VOLUME_UP: - volumeWorker.start(1); + volumeWork.start(1); break; case VOLUME_DOWN: - volumeWorker.start(-1); + volumeWork.start(-1); break; + default: + break; } } @@ -69,18 +71,20 @@ public class MPCApplication extends WindowsApplication { break; case FORWARD: case REWIND: - seekWorker.stop(); + seekWork.stop(); break; case MUTE: command(909); break; case VOLUME_UP: case VOLUME_DOWN: - volumeWorker.stop(); + volumeWork.stop(); break; case FULLSCREEN: command(830); break; + default: + break; } } @@ -88,7 +92,7 @@ public class MPCApplication extends WindowsApplication { return TITLE; } - protected class VolumeWorker extends ThreadWorker { + protected class VolumeWork extends Work { protected int volumeChangeSign; public void start(int volumeChangeSign) { @@ -100,9 +104,9 @@ public class MPCApplication extends WindowsApplication { command(volumeChangeSign > 0 ? 907 : 908); sleep(VOLUME_SLEEP); } - }; + } - protected class SeekWorker extends ThreadWorker { + protected class SeekWork extends Work { protected int seekDirection; public void start(int seekDirection) { diff --git a/java/mimis/src/main/java/mimis/application/vlc/VLCApplication.java b/java/mimis/src/main/java/mimis/application/vlc/VLCApplication.java index 15976ea..1f2edfd 100644 --- a/java/mimis/src/main/java/mimis/application/vlc/VLCApplication.java +++ b/java/mimis/src/main/java/mimis/application/vlc/VLCApplication.java @@ -23,14 +23,14 @@ import java.net.URL; import java.util.regex.Matcher; import java.util.regex.Pattern; -import base.exception.worker.ActivateException; -import base.exception.worker.DeactivateException; -import base.worker.ThreadWorker; import mimis.application.cmd.CMDApplication; import mimis.util.Native; import mimis.value.Action; import mimis.value.Amount; import mimis.value.Registry; +import base.exception.worker.ActivateException; +import base.exception.worker.DeactivateException; +import base.work.Work; public class VLCApplication extends CMDApplication { protected final static Registry REGISTRY = Registry.CLASSES_ROOT; @@ -47,16 +47,16 @@ public class VLCApplication extends CMDApplication { protected static final int VOLUME_SLEEP = 100; protected static final int SEEK_SLEEP = 100; - protected VolumeWorker volumeWorker; - protected SeekWorker seekWorker; + protected VolumeWork volumeWorker; + protected SeekWork seekWorker; protected int volume = 255; protected boolean muted = false; public VLCApplication() { super(PROGRAM, TITLE); - volumeWorker = new VolumeWorker(); - seekWorker = new SeekWorker(); + volumeWorker = new VolumeWork(); + seekWorker = new SeekWork(); } public String getPath() { @@ -79,7 +79,7 @@ public class VLCApplication extends CMDApplication { } } - protected void deactivate() throws DeactivateException { + public void deactivate() throws DeactivateException { super.deactivate(); volumeWorker.stop(); seekWorker.stop(); @@ -108,6 +108,8 @@ public class VLCApplication extends CMDApplication { case REWIND: seekWorker.start(Amount.SMALL, "-"); break; + default: + break; } } catch (ActivateException e) { logger.error("", e); @@ -146,6 +148,8 @@ public class VLCApplication extends CMDApplication { case REPEAT: command("command=pl_repeat"); break; + default: + break; } } @@ -171,7 +175,7 @@ public class VLCApplication extends CMDApplication { return TITLE; } - protected class VolumeWorker extends ThreadWorker { + protected class VolumeWork extends Work { protected String volumeChangeSign; public void activate(String volumeChangeSign) throws ActivateException { @@ -186,7 +190,7 @@ public class VLCApplication extends CMDApplication { } }; - protected class SeekWorker extends ThreadWorker { + protected class SeekWork extends Work { protected Amount amount; protected String seekDirection; diff --git a/java/mimis/src/main/java/mimis/device/javainput/JavaInputDevice.java b/java/mimis/src/main/java/mimis/device/javainput/JavaInputDevice.java index 5c78c76..994c6b2 100644 --- a/java/mimis/src/main/java/mimis/device/javainput/JavaInputDevice.java +++ b/java/mimis/src/main/java/mimis/device/javainput/JavaInputDevice.java @@ -44,20 +44,19 @@ public abstract class JavaInputDevice extends Component implements Device { protected JavaInputListener javaInputListener; protected Button previousDirectionalButton; - protected void activate() throws ActivateException { - super.activate(); + public void activate() throws ActivateException { try { JXInputDevice jxinputDevice = getDevice(name); logger.debug(jxinputDevice.getName()); javaInputListener = new JavaInputListener(this, jxinputDevice); } catch (DeviceNotFoundException e) { - active = false; throw new ActivateException(); } javaInputListener.start(); + super.activate(); } - protected void deactivate() throws DeactivateException { + public void deactivate() throws DeactivateException { super.deactivate(); javaInputListener.stop(); } diff --git a/java/mimis/src/main/java/mimis/device/javainput/JavaInputListener.java b/java/mimis/src/main/java/mimis/device/javainput/JavaInputListener.java index 3d4687b..9534db3 100644 --- a/java/mimis/src/main/java/mimis/device/javainput/JavaInputListener.java +++ b/java/mimis/src/main/java/mimis/device/javainput/JavaInputListener.java @@ -19,8 +19,8 @@ package mimis.device.javainput; import java.util.LinkedList; import java.util.Queue; -import base.worker.ThreadWorker; import mimis.exception.ButtonException; +import base.work.Work; import de.hardcode.jxinput.Button; import de.hardcode.jxinput.Directional; import de.hardcode.jxinput.JXInputDevice; @@ -33,7 +33,7 @@ import de.hardcode.jxinput.event.JXInputDirectionalEvent; import de.hardcode.jxinput.event.JXInputDirectionalEventListener; import de.hardcode.jxinput.event.JXInputEventManager; -public class JavaInputListener extends ThreadWorker implements Runnable, JXInputAxisEventListener, JXInputButtonEventListener, JXInputDirectionalEventListener { +public class JavaInputListener extends Work implements JXInputAxisEventListener, JXInputButtonEventListener, JXInputDirectionalEventListener { protected JavaInputDevice javaInputDevice; protected JXInputDevice jxinputDevice; protected Queue axisEventQueue; @@ -95,7 +95,7 @@ public class JavaInputListener extends ThreadWorker implements Runnable, JXInput javaInputDevice.processEvent(directionalEventQueue.poll()); } catch (ButtonException e) {} } else { - sleep(); + worker.sleep(); } } } diff --git a/java/mimis/src/main/java/mimis/device/javainput/extreme3d/Extreme3DDevice.java b/java/mimis/src/main/java/mimis/device/javainput/extreme3d/Extreme3DDevice.java index 09ea936..f0e66ad 100644 --- a/java/mimis/src/main/java/mimis/device/javainput/extreme3d/Extreme3DDevice.java +++ b/java/mimis/src/main/java/mimis/device/javainput/extreme3d/Extreme3DDevice.java @@ -37,11 +37,11 @@ public class Extreme3DDevice extends JavaInputDevice { taskMapCycle = new Extreme3DTaskMapCycle(); } - protected void activate() throws ActivateException { - super.activate(); + public void activate() throws ActivateException { parser(Action.ADD, taskMapCycle.mimis); parser(Action.ADD, taskMapCycle.player); parser(Action.ADD, taskMapCycle.like); + super.activate(); } protected Button getButton(JXInputButtonEvent event) throws UnknownButtonException { diff --git a/java/mimis/src/main/java/mimis/device/javainput/rumblepad/RumblepadDevice.java b/java/mimis/src/main/java/mimis/device/javainput/rumblepad/RumblepadDevice.java index f65ef0c..0d9a3a7 100644 --- a/java/mimis/src/main/java/mimis/device/javainput/rumblepad/RumblepadDevice.java +++ b/java/mimis/src/main/java/mimis/device/javainput/rumblepad/RumblepadDevice.java @@ -37,7 +37,7 @@ public class RumblepadDevice extends JavaInputDevice { taskMapCycle = new RumblepadTaskMapCycle(); } - protected void activate() throws ActivateException { + public void activate() throws ActivateException { super.activate(); parser(Action.ADD, taskMapCycle.mimis); parser(Action.ADD, taskMapCycle.player); diff --git a/java/mimis/src/main/java/mimis/device/jintellitype/JIntellitypeDevice.java b/java/mimis/src/main/java/mimis/device/jintellitype/JIntellitypeDevice.java index 366ee8c..afd8029 100644 --- a/java/mimis/src/main/java/mimis/device/jintellitype/JIntellitypeDevice.java +++ b/java/mimis/src/main/java/mimis/device/jintellitype/JIntellitypeDevice.java @@ -46,7 +46,7 @@ public class JIntellitypeDevice extends Component implements Device, HotkeyListe taskMapCycle = new JIntellitypeTaskMapCycle(); } - protected void activate() throws ActivateException { + public void activate() throws ActivateException { super.activate(); jit.addHotKeyListener(this); jit.addIntellitypeListener(this); @@ -55,7 +55,7 @@ public class JIntellitypeDevice extends Component implements Device, HotkeyListe } public void onIntellitype(int command) { - if (active) { + if (active()) { try { CommandButton commandButton = CommandButton.create(command); route(new Press(commandButton)); @@ -67,14 +67,14 @@ public class JIntellitypeDevice extends Component implements Device, HotkeyListe } public void onHotKey(int id) { - if (active) { + if (active()) { Hotkey hotkey = hotkeyList.get(id); route(new Press(hotkey)); route(new Release(hotkey)); } } - protected void deactivate() throws DeactivateException { + public void deactivate() throws DeactivateException { super.deactivate(); jit.removeHotKeyListener(this); jit.removeIntellitypeListener(this); diff --git a/java/mimis/src/main/java/mimis/device/lirc/LircDevice.java b/java/mimis/src/main/java/mimis/device/lirc/LircDevice.java index 9df056a..1aae55d 100644 --- a/java/mimis/src/main/java/mimis/device/lirc/LircDevice.java +++ b/java/mimis/src/main/java/mimis/device/lirc/LircDevice.java @@ -16,8 +16,6 @@ */ package mimis.device.lirc; -import base.exception.worker.ActivateException; -import base.exception.worker.DeactivateException; import mimis.application.cmd.CMDApplication; import mimis.device.Device; import mimis.device.lirc.remote.DenonRC176Button; @@ -33,6 +31,8 @@ import mimis.util.Native; import mimis.util.multiplexer.SignalListener; import mimis.value.Action; import mimis.value.Signal; +import base.exception.worker.ActivateException; +import base.exception.worker.DeactivateException; public class LircDevice extends CMDApplication implements Device, LircButtonListener, SignalListener