From 0c7740ce86163bb8940f63a5727b1af7a79434a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 21:30:44 +0100 Subject: [PATCH 01/19] removed unread field mAccount --- src/com/fsck/k9/mail/transport/SmtpTransport.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/com/fsck/k9/mail/transport/SmtpTransport.java b/src/com/fsck/k9/mail/transport/SmtpTransport.java index 6dfa641db..d7478c89b 100644 --- a/src/com/fsck/k9/mail/transport/SmtpTransport.java +++ b/src/com/fsck/k9/mail/transport/SmtpTransport.java @@ -183,7 +183,6 @@ public class SmtpTransport extends Transport { } - Account mAccount; String mHost; int mPort; String mUsername; @@ -204,7 +203,6 @@ public class SmtpTransport extends Transport { throw new MessagingException("Error while decoding transport URI", e); } - mAccount = account; mHost = settings.host; mPort = settings.port; From 28398dbdada82ba8335fa5d17953067c22fad2cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 21:33:08 +0100 Subject: [PATCH 02/19] removed unnecessary unboxing followed by reboxing Since id is a Long, Long.valueOf(long) unboxed the Long to a primitive long, then reboxed it into a Long instance, which was again unboxed to allow it to be set as an element of the array of longs. This commit reduces the number of boxings from 3 to 1. --- src/com/fsck/k9/fragment/MessageListFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/fsck/k9/fragment/MessageListFragment.java b/src/com/fsck/k9/fragment/MessageListFragment.java index cacb19ea7..ff2f176f5 100644 --- a/src/com/fsck/k9/fragment/MessageListFragment.java +++ b/src/com/fsck/k9/fragment/MessageListFragment.java @@ -895,7 +895,7 @@ public class MessageListFragment extends SherlockFragment implements OnItemClick long[] selected = new long[mSelected.size()]; int i = 0; for (Long id : mSelected) { - selected[i++] = Long.valueOf(id); + selected[i++] = id; } outState.putLongArray(STATE_SELECTED_MESSAGES, selected); } From 309a4d6107f1bfb071989fbe81fbfe86e78cc156 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 21:38:05 +0100 Subject: [PATCH 03/19] Use more efficient entrySet iterator instead of keySet + get() The loop extracted keys from `folderMap` and then called `folderMap.get(...)` for every key. If both the key and the value needs to be iterated on, `Map.entrySet()` is a more efficient solution as it doesn't require O(n) Map lookups. --- src/com/fsck/k9/fragment/MessageListFragment.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/com/fsck/k9/fragment/MessageListFragment.java b/src/com/fsck/k9/fragment/MessageListFragment.java index ff2f176f5..f6035c47e 100644 --- a/src/com/fsck/k9/fragment/MessageListFragment.java +++ b/src/com/fsck/k9/fragment/MessageListFragment.java @@ -2667,8 +2667,9 @@ public class MessageListFragment extends SherlockFragment implements OnItemClick outMessages.add(message); } - for (String folderName : folderMap.keySet()) { - List outMessages = folderMap.get(folderName); + for (Map.Entry> entry : folderMap.entrySet()) { + String folderName = entry.getKey(); + List outMessages = entry.getValue(); Account account = outMessages.get(0).getFolder().getAccount(); if (operation == FolderOperation.MOVE) { From b942bf28895c694404f83b37418c34e6e5dee294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 21:40:57 +0100 Subject: [PATCH 04/19] typofix in comment (desti{o,}nation) --- src/com/fsck/k9/controller/MessagingController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/fsck/k9/controller/MessagingController.java b/src/com/fsck/k9/controller/MessagingController.java index 7de35d667..b6e62c59a 100644 --- a/src/com/fsck/k9/controller/MessagingController.java +++ b/src/com/fsck/k9/controller/MessagingController.java @@ -2344,7 +2344,7 @@ public class MessagingController implements Runnable { /* * This next part is used to bring the local UIDs of the local destination folder - * upto speed with the remote UIDs of remote destionation folder. + * upto speed with the remote UIDs of remote destination folder. */ if (!localUidMap.isEmpty() && remoteUidMap != null && !remoteUidMap.isEmpty()) { Set> remoteSrcEntries = remoteUidMap.entrySet(); From 8ac942d8288f929adca6d7d16402f40936063bb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 21:43:55 +0100 Subject: [PATCH 05/19] replaced unnecessary explicit iterator use with for-each loop --- src/com/fsck/k9/controller/MessagingController.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/com/fsck/k9/controller/MessagingController.java b/src/com/fsck/k9/controller/MessagingController.java index b6e62c59a..558a6a12a 100644 --- a/src/com/fsck/k9/controller/MessagingController.java +++ b/src/com/fsck/k9/controller/MessagingController.java @@ -2347,11 +2347,7 @@ public class MessagingController implements Runnable { * upto speed with the remote UIDs of remote destination folder. */ if (!localUidMap.isEmpty() && remoteUidMap != null && !remoteUidMap.isEmpty()) { - Set> remoteSrcEntries = remoteUidMap.entrySet(); - Iterator> remoteSrcEntriesIterator = remoteSrcEntries.iterator(); - - while (remoteSrcEntriesIterator.hasNext()) { - Map.Entry entry = remoteSrcEntriesIterator.next(); + for (Map.Entry entry : remoteUidMap.entrySet()) { String remoteSrcUid = entry.getKey(); String localDestUid = localUidMap.get(remoteSrcUid); String newUid = entry.getValue(); From e8d3553b2c8228185541cee52e0e5850e65d0646 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 21:50:58 +0100 Subject: [PATCH 06/19] replaced unnecessary explicit iterator use with for-each loop --- src/com/fsck/k9/helper/DomainNameChecker.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/com/fsck/k9/helper/DomainNameChecker.java b/src/com/fsck/k9/helper/DomainNameChecker.java index f13748536..0b55970e5 100644 --- a/src/com/fsck/k9/helper/DomainNameChecker.java +++ b/src/com/fsck/k9/helper/DomainNameChecker.java @@ -157,11 +157,9 @@ public class DomainNameChecker { private static boolean matchDns(X509Certificate certificate, String thisDomain) { boolean hasDns = false; try { - Collection subjectAltNames = certificate.getSubjectAlternativeNames(); + Collection> subjectAltNames = certificate.getSubjectAlternativeNames(); if (subjectAltNames != null) { - Iterator i = subjectAltNames.iterator(); - while (i.hasNext()) { - List altNameEntry = (List)(i.next()); + for (List altNameEntry : subjectAltNames) { if ((altNameEntry != null) && (2 <= altNameEntry.size())) { Integer altNameType = (Integer)(altNameEntry.get(0)); if (altNameType != null && altNameType.intValue() == ALT_DNS_NAME) { From 1202f5109a77ebe8296e01820d12542f1e41255f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 21:51:19 +0100 Subject: [PATCH 07/19] removed unnecessary explicit cast --- src/com/fsck/k9/helper/DomainNameChecker.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/com/fsck/k9/helper/DomainNameChecker.java b/src/com/fsck/k9/helper/DomainNameChecker.java index 0b55970e5..fb551977f 100644 --- a/src/com/fsck/k9/helper/DomainNameChecker.java +++ b/src/com/fsck/k9/helper/DomainNameChecker.java @@ -118,10 +118,9 @@ public class DomainNameChecker { } try { - Collection subjectAltNames = certificate.getSubjectAlternativeNames(); + Collection> subjectAltNames = certificate.getSubjectAlternativeNames(); if (subjectAltNames != null) { - for (Object subjectAltName : subjectAltNames) { - List altNameEntry = (List)(subjectAltName); + for (List altNameEntry : subjectAltNames) { if ((altNameEntry != null) && (2 <= altNameEntry.size())) { Integer altNameType = (Integer)(altNameEntry.get(0)); if (altNameType != null && altNameType.intValue() == ALT_IPA_NAME) { From 1bc3271de301665be6f43656331f66aae2fd3ae2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 21:58:52 +0100 Subject: [PATCH 08/19] replaced for with for-each loop and optimized List implementation --- src/com/fsck/k9/Account.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/com/fsck/k9/Account.java b/src/com/fsck/k9/Account.java index f9a9bb51e..1c0af846b 100644 --- a/src/com/fsck/k9/Account.java +++ b/src/com/fsck/k9/Account.java @@ -619,9 +619,9 @@ public class Account implements BaseAccount { public static List getExistingAccountNumbers(Preferences preferences) { Account[] accounts = preferences.getAccounts(); - List accountNumbers = new LinkedList(); - for (int i = 0; i < accounts.length; i++) { - accountNumbers.add(accounts[i].getAccountNumber()); + List accountNumbers = new ArrayList(accounts.length); + for (Account a : accounts) { + accountNumbers.add(a.getAccountNumber()); } return accountNumbers; } From 21fe3f6cd20cb82d3d3e7de18766150555f16b57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 22:05:18 +0100 Subject: [PATCH 09/19] use built-in TextUtils.join instead of StringBuilder --- src/com/fsck/k9/activity/MessageCompose.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/com/fsck/k9/activity/MessageCompose.java b/src/com/fsck/k9/activity/MessageCompose.java index 87b88c889..8d93c1fa4 100644 --- a/src/com/fsck/k9/activity/MessageCompose.java +++ b/src/com/fsck/k9/activity/MessageCompose.java @@ -18,6 +18,7 @@ import android.os.Handler; import android.os.Parcelable; import android.support.v4.app.LoaderManager; import android.support.v4.content.Loader; +import android.text.TextUtils; import android.text.TextWatcher; import android.text.util.Rfc822Tokenizer; import android.util.AttributeSet; @@ -2776,12 +2777,9 @@ public class MessageCompose extends K9Activity implements OnClickListener, if (message.getMessageId() != null && message.getMessageId().length() > 0) { mInReplyTo = message.getMessageId(); - if (message.getReferences() != null && message.getReferences().length > 0) { - StringBuilder buffy = new StringBuilder(); - for (int i = 0; i < message.getReferences().length; i++) - buffy.append(message.getReferences()[i]); - - mReferences = buffy.toString() + " " + mInReplyTo; + String[] refs = message.getReferences(); + if (refs != null && refs.length > 0) { + mReferences = TextUtils.join("", refs) + " " + mInReplyTo; } else { mReferences = mInReplyTo; } From 7ae3a15d7c8b33cf9c3c3715a058c41413daa3f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 22:12:57 +0100 Subject: [PATCH 10/19] converted for to for-each loop with short circuit evaluation --- src/com/fsck/k9/fragment/MessageListFragment.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/com/fsck/k9/fragment/MessageListFragment.java b/src/com/fsck/k9/fragment/MessageListFragment.java index f6035c47e..7357862ea 100644 --- a/src/com/fsck/k9/fragment/MessageListFragment.java +++ b/src/com/fsck/k9/fragment/MessageListFragment.java @@ -3462,12 +3462,11 @@ public class MessageListFragment extends SherlockFragment implements OnItemClick return false; } - boolean loadFinished = true; - for (int i = 0; i < mCursorValid.length; i++) { - loadFinished &= mCursorValid[i]; + for (boolean cursorValid : mCursorValid) { + if (!cursorValid) return false; } - return loadFinished; + return true; } /** From 572427cb57145b02302c0b589350cb20065ca7a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 22:19:58 +0100 Subject: [PATCH 11/19] use built-in TextUtils.join instead of StringBuilder --- src/com/fsck/k9/helper/Utility.java | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/com/fsck/k9/helper/Utility.java b/src/com/fsck/k9/helper/Utility.java index e09ae2159..f8392413a 100644 --- a/src/com/fsck/k9/helper/Utility.java +++ b/src/com/fsck/k9/helper/Utility.java @@ -11,6 +11,7 @@ import android.os.Build; import android.os.Handler; import android.os.Looper; import android.text.Editable; +import android.text.TextUtils; import android.util.Log; import android.widget.EditText; import android.widget.TextView; @@ -99,18 +100,8 @@ public class Utility { public static String combine(Object[] parts, char separator) { if (parts == null) { return null; - } else if (parts.length == 0) { - return ""; - } else if (parts.length == 1) { - return parts[0].toString(); } - StringBuilder sb = new StringBuilder(); - sb.append(parts[0]); - for (int i = 1; i < parts.length; ++i) { - sb.append(separator); - sb.append(parts[i]); - } - return sb.toString(); + return TextUtils.join(String.valueOf(separator), parts); } public static String base64Decode(String encoded) { From ac1e68af7808d073b152ff4669cc0ed55536f0e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 22:24:08 +0100 Subject: [PATCH 12/19] use built-in TextUtils.join instead of StringBuilder --- src/com/fsck/k9/mail/Address.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/com/fsck/k9/mail/Address.java b/src/com/fsck/k9/mail/Address.java index aff348ee8..b49f425c0 100644 --- a/src/com/fsck/k9/mail/Address.java +++ b/src/com/fsck/k9/mail/Address.java @@ -14,6 +14,7 @@ import android.text.Spannable; import android.text.SpannableString; import android.text.SpannableStringBuilder; import android.text.style.ForegroundColorSpan; +import android.text.TextUtils; import android.text.util.Rfc822Token; import android.text.util.Rfc822Tokenizer; import android.util.Log; @@ -198,14 +199,7 @@ public class Address { if (addresses == null) { return null; } - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < addresses.length; i++) { - sb.append(addresses[i].toString()); - if (i < addresses.length - 1) { - sb.append(", "); - } - } - return sb.toString(); + return TextUtils.join(", ", addresses); } public String toEncodedString() { From 8627a3e702bf69b15f73d3b82c29e3a63bbf982e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 22:28:27 +0100 Subject: [PATCH 13/19] replaced for with for-each loop --- src/com/fsck/k9/mail/internet/EncoderUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/fsck/k9/mail/internet/EncoderUtil.java b/src/com/fsck/k9/mail/internet/EncoderUtil.java index 2665ee7e8..c5e8bf667 100644 --- a/src/com/fsck/k9/mail/internet/EncoderUtil.java +++ b/src/com/fsck/k9/mail/internet/EncoderUtil.java @@ -130,8 +130,8 @@ public class EncoderUtil { private static int qEncodedLength(byte[] bytes) { int count = 0; - for (int idx = 0; idx < bytes.length; idx++) { - int v = bytes[idx] & 0xff; + for (byte b : bytes) { + int v = b & 0xff; if (v == 32) { count++; } else if (!Q_RESTRICTED_CHARS.get(v)) { From e75dd7df39eb954ae01b5a6194763bdcbc3db4b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 22:32:00 +0100 Subject: [PATCH 14/19] replaced for with for-each loop --- src/com/fsck/k9/mail/store/ImapStore.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/com/fsck/k9/mail/store/ImapStore.java b/src/com/fsck/k9/mail/store/ImapStore.java index 00672c4f9..2c2bb2fef 100644 --- a/src/com/fsck/k9/mail/store/ImapStore.java +++ b/src/com/fsck/k9/mail/store/ImapStore.java @@ -1476,11 +1476,10 @@ public class ImapStore extends Store { checkOpen(); //only need READ access List uids = new ArrayList(messages.length); HashMap messageMap = new HashMap(); - for (int i = 0, count = messages.length; i < count; i++) { - - String uid = messages[i].getUid(); + for (Message msg : messages) { + String uid = msg.getUid(); uids.add(uid); - messageMap.put(uid, messages[i]); + messageMap.put(uid, msg); } /* From 3d327763b50afd24289af8047088f1c5935431b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 22:42:20 +0100 Subject: [PATCH 15/19] replaced for with for-each loop --- src/com/fsck/k9/mail/store/WebDavStore.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/com/fsck/k9/mail/store/WebDavStore.java b/src/com/fsck/k9/mail/store/WebDavStore.java index dd8b399ed..01b45655a 100644 --- a/src/com/fsck/k9/mail/store/WebDavStore.java +++ b/src/com/fsck/k9/mail/store/WebDavStore.java @@ -463,8 +463,7 @@ public class WebDavStore extends Store { dataset = processRequest(this.mUrl, "SEARCH", getFolderListXml(), headers); String[] folderUrls = dataset.getHrefs(); - for (int i = 0; i < folderUrls.length; i++) { - String tempUrl = folderUrls[i]; + for (String tempUrl : folderUrls) { WebDavFolder folder = createFolder(tempUrl); if (folder != null) folderList.add(folder); From df75853c6416c4cc9d6541b7364923d32180d9c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 23:10:19 +0100 Subject: [PATCH 16/19] replaced entrySet + getKey with keySet --- src/com/fsck/k9/mail/store/StorageManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/fsck/k9/mail/store/StorageManager.java b/src/com/fsck/k9/mail/store/StorageManager.java index 6537e637c..27dd266d1 100644 --- a/src/com/fsck/k9/mail/store/StorageManager.java +++ b/src/com/fsck/k9/mail/store/StorageManager.java @@ -560,7 +560,7 @@ public class StorageManager { */ public String getDefaultProviderId() { // assume there is at least 1 provider defined - return mProviders.entrySet().iterator().next().getKey(); + return mProviders.keySet().iterator().next(); } /** From cbbd0bc4057cb660fb1570d46419e811b9755f62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 23:47:56 +0100 Subject: [PATCH 17/19] use more idiomatic String.isEmpty() instead of comparing length to 0 --- src/com/fsck/k9/activity/AccountList.java | 2 +- src/com/fsck/k9/activity/Accounts.java | 2 +- src/com/fsck/k9/activity/ChooseIdentity.java | 2 +- src/com/fsck/k9/activity/LauncherShortcuts.java | 2 +- src/com/fsck/k9/helper/DomainNameChecker.java | 8 ++++---- src/com/fsck/k9/helper/StringUtils.java | 2 +- src/com/fsck/k9/mail/internet/DecoderUtil.java | 2 +- src/com/fsck/k9/mail/internet/MimeUtility.java | 6 +++--- src/com/fsck/k9/preferences/SettingsImporter.java | 4 ++-- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/com/fsck/k9/activity/AccountList.java b/src/com/fsck/k9/activity/AccountList.java index 10ef10e7e..d5f29b32e 100644 --- a/src/com/fsck/k9/activity/AccountList.java +++ b/src/com/fsck/k9/activity/AccountList.java @@ -137,7 +137,7 @@ public abstract class AccountList extends K9ListActivity implements OnItemClickL holder.email.setText(account.getEmail()); } - if (description == null || description.length() == 0) { + if (description == null || description.isEmpty()) { description = account.getEmail(); } diff --git a/src/com/fsck/k9/activity/Accounts.java b/src/com/fsck/k9/activity/Accounts.java index 9601d883e..16fac193c 100644 --- a/src/com/fsck/k9/activity/Accounts.java +++ b/src/com/fsck/k9/activity/Accounts.java @@ -1735,7 +1735,7 @@ public class Accounts extends K9ListActivity implements OnItemClickListener { } String description = account.getDescription(); - if (description == null || description.length() == 0) { + if (description == null || description.isEmpty()) { description = account.getEmail(); } diff --git a/src/com/fsck/k9/activity/ChooseIdentity.java b/src/com/fsck/k9/activity/ChooseIdentity.java index 57e852275..6795ea0b9 100644 --- a/src/com/fsck/k9/activity/ChooseIdentity.java +++ b/src/com/fsck/k9/activity/ChooseIdentity.java @@ -59,7 +59,7 @@ public class ChooseIdentity extends K9ListActivity { identities = mAccount.getIdentities(); for (Identity identity : identities) { String description = identity.getDescription(); - if (description == null || description.trim().length() == 0) { + if (description == null || description.trim().isEmpty()) { description = getString(R.string.message_view_from_format, identity.getName(), identity.getEmail()); } adapter.add(description); diff --git a/src/com/fsck/k9/activity/LauncherShortcuts.java b/src/com/fsck/k9/activity/LauncherShortcuts.java index 427e39dbf..563505896 100644 --- a/src/com/fsck/k9/activity/LauncherShortcuts.java +++ b/src/com/fsck/k9/activity/LauncherShortcuts.java @@ -40,7 +40,7 @@ public class LauncherShortcuts extends AccountList { Intent intent = new Intent(); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); String description = account.getDescription(); - if (description == null || description.length() == 0) { + if (description == null || description.isEmpty()) { description = account.getEmail(); } intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, description); diff --git a/src/com/fsck/k9/helper/DomainNameChecker.java b/src/com/fsck/k9/helper/DomainNameChecker.java index fb551977f..360e13e22 100644 --- a/src/com/fsck/k9/helper/DomainNameChecker.java +++ b/src/com/fsck/k9/helper/DomainNameChecker.java @@ -57,7 +57,7 @@ public class DomainNameChecker { */ public static boolean match(X509Certificate certificate, String thisDomain) { if ((certificate == null) || (thisDomain == null) - || (thisDomain.length() == 0)) { + || thisDomain.isEmpty()) { return false; } @@ -73,7 +73,7 @@ public class DomainNameChecker { * @return True iff the domain name is specified as an IP address */ private static boolean isIpAddress(String domain) { - if ((domain == null) || (domain.length() == 0)) { + if ((domain == null) || domain.isEmpty()) { return false; } @@ -210,8 +210,8 @@ public class DomainNameChecker { + thatDomain); } - if ((thisDomain == null) || (thisDomain.length() == 0) - || (thatDomain == null) || (thatDomain.length() == 0)) { + if ((thisDomain == null) || thisDomain.isEmpty() + || (thatDomain == null) || thatDomain.isEmpty()) { return false; } diff --git a/src/com/fsck/k9/helper/StringUtils.java b/src/com/fsck/k9/helper/StringUtils.java index 8ffc06a9a..2567a294d 100644 --- a/src/com/fsck/k9/helper/StringUtils.java +++ b/src/com/fsck/k9/helper/StringUtils.java @@ -3,7 +3,7 @@ package com.fsck.k9.helper; public final class StringUtils { public static boolean isNullOrEmpty(String string){ - return string == null || string.length() == 0; + return string == null || string.isEmpty(); } public static boolean containsAny(String haystack, String[] needles) { diff --git a/src/com/fsck/k9/mail/internet/DecoderUtil.java b/src/com/fsck/k9/mail/internet/DecoderUtil.java index 28abeed84..5c7d5034f 100644 --- a/src/com/fsck/k9/mail/internet/DecoderUtil.java +++ b/src/com/fsck/k9/mail/internet/DecoderUtil.java @@ -176,7 +176,7 @@ public class DecoderUtil { return null; } - if (encodedText.length() == 0) { + if (encodedText.isEmpty()) { Log.w(K9.LOG_TAG, "Missing encoded text in encoded word: '" + body.substring(begin, end) + "'"); return null; } diff --git a/src/com/fsck/k9/mail/internet/MimeUtility.java b/src/com/fsck/k9/mail/internet/MimeUtility.java index a43efff21..c97e25df6 100644 --- a/src/com/fsck/k9/mail/internet/MimeUtility.java +++ b/src/com/fsck/k9/mail/internet/MimeUtility.java @@ -1059,7 +1059,7 @@ public class MimeUtility { in.read(buf, 0, buf.length); String str = new String(buf, "US-ASCII"); - if (str.length() == 0) { + if (str.isEmpty()) { return ""; } Pattern p = Pattern.compile("", Pattern.CASE_INSENSITIVE); @@ -3426,9 +3426,9 @@ public class MimeUtility { BodyPart bodyPart = multipart.getBodyPart(i); String bodyText = getTextFromPart(bodyPart); if (bodyText != null) { - if (text.length() == 0 && bodyPart.isMimeType("text/plain")) { + if (text.isEmpty() && bodyPart.isMimeType("text/plain")) { text = bodyText; - } else if (html.length() == 0 && bodyPart.isMimeType("text/html")) { + } else if (html.isEmpty() && bodyPart.isMimeType("text/html")) { html = bodyText; } } diff --git a/src/com/fsck/k9/preferences/SettingsImporter.java b/src/com/fsck/k9/preferences/SettingsImporter.java index a3a26d65e..c9fd6557c 100644 --- a/src/com/fsck/k9/preferences/SettingsImporter.java +++ b/src/com/fsck/k9/preferences/SettingsImporter.java @@ -380,7 +380,7 @@ public class SettingsImporter { // Mark account as disabled if the settings file didn't contain a password boolean createAccountDisabled = (incoming.password == null || - incoming.password.length() == 0); + incoming.password.isEmpty()); if (account.outgoing == null && !WebDavStore.STORE_TYPE.equals(account.incoming.type)) { // All account types except WebDAV need to provide outgoing server settings @@ -394,7 +394,7 @@ public class SettingsImporter { putString(editor, accountKeyPrefix + Account.TRANSPORT_URI_KEY, Utility.base64Encode(transportUri)); // Mark account as disabled if the settings file didn't contain a password - if (outgoing.password == null || outgoing.password.length() == 0) { + if (outgoing.password == null || outgoing.password.isEmpty()) { createAccountDisabled = true; } } From ab3044c9fa1e29a30bbef8e3e2723bc6a61b44ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Sat, 15 Feb 2014 23:48:35 +0100 Subject: [PATCH 18/19] use Set instead of implementation type --- src/com/fsck/k9/activity/setup/Prefs.java | 3 ++- src/com/fsck/k9/controller/MessagingController.java | 6 +++--- src/com/fsck/k9/mail/Message.java | 2 +- src/com/fsck/k9/mail/store/ImapStore.java | 4 ++-- src/com/fsck/k9/mail/store/Pop3Store.java | 5 +++-- src/com/fsck/k9/search/ConditionsTreeNode.java | 7 ++++--- src/com/fsck/k9/search/LocalSearch.java | 4 ++-- 7 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/com/fsck/k9/activity/setup/Prefs.java b/src/com/fsck/k9/activity/setup/Prefs.java index dfbec1167..fc091b1f5 100644 --- a/src/com/fsck/k9/activity/setup/Prefs.java +++ b/src/com/fsck/k9/activity/setup/Prefs.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; +import java.util.Set; import android.content.Context; import android.content.Intent; @@ -168,7 +169,7 @@ public class Prefs extends K9PreferenceActivity { List entryVector = new ArrayList(Arrays.asList(mLanguage.getEntries())); List entryValueVector = new ArrayList(Arrays.asList(mLanguage.getEntryValues())); String supportedLanguages[] = getResources().getStringArray(R.array.supported_languages); - HashSet supportedLanguageSet = new HashSet(Arrays.asList(supportedLanguages)); + Set supportedLanguageSet = new HashSet(Arrays.asList(supportedLanguages)); for (int i = entryVector.size() - 1; i > -1; --i) { if (!supportedLanguageSet.contains(entryValueVector.get(i))) { entryVector.remove(i); diff --git a/src/com/fsck/k9/controller/MessagingController.java b/src/com/fsck/k9/controller/MessagingController.java index 558a6a12a..63d2afa63 100644 --- a/src/com/fsck/k9/controller/MessagingController.java +++ b/src/com/fsck/k9/controller/MessagingController.java @@ -616,11 +616,11 @@ public class MessagingController implements Runnable { List remoteFolders = store.getPersonalNamespaces(false); LocalStore localStore = account.getLocalStore(); - HashSet remoteFolderNames = new HashSet(); + Set remoteFolderNames = new HashSet(); List foldersToCreate = new LinkedList(); localFolders = localStore.getPersonalNamespaces(false); - HashSet localFolderNames = new HashSet(); + Set localFolderNames = new HashSet(); for (Folder localFolder : localFolders) { localFolderNames.add(localFolder.getName()); } @@ -693,7 +693,7 @@ public class MessagingController implements Runnable { public void searchLocalMessagesSynchronous(final LocalSearch search, final MessagingListener listener) { final AccountStats stats = new AccountStats(); - final HashSet uuidSet = new HashSet(Arrays.asList(search.getAccountUuids())); + final Set uuidSet = new HashSet(Arrays.asList(search.getAccountUuids())); Account[] accounts = Preferences.getPreferences(mApplication.getApplicationContext()).getAccounts(); boolean allAccounts = uuidSet.contains(SearchSpecification.ALL_ACCOUNTS); diff --git a/src/com/fsck/k9/mail/Message.java b/src/com/fsck/k9/mail/Message.java index 70ee13f30..69d65e763 100644 --- a/src/com/fsck/k9/mail/Message.java +++ b/src/com/fsck/k9/mail/Message.java @@ -26,7 +26,7 @@ public abstract class Message implements Part, CompositeBody { protected String mUid; - protected HashSet mFlags = new HashSet(); + protected Set mFlags = new HashSet(); protected Date mInternalDate; diff --git a/src/com/fsck/k9/mail/store/ImapStore.java b/src/com/fsck/k9/mail/store/ImapStore.java index 2c2bb2fef..87a0c2fb4 100644 --- a/src/com/fsck/k9/mail/store/ImapStore.java +++ b/src/com/fsck/k9/mail/store/ImapStore.java @@ -531,7 +531,7 @@ public class ImapStore extends Store { return allFolders; } else { List resultFolders = new LinkedList(); - HashSet subscribedFolderNames = new HashSet(); + Set subscribedFolderNames = new HashSet(); List subscribedFolders = listFolders(connection, true); for (Folder subscribedFolder : subscribedFolders) { subscribedFolderNames.add(subscribedFolder.getName()); @@ -1488,7 +1488,7 @@ public class ImapStore extends Store { * Envelope - UID FETCH ([FLAGS] INTERNALDATE UID RFC822.SIZE FLAGS BODY.PEEK[HEADER.FIELDS (date subject from content-type to cc)]) * */ - LinkedHashSet fetchFields = new LinkedHashSet(); + Set fetchFields = new LinkedHashSet(); fetchFields.add("UID"); if (fp.contains(FetchProfile.Item.FLAGS)) { fetchFields.add("FLAGS"); diff --git a/src/com/fsck/k9/mail/store/Pop3Store.java b/src/com/fsck/k9/mail/store/Pop3Store.java index ab2133001..bdc0ef5bf 100644 --- a/src/com/fsck/k9/mail/store/Pop3Store.java +++ b/src/com/fsck/k9/mail/store/Pop3Store.java @@ -27,6 +27,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; public class Pop3Store extends Store { public static final String STORE_TYPE = "POP3"; @@ -628,7 +629,7 @@ public class Pop3Store extends Store { private void indexUids(ArrayList uids) throws MessagingException, IOException { - HashSet unindexedUids = new HashSet(); + Set unindexedUids = new HashSet(); for (String uid : uids) { if (mUidToMsgMap.get(uid) == null) { if (K9.DEBUG && K9.DEBUG_PROTOCOL_POP3) { @@ -801,7 +802,7 @@ public class Pop3Store extends Store { } } } else { - HashSet msgUidIndex = new HashSet(); + Set msgUidIndex = new HashSet(); for (Message message : messages) { msgUidIndex.add(message.getUid()); } diff --git a/src/com/fsck/k9/search/ConditionsTreeNode.java b/src/com/fsck/k9/search/ConditionsTreeNode.java index 1a1be85d7..7730e0725 100644 --- a/src/com/fsck/k9/search/ConditionsTreeNode.java +++ b/src/com/fsck/k9/search/ConditionsTreeNode.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Stack; +import java.util.Set; import android.database.Cursor; import android.os.Parcel; @@ -243,8 +244,8 @@ public class ConditionsTreeNode implements Parcelable { * Get a set of all the leaves in the tree. * @return Set of all the leaves. */ - public HashSet getLeafSet() { - HashSet leafSet = new HashSet(); + public Set getLeafSet() { + Set leafSet = new HashSet(); return getLeafSet(leafSet); } @@ -338,7 +339,7 @@ public class ConditionsTreeNode implements Parcelable { * @param leafSet Leafset that's being built. * @return Set of leaves being completed. */ - private HashSet getLeafSet(HashSet leafSet) { + private Set getLeafSet(Set leafSet) { if (mLeft == null && mRight == null) { // if we ended up in a leaf, add ourself and return leafSet.add(this); diff --git a/src/com/fsck/k9/search/LocalSearch.java b/src/com/fsck/k9/search/LocalSearch.java index 9ee9577e9..e109e50f4 100644 --- a/src/com/fsck/k9/search/LocalSearch.java +++ b/src/com/fsck/k9/search/LocalSearch.java @@ -28,9 +28,9 @@ public class LocalSearch implements SearchSpecification { private boolean mManualSearch = false; // since the uuid isn't in the message table it's not in the tree neither - private HashSet mAccountUuids = new HashSet(); + private Set mAccountUuids = new HashSet(); private ConditionsTreeNode mConditions = null; - private HashSet mLeafSet = new HashSet(); + private Set mLeafSet = new HashSet(); /////////////////////////////////////////////////////////////// From 70399829c2f96d4b82add2a9dd59cb67c5898442 Mon Sep 17 00:00:00 2001 From: cketti Date: Mon, 17 Feb 2014 19:57:44 +0100 Subject: [PATCH 19/19] Fix indentation and code style --- src/com/fsck/k9/fragment/MessageListFragment.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/com/fsck/k9/fragment/MessageListFragment.java b/src/com/fsck/k9/fragment/MessageListFragment.java index 7357862ea..fb2b6f69c 100644 --- a/src/com/fsck/k9/fragment/MessageListFragment.java +++ b/src/com/fsck/k9/fragment/MessageListFragment.java @@ -3463,7 +3463,9 @@ public class MessageListFragment extends SherlockFragment implements OnItemClick } for (boolean cursorValid : mCursorValid) { - if (!cursorValid) return false; + if (!cursorValid) { + return false; + } } return true;