|
33 | 33 | s.writeJSON("launch.cache.json", launchCache); |
34 | 34 | } |
35 | 35 | let apps = launchCache.apps; |
36 | | - let page = (Bangle.dtHandlePagePersist&&Bangle.dtHandlePagePersist()) ?? (parseInt(s.read("dtlaunch.page")) ?? 0); |
37 | | - for (let i = page*4; i < Math.min(page*4+4, apps.length); i++) { // Initially only load icons for the current page. |
| 36 | + let page = (global.dtlaunch&&dtlaunch.handlePagePersist()) ?? |
| 37 | + (parseInt(s.read("dtlaunch.page")) ?? 0); |
| 38 | + |
| 39 | + const INIT_PAGE_APP_ZEROTH = page*4; |
| 40 | + const INIT_PAGE_APP_LAST = Math.min(page*4+3, apps.length-1); |
| 41 | + for (let i = INIT_PAGE_APP_ZEROTH; i <= INIT_PAGE_APP_LAST; i++) { // Initially only load icons for the current page. |
38 | 42 | if (apps[i].icon) |
39 | 43 | apps[i].icon = s.read(apps[i].icon); // should just be a link to a memory area |
40 | 44 | } |
|
48 | 52 | const YOFF = 30; |
49 | 53 |
|
50 | 54 | let drawIcon= function(p,n,selected) { |
51 | | - let x = (n%2)*72+XOFF; |
| 55 | + let x = (n%2)*72+XOFF; |
52 | 56 | let y = n>1?72+YOFF:YOFF; |
53 | 57 | (selected?g.setColor(g.theme.fgH):g.setColor(g.theme.bg)).fillRect(x+11,y+3,x+60,y+52); |
54 | 58 | g.clearRect(x+12,y+4,x+59,y+51); |
|
102 | 106 | drawPage(page); |
103 | 107 |
|
104 | 108 | for (let i = 0; i < apps.length; i++) { // Load the rest of the app icons that were not initially. |
105 | | - if (i >= page*4 && i < Math.min(page*4+4, apps.length)) continue; |
| 109 | + if (i >= INIT_PAGE_APP_ZEROTH && i <= INIT_PAGE_APP_LAST) continue; |
106 | 110 | if (apps[i].icon) |
107 | 111 | apps[i].icon = s.read(apps[i].icon); // should just be a link to a memory area |
108 | 112 | } |
109 | 113 |
|
110 | | - if (!Bangle.dtHandlePagePersist) { |
111 | | - Bangle.dtHandlePagePersist = (page) => { |
| 114 | + if (!global.dtlaunch) { |
| 115 | + global.dtlaunch = {}; |
| 116 | + dtlaunch.handlePagePersist = function(page) { |
112 | 117 | // Function for persisting the active page when leaving dtlaunch. |
113 | 118 | if (page===undefined) {return this.page||0;} |
114 | 119 |
|
|
121 | 126 |
|
122 | 127 | this.page = page; |
123 | 128 | }; |
124 | | - Bangle.dtHandlePagePersist(page); |
| 129 | + dtlaunch.handlePagePersist(page); |
125 | 130 | } |
126 | 131 |
|
127 | 132 | let swipeListenerDt = function(dirLeftRight, dirUpDown){ |
|
160 | 165 | drawIcon(page,selected,false); |
161 | 166 | } else { |
162 | 167 | buzzLong(); |
163 | | - Bangle.dtHandlePagePersist(page); |
| 168 | + dtlaunch.handlePagePersist(page); |
164 | 169 | load(apps[page*4+i].src); |
165 | 170 | } |
166 | 171 | } |
|
183 | 188 | touch : touchListenerDt, |
184 | 189 | remove : ()=>{ |
185 | 190 | if (timeoutToClock) {clearTimeout(timeoutToClock);} |
186 | | - Bangle.dtHandlePagePersist(page); |
| 191 | + dtlaunch.handlePagePersist(page); |
187 | 192 | } |
188 | 193 | }); |
189 | 194 |
|
|
193 | 198 | if (settings.timeOut!="Off"){ |
194 | 199 | let time=parseInt(settings.timeOut); //the "s" will be trimmed by the parseInt |
195 | 200 | if (timeoutToClock) clearTimeout(timeoutToClock); |
196 | | - timeoutToClock = setTimeout(Bangle.showClock,time*1000); |
| 201 | + timeoutToClock = setTimeout(Bangle.showClock,time*1000); |
197 | 202 | } |
198 | 203 | }; |
199 | 204 | updateTimeoutToClock(); |
|
0 commit comments