Filter out Search mailbox from recents.
Bug: 5015109 Change-Id: I4e4982bbedc388529eb2f3a9c06ecac47a0a85f0
This commit is contained in:
parent
1100ee5722
commit
cf7cd933db
|
@ -16,17 +16,16 @@
|
|||
|
||||
package com.android.email.activity;
|
||||
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
|
||||
import com.android.email.Clock;
|
||||
import com.android.emailcommon.provider.EmailContent;
|
||||
import com.android.emailcommon.provider.Mailbox;
|
||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||
import com.android.emailcommon.provider.Mailbox;
|
||||
import com.android.emailcommon.utility.EmailAsyncTask;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
@ -49,6 +48,7 @@ public class RecentMailboxManager {
|
|||
"( SELECT " + MailboxColumns.ID
|
||||
+ " FROM " + Mailbox.TABLE_NAME
|
||||
+ " WHERE ( " + MailboxColumns.ACCOUNT_KEY + "=? "
|
||||
+ " AND " + Mailbox.USER_VISIBLE_MAILBOX_SELECTION
|
||||
+ " AND " + MailboxColumns.LAST_TOUCHED_TIME + ">0 )"
|
||||
+ " ORDER BY " + MailboxColumns.LAST_TOUCHED_TIME + " DESC"
|
||||
+ " LIMIT ? )";
|
||||
|
@ -58,6 +58,7 @@ public class RecentMailboxManager {
|
|||
"( SELECT " + MailboxColumns.ID
|
||||
+ " FROM " + Mailbox.TABLE_NAME
|
||||
+ " WHERE ( " + MailboxColumns.ACCOUNT_KEY + "=? "
|
||||
+ " AND " + Mailbox.USER_VISIBLE_MAILBOX_SELECTION
|
||||
+ " AND " + MailboxColumns.TYPE + "=" + Mailbox.TYPE_MAIL
|
||||
+ " AND " + MailboxColumns.LAST_TOUCHED_TIME + ">0 )"
|
||||
+ " ORDER BY " + MailboxColumns.LAST_TOUCHED_TIME + " DESC"
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
package com.android.email.activity;
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
import android.test.AndroidTestCase;
|
||||
|
||||
|
@ -23,6 +24,7 @@ import com.android.email.DBTestHelper;
|
|||
import com.android.email.MockClock;
|
||||
import com.android.email.provider.ContentCache;
|
||||
import com.android.email.provider.ProviderTestUtils;
|
||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||
import com.android.emailcommon.provider.Mailbox;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -62,7 +64,7 @@ public class RecentMailboxManagerTest extends AndroidTestCase {
|
|||
ProviderTestUtils.setupMailbox("costello", 1L, true, mMockContext, Mailbox.TYPE_MAIL),
|
||||
ProviderTestUtils.setupMailbox("bud_lou", 1L, true, mMockContext, Mailbox.TYPE_MAIL),
|
||||
ProviderTestUtils.setupMailbox("laurel", 1L, true, mMockContext, Mailbox.TYPE_MAIL),
|
||||
ProviderTestUtils.setupMailbox("hardy", 1L, true, mMockContext, Mailbox.TYPE_MAIL),
|
||||
ProviderTestUtils.setupMailbox("hardy", 1L, true, mMockContext, Mailbox.TYPE_MAIL)
|
||||
};
|
||||
// Invalidate all caches, since we reset the database for each test
|
||||
ContentCache.invalidateAllCaches();
|
||||
|
@ -216,4 +218,24 @@ public class RecentMailboxManagerTest extends AndroidTestCase {
|
|||
assertEquals(mMailboxArray[10].mId, (long) testList.get(3));
|
||||
assertEquals(mMailboxArray[9].mId, (long) testList.get(4));
|
||||
}
|
||||
|
||||
public void testDoesNotIncludeExtraMailboxes() throws Exception {
|
||||
ArrayList<Long> testList;
|
||||
|
||||
// The search mailbox should not be visible.
|
||||
Mailbox searchMailbox = ProviderTestUtils.setupMailbox(
|
||||
"search", 1L, true, mMockContext, Mailbox.TYPE_SEARCH);
|
||||
ContentValues cv = new ContentValues();
|
||||
cv.put(MailboxColumns.FLAG_VISIBLE, false);
|
||||
searchMailbox.mFlagVisible = false;
|
||||
searchMailbox.update(mMockContext, cv);
|
||||
|
||||
mMockClock.advance(1000L); mManager.touch(searchMailbox.mId).get();
|
||||
|
||||
// Ensure search mailbox isn't returned
|
||||
testList = mManager.getMostRecent(1L, false);
|
||||
assertFalse(testList.contains(searchMailbox.mId));
|
||||
testList = mManager.getMostRecent(1L, true);
|
||||
assertFalse(testList.contains(searchMailbox.mId));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue