Skip to content

Commit 98fea96

Browse files
committed
Fix debugging device cache when debugging flutter devices/emulators
Fixes #96
1 parent d412387 commit 98fea96

File tree

3 files changed

+17
-25
lines changed

3 files changed

+17
-25
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## 1.17.14
4+
5+
* Fix cache when debugging devices/emulators - Fixes #96
6+
37
## 1.17.13
48

59
* Bump debugger extension: 3.17 -> 3.19.2

lsp-dart-dap.el

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -203,12 +203,12 @@ Call CALLBACK when the device is chosen and started successfully."
203203
(lambda (devices)
204204
(if (seq-empty-p devices)
205205
(lsp-dart-log "No devices found. Try to create a device first via `flutter emulators` command")
206-
(-let* ((chosen-device (dap--completing-read "Select a device to use: "
207-
devices
208-
(-lambda ((&FlutterDaemonDevice :id :name :is-device? :platform-type platform))
209-
(lsp-dart-dap--device-label id name is-device? platform))
210-
nil
211-
t)))
206+
(let ((chosen-device (dap--completing-read "Select a device to use: "
207+
devices
208+
(-lambda ((&FlutterDaemonDevice :id :name :is-device? :platform-type platform))
209+
(lsp-dart-dap--device-label id name is-device? platform))
210+
nil
211+
t)))
212212
(lsp-dart-flutter-daemon-launch chosen-device callback))))))
213213

214214
(defun lsp-dart-dap--populate-flutter-start-file-args (conf)

lsp-dart-flutter-daemon.el

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@
3535
(defvar lsp-dart-flutter-daemon-commands '())
3636
(defvar lsp-dart-flutter-daemon-device-added-listeners '())
3737

38-
(defvar lsp-dart-flutter-daemon-current-device nil)
39-
4038
(defun lsp-dart-flutter-daemon--log (level msg &rest args)
4139
"Log for LEVEL, MSG with ARGS adding lsp-dart-flutter-daemon prefix."
4240
(unless (string= "STATUS" (upcase level))
@@ -46,7 +44,7 @@
4644

4745
(defun lsp-dart-flutter-daemon--generate-command-id ()
4846
"Generate a random command id."
49-
(random 10000))
47+
(random 100000))
5048

5149
(defun lsp-dart-flutter-daemon--running-p ()
5250
"Return non-nil if the Flutter daemon is already running."
@@ -60,8 +58,6 @@
6058
(with-current-buffer buffer
6159
(unless (derived-mode-p 'lsp-dart-flutter-daemon-mode)
6260
(lsp-dart-flutter-daemon-mode))
63-
(remove-hook 'dap-terminated-hook #'lsp-dart-flutter-daemon--reset-current-device t)
64-
(add-hook 'dap-terminated-hook #'lsp-dart-flutter-daemon--reset-current-device nil t)
6561
(setq-local comint-output-filter-functions #'lsp-dart-flutter-daemon--handle-responses))
6662
(lsp-dart-flutter-daemon--send "device.enable"))))
6763

@@ -149,20 +145,12 @@ of this command."
149145

150146
(lsp-defun lsp-dart-flutter-daemon-launch ((device &as &FlutterDaemonDevice :id :is-device?) callback)
151147
"Launch DEVICE and wait for connected state and call CALLBACK."
152-
(if lsp-dart-flutter-daemon-current-device
153-
(funcall callback lsp-dart-flutter-daemon-current-device)
154-
(progn
155-
(setq lsp-dart-flutter-daemon-current-device device)
156-
(if is-device?
157-
(funcall callback device)
158-
(-let* ((params (lsp-make-flutter-daemon-emulator-launch :emulator-id id)))
159-
(add-to-list 'lsp-dart-flutter-daemon-device-added-listeners
160-
(cons id (list :callback callback)))
161-
(lsp-dart-flutter-daemon--send "emulator.launch" params callback))))))
162-
163-
(defun lsp-dart-flutter-daemon--reset-current-device (_session)
164-
"Reset the current device."
165-
(setq lsp-dart-flutter-daemon-current-device nil))
148+
(if is-device?
149+
(funcall callback device)
150+
(-let* ((params (lsp-make-flutter-daemon-emulator-launch :emulator-id id)))
151+
(add-to-list 'lsp-dart-flutter-daemon-device-added-listeners
152+
(cons id (list :callback callback)))
153+
(lsp-dart-flutter-daemon--send "emulator.launch" params callback))))
166154

167155
;;;###autoload
168156
(define-derived-mode lsp-dart-flutter-daemon-mode comint-mode lsp-dart-flutter-daemon-name

0 commit comments

Comments
 (0)