Move Mailbox to top level class.
No other changes made. Change-Id: I3d8f3c521dc0d902be313b25252b4b6a4a96e7ee
This commit is contained in:
parent
373c3e1a56
commit
53ea83ebf9
|
@ -16,7 +16,6 @@
|
||||||
|
|
||||||
package com.android.emailcommon.provider;
|
package com.android.emailcommon.provider;
|
||||||
|
|
||||||
import com.android.emailcommon.Logging;
|
|
||||||
import com.android.emailcommon.utility.TextUtilities;
|
import com.android.emailcommon.utility.TextUtilities;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
|
@ -34,12 +33,10 @@ import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
import java.security.InvalidParameterException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -2233,447 +2230,6 @@ public abstract class EmailContent {
|
||||||
public static final String LAST_SEEN_MESSAGE_KEY = "lastSeenMessageKey";
|
public static final String LAST_SEEN_MESSAGE_KEY = "lastSeenMessageKey";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class Mailbox extends EmailContent implements SyncColumns, MailboxColumns {
|
|
||||||
public static final String TABLE_NAME = "Mailbox";
|
|
||||||
@SuppressWarnings("hiding")
|
|
||||||
public static final Uri CONTENT_URI = Uri.parse(EmailContent.CONTENT_URI + "/mailbox");
|
|
||||||
public static final Uri ADD_TO_FIELD_URI =
|
|
||||||
Uri.parse(EmailContent.CONTENT_URI + "/mailboxIdAddToField");
|
|
||||||
|
|
||||||
public String mDisplayName;
|
|
||||||
public String mServerId;
|
|
||||||
public String mParentServerId;
|
|
||||||
public long mParentKey;
|
|
||||||
public long mAccountKey;
|
|
||||||
public int mType;
|
|
||||||
public int mDelimiter;
|
|
||||||
public String mSyncKey;
|
|
||||||
public int mSyncLookback;
|
|
||||||
public int mSyncInterval;
|
|
||||||
public long mSyncTime;
|
|
||||||
public boolean mFlagVisible = true;
|
|
||||||
public int mFlags;
|
|
||||||
public int mVisibleLimit;
|
|
||||||
public String mSyncStatus;
|
|
||||||
public long mLastSeenMessageKey;
|
|
||||||
|
|
||||||
public static final int CONTENT_ID_COLUMN = 0;
|
|
||||||
public static final int CONTENT_DISPLAY_NAME_COLUMN = 1;
|
|
||||||
public static final int CONTENT_SERVER_ID_COLUMN = 2;
|
|
||||||
public static final int CONTENT_PARENT_SERVER_ID_COLUMN = 3;
|
|
||||||
public static final int CONTENT_ACCOUNT_KEY_COLUMN = 4;
|
|
||||||
public static final int CONTENT_TYPE_COLUMN = 5;
|
|
||||||
public static final int CONTENT_DELIMITER_COLUMN = 6;
|
|
||||||
public static final int CONTENT_SYNC_KEY_COLUMN = 7;
|
|
||||||
public static final int CONTENT_SYNC_LOOKBACK_COLUMN = 8;
|
|
||||||
public static final int CONTENT_SYNC_INTERVAL_COLUMN = 9;
|
|
||||||
public static final int CONTENT_SYNC_TIME_COLUMN = 10;
|
|
||||||
public static final int CONTENT_FLAG_VISIBLE_COLUMN = 11;
|
|
||||||
public static final int CONTENT_FLAGS_COLUMN = 12;
|
|
||||||
public static final int CONTENT_VISIBLE_LIMIT_COLUMN = 13;
|
|
||||||
public static final int CONTENT_SYNC_STATUS_COLUMN = 14;
|
|
||||||
public static final int CONTENT_PARENT_KEY_COLUMN = 15;
|
|
||||||
public static final int CONTENT_LAST_SEEN_MESSAGE_KEY_COLUMN = 16;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <em>NOTE</em>: If fields are added or removed, the method {@link #getHashes()}
|
|
||||||
* MUST be updated.
|
|
||||||
*/
|
|
||||||
public static final String[] CONTENT_PROJECTION = new String[] {
|
|
||||||
RECORD_ID, MailboxColumns.DISPLAY_NAME, MailboxColumns.SERVER_ID,
|
|
||||||
MailboxColumns.PARENT_SERVER_ID, MailboxColumns.ACCOUNT_KEY, MailboxColumns.TYPE,
|
|
||||||
MailboxColumns.DELIMITER, MailboxColumns.SYNC_KEY, MailboxColumns.SYNC_LOOKBACK,
|
|
||||||
MailboxColumns.SYNC_INTERVAL, MailboxColumns.SYNC_TIME,
|
|
||||||
MailboxColumns.FLAG_VISIBLE, MailboxColumns.FLAGS, MailboxColumns.VISIBLE_LIMIT,
|
|
||||||
MailboxColumns.SYNC_STATUS, MailboxColumns.PARENT_KEY,
|
|
||||||
MailboxColumns.LAST_SEEN_MESSAGE_KEY,
|
|
||||||
};
|
|
||||||
|
|
||||||
private static final String ACCOUNT_AND_MAILBOX_TYPE_SELECTION =
|
|
||||||
MailboxColumns.ACCOUNT_KEY + " =? AND " +
|
|
||||||
MailboxColumns.TYPE + " =?";
|
|
||||||
private static final String MAILBOX_TYPE_SELECTION =
|
|
||||||
MailboxColumns.TYPE + " =?";
|
|
||||||
/** Selection by server pathname for a given account */
|
|
||||||
private static final String PATH_AND_ACCOUNT_SELECTION =
|
|
||||||
MailboxColumns.SERVER_ID + "=? and " + MailboxColumns.ACCOUNT_KEY + "=?";
|
|
||||||
|
|
||||||
private static final String[] MAILBOX_SUM_OF_UNREAD_COUNT_PROJECTION = new String [] {
|
|
||||||
"sum(" + MailboxColumns.UNREAD_COUNT + ")"
|
|
||||||
};
|
|
||||||
private static final int UNREAD_COUNT_COUNT_COLUMN = 0;
|
|
||||||
private static final String[] MAILBOX_SUM_OF_MESSAGE_COUNT_PROJECTION = new String [] {
|
|
||||||
"sum(" + MailboxColumns.MESSAGE_COUNT + ")"
|
|
||||||
};
|
|
||||||
private static final int MESSAGE_COUNT_COUNT_COLUMN = 0;
|
|
||||||
|
|
||||||
private static final String[] MAILBOX_TYPE_PROJECTION = new String [] {
|
|
||||||
MailboxColumns.TYPE
|
|
||||||
};
|
|
||||||
private static final int MAILBOX_TYPE_TYPE_COLUMN = 0;
|
|
||||||
|
|
||||||
private static final String[] MAILBOX_DISPLAY_NAME_PROJECTION = new String [] {
|
|
||||||
MailboxColumns.DISPLAY_NAME
|
|
||||||
};
|
|
||||||
private static final int MAILBOX_DISPLAY_NAME_COLUMN = 0;
|
|
||||||
|
|
||||||
public static final long NO_MAILBOX = -1;
|
|
||||||
|
|
||||||
// Sentinel values for the mSyncInterval field of both Mailbox records
|
|
||||||
public static final int CHECK_INTERVAL_NEVER = -1;
|
|
||||||
public static final int CHECK_INTERVAL_PUSH = -2;
|
|
||||||
// The following two sentinel values are used by EAS
|
|
||||||
// Ping indicates that the EAS mailbox is synced based on a "ping" from the server
|
|
||||||
public static final int CHECK_INTERVAL_PING = -3;
|
|
||||||
// Push-Hold indicates an EAS push or ping Mailbox shouldn't sync just yet
|
|
||||||
public static final int CHECK_INTERVAL_PUSH_HOLD = -4;
|
|
||||||
|
|
||||||
// Sentinels for PARENT_KEY
|
|
||||||
public static final long PARENT_KEY_NONE = -1L;
|
|
||||||
public static final long PARENT_KEY_UNINITIALIZED = 0L;
|
|
||||||
|
|
||||||
private static final String WHERE_TYPE_AND_ACCOUNT_KEY =
|
|
||||||
MailboxColumns.TYPE + "=? and " + MailboxColumns.ACCOUNT_KEY + "=?";
|
|
||||||
|
|
||||||
public static final Integer[] INVALID_DROP_TARGETS = new Integer[] {Mailbox.TYPE_DRAFTS,
|
|
||||||
Mailbox.TYPE_OUTBOX, Mailbox.TYPE_SENT};
|
|
||||||
|
|
||||||
public static final String USER_VISIBLE_MAILBOX_SELECTION =
|
|
||||||
MailboxColumns.TYPE + "<" + Mailbox.TYPE_NOT_EMAIL +
|
|
||||||
" AND " + MailboxColumns.FLAG_VISIBLE + "=1";
|
|
||||||
|
|
||||||
// Types of mailboxes. The list is ordered to match a typical UI presentation, e.g.
|
|
||||||
// placing the inbox at the top.
|
|
||||||
// Arrays of "special_mailbox_display_names" and "special_mailbox_icons" are depends on
|
|
||||||
// types Id of mailboxes.
|
|
||||||
/** No type specified */
|
|
||||||
public static final int TYPE_NONE = -1;
|
|
||||||
/** The "main" mailbox for the account, almost always referred to as "Inbox" */
|
|
||||||
public static final int TYPE_INBOX = 0;
|
|
||||||
// Types of mailboxes
|
|
||||||
/** Generic mailbox that holds mail */
|
|
||||||
public static final int TYPE_MAIL = 1;
|
|
||||||
/** Parent-only mailbox; does not hold any mail */
|
|
||||||
public static final int TYPE_PARENT = 2;
|
|
||||||
/** Drafts mailbox */
|
|
||||||
public static final int TYPE_DRAFTS = 3;
|
|
||||||
/** Local mailbox associated with the account's outgoing mail */
|
|
||||||
public static final int TYPE_OUTBOX = 4;
|
|
||||||
/** Sent mail; mail that was sent from the account */
|
|
||||||
public static final int TYPE_SENT = 5;
|
|
||||||
/** Deleted mail */
|
|
||||||
public static final int TYPE_TRASH = 6;
|
|
||||||
/** Junk mail */
|
|
||||||
public static final int TYPE_JUNK = 7;
|
|
||||||
/** Search results */
|
|
||||||
public static final int TYPE_SEARCH = 8;
|
|
||||||
|
|
||||||
// Types after this are used for non-mail mailboxes (as in EAS)
|
|
||||||
public static final int TYPE_NOT_EMAIL = 0x40;
|
|
||||||
public static final int TYPE_CALENDAR = 0x41;
|
|
||||||
public static final int TYPE_CONTACTS = 0x42;
|
|
||||||
public static final int TYPE_TASKS = 0x43;
|
|
||||||
public static final int TYPE_EAS_ACCOUNT_MAILBOX = 0x44;
|
|
||||||
public static final int TYPE_UNKNOWN = 0x45;
|
|
||||||
|
|
||||||
public static final int TYPE_NOT_SYNCABLE = 0x100;
|
|
||||||
// A mailbox that holds Messages that are attachments
|
|
||||||
public static final int TYPE_ATTACHMENT = 0x101;
|
|
||||||
|
|
||||||
// Bit field flags; each is defined below
|
|
||||||
// Warning: Do not read these flags until POP/IMAP/EAS all populate them
|
|
||||||
/** No flags set */
|
|
||||||
public static final int FLAG_NONE = 0;
|
|
||||||
/** Has children in the mailbox hierarchy */
|
|
||||||
public static final int FLAG_HAS_CHILDREN = 1<<0;
|
|
||||||
/** Children are visible in the UI */
|
|
||||||
public static final int FLAG_CHILDREN_VISIBLE = 1<<1;
|
|
||||||
/** cannot receive "pushed" mail */
|
|
||||||
public static final int FLAG_CANT_PUSH = 1<<2;
|
|
||||||
/** can hold emails (i.e. some parent mailboxes cannot themselves contain mail) */
|
|
||||||
public static final int FLAG_HOLDS_MAIL = 1<<3;
|
|
||||||
/** can be used as a target for moving messages within the account */
|
|
||||||
public static final int FLAG_ACCEPTS_MOVED_MAIL = 1<<4;
|
|
||||||
/** can be used as a target for appending messages */
|
|
||||||
public static final int FLAG_ACCEPTS_APPENDED_MAIL = 1<<5;
|
|
||||||
|
|
||||||
// Magic mailbox ID's
|
|
||||||
// NOTE: This is a quick solution for merged mailboxes. I would rather implement this
|
|
||||||
// with a more generic way of packaging and sharing queries between activities
|
|
||||||
public static final long QUERY_ALL_INBOXES = -2;
|
|
||||||
public static final long QUERY_ALL_UNREAD = -3;
|
|
||||||
public static final long QUERY_ALL_FAVORITES = -4;
|
|
||||||
public static final long QUERY_ALL_DRAFTS = -5;
|
|
||||||
public static final long QUERY_ALL_OUTBOX = -6;
|
|
||||||
|
|
||||||
public Mailbox() {
|
|
||||||
mBaseUri = CONTENT_URI;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Restore a Mailbox from the database, given its unique id
|
|
||||||
* @param context
|
|
||||||
* @param id
|
|
||||||
* @return the instantiated Mailbox
|
|
||||||
*/
|
|
||||||
public static Mailbox restoreMailboxWithId(Context context, long id) {
|
|
||||||
return EmailContent.restoreContentWithId(context, Mailbox.class,
|
|
||||||
Mailbox.CONTENT_URI, Mailbox.CONTENT_PROJECTION, id);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a Mailbox from the database, given its pathname and account id. All mailbox
|
|
||||||
* paths for a particular account must be unique. Paths are stored in the column
|
|
||||||
* {@link MailboxColumns#SERVER_ID} for want of yet another column in the table.
|
|
||||||
* @param context
|
|
||||||
* @param accountId the ID of the account
|
|
||||||
* @param path the fully qualified, remote pathname
|
|
||||||
*/
|
|
||||||
public static Mailbox restoreMailboxForPath(Context context, long accountId, String path) {
|
|
||||||
Cursor c = context.getContentResolver().query(
|
|
||||||
Mailbox.CONTENT_URI,
|
|
||||||
Mailbox.CONTENT_PROJECTION,
|
|
||||||
Mailbox.PATH_AND_ACCOUNT_SELECTION,
|
|
||||||
new String[] { path, Long.toString(accountId) },
|
|
||||||
null);
|
|
||||||
if (c == null) throw new ProviderUnavailableException();
|
|
||||||
try {
|
|
||||||
Mailbox mailbox = null;
|
|
||||||
if (c.moveToFirst()) {
|
|
||||||
mailbox = getContent(c, Mailbox.class);
|
|
||||||
if (c.moveToNext()) {
|
|
||||||
Log.w(Logging.LOG_TAG, "Multiple mailboxes named \"" + path + "\"");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Log.i(Logging.LOG_TAG, "Could not find mailbox at \"" + path + "\"");
|
|
||||||
}
|
|
||||||
return mailbox;
|
|
||||||
} finally {
|
|
||||||
c.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void restore(Cursor cursor) {
|
|
||||||
mBaseUri = CONTENT_URI;
|
|
||||||
mId = cursor.getLong(CONTENT_ID_COLUMN);
|
|
||||||
mDisplayName = cursor.getString(CONTENT_DISPLAY_NAME_COLUMN);
|
|
||||||
mServerId = cursor.getString(CONTENT_SERVER_ID_COLUMN);
|
|
||||||
mParentServerId = cursor.getString(CONTENT_PARENT_SERVER_ID_COLUMN);
|
|
||||||
mParentKey = cursor.getLong(CONTENT_PARENT_KEY_COLUMN);
|
|
||||||
mAccountKey = cursor.getLong(CONTENT_ACCOUNT_KEY_COLUMN);
|
|
||||||
mType = cursor.getInt(CONTENT_TYPE_COLUMN);
|
|
||||||
mDelimiter = cursor.getInt(CONTENT_DELIMITER_COLUMN);
|
|
||||||
mSyncKey = cursor.getString(CONTENT_SYNC_KEY_COLUMN);
|
|
||||||
mSyncLookback = cursor.getInt(CONTENT_SYNC_LOOKBACK_COLUMN);
|
|
||||||
mSyncInterval = cursor.getInt(CONTENT_SYNC_INTERVAL_COLUMN);
|
|
||||||
mSyncTime = cursor.getLong(CONTENT_SYNC_TIME_COLUMN);
|
|
||||||
mFlagVisible = cursor.getInt(CONTENT_FLAG_VISIBLE_COLUMN) == 1;
|
|
||||||
mFlags = cursor.getInt(CONTENT_FLAGS_COLUMN);
|
|
||||||
mVisibleLimit = cursor.getInt(CONTENT_VISIBLE_LIMIT_COLUMN);
|
|
||||||
mSyncStatus = cursor.getString(CONTENT_SYNC_STATUS_COLUMN);
|
|
||||||
mLastSeenMessageKey = cursor.getLong(CONTENT_LAST_SEEN_MESSAGE_KEY_COLUMN);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ContentValues toContentValues() {
|
|
||||||
ContentValues values = new ContentValues();
|
|
||||||
values.put(MailboxColumns.DISPLAY_NAME, mDisplayName);
|
|
||||||
values.put(MailboxColumns.SERVER_ID, mServerId);
|
|
||||||
values.put(MailboxColumns.PARENT_SERVER_ID, mParentServerId);
|
|
||||||
values.put(MailboxColumns.PARENT_KEY, mParentKey);
|
|
||||||
values.put(MailboxColumns.ACCOUNT_KEY, mAccountKey);
|
|
||||||
values.put(MailboxColumns.TYPE, mType);
|
|
||||||
values.put(MailboxColumns.DELIMITER, mDelimiter);
|
|
||||||
values.put(MailboxColumns.SYNC_KEY, mSyncKey);
|
|
||||||
values.put(MailboxColumns.SYNC_LOOKBACK, mSyncLookback);
|
|
||||||
values.put(MailboxColumns.SYNC_INTERVAL, mSyncInterval);
|
|
||||||
values.put(MailboxColumns.SYNC_TIME, mSyncTime);
|
|
||||||
values.put(MailboxColumns.FLAG_VISIBLE, mFlagVisible);
|
|
||||||
values.put(MailboxColumns.FLAGS, mFlags);
|
|
||||||
values.put(MailboxColumns.VISIBLE_LIMIT, mVisibleLimit);
|
|
||||||
values.put(MailboxColumns.SYNC_STATUS, mSyncStatus);
|
|
||||||
values.put(MailboxColumns.LAST_SEEN_MESSAGE_KEY, mLastSeenMessageKey);
|
|
||||||
return values;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convenience method to return the id of a given type of Mailbox for a given Account
|
|
||||||
* @param context the caller's context, used to get a ContentResolver
|
|
||||||
* @param accountId the id of the account to be queried
|
|
||||||
* @param type the mailbox type, as defined above
|
|
||||||
* @return the id of the mailbox, or -1 if not found
|
|
||||||
*/
|
|
||||||
public static long findMailboxOfType(Context context, long accountId, int type) {
|
|
||||||
String[] bindArguments = new String[] {Long.toString(type), Long.toString(accountId)};
|
|
||||||
return Utility.getFirstRowLong(context, Mailbox.CONTENT_URI,
|
|
||||||
ID_PROJECTION, WHERE_TYPE_AND_ACCOUNT_KEY, bindArguments, null,
|
|
||||||
ID_PROJECTION_COLUMN, NO_MAILBOX);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convenience method that returns the mailbox found using the method above
|
|
||||||
*/
|
|
||||||
public static Mailbox restoreMailboxOfType(Context context, long accountId, int type) {
|
|
||||||
long mailboxId = findMailboxOfType(context, accountId, type);
|
|
||||||
if (mailboxId != Mailbox.NO_MAILBOX) {
|
|
||||||
return Mailbox.restoreMailboxWithId(context, mailboxId);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int getUnreadCountByAccountAndMailboxType(Context context, long accountId,
|
|
||||||
int type) {
|
|
||||||
return Utility.getFirstRowInt(context, Mailbox.CONTENT_URI,
|
|
||||||
MAILBOX_SUM_OF_UNREAD_COUNT_PROJECTION,
|
|
||||||
ACCOUNT_AND_MAILBOX_TYPE_SELECTION,
|
|
||||||
new String[] { String.valueOf(accountId), String.valueOf(type) },
|
|
||||||
null, UNREAD_COUNT_COUNT_COLUMN, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int getUnreadCountByMailboxType(Context context, int type) {
|
|
||||||
return Utility.getFirstRowInt(context, Mailbox.CONTENT_URI,
|
|
||||||
MAILBOX_SUM_OF_UNREAD_COUNT_PROJECTION,
|
|
||||||
MAILBOX_TYPE_SELECTION,
|
|
||||||
new String[] { String.valueOf(type) }, null, UNREAD_COUNT_COUNT_COLUMN, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int getMessageCountByMailboxType(Context context, int type) {
|
|
||||||
return Utility.getFirstRowInt(context, Mailbox.CONTENT_URI,
|
|
||||||
MAILBOX_SUM_OF_MESSAGE_COUNT_PROJECTION,
|
|
||||||
MAILBOX_TYPE_SELECTION,
|
|
||||||
new String[] { String.valueOf(type) }, null, MESSAGE_COUNT_COUNT_COLUMN, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the mailbox for a message with a given id
|
|
||||||
* @param context the caller's context
|
|
||||||
* @param messageId the id of the message
|
|
||||||
* @return the mailbox, or null if the mailbox doesn't exist
|
|
||||||
*/
|
|
||||||
public static Mailbox getMailboxForMessageId(Context context, long messageId) {
|
|
||||||
long mailboxId = Message.getKeyColumnLong(context, messageId,
|
|
||||||
MessageColumns.MAILBOX_KEY);
|
|
||||||
if (mailboxId != -1) {
|
|
||||||
return Mailbox.restoreMailboxWithId(context, mailboxId);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return mailbox type, or -1 if mailbox not found.
|
|
||||||
*/
|
|
||||||
public static int getMailboxType(Context context, long mailboxId) {
|
|
||||||
Uri url = ContentUris.withAppendedId(Mailbox.CONTENT_URI, mailboxId);
|
|
||||||
return Utility.getFirstRowInt(context, url, MAILBOX_TYPE_PROJECTION,
|
|
||||||
null, null, null, MAILBOX_TYPE_TYPE_COLUMN, -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return mailbox display name, or null if mailbox not found.
|
|
||||||
*/
|
|
||||||
public static String getDisplayName(Context context, long mailboxId) {
|
|
||||||
Uri url = ContentUris.withAppendedId(Mailbox.CONTENT_URI, mailboxId);
|
|
||||||
return Utility.getFirstRowString(context, url, MAILBOX_DISPLAY_NAME_PROJECTION,
|
|
||||||
null, null, null, MAILBOX_DISPLAY_NAME_COLUMN);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param mailboxId ID of a mailbox. This method accepts magic mailbox IDs, such as
|
|
||||||
* {@link #QUERY_ALL_INBOXES}. (They're all non-refreshable.)
|
|
||||||
* @return true if a mailbox is refreshable.
|
|
||||||
*/
|
|
||||||
public static boolean isRefreshable(Context context, long mailboxId) {
|
|
||||||
if (mailboxId < 0) {
|
|
||||||
return false; // magic mailboxes
|
|
||||||
}
|
|
||||||
switch (getMailboxType(context, mailboxId)) {
|
|
||||||
case -1: // not found
|
|
||||||
case TYPE_DRAFTS:
|
|
||||||
case TYPE_OUTBOX:
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param mailboxId ID of a mailbox. This method DOES NOT accept magic mailbox IDs, such as
|
|
||||||
* {@link #QUERY_ALL_INBOXES} (because only the actual mailbox ID matters here. e.g.
|
|
||||||
* {@link #QUERY_ALL_FAVORITES} can contain ANY kind of messages), so don't pass a negative
|
|
||||||
* value.
|
|
||||||
* @return true if messages in a mailbox can be moved to another mailbox.
|
|
||||||
* This method only checks the mailbox information. It doesn't check its account/protocol,
|
|
||||||
* so it may return true even for POP3 mailbox.
|
|
||||||
*/
|
|
||||||
public static boolean canMoveFrom(Context context, long mailboxId) {
|
|
||||||
if (mailboxId < 0) {
|
|
||||||
throw new InvalidParameterException();
|
|
||||||
}
|
|
||||||
Uri url = ContentUris.withAppendedId(Mailbox.CONTENT_URI, mailboxId);
|
|
||||||
int type = Utility.getFirstRowInt(context, url, MAILBOX_TYPE_PROJECTION,
|
|
||||||
null, null, null, MAILBOX_TYPE_TYPE_COLUMN);
|
|
||||||
switch (type) {
|
|
||||||
case TYPE_INBOX:
|
|
||||||
case TYPE_MAIL:
|
|
||||||
case TYPE_TRASH:
|
|
||||||
case TYPE_JUNK:
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false; // TYPE_DRAFTS, TYPE_OUTBOX, TYPE_SENT, etc
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return true if messages in a mailbox of a type can be replied/forwarded.
|
|
||||||
*/
|
|
||||||
public static boolean isMailboxTypeReplyAndForwardable(int type) {
|
|
||||||
return (type != TYPE_TRASH) && (type != TYPE_DRAFTS);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a set of hashes that can identify this mailbox. These can be used to
|
|
||||||
* determine if any of the fields have been modified.
|
|
||||||
*/
|
|
||||||
public Object[] getHashes() {
|
|
||||||
Object[] hash = new Object[CONTENT_PROJECTION.length];
|
|
||||||
|
|
||||||
hash[CONTENT_ID_COLUMN]
|
|
||||||
= mId;
|
|
||||||
hash[CONTENT_DISPLAY_NAME_COLUMN]
|
|
||||||
= mDisplayName;
|
|
||||||
hash[CONTENT_SERVER_ID_COLUMN]
|
|
||||||
= mServerId;
|
|
||||||
hash[CONTENT_PARENT_SERVER_ID_COLUMN]
|
|
||||||
= mParentServerId;
|
|
||||||
hash[CONTENT_ACCOUNT_KEY_COLUMN]
|
|
||||||
= mAccountKey;
|
|
||||||
hash[CONTENT_TYPE_COLUMN]
|
|
||||||
= mType;
|
|
||||||
hash[CONTENT_DELIMITER_COLUMN]
|
|
||||||
= mDelimiter;
|
|
||||||
hash[CONTENT_SYNC_KEY_COLUMN]
|
|
||||||
= mSyncKey;
|
|
||||||
hash[CONTENT_SYNC_LOOKBACK_COLUMN]
|
|
||||||
= mSyncLookback;
|
|
||||||
hash[CONTENT_SYNC_INTERVAL_COLUMN]
|
|
||||||
= mSyncInterval;
|
|
||||||
hash[CONTENT_SYNC_TIME_COLUMN]
|
|
||||||
= mSyncTime;
|
|
||||||
hash[CONTENT_FLAG_VISIBLE_COLUMN]
|
|
||||||
= mFlagVisible;
|
|
||||||
hash[CONTENT_FLAGS_COLUMN]
|
|
||||||
= mFlags;
|
|
||||||
hash[CONTENT_VISIBLE_LIMIT_COLUMN]
|
|
||||||
= mVisibleLimit;
|
|
||||||
hash[CONTENT_SYNC_STATUS_COLUMN]
|
|
||||||
= mSyncStatus;
|
|
||||||
hash[CONTENT_PARENT_KEY_COLUMN]
|
|
||||||
= mParentKey;
|
|
||||||
hash[CONTENT_LAST_SEEN_MESSAGE_KEY_COLUMN]
|
|
||||||
= mLastSeenMessageKey;
|
|
||||||
return hash;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface HostAuthColumns {
|
public interface HostAuthColumns {
|
||||||
public static final String ID = "_id";
|
public static final String ID = "_id";
|
||||||
// The protocol (e.g. "imap", "pop3", "eas", "smtp"
|
// The protocol (e.g. "imap", "pop3", "eas", "smtp"
|
||||||
|
|
|
@ -0,0 +1,473 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2009 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
package com.android.emailcommon.provider;
|
||||||
|
|
||||||
|
import com.android.emailcommon.Logging;
|
||||||
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
|
import com.android.emailcommon.provider.EmailContent.SyncColumns;
|
||||||
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
|
import android.content.ContentUris;
|
||||||
|
import android.content.ContentValues;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import java.security.InvalidParameterException;
|
||||||
|
|
||||||
|
public class Mailbox extends EmailContent implements SyncColumns, MailboxColumns {
|
||||||
|
public static final String TABLE_NAME = "Mailbox";
|
||||||
|
@SuppressWarnings("hiding")
|
||||||
|
public static final Uri CONTENT_URI = Uri.parse(EmailContent.CONTENT_URI + "/mailbox");
|
||||||
|
public static final Uri ADD_TO_FIELD_URI =
|
||||||
|
Uri.parse(EmailContent.CONTENT_URI + "/mailboxIdAddToField");
|
||||||
|
|
||||||
|
public String mDisplayName;
|
||||||
|
public String mServerId;
|
||||||
|
public String mParentServerId;
|
||||||
|
public long mParentKey;
|
||||||
|
public long mAccountKey;
|
||||||
|
public int mType;
|
||||||
|
public int mDelimiter;
|
||||||
|
public String mSyncKey;
|
||||||
|
public int mSyncLookback;
|
||||||
|
public int mSyncInterval;
|
||||||
|
public long mSyncTime;
|
||||||
|
public boolean mFlagVisible = true;
|
||||||
|
public int mFlags;
|
||||||
|
public int mVisibleLimit;
|
||||||
|
public String mSyncStatus;
|
||||||
|
public long mLastSeenMessageKey;
|
||||||
|
|
||||||
|
public static final int CONTENT_ID_COLUMN = 0;
|
||||||
|
public static final int CONTENT_DISPLAY_NAME_COLUMN = 1;
|
||||||
|
public static final int CONTENT_SERVER_ID_COLUMN = 2;
|
||||||
|
public static final int CONTENT_PARENT_SERVER_ID_COLUMN = 3;
|
||||||
|
public static final int CONTENT_ACCOUNT_KEY_COLUMN = 4;
|
||||||
|
public static final int CONTENT_TYPE_COLUMN = 5;
|
||||||
|
public static final int CONTENT_DELIMITER_COLUMN = 6;
|
||||||
|
public static final int CONTENT_SYNC_KEY_COLUMN = 7;
|
||||||
|
public static final int CONTENT_SYNC_LOOKBACK_COLUMN = 8;
|
||||||
|
public static final int CONTENT_SYNC_INTERVAL_COLUMN = 9;
|
||||||
|
public static final int CONTENT_SYNC_TIME_COLUMN = 10;
|
||||||
|
public static final int CONTENT_FLAG_VISIBLE_COLUMN = 11;
|
||||||
|
public static final int CONTENT_FLAGS_COLUMN = 12;
|
||||||
|
public static final int CONTENT_VISIBLE_LIMIT_COLUMN = 13;
|
||||||
|
public static final int CONTENT_SYNC_STATUS_COLUMN = 14;
|
||||||
|
public static final int CONTENT_PARENT_KEY_COLUMN = 15;
|
||||||
|
public static final int CONTENT_LAST_SEEN_MESSAGE_KEY_COLUMN = 16;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <em>NOTE</em>: If fields are added or removed, the method {@link #getHashes()}
|
||||||
|
* MUST be updated.
|
||||||
|
*/
|
||||||
|
public static final String[] CONTENT_PROJECTION = new String[] {
|
||||||
|
RECORD_ID, MailboxColumns.DISPLAY_NAME, MailboxColumns.SERVER_ID,
|
||||||
|
MailboxColumns.PARENT_SERVER_ID, MailboxColumns.ACCOUNT_KEY, MailboxColumns.TYPE,
|
||||||
|
MailboxColumns.DELIMITER, MailboxColumns.SYNC_KEY, MailboxColumns.SYNC_LOOKBACK,
|
||||||
|
MailboxColumns.SYNC_INTERVAL, MailboxColumns.SYNC_TIME,
|
||||||
|
MailboxColumns.FLAG_VISIBLE, MailboxColumns.FLAGS, MailboxColumns.VISIBLE_LIMIT,
|
||||||
|
MailboxColumns.SYNC_STATUS, MailboxColumns.PARENT_KEY,
|
||||||
|
MailboxColumns.LAST_SEEN_MESSAGE_KEY,
|
||||||
|
};
|
||||||
|
|
||||||
|
private static final String ACCOUNT_AND_MAILBOX_TYPE_SELECTION =
|
||||||
|
MailboxColumns.ACCOUNT_KEY + " =? AND " +
|
||||||
|
MailboxColumns.TYPE + " =?";
|
||||||
|
private static final String MAILBOX_TYPE_SELECTION =
|
||||||
|
MailboxColumns.TYPE + " =?";
|
||||||
|
/** Selection by server pathname for a given account */
|
||||||
|
private static final String PATH_AND_ACCOUNT_SELECTION =
|
||||||
|
MailboxColumns.SERVER_ID + "=? and " + MailboxColumns.ACCOUNT_KEY + "=?";
|
||||||
|
|
||||||
|
private static final String[] MAILBOX_SUM_OF_UNREAD_COUNT_PROJECTION = new String [] {
|
||||||
|
"sum(" + MailboxColumns.UNREAD_COUNT + ")"
|
||||||
|
};
|
||||||
|
private static final int UNREAD_COUNT_COUNT_COLUMN = 0;
|
||||||
|
private static final String[] MAILBOX_SUM_OF_MESSAGE_COUNT_PROJECTION = new String [] {
|
||||||
|
"sum(" + MailboxColumns.MESSAGE_COUNT + ")"
|
||||||
|
};
|
||||||
|
private static final int MESSAGE_COUNT_COUNT_COLUMN = 0;
|
||||||
|
|
||||||
|
private static final String[] MAILBOX_TYPE_PROJECTION = new String [] {
|
||||||
|
MailboxColumns.TYPE
|
||||||
|
};
|
||||||
|
private static final int MAILBOX_TYPE_TYPE_COLUMN = 0;
|
||||||
|
|
||||||
|
private static final String[] MAILBOX_DISPLAY_NAME_PROJECTION = new String [] {
|
||||||
|
MailboxColumns.DISPLAY_NAME
|
||||||
|
};
|
||||||
|
private static final int MAILBOX_DISPLAY_NAME_COLUMN = 0;
|
||||||
|
|
||||||
|
public static final long NO_MAILBOX = -1;
|
||||||
|
|
||||||
|
// Sentinel values for the mSyncInterval field of both Mailbox records
|
||||||
|
public static final int CHECK_INTERVAL_NEVER = -1;
|
||||||
|
public static final int CHECK_INTERVAL_PUSH = -2;
|
||||||
|
// The following two sentinel values are used by EAS
|
||||||
|
// Ping indicates that the EAS mailbox is synced based on a "ping" from the server
|
||||||
|
public static final int CHECK_INTERVAL_PING = -3;
|
||||||
|
// Push-Hold indicates an EAS push or ping Mailbox shouldn't sync just yet
|
||||||
|
public static final int CHECK_INTERVAL_PUSH_HOLD = -4;
|
||||||
|
|
||||||
|
// Sentinels for PARENT_KEY
|
||||||
|
public static final long PARENT_KEY_NONE = -1L;
|
||||||
|
public static final long PARENT_KEY_UNINITIALIZED = 0L;
|
||||||
|
|
||||||
|
private static final String WHERE_TYPE_AND_ACCOUNT_KEY =
|
||||||
|
MailboxColumns.TYPE + "=? and " + MailboxColumns.ACCOUNT_KEY + "=?";
|
||||||
|
|
||||||
|
public static final Integer[] INVALID_DROP_TARGETS = new Integer[] {Mailbox.TYPE_DRAFTS,
|
||||||
|
Mailbox.TYPE_OUTBOX, Mailbox.TYPE_SENT};
|
||||||
|
|
||||||
|
public static final String USER_VISIBLE_MAILBOX_SELECTION =
|
||||||
|
MailboxColumns.TYPE + "<" + Mailbox.TYPE_NOT_EMAIL +
|
||||||
|
" AND " + MailboxColumns.FLAG_VISIBLE + "=1";
|
||||||
|
|
||||||
|
// Types of mailboxes. The list is ordered to match a typical UI presentation, e.g.
|
||||||
|
// placing the inbox at the top.
|
||||||
|
// Arrays of "special_mailbox_display_names" and "special_mailbox_icons" are depends on
|
||||||
|
// types Id of mailboxes.
|
||||||
|
/** No type specified */
|
||||||
|
public static final int TYPE_NONE = -1;
|
||||||
|
/** The "main" mailbox for the account, almost always referred to as "Inbox" */
|
||||||
|
public static final int TYPE_INBOX = 0;
|
||||||
|
// Types of mailboxes
|
||||||
|
/** Generic mailbox that holds mail */
|
||||||
|
public static final int TYPE_MAIL = 1;
|
||||||
|
/** Parent-only mailbox; does not hold any mail */
|
||||||
|
public static final int TYPE_PARENT = 2;
|
||||||
|
/** Drafts mailbox */
|
||||||
|
public static final int TYPE_DRAFTS = 3;
|
||||||
|
/** Local mailbox associated with the account's outgoing mail */
|
||||||
|
public static final int TYPE_OUTBOX = 4;
|
||||||
|
/** Sent mail; mail that was sent from the account */
|
||||||
|
public static final int TYPE_SENT = 5;
|
||||||
|
/** Deleted mail */
|
||||||
|
public static final int TYPE_TRASH = 6;
|
||||||
|
/** Junk mail */
|
||||||
|
public static final int TYPE_JUNK = 7;
|
||||||
|
/** Search results */
|
||||||
|
public static final int TYPE_SEARCH = 8;
|
||||||
|
|
||||||
|
// Types after this are used for non-mail mailboxes (as in EAS)
|
||||||
|
public static final int TYPE_NOT_EMAIL = 0x40;
|
||||||
|
public static final int TYPE_CALENDAR = 0x41;
|
||||||
|
public static final int TYPE_CONTACTS = 0x42;
|
||||||
|
public static final int TYPE_TASKS = 0x43;
|
||||||
|
public static final int TYPE_EAS_ACCOUNT_MAILBOX = 0x44;
|
||||||
|
public static final int TYPE_UNKNOWN = 0x45;
|
||||||
|
|
||||||
|
public static final int TYPE_NOT_SYNCABLE = 0x100;
|
||||||
|
// A mailbox that holds Messages that are attachments
|
||||||
|
public static final int TYPE_ATTACHMENT = 0x101;
|
||||||
|
|
||||||
|
// Bit field flags; each is defined below
|
||||||
|
// Warning: Do not read these flags until POP/IMAP/EAS all populate them
|
||||||
|
/** No flags set */
|
||||||
|
public static final int FLAG_NONE = 0;
|
||||||
|
/** Has children in the mailbox hierarchy */
|
||||||
|
public static final int FLAG_HAS_CHILDREN = 1<<0;
|
||||||
|
/** Children are visible in the UI */
|
||||||
|
public static final int FLAG_CHILDREN_VISIBLE = 1<<1;
|
||||||
|
/** cannot receive "pushed" mail */
|
||||||
|
public static final int FLAG_CANT_PUSH = 1<<2;
|
||||||
|
/** can hold emails (i.e. some parent mailboxes cannot themselves contain mail) */
|
||||||
|
public static final int FLAG_HOLDS_MAIL = 1<<3;
|
||||||
|
/** can be used as a target for moving messages within the account */
|
||||||
|
public static final int FLAG_ACCEPTS_MOVED_MAIL = 1<<4;
|
||||||
|
/** can be used as a target for appending messages */
|
||||||
|
public static final int FLAG_ACCEPTS_APPENDED_MAIL = 1<<5;
|
||||||
|
|
||||||
|
// Magic mailbox ID's
|
||||||
|
// NOTE: This is a quick solution for merged mailboxes. I would rather implement this
|
||||||
|
// with a more generic way of packaging and sharing queries between activities
|
||||||
|
public static final long QUERY_ALL_INBOXES = -2;
|
||||||
|
public static final long QUERY_ALL_UNREAD = -3;
|
||||||
|
public static final long QUERY_ALL_FAVORITES = -4;
|
||||||
|
public static final long QUERY_ALL_DRAFTS = -5;
|
||||||
|
public static final long QUERY_ALL_OUTBOX = -6;
|
||||||
|
|
||||||
|
public Mailbox() {
|
||||||
|
mBaseUri = CONTENT_URI;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restore a Mailbox from the database, given its unique id
|
||||||
|
* @param context
|
||||||
|
* @param id
|
||||||
|
* @return the instantiated Mailbox
|
||||||
|
*/
|
||||||
|
public static Mailbox restoreMailboxWithId(Context context, long id) {
|
||||||
|
return EmailContent.restoreContentWithId(context, Mailbox.class,
|
||||||
|
Mailbox.CONTENT_URI, Mailbox.CONTENT_PROJECTION, id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a Mailbox from the database, given its pathname and account id. All mailbox
|
||||||
|
* paths for a particular account must be unique. Paths are stored in the column
|
||||||
|
* {@link MailboxColumns#SERVER_ID} for want of yet another column in the table.
|
||||||
|
* @param context
|
||||||
|
* @param accountId the ID of the account
|
||||||
|
* @param path the fully qualified, remote pathname
|
||||||
|
*/
|
||||||
|
public static Mailbox restoreMailboxForPath(Context context, long accountId, String path) {
|
||||||
|
Cursor c = context.getContentResolver().query(
|
||||||
|
Mailbox.CONTENT_URI,
|
||||||
|
Mailbox.CONTENT_PROJECTION,
|
||||||
|
Mailbox.PATH_AND_ACCOUNT_SELECTION,
|
||||||
|
new String[] { path, Long.toString(accountId) },
|
||||||
|
null);
|
||||||
|
if (c == null) throw new ProviderUnavailableException();
|
||||||
|
try {
|
||||||
|
Mailbox mailbox = null;
|
||||||
|
if (c.moveToFirst()) {
|
||||||
|
mailbox = getContent(c, Mailbox.class);
|
||||||
|
if (c.moveToNext()) {
|
||||||
|
Log.w(Logging.LOG_TAG, "Multiple mailboxes named \"" + path + "\"");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Log.i(Logging.LOG_TAG, "Could not find mailbox at \"" + path + "\"");
|
||||||
|
}
|
||||||
|
return mailbox;
|
||||||
|
} finally {
|
||||||
|
c.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void restore(Cursor cursor) {
|
||||||
|
mBaseUri = CONTENT_URI;
|
||||||
|
mId = cursor.getLong(CONTENT_ID_COLUMN);
|
||||||
|
mDisplayName = cursor.getString(CONTENT_DISPLAY_NAME_COLUMN);
|
||||||
|
mServerId = cursor.getString(CONTENT_SERVER_ID_COLUMN);
|
||||||
|
mParentServerId = cursor.getString(CONTENT_PARENT_SERVER_ID_COLUMN);
|
||||||
|
mParentKey = cursor.getLong(CONTENT_PARENT_KEY_COLUMN);
|
||||||
|
mAccountKey = cursor.getLong(CONTENT_ACCOUNT_KEY_COLUMN);
|
||||||
|
mType = cursor.getInt(CONTENT_TYPE_COLUMN);
|
||||||
|
mDelimiter = cursor.getInt(CONTENT_DELIMITER_COLUMN);
|
||||||
|
mSyncKey = cursor.getString(CONTENT_SYNC_KEY_COLUMN);
|
||||||
|
mSyncLookback = cursor.getInt(CONTENT_SYNC_LOOKBACK_COLUMN);
|
||||||
|
mSyncInterval = cursor.getInt(CONTENT_SYNC_INTERVAL_COLUMN);
|
||||||
|
mSyncTime = cursor.getLong(CONTENT_SYNC_TIME_COLUMN);
|
||||||
|
mFlagVisible = cursor.getInt(CONTENT_FLAG_VISIBLE_COLUMN) == 1;
|
||||||
|
mFlags = cursor.getInt(CONTENT_FLAGS_COLUMN);
|
||||||
|
mVisibleLimit = cursor.getInt(CONTENT_VISIBLE_LIMIT_COLUMN);
|
||||||
|
mSyncStatus = cursor.getString(CONTENT_SYNC_STATUS_COLUMN);
|
||||||
|
mLastSeenMessageKey = cursor.getLong(CONTENT_LAST_SEEN_MESSAGE_KEY_COLUMN);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ContentValues toContentValues() {
|
||||||
|
ContentValues values = new ContentValues();
|
||||||
|
values.put(MailboxColumns.DISPLAY_NAME, mDisplayName);
|
||||||
|
values.put(MailboxColumns.SERVER_ID, mServerId);
|
||||||
|
values.put(MailboxColumns.PARENT_SERVER_ID, mParentServerId);
|
||||||
|
values.put(MailboxColumns.PARENT_KEY, mParentKey);
|
||||||
|
values.put(MailboxColumns.ACCOUNT_KEY, mAccountKey);
|
||||||
|
values.put(MailboxColumns.TYPE, mType);
|
||||||
|
values.put(MailboxColumns.DELIMITER, mDelimiter);
|
||||||
|
values.put(MailboxColumns.SYNC_KEY, mSyncKey);
|
||||||
|
values.put(MailboxColumns.SYNC_LOOKBACK, mSyncLookback);
|
||||||
|
values.put(MailboxColumns.SYNC_INTERVAL, mSyncInterval);
|
||||||
|
values.put(MailboxColumns.SYNC_TIME, mSyncTime);
|
||||||
|
values.put(MailboxColumns.FLAG_VISIBLE, mFlagVisible);
|
||||||
|
values.put(MailboxColumns.FLAGS, mFlags);
|
||||||
|
values.put(MailboxColumns.VISIBLE_LIMIT, mVisibleLimit);
|
||||||
|
values.put(MailboxColumns.SYNC_STATUS, mSyncStatus);
|
||||||
|
values.put(MailboxColumns.LAST_SEEN_MESSAGE_KEY, mLastSeenMessageKey);
|
||||||
|
return values;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convenience method to return the id of a given type of Mailbox for a given Account
|
||||||
|
* @param context the caller's context, used to get a ContentResolver
|
||||||
|
* @param accountId the id of the account to be queried
|
||||||
|
* @param type the mailbox type, as defined above
|
||||||
|
* @return the id of the mailbox, or -1 if not found
|
||||||
|
*/
|
||||||
|
public static long findMailboxOfType(Context context, long accountId, int type) {
|
||||||
|
String[] bindArguments = new String[] {Long.toString(type), Long.toString(accountId)};
|
||||||
|
return Utility.getFirstRowLong(context, Mailbox.CONTENT_URI,
|
||||||
|
ID_PROJECTION, WHERE_TYPE_AND_ACCOUNT_KEY, bindArguments, null,
|
||||||
|
ID_PROJECTION_COLUMN, NO_MAILBOX);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convenience method that returns the mailbox found using the method above
|
||||||
|
*/
|
||||||
|
public static Mailbox restoreMailboxOfType(Context context, long accountId, int type) {
|
||||||
|
long mailboxId = findMailboxOfType(context, accountId, type);
|
||||||
|
if (mailboxId != Mailbox.NO_MAILBOX) {
|
||||||
|
return Mailbox.restoreMailboxWithId(context, mailboxId);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getUnreadCountByAccountAndMailboxType(Context context, long accountId,
|
||||||
|
int type) {
|
||||||
|
return Utility.getFirstRowInt(context, Mailbox.CONTENT_URI,
|
||||||
|
MAILBOX_SUM_OF_UNREAD_COUNT_PROJECTION,
|
||||||
|
ACCOUNT_AND_MAILBOX_TYPE_SELECTION,
|
||||||
|
new String[] { String.valueOf(accountId), String.valueOf(type) },
|
||||||
|
null, UNREAD_COUNT_COUNT_COLUMN, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getUnreadCountByMailboxType(Context context, int type) {
|
||||||
|
return Utility.getFirstRowInt(context, Mailbox.CONTENT_URI,
|
||||||
|
MAILBOX_SUM_OF_UNREAD_COUNT_PROJECTION,
|
||||||
|
MAILBOX_TYPE_SELECTION,
|
||||||
|
new String[] { String.valueOf(type) }, null, UNREAD_COUNT_COUNT_COLUMN, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getMessageCountByMailboxType(Context context, int type) {
|
||||||
|
return Utility.getFirstRowInt(context, Mailbox.CONTENT_URI,
|
||||||
|
MAILBOX_SUM_OF_MESSAGE_COUNT_PROJECTION,
|
||||||
|
MAILBOX_TYPE_SELECTION,
|
||||||
|
new String[] { String.valueOf(type) }, null, MESSAGE_COUNT_COUNT_COLUMN, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the mailbox for a message with a given id
|
||||||
|
* @param context the caller's context
|
||||||
|
* @param messageId the id of the message
|
||||||
|
* @return the mailbox, or null if the mailbox doesn't exist
|
||||||
|
*/
|
||||||
|
public static Mailbox getMailboxForMessageId(Context context, long messageId) {
|
||||||
|
long mailboxId = Message.getKeyColumnLong(context, messageId,
|
||||||
|
MessageColumns.MAILBOX_KEY);
|
||||||
|
if (mailboxId != -1) {
|
||||||
|
return Mailbox.restoreMailboxWithId(context, mailboxId);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return mailbox type, or -1 if mailbox not found.
|
||||||
|
*/
|
||||||
|
public static int getMailboxType(Context context, long mailboxId) {
|
||||||
|
Uri url = ContentUris.withAppendedId(Mailbox.CONTENT_URI, mailboxId);
|
||||||
|
return Utility.getFirstRowInt(context, url, MAILBOX_TYPE_PROJECTION,
|
||||||
|
null, null, null, MAILBOX_TYPE_TYPE_COLUMN, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return mailbox display name, or null if mailbox not found.
|
||||||
|
*/
|
||||||
|
public static String getDisplayName(Context context, long mailboxId) {
|
||||||
|
Uri url = ContentUris.withAppendedId(Mailbox.CONTENT_URI, mailboxId);
|
||||||
|
return Utility.getFirstRowString(context, url, MAILBOX_DISPLAY_NAME_PROJECTION,
|
||||||
|
null, null, null, MAILBOX_DISPLAY_NAME_COLUMN);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param mailboxId ID of a mailbox. This method accepts magic mailbox IDs, such as
|
||||||
|
* {@link #QUERY_ALL_INBOXES}. (They're all non-refreshable.)
|
||||||
|
* @return true if a mailbox is refreshable.
|
||||||
|
*/
|
||||||
|
public static boolean isRefreshable(Context context, long mailboxId) {
|
||||||
|
if (mailboxId < 0) {
|
||||||
|
return false; // magic mailboxes
|
||||||
|
}
|
||||||
|
switch (getMailboxType(context, mailboxId)) {
|
||||||
|
case -1: // not found
|
||||||
|
case TYPE_DRAFTS:
|
||||||
|
case TYPE_OUTBOX:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param mailboxId ID of a mailbox. This method DOES NOT accept magic mailbox IDs, such as
|
||||||
|
* {@link #QUERY_ALL_INBOXES} (because only the actual mailbox ID matters here. e.g.
|
||||||
|
* {@link #QUERY_ALL_FAVORITES} can contain ANY kind of messages), so don't pass a negative
|
||||||
|
* value.
|
||||||
|
* @return true if messages in a mailbox can be moved to another mailbox.
|
||||||
|
* This method only checks the mailbox information. It doesn't check its account/protocol,
|
||||||
|
* so it may return true even for POP3 mailbox.
|
||||||
|
*/
|
||||||
|
public static boolean canMoveFrom(Context context, long mailboxId) {
|
||||||
|
if (mailboxId < 0) {
|
||||||
|
throw new InvalidParameterException();
|
||||||
|
}
|
||||||
|
Uri url = ContentUris.withAppendedId(Mailbox.CONTENT_URI, mailboxId);
|
||||||
|
int type = Utility.getFirstRowInt(context, url, MAILBOX_TYPE_PROJECTION,
|
||||||
|
null, null, null, MAILBOX_TYPE_TYPE_COLUMN);
|
||||||
|
switch (type) {
|
||||||
|
case TYPE_INBOX:
|
||||||
|
case TYPE_MAIL:
|
||||||
|
case TYPE_TRASH:
|
||||||
|
case TYPE_JUNK:
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false; // TYPE_DRAFTS, TYPE_OUTBOX, TYPE_SENT, etc
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true if messages in a mailbox of a type can be replied/forwarded.
|
||||||
|
*/
|
||||||
|
public static boolean isMailboxTypeReplyAndForwardable(int type) {
|
||||||
|
return (type != TYPE_TRASH) && (type != TYPE_DRAFTS);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a set of hashes that can identify this mailbox. These can be used to
|
||||||
|
* determine if any of the fields have been modified.
|
||||||
|
*/
|
||||||
|
public Object[] getHashes() {
|
||||||
|
Object[] hash = new Object[CONTENT_PROJECTION.length];
|
||||||
|
|
||||||
|
hash[CONTENT_ID_COLUMN]
|
||||||
|
= mId;
|
||||||
|
hash[CONTENT_DISPLAY_NAME_COLUMN]
|
||||||
|
= mDisplayName;
|
||||||
|
hash[CONTENT_SERVER_ID_COLUMN]
|
||||||
|
= mServerId;
|
||||||
|
hash[CONTENT_PARENT_SERVER_ID_COLUMN]
|
||||||
|
= mParentServerId;
|
||||||
|
hash[CONTENT_ACCOUNT_KEY_COLUMN]
|
||||||
|
= mAccountKey;
|
||||||
|
hash[CONTENT_TYPE_COLUMN]
|
||||||
|
= mType;
|
||||||
|
hash[CONTENT_DELIMITER_COLUMN]
|
||||||
|
= mDelimiter;
|
||||||
|
hash[CONTENT_SYNC_KEY_COLUMN]
|
||||||
|
= mSyncKey;
|
||||||
|
hash[CONTENT_SYNC_LOOKBACK_COLUMN]
|
||||||
|
= mSyncLookback;
|
||||||
|
hash[CONTENT_SYNC_INTERVAL_COLUMN]
|
||||||
|
= mSyncInterval;
|
||||||
|
hash[CONTENT_SYNC_TIME_COLUMN]
|
||||||
|
= mSyncTime;
|
||||||
|
hash[CONTENT_FLAG_VISIBLE_COLUMN]
|
||||||
|
= mFlagVisible;
|
||||||
|
hash[CONTENT_FLAGS_COLUMN]
|
||||||
|
= mFlags;
|
||||||
|
hash[CONTENT_VISIBLE_LIMIT_COLUMN]
|
||||||
|
= mVisibleLimit;
|
||||||
|
hash[CONTENT_SYNC_STATUS_COLUMN]
|
||||||
|
= mSyncStatus;
|
||||||
|
hash[CONTENT_PARENT_KEY_COLUMN]
|
||||||
|
= mParentKey;
|
||||||
|
hash[CONTENT_LAST_SEEN_MESSAGE_KEY_COLUMN]
|
||||||
|
= mLastSeenMessageKey;
|
||||||
|
return hash;
|
||||||
|
}
|
||||||
|
}
|
|
@ -24,10 +24,10 @@ import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.AttachmentColumns;
|
import com.android.emailcommon.provider.EmailContent.AttachmentColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuthColumns;
|
import com.android.emailcommon.provider.EmailContent.HostAuthColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.provider.ProviderUnavailableException;
|
import com.android.emailcommon.provider.ProviderUnavailableException;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
|
|
@ -28,10 +28,10 @@ import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Attachment;
|
import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.Body;
|
import com.android.emailcommon.provider.EmailContent.Body;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.service.EmailServiceStatus;
|
import com.android.emailcommon.service.EmailServiceStatus;
|
||||||
import com.android.emailcommon.service.IEmailService;
|
import com.android.emailcommon.service.IEmailService;
|
||||||
import com.android.emailcommon.service.IEmailServiceCallback;
|
import com.android.emailcommon.service.IEmailServiceCallback;
|
||||||
|
@ -406,7 +406,7 @@ public class Controller {
|
||||||
Account account =
|
Account account =
|
||||||
EmailContent.Account.restoreAccountWithId(mProviderContext, accountId);
|
EmailContent.Account.restoreAccountWithId(mProviderContext, accountId);
|
||||||
Mailbox mailbox =
|
Mailbox mailbox =
|
||||||
EmailContent.Mailbox.restoreMailboxWithId(mProviderContext, mailboxId);
|
Mailbox.restoreMailboxWithId(mProviderContext, mailboxId);
|
||||||
if (account == null || mailbox == null) {
|
if (account == null || mailbox == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
package com.android.email;
|
package com.android.email;
|
||||||
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
|
|
|
@ -32,7 +32,7 @@ import com.android.emailcommon.mail.Part;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Attachment;
|
import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.AttachmentColumns;
|
import com.android.emailcommon.provider.EmailContent.AttachmentColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.AttachmentUtilities;
|
import com.android.emailcommon.utility.AttachmentUtilities;
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
|
@ -458,13 +458,13 @@ public class LegacyConversions {
|
||||||
Mailbox.TYPE_JUNK);
|
Mailbox.TYPE_JUNK);
|
||||||
}
|
}
|
||||||
if (mailboxName == null || mailboxName.length() == 0) {
|
if (mailboxName == null || mailboxName.length() == 0) {
|
||||||
return EmailContent.Mailbox.TYPE_MAIL;
|
return Mailbox.TYPE_MAIL;
|
||||||
}
|
}
|
||||||
String lowerCaseName = mailboxName.toLowerCase();
|
String lowerCaseName = mailboxName.toLowerCase();
|
||||||
Integer type = sServerMailboxNames.get(lowerCaseName);
|
Integer type = sServerMailboxNames.get(lowerCaseName);
|
||||||
if (type != null) {
|
if (type != null) {
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
return EmailContent.Mailbox.TYPE_MAIL;
|
return Mailbox.TYPE_MAIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,10 +38,10 @@ import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Attachment;
|
import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.AttachmentColumns;
|
import com.android.emailcommon.provider.EmailContent.AttachmentColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.SyncColumns;
|
import com.android.emailcommon.provider.EmailContent.SyncColumns;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.AttachmentUtilities;
|
import com.android.emailcommon.utility.AttachmentUtilities;
|
||||||
import com.android.emailcommon.utility.ConversionUtilities;
|
import com.android.emailcommon.utility.ConversionUtilities;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
@ -247,7 +247,7 @@ public class MessagingController implements Runnable {
|
||||||
|
|
||||||
// Step 2: Get local mailboxes
|
// Step 2: Get local mailboxes
|
||||||
localFolderCursor = mContext.getContentResolver().query(
|
localFolderCursor = mContext.getContentResolver().query(
|
||||||
EmailContent.Mailbox.CONTENT_URI,
|
Mailbox.CONTENT_URI,
|
||||||
MAILBOX_PROJECTION,
|
MAILBOX_PROJECTION,
|
||||||
EmailContent.MailboxColumns.ACCOUNT_KEY + "=?",
|
EmailContent.MailboxColumns.ACCOUNT_KEY + "=?",
|
||||||
new String[] { String.valueOf(account.mId) },
|
new String[] { String.valueOf(account.mId) },
|
||||||
|
@ -302,11 +302,11 @@ public class MessagingController implements Runnable {
|
||||||
* @param listener
|
* @param listener
|
||||||
*/
|
*/
|
||||||
public void synchronizeMailbox(final EmailContent.Account account,
|
public void synchronizeMailbox(final EmailContent.Account account,
|
||||||
final EmailContent.Mailbox folder, MessagingListener listener) {
|
final Mailbox folder, MessagingListener listener) {
|
||||||
/*
|
/*
|
||||||
* We don't ever sync the Outbox.
|
* We don't ever sync the Outbox.
|
||||||
*/
|
*/
|
||||||
if (folder.mType == EmailContent.Mailbox.TYPE_OUTBOX) {
|
if (folder.mType == Mailbox.TYPE_OUTBOX) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mListeners.synchronizeMailboxStarted(account.mId, folder.mId);
|
mListeners.synchronizeMailboxStarted(account.mId, folder.mId);
|
||||||
|
@ -325,7 +325,7 @@ public class MessagingController implements Runnable {
|
||||||
* @param folder
|
* @param folder
|
||||||
*/
|
*/
|
||||||
private void synchronizeMailboxSynchronous(final EmailContent.Account account,
|
private void synchronizeMailboxSynchronous(final EmailContent.Account account,
|
||||||
final EmailContent.Mailbox folder) {
|
final Mailbox folder) {
|
||||||
mListeners.synchronizeMailboxStarted(account.mId, folder.mId);
|
mListeners.synchronizeMailboxStarted(account.mId, folder.mId);
|
||||||
if ((folder.mFlags & Mailbox.FLAG_HOLDS_MAIL) == 0) {
|
if ((folder.mFlags & Mailbox.FLAG_HOLDS_MAIL) == 0) {
|
||||||
// We don't hold messages, so, nothing to synchronize
|
// We don't hold messages, so, nothing to synchronize
|
||||||
|
@ -408,7 +408,7 @@ public class MessagingController implements Runnable {
|
||||||
* @throws MessagingException
|
* @throws MessagingException
|
||||||
*/
|
*/
|
||||||
private SyncResults synchronizeMailboxGeneric(
|
private SyncResults synchronizeMailboxGeneric(
|
||||||
final EmailContent.Account account, final EmailContent.Mailbox folder)
|
final EmailContent.Account account, final Mailbox folder)
|
||||||
throws MessagingException {
|
throws MessagingException {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -764,7 +764,7 @@ public class MessagingController implements Runnable {
|
||||||
* EmailContent.Message.LOADED)
|
* EmailContent.Message.LOADED)
|
||||||
*/
|
*/
|
||||||
public void copyOneMessageToProvider(Message message, EmailContent.Account account,
|
public void copyOneMessageToProvider(Message message, EmailContent.Account account,
|
||||||
EmailContent.Mailbox folder, int loadStatus) {
|
Mailbox folder, int loadStatus) {
|
||||||
EmailContent.Message localMessage = null;
|
EmailContent.Message localMessage = null;
|
||||||
Cursor c = null;
|
Cursor c = null;
|
||||||
try {
|
try {
|
||||||
|
@ -1637,8 +1637,8 @@ public class MessagingController implements Runnable {
|
||||||
// TODO combine with common code in loadAttachment
|
// TODO combine with common code in loadAttachment
|
||||||
EmailContent.Account account =
|
EmailContent.Account account =
|
||||||
EmailContent.Account.restoreAccountWithId(mContext, message.mAccountKey);
|
EmailContent.Account.restoreAccountWithId(mContext, message.mAccountKey);
|
||||||
EmailContent.Mailbox mailbox =
|
Mailbox mailbox =
|
||||||
EmailContent.Mailbox.restoreMailboxWithId(mContext, message.mMailboxKey);
|
Mailbox.restoreMailboxWithId(mContext, message.mMailboxKey);
|
||||||
if (account == null || mailbox == null) {
|
if (account == null || mailbox == null) {
|
||||||
mListeners.loadMessageForViewFailed(messageId, "null account or mailbox");
|
mListeners.loadMessageForViewFailed(messageId, "null account or mailbox");
|
||||||
return;
|
return;
|
||||||
|
@ -1720,8 +1720,8 @@ public class MessagingController implements Runnable {
|
||||||
// TODO all of these could be narrower projections
|
// TODO all of these could be narrower projections
|
||||||
EmailContent.Account account =
|
EmailContent.Account account =
|
||||||
EmailContent.Account.restoreAccountWithId(mContext, accountId);
|
EmailContent.Account.restoreAccountWithId(mContext, accountId);
|
||||||
EmailContent.Mailbox mailbox =
|
Mailbox mailbox =
|
||||||
EmailContent.Mailbox.restoreMailboxWithId(mContext, mailboxId);
|
Mailbox.restoreMailboxWithId(mContext, mailboxId);
|
||||||
EmailContent.Message message =
|
EmailContent.Message message =
|
||||||
EmailContent.Message.restoreMessageWithId(mContext, messageId);
|
EmailContent.Message.restoreMessageWithId(mContext, messageId);
|
||||||
|
|
||||||
|
@ -1933,8 +1933,8 @@ public class MessagingController implements Runnable {
|
||||||
// TODO we already know this in Controller, can we pass it in?
|
// TODO we already know this in Controller, can we pass it in?
|
||||||
inboxId = Mailbox.findMailboxOfType(mContext, accountId, Mailbox.TYPE_INBOX);
|
inboxId = Mailbox.findMailboxOfType(mContext, accountId, Mailbox.TYPE_INBOX);
|
||||||
if (inboxId != Mailbox.NO_MAILBOX) {
|
if (inboxId != Mailbox.NO_MAILBOX) {
|
||||||
EmailContent.Mailbox mailbox =
|
Mailbox mailbox =
|
||||||
EmailContent.Mailbox.restoreMailboxWithId(mContext, inboxId);
|
Mailbox.restoreMailboxWithId(mContext, inboxId);
|
||||||
if (mailbox != null) {
|
if (mailbox != null) {
|
||||||
synchronizeMailboxSynchronous(account, mailbox);
|
synchronizeMailboxSynchronous(account, mailbox);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,10 +25,10 @@ import com.android.emailcommon.mail.Address;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Attachment;
|
import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
|
|
@ -21,7 +21,7 @@ import com.android.email.data.ClosingMatrixCursor;
|
||||||
import com.android.email.data.ThrottlingCursorLoader;
|
import com.android.email.data.ThrottlingCursorLoader;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
|
@ -19,7 +19,7 @@ package com.android.email.activity;
|
||||||
import com.android.email.Controller;
|
import com.android.email.Controller;
|
||||||
import com.android.email.Email;
|
import com.android.email.Email;
|
||||||
import com.android.email.R;
|
import com.android.email.R;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.EmailAsyncTask;
|
import com.android.emailcommon.utility.EmailAsyncTask;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
|
|
|
@ -24,9 +24,9 @@ import com.android.email.R;
|
||||||
import com.android.emailcommon.Logging;
|
import com.android.emailcommon.Logging;
|
||||||
import com.android.emailcommon.mail.MessagingException;
|
import com.android.emailcommon.mail.MessagingException;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.EmailAsyncTask;
|
import com.android.emailcommon.utility.EmailAsyncTask;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ import com.android.email.Email;
|
||||||
import com.android.emailcommon.Logging;
|
import com.android.emailcommon.Logging;
|
||||||
import com.android.emailcommon.mail.MessagingException;
|
import com.android.emailcommon.mail.MessagingException;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
|
@ -25,9 +25,9 @@ import com.android.emailcommon.Logging;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.AccountColumns;
|
import com.android.emailcommon.provider.EmailContent.AccountColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
@ -220,7 +220,7 @@ import android.widget.TextView;
|
||||||
private final long mParentKey;
|
private final long mParentKey;
|
||||||
|
|
||||||
MailboxFragmentLoader(Context context, long accountId, long parentKey) {
|
MailboxFragmentLoader(Context context, long accountId, long parentKey) {
|
||||||
super(context, EmailContent.Mailbox.CONTENT_URI,
|
super(context, Mailbox.CONTENT_URI,
|
||||||
(parentKey != Mailbox.PARENT_KEY_NONE)
|
(parentKey != Mailbox.PARENT_KEY_NONE)
|
||||||
? MailboxesAdapter.SUBMAILBOX_PROJECTION
|
? MailboxesAdapter.SUBMAILBOX_PROJECTION
|
||||||
: MailboxesAdapter.PROJECTION,
|
: MailboxesAdapter.PROJECTION,
|
||||||
|
|
|
@ -23,8 +23,8 @@ import com.android.email.RefreshManager;
|
||||||
import com.android.email.provider.EmailProvider;
|
import com.android.email.provider.EmailProvider;
|
||||||
import com.android.email.service.MailService;
|
import com.android.email.service.MailService;
|
||||||
import com.android.emailcommon.Logging;
|
import com.android.emailcommon.Logging;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.EmailAsyncTask;
|
import com.android.emailcommon.utility.EmailAsyncTask;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
package com.android.email.activity;
|
package com.android.email.activity;
|
||||||
|
|
||||||
import com.android.email.R;
|
import com.android.email.R;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
|
|
@ -21,11 +21,10 @@ import com.android.email.FolderProperties;
|
||||||
import com.android.email.data.ThrottlingCursorLoader;
|
import com.android.email.data.ThrottlingCursorLoader;
|
||||||
import com.android.email.mail.Store;
|
import com.android.email.mail.Store;
|
||||||
import com.android.emailcommon.Logging;
|
import com.android.emailcommon.Logging;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
@ -135,7 +134,7 @@ class MailboxMoveToAdapter extends CursorAdapter {
|
||||||
private static class MailboxMoveToLoader extends ThrottlingCursorLoader {
|
private static class MailboxMoveToLoader extends ThrottlingCursorLoader {
|
||||||
private final long mAccountId;
|
private final long mAccountId;
|
||||||
public MailboxMoveToLoader(Context context, long accountId) {
|
public MailboxMoveToLoader(Context context, long accountId) {
|
||||||
super(context, EmailContent.Mailbox.CONTENT_URI,
|
super(context, Mailbox.CONTENT_URI,
|
||||||
null, MOVE_TO_SELECTION,
|
null, MOVE_TO_SELECTION,
|
||||||
new String[] { String.valueOf(accountId) }, null);
|
new String[] { String.valueOf(accountId) }, null);
|
||||||
mAccountId = accountId;
|
mAccountId = accountId;
|
||||||
|
|
|
@ -18,8 +18,8 @@ package com.android.email.activity;
|
||||||
|
|
||||||
import com.android.email.FolderProperties;
|
import com.android.email.FolderProperties;
|
||||||
import com.android.email.ResourceHelper;
|
import com.android.email.ResourceHelper;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
|
|
|
@ -25,13 +25,13 @@ import com.android.email.mail.internet.EmailHtmlUtil;
|
||||||
import com.android.emailcommon.Logging;
|
import com.android.emailcommon.Logging;
|
||||||
import com.android.emailcommon.internet.MimeUtility;
|
import com.android.emailcommon.internet.MimeUtility;
|
||||||
import com.android.emailcommon.mail.Address;
|
import com.android.emailcommon.mail.Address;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Attachment;
|
import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.Body;
|
import com.android.emailcommon.provider.EmailContent.Body;
|
||||||
import com.android.emailcommon.provider.EmailContent.BodyColumns;
|
import com.android.emailcommon.provider.EmailContent.BodyColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.AttachmentUtilities;
|
import com.android.emailcommon.utility.AttachmentUtilities;
|
||||||
import com.android.emailcommon.utility.EmailAsyncTask;
|
import com.android.emailcommon.utility.EmailAsyncTask;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
@ -1167,7 +1167,7 @@ public class MessageCompose extends Activity implements OnClickListener, OnFocus
|
||||||
Body.updateBodyWithMessageId(MessageCompose.this, mDraft.mId, values);
|
Body.updateBodyWithMessageId(MessageCompose.this, mDraft.mId, values);
|
||||||
} else {
|
} else {
|
||||||
// mDraft.mId is set upon return of saveToMailbox()
|
// mDraft.mId is set upon return of saveToMailbox()
|
||||||
mController.saveToMailbox(mDraft, EmailContent.Mailbox.TYPE_DRAFTS);
|
mController.saveToMailbox(mDraft, Mailbox.TYPE_DRAFTS);
|
||||||
}
|
}
|
||||||
// For any unloaded attachment, set the flag saying we need it loaded
|
// For any unloaded attachment, set the flag saying we need it loaded
|
||||||
boolean hasUnloadedAttachments = false;
|
boolean hasUnloadedAttachments = false;
|
||||||
|
|
|
@ -24,10 +24,9 @@ import com.android.email.RefreshManager;
|
||||||
import com.android.email.data.MailboxAccountLoader;
|
import com.android.email.data.MailboxAccountLoader;
|
||||||
import com.android.email.provider.EmailProvider;
|
import com.android.email.provider.EmailProvider;
|
||||||
import com.android.emailcommon.Logging;
|
import com.android.emailcommon.Logging;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.EmailAsyncTask;
|
import com.android.emailcommon.utility.EmailAsyncTask;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
@ -698,9 +697,9 @@ public class MessageListFragment extends ListFragment
|
||||||
// we don't have mMailbox for combined mailbox.
|
// we don't have mMailbox for combined mailbox.
|
||||||
// ("All Starred" can contain any kind of messages.)
|
// ("All Starred" can contain any kind of messages.)
|
||||||
switch (Mailbox.getMailboxType(mActivity, mMessageMailboxId)) {
|
switch (Mailbox.getMailboxType(mActivity, mMessageMailboxId)) {
|
||||||
case EmailContent.Mailbox.TYPE_DRAFTS:
|
case Mailbox.TYPE_DRAFTS:
|
||||||
return Callback.TYPE_DRAFT;
|
return Callback.TYPE_DRAFT;
|
||||||
case EmailContent.Mailbox.TYPE_TRASH:
|
case Mailbox.TYPE_TRASH:
|
||||||
return Callback.TYPE_TRASH;
|
return Callback.TYPE_TRASH;
|
||||||
default:
|
default:
|
||||||
return Callback.TYPE_REGULAR;
|
return Callback.TYPE_REGULAR;
|
||||||
|
|
|
@ -21,8 +21,8 @@ import com.android.email.R;
|
||||||
import com.android.emailcommon.Logging;
|
import com.android.emailcommon.Logging;
|
||||||
import com.android.emailcommon.mail.MeetingInfo;
|
import com.android.emailcommon.mail.MeetingInfo;
|
||||||
import com.android.emailcommon.mail.PackedString;
|
import com.android.emailcommon.mail.PackedString;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.service.EmailServiceConstants;
|
import com.android.emailcommon.service.EmailServiceConstants;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
|
|
|
@ -30,8 +30,8 @@ import com.android.emailcommon.mail.Address;
|
||||||
import com.android.emailcommon.mail.MessagingException;
|
import com.android.emailcommon.mail.MessagingException;
|
||||||
import com.android.emailcommon.provider.EmailContent.Attachment;
|
import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.Body;
|
import com.android.emailcommon.provider.EmailContent.Body;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.AttachmentUtilities;
|
import com.android.emailcommon.utility.AttachmentUtilities;
|
||||||
import com.android.emailcommon.utility.EmailAsyncTask;
|
import com.android.emailcommon.utility.EmailAsyncTask;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
|
@ -21,9 +21,9 @@ import com.android.email.ResourceHelper;
|
||||||
import com.android.email.data.ThrottlingCursorLoader;
|
import com.android.email.data.ThrottlingCursorLoader;
|
||||||
import com.android.emailcommon.Logging;
|
import com.android.emailcommon.Logging;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.TextUtilities;
|
import com.android.emailcommon.utility.TextUtilities;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,8 @@ import com.android.email.Email;
|
||||||
import com.android.email.R;
|
import com.android.email.R;
|
||||||
import com.android.emailcommon.Logging;
|
import com.android.emailcommon.Logging;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
|
|
@ -19,7 +19,7 @@ package com.android.email.activity;
|
||||||
import com.android.email.Email;
|
import com.android.email.Email;
|
||||||
import com.android.email.R;
|
import com.android.email.R;
|
||||||
import com.android.emailcommon.Logging;
|
import com.android.emailcommon.Logging;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
import android.app.FragmentManager;
|
import android.app.FragmentManager;
|
||||||
|
|
|
@ -24,7 +24,7 @@ import com.android.email.RefreshManager;
|
||||||
import com.android.email.activity.setup.AccountSecurity;
|
import com.android.email.activity.setup.AccountSecurity;
|
||||||
import com.android.emailcommon.Logging;
|
import com.android.emailcommon.Logging;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.EmailAsyncTask;
|
import com.android.emailcommon.utility.EmailAsyncTask;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ package com.android.email.data;
|
||||||
|
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.content.AsyncTaskLoader;
|
import android.content.AsyncTaskLoader;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
|
@ -23,7 +23,7 @@ import com.android.emailcommon.mail.Folder;
|
||||||
import com.android.emailcommon.mail.MessagingException;
|
import com.android.emailcommon.mail.MessagingException;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
import org.xmlpull.v1.XmlPullParserException;
|
||||||
|
|
|
@ -47,7 +47,7 @@ import com.android.emailcommon.mail.Folder;
|
||||||
import com.android.emailcommon.mail.Message;
|
import com.android.emailcommon.mail.Message;
|
||||||
import com.android.emailcommon.mail.MessagingException;
|
import com.android.emailcommon.mail.MessagingException;
|
||||||
import com.android.emailcommon.mail.Part;
|
import com.android.emailcommon.mail.Part;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
|
@ -40,7 +40,7 @@ import com.android.emailcommon.mail.Message;
|
||||||
import com.android.emailcommon.mail.MessagingException;
|
import com.android.emailcommon.mail.MessagingException;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.service.EmailServiceProxy;
|
import com.android.emailcommon.service.EmailServiceProxy;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
import com.beetstra.jutf7.CharsetProvider;
|
import com.beetstra.jutf7.CharsetProvider;
|
||||||
|
|
|
@ -31,7 +31,7 @@ import com.android.emailcommon.mail.MessagingException;
|
||||||
import com.android.emailcommon.mail.Folder.OpenMode;
|
import com.android.emailcommon.mail.Folder.OpenMode;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.service.EmailServiceProxy;
|
import com.android.emailcommon.service.EmailServiceProxy;
|
||||||
import com.android.emailcommon.utility.LoggingInputStream;
|
import com.android.emailcommon.utility.LoggingInputStream;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
|
@ -30,12 +30,12 @@ import com.android.emailcommon.provider.EmailContent.Body;
|
||||||
import com.android.emailcommon.provider.EmailContent.BodyColumns;
|
import com.android.emailcommon.provider.EmailContent.BodyColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuthColumns;
|
import com.android.emailcommon.provider.EmailContent.HostAuthColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.PolicyColumns;
|
import com.android.emailcommon.provider.EmailContent.PolicyColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.SyncColumns;
|
import com.android.emailcommon.provider.EmailContent.SyncColumns;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.provider.Policy;
|
import com.android.emailcommon.provider.Policy;
|
||||||
import com.android.emailcommon.service.LegacyPolicySet;
|
import com.android.emailcommon.service.LegacyPolicySet;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
@ -199,7 +199,7 @@ public class EmailProvider extends ContentProvider {
|
||||||
// MESSAGE_BASE = 0x1000, etc.)
|
// MESSAGE_BASE = 0x1000, etc.)
|
||||||
private static final String[] TABLE_NAMES = {
|
private static final String[] TABLE_NAMES = {
|
||||||
EmailContent.Account.TABLE_NAME,
|
EmailContent.Account.TABLE_NAME,
|
||||||
EmailContent.Mailbox.TABLE_NAME,
|
Mailbox.TABLE_NAME,
|
||||||
EmailContent.Message.TABLE_NAME,
|
EmailContent.Message.TABLE_NAME,
|
||||||
EmailContent.Attachment.TABLE_NAME,
|
EmailContent.Attachment.TABLE_NAME,
|
||||||
EmailContent.HostAuth.TABLE_NAME,
|
EmailContent.HostAuth.TABLE_NAME,
|
||||||
|
|
|
@ -27,7 +27,7 @@ import com.android.emailcommon.mail.MessagingException;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.AccountReconciler;
|
import com.android.emailcommon.utility.AccountReconciler;
|
||||||
import com.android.emailcommon.utility.EmailAsyncTask;
|
import com.android.emailcommon.utility.EmailAsyncTask;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
|
|
@ -18,7 +18,7 @@ package com.android.email.service;
|
||||||
|
|
||||||
import com.android.email.Controller;
|
import com.android.email.Controller;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.accounts.Account;
|
import android.accounts.Account;
|
||||||
import android.accounts.OperationCanceledException;
|
import android.accounts.OperationCanceledException;
|
||||||
|
@ -92,7 +92,7 @@ public class PopImapSyncAdapterService extends Service {
|
||||||
if (c.moveToNext()) {
|
if (c.moveToNext()) {
|
||||||
// If we have one, find the inbox and start it syncing
|
// If we have one, find the inbox and start it syncing
|
||||||
long accountId = c.getLong(EmailContent.Account.ID_PROJECTION_COLUMN);
|
long accountId = c.getLong(EmailContent.Account.ID_PROJECTION_COLUMN);
|
||||||
long mailboxId = EmailContent.Mailbox.findMailboxOfType(context, accountId,
|
long mailboxId = Mailbox.findMailboxOfType(context, accountId,
|
||||||
Mailbox.TYPE_INBOX);
|
Mailbox.TYPE_INBOX);
|
||||||
if (mailboxId > 0) {
|
if (mailboxId > 0) {
|
||||||
Log.d(TAG, "Starting manual sync for account " + emailAddress);
|
Log.d(TAG, "Starting manual sync for account " + emailAddress);
|
||||||
|
|
|
@ -23,8 +23,8 @@ import com.android.email.activity.MessageCompose;
|
||||||
import com.android.email.activity.UiUtilities;
|
import com.android.email.activity.UiUtilities;
|
||||||
import com.android.email.activity.Welcome;
|
import com.android.email.activity.Welcome;
|
||||||
import com.android.email.provider.WidgetProvider.WidgetService;
|
import com.android.email.provider.WidgetProvider.WidgetService;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.EmailAsyncTask;
|
import com.android.emailcommon.utility.EmailAsyncTask;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,8 @@ import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Body;
|
import com.android.emailcommon.provider.EmailContent.Body;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
@ -202,13 +202,13 @@ public class ControllerProviderOpsTests extends ProviderTestCase2<EmailProvider>
|
||||||
|
|
||||||
Mailbox trashBox = ProviderTestUtils.setupMailbox("box2", account1Id, false,
|
Mailbox trashBox = ProviderTestUtils.setupMailbox("box2", account1Id, false,
|
||||||
mProviderContext);
|
mProviderContext);
|
||||||
trashBox.mType = EmailContent.Mailbox.TYPE_TRASH;
|
trashBox.mType = Mailbox.TYPE_TRASH;
|
||||||
trashBox.save(mProviderContext);
|
trashBox.save(mProviderContext);
|
||||||
long trashBoxId = trashBox.mId;
|
long trashBoxId = trashBox.mId;
|
||||||
|
|
||||||
Mailbox draftBox = ProviderTestUtils.setupMailbox("box3", account1Id, false,
|
Mailbox draftBox = ProviderTestUtils.setupMailbox("box3", account1Id, false,
|
||||||
mProviderContext);
|
mProviderContext);
|
||||||
draftBox.mType = EmailContent.Mailbox.TYPE_DRAFTS;
|
draftBox.mType = Mailbox.TYPE_DRAFTS;
|
||||||
draftBox.save(mProviderContext);
|
draftBox.save(mProviderContext);
|
||||||
long draftBoxId = draftBox.mId;
|
long draftBoxId = draftBox.mId;
|
||||||
|
|
||||||
|
@ -289,9 +289,9 @@ public class ControllerProviderOpsTests extends ProviderTestCase2<EmailProvider>
|
||||||
// check the new mailbox and see if it looks right
|
// check the new mailbox and see if it looks right
|
||||||
assertFalse(-1 == message1get.mMailboxKey);
|
assertFalse(-1 == message1get.mMailboxKey);
|
||||||
assertFalse(box1Id == message1get.mMailboxKey);
|
assertFalse(box1Id == message1get.mMailboxKey);
|
||||||
Mailbox mailbox2get = EmailContent.Mailbox.restoreMailboxWithId(mProviderContext,
|
Mailbox mailbox2get = Mailbox.restoreMailboxWithId(mProviderContext,
|
||||||
message1get.mMailboxKey);
|
message1get.mMailboxKey);
|
||||||
assertEquals(EmailContent.Mailbox.TYPE_TRASH, mailbox2get.mType);
|
assertEquals(Mailbox.TYPE_TRASH, mailbox2get.mType);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -18,8 +18,8 @@ package com.android.email;
|
||||||
|
|
||||||
import com.android.email.provider.ProviderTestUtils;
|
import com.android.email.provider.ProviderTestUtils;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
|
@ -21,8 +21,8 @@ import com.android.email.provider.EmailProvider;
|
||||||
import com.android.email.provider.ProviderTestUtils;
|
import com.android.email.provider.ProviderTestUtils;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.provider.Policy;
|
import com.android.emailcommon.provider.Policy;
|
||||||
import com.android.emailcommon.service.LegacyPolicySet;
|
import com.android.emailcommon.service.LegacyPolicySet;
|
||||||
|
|
||||||
|
|
|
@ -22,9 +22,8 @@ import com.android.email.Email;
|
||||||
import com.android.email.TestUtils;
|
import com.android.email.TestUtils;
|
||||||
import com.android.email.provider.ProviderTestUtils;
|
import com.android.email.provider.ProviderTestUtils;
|
||||||
import com.android.emailcommon.mail.MessagingException;
|
import com.android.emailcommon.mail.MessagingException;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.test.InstrumentationTestCase;
|
import android.test.InstrumentationTestCase;
|
||||||
|
@ -107,7 +106,7 @@ public class MailboxFinderTest extends InstrumentationTestCase {
|
||||||
* Create a mailbox and return the ID.
|
* Create a mailbox and return the ID.
|
||||||
*/
|
*/
|
||||||
private long createMailbox(long accountId, int mailboxType) {
|
private long createMailbox(long accountId, int mailboxType) {
|
||||||
EmailContent.Mailbox box = new EmailContent.Mailbox();
|
Mailbox box = new Mailbox();
|
||||||
box.mServerId = box.mDisplayName = "mailbox";
|
box.mServerId = box.mDisplayName = "mailbox";
|
||||||
box.mAccountKey = accountId;
|
box.mAccountKey = accountId;
|
||||||
box.mType = mailboxType;
|
box.mType = mailboxType;
|
||||||
|
|
|
@ -20,8 +20,8 @@ import com.android.email.provider.EmailProvider;
|
||||||
import com.android.email.provider.ProviderTestUtils;
|
import com.android.email.provider.ProviderTestUtils;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
|
|
|
@ -19,7 +19,7 @@ package com.android.email.data;
|
||||||
import com.android.email.DBTestHelper;
|
import com.android.email.DBTestHelper;
|
||||||
import com.android.email.provider.ProviderTestUtils;
|
import com.android.email.provider.ProviderTestUtils;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.test.LoaderTestCase;
|
import android.test.LoaderTestCase;
|
||||||
|
|
|
@ -21,7 +21,7 @@ import com.android.email.mail.Store.StoreInfo;
|
||||||
import com.android.emailcommon.mail.MessagingException;
|
import com.android.emailcommon.mail.MessagingException;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.test.AndroidTestCase;
|
import android.test.AndroidTestCase;
|
||||||
import android.test.suitebuilder.annotation.MediumTest;
|
import android.test.suitebuilder.annotation.MediumTest;
|
||||||
|
|
|
@ -45,7 +45,7 @@ import com.android.emailcommon.mail.MessagingException;
|
||||||
import com.android.emailcommon.mail.Part;
|
import com.android.emailcommon.mail.Part;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
|
|
|
@ -22,8 +22,8 @@ import com.android.emailcommon.mail.MessagingException;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Attachment;
|
import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.AttachmentUtilities;
|
import com.android.emailcommon.utility.AttachmentUtilities;
|
||||||
|
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
|
|
|
@ -21,7 +21,7 @@ import com.android.email.provider.ContentCache.CachedCursor;
|
||||||
import com.android.email.provider.ContentCache.TokenList;
|
import com.android.email.provider.ContentCache.TokenList;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.ContentUris;
|
import android.content.ContentUris;
|
||||||
|
|
|
@ -20,8 +20,8 @@ import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Attachment;
|
import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.AttachmentColumns;
|
import com.android.emailcommon.provider.EmailContent.AttachmentColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.provider.Policy;
|
import com.android.emailcommon.provider.Policy;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
|
@ -22,8 +22,8 @@ import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Attachment;
|
import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.Body;
|
import com.android.emailcommon.provider.EmailContent.Body;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
import android.content.ContentUris;
|
import android.content.ContentUris;
|
||||||
|
|
|
@ -24,10 +24,10 @@ import com.android.emailcommon.provider.EmailContent.AttachmentColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Body;
|
import com.android.emailcommon.provider.EmailContent.Body;
|
||||||
import com.android.emailcommon.provider.EmailContent.BodyColumns;
|
import com.android.emailcommon.provider.EmailContent.BodyColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
import com.android.emailcommon.provider.EmailContent.HostAuth;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.TextUtilities;
|
import com.android.emailcommon.utility.TextUtilities;
|
||||||
import com.android.emailcommon.utility.Utility;
|
import com.android.emailcommon.utility.Utility;
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,8 @@ import com.android.email.service.AttachmentDownloadService.DownloadRequest;
|
||||||
import com.android.email.service.AttachmentDownloadService.DownloadSet;
|
import com.android.email.service.AttachmentDownloadService.DownloadSet;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Attachment;
|
import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.service.EmailServiceStatus;
|
import com.android.emailcommon.service.EmailServiceStatus;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
|
@ -19,8 +19,8 @@ import com.android.email.provider.EmailProvider;
|
||||||
import com.android.email.provider.ProviderTestUtils;
|
import com.android.email.provider.ProviderTestUtils;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.test.ProviderTestCase2;
|
import android.test.ProviderTestCase2;
|
||||||
|
|
|
@ -20,7 +20,6 @@ import com.android.email.provider.ContentCache;
|
||||||
import com.android.email.provider.EmailProvider;
|
import com.android.email.provider.EmailProvider;
|
||||||
import com.android.email.provider.ProviderTestUtils;
|
import com.android.email.provider.ProviderTestUtils;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
||||||
|
@ -98,7 +97,7 @@ public class MailboxTests extends ProviderTestCase2<EmailProvider> {
|
||||||
Mailbox box1 = ProviderTestUtils.setupMailbox("box1", account1Id, true, c);
|
Mailbox box1 = ProviderTestUtils.setupMailbox("box1", account1Id, true, c);
|
||||||
long box1Id = box1.mId;
|
long box1Id = box1.mId;
|
||||||
|
|
||||||
Mailbox box2 = EmailContent.Mailbox.restoreMailboxWithId(c, box1Id);
|
Mailbox box2 = Mailbox.restoreMailboxWithId(c, box1Id);
|
||||||
|
|
||||||
ProviderTestUtils.assertMailboxEqual("testMailboxSave", box1, box2);
|
ProviderTestUtils.assertMailboxEqual("testMailboxSave", box1, box2);
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,9 +21,9 @@ import com.android.email.provider.ProviderTestUtils;
|
||||||
import com.android.emailcommon.provider.EmailContent;
|
import com.android.emailcommon.provider.EmailContent;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Attachment;
|
import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
import com.android.emailcommon.provider.EmailContent.MessageColumns;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
|
|
@ -23,9 +23,9 @@ import com.android.email.TestUtils;
|
||||||
import com.android.email.provider.ProviderTestUtils;
|
import com.android.email.provider.ProviderTestUtils;
|
||||||
import com.android.emailcommon.provider.EmailContent.Account;
|
import com.android.emailcommon.provider.EmailContent.Account;
|
||||||
import com.android.emailcommon.provider.EmailContent.Attachment;
|
import com.android.emailcommon.provider.EmailContent.Attachment;
|
||||||
import com.android.emailcommon.provider.EmailContent.Mailbox;
|
|
||||||
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
import com.android.emailcommon.provider.EmailContent.MailboxColumns;
|
||||||
import com.android.emailcommon.provider.EmailContent.Message;
|
import com.android.emailcommon.provider.EmailContent.Message;
|
||||||
|
import com.android.emailcommon.provider.Mailbox;
|
||||||
import com.android.emailcommon.utility.Utility.NewFileCreator;
|
import com.android.emailcommon.utility.Utility.NewFileCreator;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
Loading…
Reference in New Issue