Fixes #586 : Remove content of AccountsActivity.AccountViewPagerAdapt… #875
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The problem appeared when switching to Recent or Favorites Account Tab and then opening another Book.
The problem did not appear when switching to "All" tab, then opening another book, even having open Recent or Favorites tab before "All" tab.
The Exception was thrown in DatabaseAdapter.getID() by the line :
throw new IllegalArgumentException(mTableName + " with GUID " + uid + " does not exist in the db");
because the uid has been built from cursor given in AccountRecyclerAdapter.AccountsListFragment.onBindViewHolderCursor(AccountViewHolder, Cursor), which is a cursor on the previous Book and this uid does not exists in the newly opened Book.
I fixed the issue in (7b6ebb3) by removing the content of AccountsActivity.AccountViewPagerAdapter.destroyItem().
I don't know why this fixed the problem, but I found it by discovering that destroyItem() was not called when switching to "All" Tab, but was when switching to Recent or Favorites Tab.