Fix ConcurrentModificationException

This commit is contained in:
Pierre HUBERT 2018-09-07 09:36:38 +02:00
parent dc324359c2
commit 1daffd4af5

View File

@ -99,10 +99,18 @@ public class SafeAsyncTasksManager {
* @param cls The tasks to disable * @param cls The tasks to disable
*/ */
public void unsetSpecificTasks(Class<?> cls){ public void unsetSpecificTasks(Class<?> cls){
for (SafeAsyncTask task : mTasks){ ArrayList<SafeAsyncTask> toRemove = new ArrayList<>();
if(task.getClass().equals(cls))
for(int i = 0; i < mTasks.size(); i++){
if(mTasks.get(i).getClass().equals(cls))
toRemove.add(mTasks.get(i));
}
while (toRemove.size() > 0){
SafeAsyncTask task = toRemove.get(toRemove.size() - 1);
unsetTask(task); unsetTask(task);
toRemove.remove(task);
}
} }
} }
}