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