Description
Actual Behaviour
The app crashes under certain circumstances in the XY plot of the Oscilloscope screen.
Expected Behaviour
The app never crashes.
Steps to reproduce it
- connect PSLab to phone
- start PSLab app
- open Oscilloscope screen
- enable "in-Build MIC"
- go to XY Plot
- enable XY Plot checkbox
- choose MIC1 in left spinner
--> Crash
LogCat for the issue
FATAL EXCEPTION: AsyncTask #3 Process: io.pslab, PID: 7838 java.lang.RuntimeException: An error occurred while executing doInBackground() at android.os.AsyncTask$4.done(AsyncTask.java:399) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383) at java.util.concurrent.FutureTask.setException(FutureTask.java:252) at java.util.concurrent.FutureTask.run(FutureTask.java:271) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:919) Caused by: java.lang.IndexOutOfBoundsException: Index: 4, Size: 4 at java.util.ArrayList.get(ArrayList.java:437) at io.pslab.communication.ScienceLab.fetchData(ScienceLab.java:449) at io.pslab.communication.ScienceLab.fetchTrace(ScienceLab.java:415) at io.pslab.activity.OscilloscopeActivity$XYPlotTask.doInBackground(OscilloscopeActivity.java:1309) at io.pslab.activity.OscilloscopeActivity$XYPlotTask.doInBackground(OscilloscopeActivity.java:1267) at android.os.AsyncTask$3.call(AsyncTask.java:378) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:919)
Would you like to work on the issue?
Maybe.