mirror of
https://github.com/moparisthebest/k-9
synced 2024-11-23 18:02:15 -05:00
Use TextUtils.isEmpty
This commit is contained in:
parent
37b0666f4a
commit
ca10e4d94a
@ -2,19 +2,19 @@ package com.fsck.k9.activity;
|
|||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
import com.fsck.k9.K9;
|
|
||||||
import com.fsck.k9.activity.misc.SwipeGestureDetector;
|
|
||||||
import com.fsck.k9.activity.misc.SwipeGestureDetector.OnSwipeGestureListener;
|
|
||||||
import com.fsck.k9.helper.StringUtils;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.view.GestureDetector;
|
import android.view.GestureDetector;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
|
|
||||||
|
import com.fsck.k9.K9;
|
||||||
|
import com.fsck.k9.activity.misc.SwipeGestureDetector;
|
||||||
|
import com.fsck.k9.activity.misc.SwipeGestureDetector.OnSwipeGestureListener;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class implements functionality common to most activities used in K-9 Mail.
|
* This class implements functionality common to most activities used in K-9 Mail.
|
||||||
@ -39,7 +39,7 @@ public class K9ActivityCommon {
|
|||||||
|
|
||||||
public static void setLanguage(Context context, String language) {
|
public static void setLanguage(Context context, String language) {
|
||||||
Locale locale;
|
Locale locale;
|
||||||
if (StringUtils.isNullOrEmpty(language)) {
|
if (TextUtils.isEmpty(language)) {
|
||||||
locale = Locale.getDefault();
|
locale = Locale.getDefault();
|
||||||
} else if (language.length() == 5 && language.charAt(2) == '_') {
|
} else if (language.length() == 5 && language.charAt(2) == '_') {
|
||||||
// language is in the form: en_US
|
// language is in the form: en_US
|
||||||
|
@ -91,7 +91,6 @@ import com.fsck.k9.helper.ContactItem;
|
|||||||
import com.fsck.k9.helper.Contacts;
|
import com.fsck.k9.helper.Contacts;
|
||||||
import com.fsck.k9.helper.HtmlConverter;
|
import com.fsck.k9.helper.HtmlConverter;
|
||||||
import com.fsck.k9.helper.IdentityHelper;
|
import com.fsck.k9.helper.IdentityHelper;
|
||||||
import com.fsck.k9.helper.StringUtils;
|
|
||||||
import com.fsck.k9.helper.Utility;
|
import com.fsck.k9.helper.Utility;
|
||||||
import com.fsck.k9.mail.Address;
|
import com.fsck.k9.mail.Address;
|
||||||
import com.fsck.k9.mail.Body;
|
import com.fsck.k9.mail.Body;
|
||||||
@ -1216,7 +1215,7 @@ public class MessageCompose extends K9Activity implements OnClickListener,
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addAddresses(MultiAutoCompleteTextView view, String addresses) {
|
private void addAddresses(MultiAutoCompleteTextView view, String addresses) {
|
||||||
if (StringUtils.isNullOrEmpty(addresses)) {
|
if (TextUtils.isEmpty(addresses)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (String address : addresses.split(",")) {
|
for (String address : addresses.split(",")) {
|
||||||
@ -2782,7 +2781,7 @@ public class MessageCompose extends K9Activity implements OnClickListener,
|
|||||||
// of the forwarded message in the references and the reply to. TB
|
// of the forwarded message in the references and the reply to. TB
|
||||||
// only includes ID of the message being forwarded in the reference,
|
// only includes ID of the message being forwarded in the reference,
|
||||||
// even if there are multiple references.
|
// even if there are multiple references.
|
||||||
if (!StringUtils.isNullOrEmpty(message.getMessageId())) {
|
if (!TextUtils.isEmpty(message.getMessageId())) {
|
||||||
mInReplyTo = message.getMessageId();
|
mInReplyTo = message.getMessageId();
|
||||||
mReferences = mInReplyTo;
|
mReferences = mInReplyTo;
|
||||||
} else {
|
} else {
|
||||||
|
@ -23,9 +23,10 @@ import android.graphics.drawable.Drawable;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.support.v4.util.LruCache;
|
import android.support.v4.util.LruCache;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.widget.QuickContactBadge;
|
import android.widget.QuickContactBadge;
|
||||||
|
|
||||||
import com.fsck.k9.helper.Contacts;
|
import com.fsck.k9.helper.Contacts;
|
||||||
import com.fsck.k9.helper.StringUtils;
|
|
||||||
import com.fsck.k9.mail.Address;
|
import com.fsck.k9.mail.Address;
|
||||||
|
|
||||||
public class ContactPictureLoader {
|
public class ContactPictureLoader {
|
||||||
@ -169,7 +170,7 @@ public class ContactPictureLoader {
|
|||||||
letter = m.group(0).toUpperCase(Locale.US);
|
letter = m.group(0).toUpperCase(Locale.US);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (StringUtils.isNullOrEmpty(letter)) ?
|
return (TextUtils.isEmpty(letter)) ?
|
||||||
FALLBACK_CONTACT_LETTER : letter.substring(0, 1);
|
FALLBACK_CONTACT_LETTER : letter.substring(0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,11 +15,16 @@ import java.util.Set;
|
|||||||
import java.util.concurrent.Future;
|
import java.util.concurrent.Future;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.DialogFragment;
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
|
import android.app.LoaderManager;
|
||||||
|
import android.app.LoaderManager.LoaderCallbacks;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.CursorLoader;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
|
import android.content.Loader;
|
||||||
import android.content.SharedPreferences.Editor;
|
import android.content.SharedPreferences.Editor;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
@ -30,15 +35,10 @@ import android.net.Uri;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import android.app.DialogFragment;
|
|
||||||
import android.app.LoaderManager;
|
|
||||||
import android.app.LoaderManager.LoaderCallbacks;
|
|
||||||
import android.content.CursorLoader;
|
|
||||||
import android.content.Loader;
|
|
||||||
import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
import android.widget.CursorAdapter;
|
|
||||||
import android.text.Spannable;
|
import android.text.Spannable;
|
||||||
import android.text.SpannableStringBuilder;
|
import android.text.SpannableStringBuilder;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.text.format.DateUtils;
|
import android.text.format.DateUtils;
|
||||||
import android.text.style.AbsoluteSizeSpan;
|
import android.text.style.AbsoluteSizeSpan;
|
||||||
import android.text.style.ForegroundColorSpan;
|
import android.text.style.ForegroundColorSpan;
|
||||||
@ -59,6 +59,7 @@ import android.widget.AdapterView;
|
|||||||
import android.widget.AdapterView.AdapterContextMenuInfo;
|
import android.widget.AdapterView.AdapterContextMenuInfo;
|
||||||
import android.widget.AdapterView.OnItemClickListener;
|
import android.widget.AdapterView.OnItemClickListener;
|
||||||
import android.widget.CheckBox;
|
import android.widget.CheckBox;
|
||||||
|
import android.widget.CursorAdapter;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.QuickContactBadge;
|
import android.widget.QuickContactBadge;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
@ -81,7 +82,6 @@ import com.fsck.k9.fragment.ConfirmationDialogFragment.ConfirmationDialogFragmen
|
|||||||
import com.fsck.k9.helper.ContactPicture;
|
import com.fsck.k9.helper.ContactPicture;
|
||||||
import com.fsck.k9.helper.MergeCursorWithUniqueId;
|
import com.fsck.k9.helper.MergeCursorWithUniqueId;
|
||||||
import com.fsck.k9.helper.MessageHelper;
|
import com.fsck.k9.helper.MessageHelper;
|
||||||
import com.fsck.k9.helper.StringUtils;
|
|
||||||
import com.fsck.k9.helper.Utility;
|
import com.fsck.k9.helper.Utility;
|
||||||
import com.fsck.k9.mail.Address;
|
import com.fsck.k9.mail.Address;
|
||||||
import com.fsck.k9.mail.Flag;
|
import com.fsck.k9.mail.Flag;
|
||||||
@ -100,6 +100,7 @@ import com.fsck.k9.search.SearchSpecification;
|
|||||||
import com.fsck.k9.search.SearchSpecification.SearchCondition;
|
import com.fsck.k9.search.SearchSpecification.SearchCondition;
|
||||||
import com.fsck.k9.search.SearchSpecification.Searchfield;
|
import com.fsck.k9.search.SearchSpecification.Searchfield;
|
||||||
import com.fsck.k9.search.SqlQueryBuilder;
|
import com.fsck.k9.search.SqlQueryBuilder;
|
||||||
|
|
||||||
import com.handmark.pulltorefresh.library.ILoadingLayout;
|
import com.handmark.pulltorefresh.library.ILoadingLayout;
|
||||||
import com.handmark.pulltorefresh.library.PullToRefreshBase;
|
import com.handmark.pulltorefresh.library.PullToRefreshBase;
|
||||||
import com.handmark.pulltorefresh.library.PullToRefreshListView;
|
import com.handmark.pulltorefresh.library.PullToRefreshListView;
|
||||||
@ -1943,7 +1944,7 @@ public class MessageListFragment extends Fragment implements OnItemClickListener
|
|||||||
int threadCount = (mThreadedList) ? cursor.getInt(THREAD_COUNT_COLUMN) : 0;
|
int threadCount = (mThreadedList) ? cursor.getInt(THREAD_COUNT_COLUMN) : 0;
|
||||||
|
|
||||||
String subject = cursor.getString(SUBJECT_COLUMN);
|
String subject = cursor.getString(SUBJECT_COLUMN);
|
||||||
if (StringUtils.isNullOrEmpty(subject)) {
|
if (TextUtils.isEmpty(subject)) {
|
||||||
subject = getString(R.string.general_no_subject);
|
subject = getString(R.string.general_no_subject);
|
||||||
} else if (threadCount > 1) {
|
} else if (threadCount > 1) {
|
||||||
// If this is a thread, strip the RE/FW from the subject. "Be like Outlook."
|
// If this is a thread, strip the RE/FW from the subject. "Be like Outlook."
|
||||||
@ -3449,11 +3450,11 @@ public class MessageListFragment extends Fragment implements OnItemClickListener
|
|||||||
if (mIsThreadDisplay) {
|
if (mIsThreadDisplay) {
|
||||||
if (cursor.moveToFirst()) {
|
if (cursor.moveToFirst()) {
|
||||||
mTitle = cursor.getString(SUBJECT_COLUMN);
|
mTitle = cursor.getString(SUBJECT_COLUMN);
|
||||||
if (!StringUtils.isNullOrEmpty(mTitle)) {
|
if (!TextUtils.isEmpty(mTitle)) {
|
||||||
mTitle = Utility.stripSubject(mTitle);
|
mTitle = Utility.stripSubject(mTitle);
|
||||||
}
|
}
|
||||||
if (StringUtils.isNullOrEmpty(mTitle)) {
|
if (TextUtils.isEmpty(mTitle)) {
|
||||||
mTitle = getString(R.string.general_no_subject);
|
mTitle = getString(R.string.general_no_subject);
|
||||||
}
|
}
|
||||||
updateTitle();
|
updateTitle();
|
||||||
} else {
|
} else {
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
package com.fsck.k9.helper;
|
|
||||||
|
|
||||||
public final class StringUtils {
|
|
||||||
|
|
||||||
public static boolean isNullOrEmpty(String string){
|
|
||||||
return string == null || string.isEmpty();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean containsAny(String haystack, String[] needles) {
|
|
||||||
if (haystack == null) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (String needle : needles) {
|
|
||||||
if (haystack.contains(needle)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
@ -13,15 +13,14 @@ import org.apache.james.mime4j.field.address.AddressBuilder;
|
|||||||
import android.text.Spannable;
|
import android.text.Spannable;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
import android.text.SpannableStringBuilder;
|
import android.text.SpannableStringBuilder;
|
||||||
import android.text.style.ForegroundColorSpan;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.text.style.ForegroundColorSpan;
|
||||||
import android.text.util.Rfc822Token;
|
import android.text.util.Rfc822Token;
|
||||||
import android.text.util.Rfc822Tokenizer;
|
import android.text.util.Rfc822Tokenizer;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.fsck.k9.K9;
|
import com.fsck.k9.K9;
|
||||||
import com.fsck.k9.helper.Contacts;
|
import com.fsck.k9.helper.Contacts;
|
||||||
import com.fsck.k9.helper.StringUtils;
|
|
||||||
import com.fsck.k9.helper.Utility;
|
import com.fsck.k9.helper.Utility;
|
||||||
|
|
||||||
|
|
||||||
@ -69,7 +68,7 @@ public class Address {
|
|||||||
Rfc822Token token = tokens[0];
|
Rfc822Token token = tokens[0];
|
||||||
mAddress = token.getAddress();
|
mAddress = token.getAddress();
|
||||||
String name = token.getName();
|
String name = token.getName();
|
||||||
if (!StringUtils.isNullOrEmpty(name)) {
|
if (!TextUtils.isEmpty(name)) {
|
||||||
/*
|
/*
|
||||||
* Don't use the "personal" argument if "address" is of the form:
|
* Don't use the "personal" argument if "address" is of the form:
|
||||||
* James Bond <james.bond@mi6.uk>
|
* James Bond <james.bond@mi6.uk>
|
||||||
@ -130,11 +129,11 @@ public class Address {
|
|||||||
*/
|
*/
|
||||||
public static Address[] parseUnencoded(String addressList) {
|
public static Address[] parseUnencoded(String addressList) {
|
||||||
List<Address> addresses = new ArrayList<Address>();
|
List<Address> addresses = new ArrayList<Address>();
|
||||||
if (!StringUtils.isNullOrEmpty(addressList)) {
|
if (!TextUtils.isEmpty(addressList)) {
|
||||||
Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(addressList);
|
Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(addressList);
|
||||||
for (Rfc822Token token : tokens) {
|
for (Rfc822Token token : tokens) {
|
||||||
String address = token.getAddress();
|
String address = token.getAddress();
|
||||||
if (!StringUtils.isNullOrEmpty(address)) {
|
if (!TextUtils.isEmpty(address)) {
|
||||||
addresses.add(new Address(token.getAddress(), token.getName(), false));
|
addresses.add(new Address(token.getAddress(), token.getName(), false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -150,7 +149,7 @@ public class Address {
|
|||||||
* @return An array of 0 or more Addresses.
|
* @return An array of 0 or more Addresses.
|
||||||
*/
|
*/
|
||||||
public static Address[] parse(String addressList) {
|
public static Address[] parse(String addressList) {
|
||||||
if (StringUtils.isNullOrEmpty(addressList)) {
|
if (TextUtils.isEmpty(addressList)) {
|
||||||
return EMPTY_ADDRESS_ARRAY;
|
return EMPTY_ADDRESS_ARRAY;
|
||||||
}
|
}
|
||||||
List<Address> addresses = new ArrayList<Address>();
|
List<Address> addresses = new ArrayList<Address>();
|
||||||
@ -198,7 +197,7 @@ public class Address {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
if (!StringUtils.isNullOrEmpty(mPersonal)) {
|
if (!TextUtils.isEmpty(mPersonal)) {
|
||||||
return Utility.quoteAtoms(mPersonal) + " <" + mAddress + ">";
|
return Utility.quoteAtoms(mPersonal) + " <" + mAddress + ">";
|
||||||
} else {
|
} else {
|
||||||
return mAddress;
|
return mAddress;
|
||||||
@ -213,7 +212,7 @@ public class Address {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String toEncodedString() {
|
public String toEncodedString() {
|
||||||
if (!StringUtils.isNullOrEmpty(mPersonal)) {
|
if (!TextUtils.isEmpty(mPersonal)) {
|
||||||
return EncoderUtil.encodeAddressDisplayName(mPersonal) + " <" + mAddress + ">";
|
return EncoderUtil.encodeAddressDisplayName(mPersonal) + " <" + mAddress + ">";
|
||||||
} else {
|
} else {
|
||||||
return mAddress;
|
return mAddress;
|
||||||
@ -279,7 +278,7 @@ public class Address {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (!StringUtils.isNullOrEmpty(mPersonal)) ? mPersonal : mAddress;
|
return (!TextUtils.isEmpty(mPersonal)) ? mPersonal : mAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CharSequence toFriendly(Address[] addresses) {
|
public static CharSequence toFriendly(Address[] addresses) {
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package com.fsck.k9.mail.internet;
|
package com.fsck.k9.mail.internet;
|
||||||
|
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.fsck.k9.K9;
|
import com.fsck.k9.K9;
|
||||||
import com.fsck.k9.activity.InsertableHtmlContent;
|
import com.fsck.k9.activity.InsertableHtmlContent;
|
||||||
import com.fsck.k9.helper.HtmlConverter;
|
import com.fsck.k9.helper.HtmlConverter;
|
||||||
import com.fsck.k9.helper.StringUtils;
|
|
||||||
import com.fsck.k9.mail.Body;
|
import com.fsck.k9.mail.Body;
|
||||||
|
|
||||||
public class TextBodyBuilder {
|
public class TextBodyBuilder {
|
||||||
@ -177,7 +177,7 @@ public class TextBodyBuilder {
|
|||||||
|
|
||||||
private String getSignature() {
|
private String getSignature() {
|
||||||
String signature = "";
|
String signature = "";
|
||||||
if (!StringUtils.isNullOrEmpty(mSignature)) {
|
if (!TextUtils.isEmpty(mSignature)) {
|
||||||
signature = "\r\n" + mSignature;
|
signature = "\r\n" + mSignature;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,7 +186,7 @@ public class TextBodyBuilder {
|
|||||||
|
|
||||||
private String getSignatureHtml() {
|
private String getSignatureHtml() {
|
||||||
String signature = "";
|
String signature = "";
|
||||||
if (!StringUtils.isNullOrEmpty(mSignature)) {
|
if (!TextUtils.isEmpty(mSignature)) {
|
||||||
signature = textToHtmlFragment("\r\n" + mSignature);
|
signature = textToHtmlFragment("\r\n" + mSignature);
|
||||||
}
|
}
|
||||||
return signature;
|
return signature;
|
||||||
@ -194,7 +194,7 @@ public class TextBodyBuilder {
|
|||||||
|
|
||||||
private String getQuotedText() {
|
private String getQuotedText() {
|
||||||
String quotedText = "";
|
String quotedText = "";
|
||||||
if (!StringUtils.isNullOrEmpty(mQuotedText)) {
|
if (!TextUtils.isEmpty(mQuotedText)) {
|
||||||
quotedText = mQuotedText;
|
quotedText = mQuotedText;
|
||||||
}
|
}
|
||||||
return quotedText;
|
return quotedText;
|
||||||
|
@ -26,8 +26,6 @@ import java.security.Security;
|
|||||||
import java.security.cert.CertificateException;
|
import java.security.cert.CertificateException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Deque;
|
import java.util.Deque;
|
||||||
@ -48,23 +46,19 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.zip.Inflater;
|
import java.util.zip.Inflater;
|
||||||
import java.util.zip.InflaterInputStream;
|
import java.util.zip.InflaterInputStream;
|
||||||
|
|
||||||
import javax.net.ssl.SSLException;
|
import javax.net.ssl.SSLException;
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.NetworkInfo;
|
import android.net.NetworkInfo;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.beetstra.jutf7.CharsetProvider;
|
|
||||||
import com.fsck.k9.Account;
|
import com.fsck.k9.Account;
|
||||||
import com.fsck.k9.K9;
|
import com.fsck.k9.K9;
|
||||||
import com.fsck.k9.R;
|
import com.fsck.k9.R;
|
||||||
import com.fsck.k9.controller.MessageRetrievalListener;
|
import com.fsck.k9.controller.MessageRetrievalListener;
|
||||||
import com.fsck.k9.helper.StringUtils;
|
|
||||||
import com.fsck.k9.helper.UrlEncodingHelper;
|
import com.fsck.k9.helper.UrlEncodingHelper;
|
||||||
import com.fsck.k9.helper.Utility;
|
import com.fsck.k9.helper.Utility;
|
||||||
import com.fsck.k9.helper.power.TracingPowerManager;
|
import com.fsck.k9.helper.power.TracingPowerManager;
|
||||||
@ -99,8 +93,11 @@ import com.fsck.k9.mail.store.ImapResponseParser.ImapResponse;
|
|||||||
import com.fsck.k9.mail.store.imap.ImapUtility;
|
import com.fsck.k9.mail.store.imap.ImapUtility;
|
||||||
import com.fsck.k9.mail.transport.imap.ImapSettings;
|
import com.fsck.k9.mail.transport.imap.ImapSettings;
|
||||||
import com.fsck.k9.net.ssl.TrustedSocketFactory;
|
import com.fsck.k9.net.ssl.TrustedSocketFactory;
|
||||||
|
|
||||||
|
import com.beetstra.jutf7.CharsetProvider;
|
||||||
import com.jcraft.jzlib.JZlib;
|
import com.jcraft.jzlib.JZlib;
|
||||||
import com.jcraft.jzlib.ZOutputStream;
|
import com.jcraft.jzlib.ZOutputStream;
|
||||||
|
import org.apache.commons.io.IOUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
@ -2009,7 +2006,7 @@ public class ImapStore extends Store {
|
|||||||
|
|
||||||
String newUid = appendList.getString(2);
|
String newUid = appendList.getString(2);
|
||||||
|
|
||||||
if (!StringUtils.isNullOrEmpty(newUid)) {
|
if (!TextUtils.isEmpty(newUid)) {
|
||||||
message.setUid(newUid);
|
message.setUid(newUid);
|
||||||
uidMap.put(message.getUid(), newUid);
|
uidMap.put(message.getUid(), newUid);
|
||||||
continue;
|
continue;
|
||||||
@ -2027,7 +2024,7 @@ public class ImapStore extends Store {
|
|||||||
Log.d(K9.LOG_TAG, "Got UID " + newUid + " for message for " + getLogId());
|
Log.d(K9.LOG_TAG, "Got UID " + newUid + " for message for " + getLogId());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!StringUtils.isNullOrEmpty(newUid)) {
|
if (!TextUtils.isEmpty(newUid)) {
|
||||||
uidMap.put(message.getUid(), newUid);
|
uidMap.put(message.getUid(), newUid);
|
||||||
message.setUid(newUid);
|
message.setUid(newUid);
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,6 @@ import java.util.List;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.ContentValues;
|
import android.content.ContentValues;
|
||||||
@ -20,26 +19,25 @@ import android.content.SharedPreferences;
|
|||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.database.sqlite.SQLiteDatabase;
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.fsck.k9.Account;
|
import com.fsck.k9.Account;
|
||||||
import com.fsck.k9.K9;
|
import com.fsck.k9.K9;
|
||||||
import com.fsck.k9.Preferences;
|
import com.fsck.k9.Preferences;
|
||||||
import com.fsck.k9.controller.MessageRetrievalListener;
|
import com.fsck.k9.controller.MessageRetrievalListener;
|
||||||
import com.fsck.k9.helper.StringUtils;
|
|
||||||
import com.fsck.k9.helper.UrlEncodingHelper;
|
import com.fsck.k9.helper.UrlEncodingHelper;
|
||||||
import com.fsck.k9.helper.Utility;
|
import com.fsck.k9.helper.Utility;
|
||||||
import com.fsck.k9.mail.Flag;
|
import com.fsck.k9.mail.Flag;
|
||||||
import com.fsck.k9.mail.Folder;
|
import com.fsck.k9.mail.Folder;
|
||||||
import com.fsck.k9.mail.Message;
|
|
||||||
import com.fsck.k9.mail.MessagingException;
|
import com.fsck.k9.mail.MessagingException;
|
||||||
import com.fsck.k9.mail.Store;
|
import com.fsck.k9.mail.Store;
|
||||||
import com.fsck.k9.mail.store.LockableDatabase;
|
import com.fsck.k9.mail.store.LockableDatabase;
|
||||||
import com.fsck.k9.mail.store.StorageManager;
|
|
||||||
import com.fsck.k9.mail.store.UnavailableStorageException;
|
|
||||||
import com.fsck.k9.mail.store.LockableDatabase.DbCallback;
|
import com.fsck.k9.mail.store.LockableDatabase.DbCallback;
|
||||||
import com.fsck.k9.mail.store.LockableDatabase.WrappedException;
|
import com.fsck.k9.mail.store.LockableDatabase.WrappedException;
|
||||||
|
import com.fsck.k9.mail.store.StorageManager;
|
||||||
import com.fsck.k9.mail.store.StorageManager.StorageProvider;
|
import com.fsck.k9.mail.store.StorageManager.StorageProvider;
|
||||||
|
import com.fsck.k9.mail.store.UnavailableStorageException;
|
||||||
import com.fsck.k9.provider.EmailProvider;
|
import com.fsck.k9.provider.EmailProvider;
|
||||||
import com.fsck.k9.provider.EmailProvider.MessageColumns;
|
import com.fsck.k9.provider.EmailProvider.MessageColumns;
|
||||||
import com.fsck.k9.search.LocalSearch;
|
import com.fsck.k9.search.LocalSearch;
|
||||||
@ -539,7 +537,7 @@ public class LocalStore extends Store implements Serializable {
|
|||||||
"LEFT JOIN threads ON (threads.message_id = messages.id) " +
|
"LEFT JOIN threads ON (threads.message_id = messages.id) " +
|
||||||
"LEFT JOIN folders ON (folders.id = messages.folder_id) WHERE " +
|
"LEFT JOIN folders ON (folders.id = messages.folder_id) WHERE " +
|
||||||
"((empty IS NULL OR empty != 1) AND deleted = 0)" +
|
"((empty IS NULL OR empty != 1) AND deleted = 0)" +
|
||||||
((!StringUtils.isNullOrEmpty(where)) ? " AND (" + where + ")" : "") +
|
((!TextUtils.isEmpty(where)) ? " AND (" + where + ")" : "") +
|
||||||
" ORDER BY date DESC";
|
" ORDER BY date DESC";
|
||||||
|
|
||||||
if (K9.DEBUG) {
|
if (K9.DEBUG) {
|
||||||
|
@ -8,14 +8,13 @@ import java.util.Map;
|
|||||||
import com.fsck.k9.Account;
|
import com.fsck.k9.Account;
|
||||||
import com.fsck.k9.Preferences;
|
import com.fsck.k9.Preferences;
|
||||||
import com.fsck.k9.cache.EmailProviderCacheCursor;
|
import com.fsck.k9.cache.EmailProviderCacheCursor;
|
||||||
import com.fsck.k9.helper.StringUtils;
|
|
||||||
import com.fsck.k9.helper.Utility;
|
import com.fsck.k9.helper.Utility;
|
||||||
import com.fsck.k9.mail.MessagingException;
|
import com.fsck.k9.mail.MessagingException;
|
||||||
import com.fsck.k9.mail.store.LockableDatabase;
|
import com.fsck.k9.mail.store.LockableDatabase;
|
||||||
import com.fsck.k9.mail.store.LockableDatabase.DbCallback;
|
import com.fsck.k9.mail.store.LockableDatabase.DbCallback;
|
||||||
import com.fsck.k9.mail.store.LockableDatabase.WrappedException;
|
import com.fsck.k9.mail.store.LockableDatabase.WrappedException;
|
||||||
import com.fsck.k9.mail.store.local.LocalStore;
|
|
||||||
import com.fsck.k9.mail.store.UnavailableStorageException;
|
import com.fsck.k9.mail.store.UnavailableStorageException;
|
||||||
|
import com.fsck.k9.mail.store.local.LocalStore;
|
||||||
import com.fsck.k9.search.SqlQueryBuilder;
|
import com.fsck.k9.search.SqlQueryBuilder;
|
||||||
|
|
||||||
import android.content.ContentProvider;
|
import android.content.ContentProvider;
|
||||||
@ -27,6 +26,7 @@ import android.database.Cursor;
|
|||||||
import android.database.CursorWrapper;
|
import android.database.CursorWrapper;
|
||||||
import android.database.sqlite.SQLiteDatabase;
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Content Provider used to display the message list etc.
|
* Content Provider used to display the message list etc.
|
||||||
@ -303,7 +303,7 @@ public class EmailProvider extends ContentProvider {
|
|||||||
UnavailableStorageException {
|
UnavailableStorageException {
|
||||||
|
|
||||||
String where;
|
String where;
|
||||||
if (StringUtils.isNullOrEmpty(selection)) {
|
if (TextUtils.isEmpty(selection)) {
|
||||||
where = InternalMessageColumns.DELETED + "=0 AND (" +
|
where = InternalMessageColumns.DELETED + "=0 AND (" +
|
||||||
InternalMessageColumns.EMPTY + " IS NULL OR " +
|
InternalMessageColumns.EMPTY + " IS NULL OR " +
|
||||||
InternalMessageColumns.EMPTY + "!=1)";
|
InternalMessageColumns.EMPTY + "!=1)";
|
||||||
@ -416,7 +416,7 @@ public class EmailProvider extends ContentProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
query.append("WHERE m." + MessageColumns.DATE + " = a." + MessageColumns.DATE);
|
query.append("WHERE m." + MessageColumns.DATE + " = a." + MessageColumns.DATE);
|
||||||
if (!StringUtils.isNullOrEmpty(sortOrder)) {
|
if (!TextUtils.isEmpty(sortOrder)) {
|
||||||
query.append(" ORDER BY ");
|
query.append(" ORDER BY ");
|
||||||
query.append(SqlQueryBuilder.addPrefixToSelection(
|
query.append(SqlQueryBuilder.addPrefixToSelection(
|
||||||
FIXUP_AGGREGATED_MESSAGES_COLUMNS, "a.", sortOrder));
|
FIXUP_AGGREGATED_MESSAGES_COLUMNS, "a.", sortOrder));
|
||||||
@ -469,7 +469,7 @@ public class EmailProvider extends ContentProvider {
|
|||||||
InternalMessageColumns.EMPTY + " != 1))");
|
InternalMessageColumns.EMPTY + " != 1))");
|
||||||
|
|
||||||
|
|
||||||
if (!StringUtils.isNullOrEmpty(selection)) {
|
if (!TextUtils.isEmpty(selection)) {
|
||||||
query.append(" AND (");
|
query.append(" AND (");
|
||||||
query.append(selection);
|
query.append(selection);
|
||||||
query.append(")");
|
query.append(")");
|
||||||
@ -570,13 +570,13 @@ public class EmailProvider extends ContentProvider {
|
|||||||
// Table selection
|
// Table selection
|
||||||
sql.append(" FROM messages");
|
sql.append(" FROM messages");
|
||||||
|
|
||||||
if (StringUtils.containsAny(selection, FOLDERS_COLUMNS)) {
|
if (containsAny(selection, FOLDERS_COLUMNS)) {
|
||||||
sql.append(" JOIN folders ON (folders.id = messages.folder_id)");
|
sql.append(" JOIN folders ON (folders.id = messages.folder_id)");
|
||||||
}
|
}
|
||||||
|
|
||||||
// WHERE clause
|
// WHERE clause
|
||||||
sql.append(" WHERE (deleted=0 AND (empty IS NULL OR empty!=1))");
|
sql.append(" WHERE (deleted=0 AND (empty IS NULL OR empty!=1))");
|
||||||
if (!StringUtils.isNullOrEmpty(selection)) {
|
if (!TextUtils.isEmpty(selection)) {
|
||||||
sql.append(" AND (");
|
sql.append(" AND (");
|
||||||
sql.append(selection);
|
sql.append(selection);
|
||||||
sql.append(")");
|
sql.append(")");
|
||||||
@ -816,4 +816,18 @@ public class EmailProvider extends ContentProvider {
|
|||||||
return super.isNull(realColumnIndex);
|
return super.isNull(realColumnIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean containsAny(String haystack, String[] needles) {
|
||||||
|
if (haystack == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (String needle : needles) {
|
||||||
|
if (haystack.contains(needle)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
package com.fsck.k9.view;
|
package com.fsck.k9.view;
|
||||||
|
|
||||||
|
import java.util.LinkedHashSet;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
@ -9,37 +14,31 @@ import android.text.SpannableStringBuilder;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.text.format.DateUtils;
|
import android.text.format.DateUtils;
|
||||||
import android.text.style.StyleSpan;
|
import android.text.style.StyleSpan;
|
||||||
import android.util.Log;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.widget.CheckBox;
|
import android.widget.CheckBox;
|
||||||
|
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.QuickContactBadge;
|
import android.widget.QuickContactBadge;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.fsck.k9.Account;
|
||||||
import com.fsck.k9.FontSizes;
|
import com.fsck.k9.FontSizes;
|
||||||
import com.fsck.k9.K9;
|
import com.fsck.k9.K9;
|
||||||
import com.fsck.k9.R;
|
import com.fsck.k9.R;
|
||||||
import com.fsck.k9.activity.misc.ContactPictureLoader;
|
import com.fsck.k9.activity.misc.ContactPictureLoader;
|
||||||
import com.fsck.k9.helper.ContactPicture;
|
import com.fsck.k9.helper.ContactPicture;
|
||||||
import com.fsck.k9.helper.Contacts;
|
import com.fsck.k9.helper.Contacts;
|
||||||
import com.fsck.k9.Account;
|
|
||||||
import com.fsck.k9.helper.MessageHelper;
|
import com.fsck.k9.helper.MessageHelper;
|
||||||
import com.fsck.k9.helper.StringUtils;
|
|
||||||
import com.fsck.k9.mail.Address;
|
import com.fsck.k9.mail.Address;
|
||||||
import com.fsck.k9.mail.Flag;
|
import com.fsck.k9.mail.Flag;
|
||||||
import com.fsck.k9.mail.Message;
|
import com.fsck.k9.mail.Message;
|
||||||
import com.fsck.k9.mail.MessagingException;
|
import com.fsck.k9.mail.MessagingException;
|
||||||
import com.fsck.k9.mail.internet.MimeUtility;
|
import com.fsck.k9.mail.internet.MimeUtility;
|
||||||
|
|
||||||
import java.util.LinkedHashSet;
|
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class MessageHeader extends LinearLayout implements OnClickListener {
|
public class MessageHeader extends LinearLayout implements OnClickListener {
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private TextView mFromView;
|
private TextView mFromView;
|
||||||
@ -260,7 +259,7 @@ public class MessageHeader extends LinearLayout implements OnClickListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final String subject = message.getSubject();
|
final String subject = message.getSubject();
|
||||||
if (StringUtils.isNullOrEmpty(subject)) {
|
if (TextUtils.isEmpty(subject)) {
|
||||||
mSubjectView.setText(mContext.getText(R.string.general_no_subject));
|
mSubjectView.setText(mContext.getText(R.string.general_no_subject));
|
||||||
} else {
|
} else {
|
||||||
mSubjectView.setText(subject);
|
mSubjectView.setText(subject);
|
||||||
|
Loading…
Reference in New Issue
Block a user