2
0
mirror of https://github.com/KDE/kdeconnect-android synced 2025-08-22 09:58:08 +00:00

Still trying to fix the concurrency exception

I hope this doesn't cause infinite recursion.
This commit is contained in:
Albert Vaca 2013-11-23 01:30:13 +01:00
parent 6aa49757fc
commit 4e02c674f8

View File

@ -24,6 +24,7 @@ import org.kde.kdeconnect_tp.R;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.ConcurrentModificationException;
import java.util.HashMap; import java.util.HashMap;
public class DeviceActivity extends ActionBarActivity { public class DeviceActivity extends ActionBarActivity {
@ -63,18 +64,25 @@ public class DeviceActivity extends ActionBarActivity {
} }
}); });
//Buttons list try {
ArrayList<ListAdapter.Item> items = new ArrayList<ListAdapter.Item>(); //Buttons list
final Collection<Plugin> plugins = device.getLoadedPlugins().values(); ArrayList<ListAdapter.Item> items = new ArrayList<ListAdapter.Item>();
for (Plugin p : plugins) { final Collection<Plugin> plugins = device.getLoadedPlugins().values();
Button b = p.getInterfaceButton(DeviceActivity.this); for (Plugin p : plugins) {
if (b != null) { Button b = p.getInterfaceButton(DeviceActivity.this);
items.add(new SectionItem(p.getDisplayName())); if (b != null) {
items.add(new ButtonItem(b)); items.add(new SectionItem(p.getDisplayName()));
items.add(new ButtonItem(b));
}
} }
ListView buttonsList = (ListView)findViewById(R.id.buttons_list);
buttonsList.setAdapter(new ListAdapter(DeviceActivity.this, items));
} catch(ConcurrentModificationException e) {
Log.e("DeviceActivity", "ConcurrentModificationException");
this.run(); //Try again
} }
ListView buttonsList = (ListView)findViewById(R.id.buttons_list);
buttonsList.setAdapter(new ListAdapter(DeviceActivity.this, items));
} }
}); });