Fix ConcurrentModificationException in DashboardCategory.

- When getting the copy of dashboard tiles, create a new list instead of
getting the unmodifiable list, as the underlying implementation of the
unmodifiable list actually access the original list directly.

This getTiles() method is meant to return a copy of the list of tiles
to avoid concurrent access to the original list, so, it needs a copy
instead of a direct reference to the original list.

- synchrnoized all updater methods in DashboardCategory

Change-Id: I696b669f39fea5019a3b12ca73da47a7c11b03fb
Fixes: 69677575
Test: make RunSettingsLibRoboTests
1 file changed