From 9e9caaee7c20c538b00f791e54d5d2744c17c1ef Mon Sep 17 00:00:00 2001 From: Tony Mantler Date: Tue, 10 Sep 2013 16:18:22 -0700 Subject: [PATCH] Reorder db update/notify and clean up warnings in EmailProvider Change-Id: I6c65c18ea19bd1afd956b455ac296a4c2d402662 --- .../android/email/provider/EmailProvider.java | 56 ++++++++++--------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/src/com/android/email/provider/EmailProvider.java b/src/com/android/email/provider/EmailProvider.java index 49c940451..ee01b496d 100644 --- a/src/com/android/email/provider/EmailProvider.java +++ b/src/com/android/email/provider/EmailProvider.java @@ -718,8 +718,9 @@ public class EmailProvider extends ContentProvider { Uri.parse("content://" + UI_NOTIFICATION_AUTHORITY + "/uifolders"); private static final Uri UIPROVIDER_ACCOUNT_NOTIFIER = Uri.parse("content://" + UI_NOTIFICATION_AUTHORITY + "/uiaccount"); - public static final Uri UIPROVIDER_SETTINGS_NOTIFIER = - Uri.parse("content://" + UI_NOTIFICATION_AUTHORITY + "/uisettings"); + // Not currently used + /*public static final Uri UIPROVIDER_SETTINGS_NOTIFIER = + Uri.parse("content://" + UI_NOTIFICATION_AUTHORITY + "/uisettings");*/ private static final Uri UIPROVIDER_ATTACHMENT_NOTIFIER = Uri.parse("content://" + UI_NOTIFICATION_AUTHORITY + "/uiattachment"); private static final Uri UIPROVIDER_ATTACHMENTS_NOTIFIER = @@ -750,7 +751,7 @@ public class EmailProvider extends ContentProvider { values.put(MailboxColumns.MESSAGE_COUNT, 0); } - Uri resultUri = null; + final Uri resultUri; try { switch (match) { @@ -783,7 +784,7 @@ public class EmailProvider extends ContentProvider { // Notify the account when a new mailbox is added final Long accountId = values.getAsLong(MailboxColumns.ACCOUNT_KEY); - if (accountId != null && accountId.longValue() > 0) { + if (accountId != null && accountId > 0) { notifyUI(UIPROVIDER_ACCOUNT_NOTIFIER, accountId); notifyUI(UIPROVIDER_FOLDERLIST_NOTIFIER, accountId); } @@ -1033,10 +1034,6 @@ public class EmailProvider extends ContentProvider { @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { - long time = 0L; - if (MailActivityEmail.DEBUG) { - time = System.nanoTime(); - } Cursor c = null; int match; try { @@ -1099,12 +1096,8 @@ public class EmailProvider extends ContentProvider { } final String seenParam = uri.getQueryParameter(UIProvider.SEEN_QUERY_PARAMETER); - final boolean unseenOnly; - if (seenParam != null && Boolean.FALSE.toString().equals(seenParam)) { - unseenOnly = true; - } else { - unseenOnly = false; - } + final boolean unseenOnly = + seenParam != null && Boolean.FALSE.toString().equals(seenParam); c = uiQuery(match, uri, projection, unseenOnly); return c; @@ -4039,10 +4032,10 @@ public class EmailProvider extends ContentProvider { final long now = System.currentTimeMillis(); final ContentResolver resolver = context.getContentResolver(); final ContentValues touchValues = new ContentValues(); - for (int i=0, size=folders.length; i < size; ++i) { + for (final Uri folder : folders) { touchValues.put(MailboxColumns.LAST_TOUCHED_TIME, now); - LogUtils.d(TAG, "updateStamp: %s updated", folders[i]); - updated += resolver.update(folders[i], touchValues, null, null); + LogUtils.d(TAG, "updateStamp: %s updated", folder); + updated += resolver.update(folder, touchValues, null, null); } final Uri toNotify = UIPROVIDER_RECENT_FOLDERS_NOTIFIER.buildUpon().appendPath(id).build(); @@ -4054,7 +4047,7 @@ public class EmailProvider extends ContentProvider { /** * Updates the recent folders. The values to be updated are specified as ContentValues pairs * of (Folder URI, access timestamp). Returns nonzero if successful, always. - * @param uri + * @param uri provider query uri * @param values uri, timestamp pairs * @return nonzero value always. */ @@ -4072,7 +4065,7 @@ public class EmailProvider extends ContentProvider { /** * Populates the recent folders according to the design. - * @param uri + * @param uri provider query uri * @return the number of recent folders were populated. */ private int uiPopulateRecentFolders(Uri uri) { @@ -4298,6 +4291,7 @@ public class EmailProvider extends ContentProvider { // Notify box has changed so the deletion is reflected in the UI notifyUIConversationMailbox(mailbox.mId); } catch (RemoteException e) { + LogUtils.d(TAG, "Remote exception while sending meeting response"); } return 1; } @@ -4378,11 +4372,11 @@ public class EmailProvider extends ContentProvider { } } - public static final String PICKER_UI_ACCOUNT = "picker_ui_account"; - public static final String PICKER_MAILBOX_TYPE = "picker_mailbox_type"; - public static final String PICKER_MESSAGE_ID = "picker_message_id"; - public static final String PICKER_HEADER_ID = "picker_header_id"; - + /** + * Perform a "Delete" operation + * @param uri message to delete + * @return number of rows affected + */ private int uiDeleteMessage(Uri uri) { final Context context = getContext(); Message msg = getMessageFromLastSegment(uri); @@ -4392,9 +4386,10 @@ public class EmailProvider extends ContentProvider { if (mailbox.mType == Mailbox.TYPE_TRASH || mailbox.mType == Mailbox.TYPE_DRAFTS) { // We actually delete these, including attachments AttachmentUtilities.deleteAllAttachmentFiles(context, msg.mAccountKey, msg.mId); - notifyUIFolder(mailbox.mId, mailbox.mAccountKey); - return context.getContentResolver().delete( + final int r = context.getContentResolver().delete( ContentUris.withAppendedId(Message.SYNCED_CONTENT_URI, msg.mId), null, null); + notifyUIFolder(mailbox.mId, mailbox.mAccountKey); + return r; } Mailbox trashMailbox = Mailbox.restoreMailboxOfType(context, msg.mAccountKey, Mailbox.TYPE_TRASH); @@ -4403,10 +4398,17 @@ public class EmailProvider extends ContentProvider { } ContentValues values = new ContentValues(); values.put(MessageColumns.MAILBOX_KEY, trashMailbox.mId); + final int r = uiUpdateMessage(uri, values, true); notifyUIFolder(mailbox.mId, mailbox.mAccountKey); - return uiUpdateMessage(uri, values, true); + return r; } + public static final String PICKER_UI_ACCOUNT = "picker_ui_account"; + public static final String PICKER_MAILBOX_TYPE = "picker_mailbox_type"; + // Currently unused + //public static final String PICKER_MESSAGE_ID = "picker_message_id"; + public static final String PICKER_HEADER_ID = "picker_header_id"; + private int pickFolder(Uri uri, int type, int headerId) { Context context = getContext(); Long acctId = Long.parseLong(uri.getLastPathSegment());