@@ -163,16 +163,7 @@ public void start() {
163163
164164 @ Override
165165 public void stop () {
166- switch (runState ) {
167- case LOADING_DEVICES -> setRunState (VMRunState .STOPPED );
168- case RUNNING -> stopRunnerAndReset ();
169- }
170- }
171-
172- private void joinWorkerThread () {
173- if (runner != null ) {
174- runner .join ();
175- }
166+ stopRunnerAndReset ();
176167 }
177168
178169 public void pauseAndReload () {
@@ -190,19 +181,6 @@ public void resume(final boolean didDevicesChange) {
190181 state .rpcAdapter .resume (busController , didDevicesChange );
191182 }
192183
193- protected void stopRunnerAndReset () {
194- joinWorkerThread ();
195- setRunState (VMRunState .STOPPED );
196-
197- state .board .setRunning (false );
198- state .board .reset ();
199- state .rpcAdapter .reset ();
200- state .rpcAdapter .disposeDevices ();
201- state .vmAdapter .disposeDevices ();
202-
203- runner = null ;
204- }
205-
206184 public void tick () {
207185 busController .scan ();
208186 setBusState (busController .getState ());
@@ -284,8 +262,27 @@ protected void error(@Nullable final Component message, final boolean reset) {
284262 setBootError (message );
285263 }
286264
265+ protected void stopRunnerAndReset () {
266+ joinWorkerThread ();
267+ setRunState (VMRunState .STOPPED );
268+
269+ state .board .setRunning (false );
270+ state .board .reset ();
271+ state .rpcAdapter .reset ();
272+ state .rpcAdapter .disposeDevices ();
273+ state .vmAdapter .disposeDevices ();
274+
275+ runner = null ;
276+ }
277+
287278 ///////////////////////////////////////////////////////////////////
288279
280+ private void joinWorkerThread () {
281+ if (runner != null ) {
282+ runner .join ();
283+ }
284+ }
285+
289286 private void load () {
290287 if (loadDevicesDelay > 0 ) {
291288 loadDevicesDelay --;
0 commit comments