TeamAmaze / TeamAmaze/AmazeFileManager
`ConcurrentModificationException` on `RecyclerAdapter#setItems`
Open
Nobody has claimed this yet.
From-Email
Issue-Bug
- Dominant language
- Kotlin
- Stars
- 6.4k
- Forks
- 1.7k
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 1
Description
Issue explanation (write below this line)
trying to scroll multiple times after pasting a file that was cut. I'm not
sure that I could reproduce this error if I tried.
Exception
- App Name: Amaze File Manager
- Package: com.amaze.filemanager
- Version: 3.8.2
- User Action: UI Error
- Request: Application crash
- OS: Linux
lge/elsa_att_us/elsa:8.0.0/OPR1.170623.032/181871124f959:user/release-keys
8.0.0 - 26 - Device: elsa
- Model: LG-H910
- Product: elsa_att_us
Crash log
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.next(ArrayList.java:860)
at
com.amaze.filemanager.adapters.RecyclerAdapter.setItems(RecyclerAdapter.java:564)
at
com.amaze.filemanager.adapters.RecyclerAdapter.setItems(RecyclerAdapter.java:539)
at
com.amaze.filemanager.ui.fragments.MainFragment.reloadListElements(MainFragment.java:780)
at
com.amaze.filemanager.ui.fragments.MainFragment.setListElements(MainFragment.java:720)
at
com.amaze.filemanager.ui.fragments.MainFragment.lambda$loadlist$3(MainFragment.java:608)
at
com.amaze.filemanager.ui.fragments.MainFragment.$r8$lambda$9qQv21X8JwPlLXi_cDXfu4p-_VI(Unknown
Source:0)
at
com.amaze.filemanager.ui.fragments.MainFragment$$ExternalSyntheticLambda10.onAsyncTaskFinished(Unknown
Source:8)
at
com.amaze.filemanager.asynchronous.asynctasks.LoadFilesListTask.onPostExecute(LoadFilesListTask.java:328)
at
com.amaze.filemanager.asynchronous.asynctasks.LoadFilesListTask.onPostExecute(LoadFilesListTask.java:78)
at android.os.AsyncTask.finish(AsyncTask.java:695)
at android.os.AsyncTask.-wrap1(Unknown Source:0)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:712)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6722)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in RecyclerAdapter#setItems at lines 539 and 564, then follow the reload path through MainFragment#setListElements and reloadListElements to LoadFilesListTask.onPostExecute. Investigate how repeated scrolling after pasting a cut file can modify the list during iteration. Done means the reported ConcurrentModificationException no longer occurs during that flow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java, kotlin
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100