am ee7c63da: Merge "Inconsistent state after emptying trash" into ub-gmail-ur12-dev
* commit 'ee7c63da505ccee3e391cf1baa2f64b7db78aaa9':
Inconsistent state after emptying trash
diff --git a/src/com/android/mail/ui/ConversationListFragment.java b/src/com/android/mail/ui/ConversationListFragment.java
index ccb9c95..cd89c1d 100644
--- a/src/com/android/mail/ui/ConversationListFragment.java
+++ b/src/com/android/mail/ui/ConversationListFragment.java
@@ -163,6 +163,9 @@
}
private void showEmptyView() {
+ mEmptyView.setupEmptyView(
+ mFolder, mViewContext.searchQuery, mListAdapter.getBidiFormatter());
+ mListView.setEmptyView(mEmptyView);
mListView.setVisibility(View.GONE);
mEmptyView.setVisibility(View.VISIBLE);
mLoadingView.setVisibility(View.GONE);
@@ -912,8 +915,12 @@
}
private void hideLoadingViewAndShowContents() {
- showListView();
final ConversationCursor cursor = getConversationListCursor();
+ if (cursor != null && cursor.getCount() == 0) {
+ showEmptyView();
+ } else {
+ showListView();
+ }
final boolean showFooter = mFooterView.updateStatus(cursor);
// Update the folder status, in case the cursor could affect it.
onFolderStatusUpdated();
@@ -940,9 +947,6 @@
|| cursorStatus == UIProvider.CursorStatus.COMPLETE) || folderCount > 0) {
updateSearchResultHeader(folderCount);
if (folderCount == 0) {
- mEmptyView.setupEmptyView(
- mFolder, mViewContext.searchQuery, mListAdapter.getBidiFormatter());
- mListView.setEmptyView(mEmptyView);
showEmptyView();
}
}
diff --git a/src/com/android/mail/ui/MailActionBarView.java b/src/com/android/mail/ui/MailActionBarView.java
index b83316c..7703bd1 100644
--- a/src/com/android/mail/ui/MailActionBarView.java
+++ b/src/com/android/mail/ui/MailActionBarView.java
@@ -379,12 +379,16 @@
if (mEmptyTrashItem != null) {
mEmptyTrashItem.setVisible(mAccount != null && mFolder != null
&& mAccount.supportsCapability(AccountCapabilities.EMPTY_TRASH)
- && mFolder.isTrash() && mFolder.totalCount > 0);
+ && mFolder.isTrash() && mFolder.totalCount > 0
+ && (mController.getConversationListCursor() == null
+ || mController.getConversationListCursor().getCount() > 0));
}
if (mEmptySpamItem != null) {
mEmptySpamItem.setVisible(mAccount != null && mFolder != null
&& mAccount.supportsCapability(AccountCapabilities.EMPTY_SPAM)
- && mFolder.isType(FolderType.SPAM) && mFolder.totalCount > 0);
+ && mFolder.isType(FolderType.SPAM) && mFolder.totalCount > 0
+ && (mController.getConversationListCursor() == null
+ || mController.getConversationListCursor().getCount() > 0));
}
}