diff options
author | Chiao Cheng <chiaocheng@google.com> | 2012-11-12 16:47:40 -0800 |
---|---|---|
committer | Chiao Cheng <chiaocheng@google.com> | 2012-11-12 16:47:40 -0800 |
commit | 7a2ac0405decebde94bb4e3a139d62162e6e15a0 (patch) | |
tree | 833a5ed251b19dcabd4a8ecae289d31944f3d970 | |
parent | 8aa2ab8a2f4284cdbc9392e8597ab6d4fd302c50 (diff) | |
download | android_frameworks_opt_vcard-7a2ac0405decebde94bb4e3a139d62162e6e15a0.tar.gz android_frameworks_opt_vcard-7a2ac0405decebde94bb4e3a139d62162e6e15a0.tar.bz2 android_frameworks_opt_vcard-7a2ac0405decebde94bb4e3a139d62162e6e15a0.zip |
Store encoding in upper case.
Instead of checking for up case each time or using equalsIgnoreCase.
Bug: 7292017
Change-Id: I3954a2e0fdb757d157bcf3dff77ed2749a9577d8
-rw-r--r-- | java/com/android/vcard/VCardParserImpl_V21.java | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/java/com/android/vcard/VCardParserImpl_V21.java b/java/com/android/vcard/VCardParserImpl_V21.java index 401335f..34dc6a3 100644 --- a/java/com/android/vcard/VCardParserImpl_V21.java +++ b/java/com/android/vcard/VCardParserImpl_V21.java @@ -508,7 +508,7 @@ import java.util.Set; pencodingval.startsWith("X-")) { propertyData.addParameter(VCardConstants.PARAM_ENCODING, pencodingval); // Update encoding right away, as this is needed to understanding other params. - mCurrentEncoding = pencodingval; + mCurrentEncoding = pencodingval.toUpperCase(); } else { throw new VCardException("Unknown encoding \"" + pencodingval + "\""); } @@ -588,8 +588,7 @@ import java.util.Set; return; } - final String upperEncoding = mCurrentEncoding.toUpperCase(); - if (upperEncoding.equals(VCardConstants.PARAM_ENCODING_QP) || + if (mCurrentEncoding.equals(VCardConstants.PARAM_ENCODING_QP) || // If encoding attribute is missing, then attempt to detect QP encoding. // This is to handle a bug where the android exporter was creating FN properties // with missing encoding. b/7292017 @@ -606,8 +605,8 @@ import java.util.Set; for (VCardInterpreter interpreter : mInterpreterList) { interpreter.onPropertyCreated(property); } - } else if (upperEncoding.equals(VCardConstants.PARAM_ENCODING_BASE64) - || upperEncoding.equals(VCardConstants.PARAM_ENCODING_B)) { + } else if (mCurrentEncoding.equals(VCardConstants.PARAM_ENCODING_BASE64) + || mCurrentEncoding.equals(VCardConstants.PARAM_ENCODING_B)) { // It is very rare, but some BASE64 data may be so big that // OutOfMemoryError occurs. To ignore such cases, use try-catch. try { @@ -627,8 +626,8 @@ import java.util.Set; } } } else { - if (!(upperEncoding.equals("7BIT") || upperEncoding.equals("8BIT") || - upperEncoding.startsWith("X-"))) { + if (!(mCurrentEncoding.equals("7BIT") || mCurrentEncoding.equals("8BIT") || + mCurrentEncoding.startsWith("X-"))) { Log.w(LOG_TAG, String.format("The encoding \"%s\" is unsupported by vCard %s", mCurrentEncoding, getVersionString())); @@ -702,7 +701,7 @@ import java.util.Set; // vCard 2.1 does not allow QUOTED-PRINTABLE here, but some softwares/devices emit // such data. - if (mCurrentEncoding.equalsIgnoreCase(VCardConstants.PARAM_ENCODING_QP)) { + if (mCurrentEncoding.equals(VCardConstants.PARAM_ENCODING_QP)) { // First we retrieve Quoted-Printable String from vCard entry, which may include // multiple lines. final String quotedPrintablePart = getQuotedPrintablePart(propertyRawValue); |