|
52 | 52 | public class AndroidEditor extends JavaEditor {
|
53 | 53 | private AndroidMode androidMode;
|
54 | 54 |
|
| 55 | + private java.util.Timer updateDevicesTimer; |
| 56 | + |
55 | 57 | protected AndroidEditor(Base base, String path, EditorState state,
|
56 | 58 | Mode mode) throws EditorException {
|
57 | 59 | super(base, path, state, mode);
|
@@ -285,9 +287,13 @@ public void actionPerformed(ActionEvent e) {
|
285 | 287 | menu.add(mobDeveMenu);
|
286 | 288 |
|
287 | 289 | // start updating device menus
|
288 |
| - UpdateDeviceListTask devTask = new UpdateDeviceListTask(mobDeveMenu); |
289 |
| - java.util.Timer devTimer = new java.util.Timer(); |
290 |
| - devTimer.schedule(devTask, 5000, 5000); |
| 290 | + UpdateDeviceListTask task = new UpdateDeviceListTask(mobDeveMenu); |
| 291 | + if (updateDevicesTimer == null) { |
| 292 | + updateDevicesTimer = new java.util.Timer(); |
| 293 | + } else { |
| 294 | + updateDevicesTimer.cancel(); |
| 295 | + } |
| 296 | + updateDevicesTimer.schedule(task, 5000, 5000); |
291 | 297 |
|
292 | 298 | menu.addSeparator();
|
293 | 299 |
|
@@ -527,6 +533,14 @@ public void showReference(String filename) {
|
527 | 533 | // }
|
528 | 534 |
|
529 | 535 |
|
| 536 | + @Override |
| 537 | + public void dispose() { |
| 538 | + if (updateDevicesTimer != null) { |
| 539 | + updateDevicesTimer.cancel(); |
| 540 | + } |
| 541 | + super.dispose(); |
| 542 | + } |
| 543 | + |
530 | 544 | public void statusError(String what) {
|
531 | 545 | super.statusError(what);
|
532 | 546 | // new Exception("deactivating RUN").printStackTrace();
|
|
0 commit comments