Merge branch '705-adapter-revisions' into 'master'
Fix race conditions when updating UI from events (again) This is my second attempt at fixing race conditions caused by updating the UI from events while background tasks are loading data from the DB. Unlike my first attempt, this one is pretty simple and doesn't require too much reasoning about possible races. The first commit fixes a few list loading bugs I found while working on this problem, and moves the lifecycle callbacks from resume/pause to start/stop, closing #609. The second commit contains the fix for #705, which works as follows: * Each BriarAdapter has a revision counter * Before making a change to the adapter that could be overwritten by a background task, increment the revision * Before starting a background task that could overwrite other changes, get the current revision * Before applying changes from a background task that could overwrite other changes, check whether the revision has changed * If the revision has changed, restart the background task * Otherwise apply the changes Closes #609. #705 remains open because the PagerAdapters for blogs need to be updated. See merge request !356
Showing
- briar-android/src/org/briarproject/android/BaseActivity.java 6 additions, 7 deletionsbriar-android/src/org/briarproject/android/BaseActivity.java
- briar-android/src/org/briarproject/android/BriarActivity.java 6 additions, 5 deletions...r-android/src/org/briarproject/android/BriarActivity.java
- briar-android/src/org/briarproject/android/NavDrawerActivity.java 2 additions, 2 deletions...droid/src/org/briarproject/android/NavDrawerActivity.java
- briar-android/src/org/briarproject/android/blogs/BaseControllerImpl.java 21 additions, 21 deletions...rc/org/briarproject/android/blogs/BaseControllerImpl.java
- briar-android/src/org/briarproject/android/blogs/BlogControllerImpl.java 20 additions, 15 deletions...rc/org/briarproject/android/blogs/BlogControllerImpl.java
- briar-android/src/org/briarproject/android/blogs/BlogFragment.java 9 additions, 12 deletions...roid/src/org/briarproject/android/blogs/BlogFragment.java
- briar-android/src/org/briarproject/android/blogs/FeedController.java 1 addition, 2 deletions...id/src/org/briarproject/android/blogs/FeedController.java
- briar-android/src/org/briarproject/android/blogs/FeedControllerImpl.java 23 additions, 9 deletions...rc/org/briarproject/android/blogs/FeedControllerImpl.java
- briar-android/src/org/briarproject/android/blogs/FeedFragment.java 40 additions, 16 deletions...roid/src/org/briarproject/android/blogs/FeedFragment.java
- briar-android/src/org/briarproject/android/blogs/RssFeedManageActivity.java 33 additions, 11 deletions...org/briarproject/android/blogs/RssFeedManageActivity.java
- briar-android/src/org/briarproject/android/blogs/WriteBlogPostActivity.java 6 additions, 6 deletions...org/briarproject/android/blogs/WriteBlogPostActivity.java
- briar-android/src/org/briarproject/android/contact/BaseContactListAdapter.java 0 additions, 12 deletions.../briarproject/android/contact/BaseContactListAdapter.java
- briar-android/src/org/briarproject/android/contact/ContactListFragment.java 34 additions, 32 deletions...org/briarproject/android/contact/ContactListFragment.java
- briar-android/src/org/briarproject/android/contact/ConversationActivity.java 70 additions, 110 deletions...rg/briarproject/android/contact/ConversationActivity.java
- briar-android/src/org/briarproject/android/controller/ActivityLifecycleController.java 2 additions, 2 deletions...oject/android/controller/ActivityLifecycleController.java
- briar-android/src/org/briarproject/android/controller/BriarControllerImpl.java 10 additions, 12 deletions.../briarproject/android/controller/BriarControllerImpl.java
- briar-android/src/org/briarproject/android/controller/NavDrawerControllerImpl.java 2 additions, 2 deletions...arproject/android/controller/NavDrawerControllerImpl.java
- briar-android/src/org/briarproject/android/forum/ForumActivity.java 16 additions, 24 deletions...oid/src/org/briarproject/android/forum/ForumActivity.java
- briar-android/src/org/briarproject/android/forum/ForumControllerImpl.java 7 additions, 8 deletions...c/org/briarproject/android/forum/ForumControllerImpl.java
- briar-android/src/org/briarproject/android/forum/ForumListFragment.java 20 additions, 12 deletions...src/org/briarproject/android/forum/ForumListFragment.java
Loading
Please register or sign in to comment