|
5 | 5 | }, require("Storage").readJSON("swipeinv.json", true) || {}); |
6 | 6 |
|
7 | 7 | let getAppIdFromSrc = ()=> { |
| 8 | + "ram" |
8 | 9 | if (!global.__FILE__ || global.__FILE__===".bootcde") { |
9 | 10 | return require("Storage").readJSON("setting.json",true).clock |
10 | 11 | } else {return global.__FILE__.split(".")[0];} |
11 | 12 | } |
12 | 13 |
|
13 | | - setTimeout(() => { // Timeout so we prepend listeners late, hopefully after all other listerners were added. |
14 | | - if (settings.global || Object.keys(settings.apps).length > 0) { |
15 | | - |
16 | | - let swipeInverter = (dirLR, dirUD, obj) => { |
17 | | - if (settings.global ^ Object.keys(settings.apps).includes(getAppIdFromSrc())) { |
18 | | - if (!(obj && obj.inverted)) { |
19 | | - E.stopEventPropagation(); |
20 | | - obj = Object.assign({inverted:true}, obj); |
21 | | - |
22 | | - if (settings.global ^ (settings.apps[getAppIdFromSrc()]&&settings.apps[getAppIdFromSrc()].swipeH)) {dirLR *= -1;} |
23 | | - if (settings.global ^ (settings.apps[getAppIdFromSrc()]&&settings.apps[getAppIdFromSrc()].swipeV)) {dirUD *= -1;} |
24 | | - |
25 | | - Bangle.emit("swipe", dirLR, dirUD, obj) |
26 | | - } |
27 | | - } |
| 14 | + if (settings.global || Object.keys(settings.apps).length > 0) { |
| 15 | + print("hi") |
| 16 | + const Object_on = Object.on; |
| 17 | + const Object_prependListener = Object.prependListener; |
| 18 | + |
| 19 | + const invertBeforeRegisteringListener = function(eventType, eventCallback){ |
| 20 | + "ram" |
| 21 | + print("hi2") |
| 22 | + if (eventType === "swipe") { |
| 23 | + return (function(dirLR, dirUD) { |
| 24 | + print(dirLR, dirUD) |
| 25 | + if (settings.global ^ (settings.apps[getAppIdFromSrc()]&&settings.apps[getAppIdFromSrc()].swipeH)) {dirLR *= -1;} |
| 26 | + if (settings.global ^ (settings.apps[getAppIdFromSrc()]&&settings.apps[getAppIdFromSrc()].swipeV)) {dirUD *= -1;} |
| 27 | + print(dirLR, dirUD) |
| 28 | + eventCallback(dirLR, dirUD); |
| 29 | + }) |
28 | 30 | } |
29 | | - |
30 | | - let dragInverter = (e) => { |
31 | | - if (settings.global ^ Object.keys(settings.apps).includes(getAppIdFromSrc())) { |
32 | | - if (!e.inverted) { |
33 | | - E.stopEventPropagation(); |
34 | | - e.inverted = true; |
35 | | - |
36 | | - if (settings.global ^ (settings.apps[getAppIdFromSrc()]&&settings.apps[getAppIdFromSrc()].dragH)) {e.dx *= -1;} |
37 | | - if (settings.global ^ (settings.apps[getAppIdFromSrc()]&&settings.apps[getAppIdFromSrc()].dragV)) {e.dy *= -1;} |
38 | | - |
39 | | - Bangle.emit("drag", e); |
40 | | - } |
41 | | - } |
| 31 | + if (eventType === "drag") { |
| 32 | + return (function(e) { |
| 33 | + if (settings.global ^ (settings.apps[getAppIdFromSrc()]&&settings.apps[getAppIdFromSrc()].dragH)) {e.dx *= -1;} |
| 34 | + if (settings.global ^ (settings.apps[getAppIdFromSrc()]&&settings.apps[getAppIdFromSrc()].dragV)) {e.dy *= -1;} |
| 35 | + eventCallback(e); |
| 36 | + }) |
42 | 37 | } |
| 38 | + return eventCallback; |
| 39 | + } |
43 | 40 |
|
44 | | - Bangle.prependListener("swipe", swipeInverter); |
45 | | - Bangle.prependListener("drag", dragInverter); |
| 41 | + Object.on = (parent, eventType /*string*/, eventCallback /*function reacting to event*/, addFirst)=>{ |
| 42 | + "ram" |
| 43 | + print("hi3") |
| 44 | + const eventCallbackWrapped = invertBeforeRegisteringListener(eventType, eventCallback); |
| 45 | + print(eventType, eventCallbackWrapped) |
| 46 | + Object_on(parent, eventType, eventCallbackWrapped, addFirst); |
| 47 | + } |
46 | 48 |
|
| 49 | + Object.prependListener = function(parent, eventType /*string*/, eventCallback /*function reacting to event*/) { |
| 50 | + "ram" |
| 51 | + const eventCallbackWrapper = invertBeforeRegisteringListener(eventType, eventCallback); |
| 52 | + Object_prependListener(parent, eventType, eventCallbackWrapper); |
47 | 53 | } |
48 | | - }, 0) |
| 54 | + } |
49 | 55 | } |
0 commit comments