File tree Expand file tree Collapse file tree 2 files changed +47
-14
lines changed
src/com/aizuddindeyn/mouse Expand file tree Collapse file tree 2 files changed +47
-14
lines changed Original file line number Diff line number Diff line change 4
4
*/
5
5
package com .aizuddindeyn .mouse ;
6
6
7
- import java .util .HashMap ;
8
- import java .util .Map ;
9
7
import java .util .Timer ;
10
8
11
9
/**
@@ -16,17 +14,10 @@ class MouseInstance {
16
14
17
15
private static final MouseInstance INSTANCE = new MouseInstance ();
18
16
19
- private static final Map <Integer , MouseMove > MOVE_MAP = new HashMap <>();
20
-
21
17
private Timer timer ;
22
18
23
19
private boolean started = false ;
24
20
25
- static {
26
- MOVE_MAP .put (1 , new MouseMoveRandom ());
27
- MOVE_MAP .put (2 , new MouseMoveEdge ());
28
- }
29
-
30
21
private MouseInstance () {
31
22
// Singleton
32
23
}
@@ -51,11 +42,9 @@ synchronized void stop() {
51
42
52
43
void execute () {
53
44
try {
54
- int type = MouseRandom .getSecureRandom ().nextInt (MOVE_MAP .size ()) + 1 ;
55
- MouseMove move = MOVE_MAP .get (type );
56
- if (move != null ) {
57
- move .move ();
58
- }
45
+ int index = MouseRandom .getSecureRandom ().nextInt (MouseMoveEnum .getEnumMap ().size ());
46
+ MouseMoveEnum enums = MouseMoveEnum .values ()[index ];
47
+ MouseMoveEnum .getEnumMap ().get (enums ).move ();
59
48
60
49
} catch (Exception ex ) {
61
50
MouseUtils .logErr (ex .getMessage ());
Original file line number Diff line number Diff line change
1
+ /*
2
+ * Owned by aizuddindeyn
3
+ * Visit https://gitlab.com/group-bear/mouse-automation
4
+ */
5
+ package com .aizuddindeyn .mouse ;
6
+
7
+ import java .util .EnumMap ;
8
+ import java .util .Map ;
9
+
10
+ /**
11
+ * @author aizuddindeyn
12
+ * @date 11/7/2020
13
+ */
14
+ public enum MouseMoveEnum {
15
+
16
+ RANDOM (new MouseMoveRandom ()),
17
+
18
+ EDGE (new MouseMoveEdge ()),
19
+
20
+ CIRCLE (new MouseMoveCircular ()),
21
+ ;
22
+
23
+ private static final Map <MouseMoveEnum , MouseMove > ENUM_MAP = new EnumMap <>(MouseMoveEnum .class );
24
+
25
+ private final MouseMove move ;
26
+
27
+ static {
28
+ for (MouseMoveEnum e : MouseMoveEnum .values ()) {
29
+ ENUM_MAP .put (e , e .getMove ());
30
+ }
31
+ }
32
+
33
+ MouseMoveEnum (MouseMove move ) {
34
+ this .move = move ;
35
+ }
36
+
37
+ MouseMove getMove () {
38
+ return move ;
39
+ }
40
+
41
+ static Map <MouseMoveEnum , MouseMove > getEnumMap () {
42
+ return ENUM_MAP ;
43
+ }
44
+ }
You can’t perform that action at this time.
0 commit comments