removing the helper QuotedPrintable class, it is no longer needed
This commit is contained in:
parent
2408cabd81
commit
2f1be0c404
|
@ -1,64 +0,0 @@
|
||||||
package com.simplemobiletools.contacts.pro.helpers
|
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream
|
|
||||||
import java.net.URLEncoder
|
|
||||||
|
|
||||||
// https://alvinalexander.com/java/jwarehouse/android/core/java/com/google/android/mms/pdu/QuotedPrintable.java.shtml
|
|
||||||
object QuotedPrintable {
|
|
||||||
private const val ESCAPE_CHAR: Byte = '='.toByte()
|
|
||||||
fun decode(value: String?): String {
|
|
||||||
val bytes = value?.toByteArray()
|
|
||||||
if (bytes == null || bytes.isEmpty()) {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
val buffer = ByteArrayOutputStream()
|
|
||||||
var i = 0
|
|
||||||
while (i < bytes.size) {
|
|
||||||
val b = bytes[i].toInt()
|
|
||||||
if (b == ESCAPE_CHAR.toInt()) {
|
|
||||||
try {
|
|
||||||
if ('\r' == bytes[i + 1].toChar() && '\n' == bytes[i + 2].toChar()) {
|
|
||||||
i += 3
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
val u = Character.digit(bytes[++i].toChar(), 16)
|
|
||||||
val l = Character.digit(bytes[++i].toChar(), 16)
|
|
||||||
if (u == -1 || l == -1) {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
buffer.write(((u shl 4) + l).toChar().toInt())
|
|
||||||
} catch (e: ArrayIndexOutOfBoundsException) {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
buffer.write(b)
|
|
||||||
}
|
|
||||||
i++
|
|
||||||
}
|
|
||||||
return String(buffer.toByteArray())
|
|
||||||
}
|
|
||||||
|
|
||||||
fun encode(value: String): String {
|
|
||||||
val result = StringBuilder()
|
|
||||||
value.forEach {
|
|
||||||
if (it == ' ') {
|
|
||||||
result.append(' ')
|
|
||||||
} else {
|
|
||||||
val urlEncoded = urlEncode(it.toString())
|
|
||||||
if (urlEncoded == it.toString()) {
|
|
||||||
val hex = String.format("%04x", it.toInt()).trimStart('0').toUpperCase()
|
|
||||||
result.append("=$hex")
|
|
||||||
} else {
|
|
||||||
result.append(urlEncoded)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result.toString()
|
|
||||||
}
|
|
||||||
|
|
||||||
fun urlEncode(value: String) = URLEncoder.encode(value, "UTF-8").replace("+", " ").replace('%', '=')
|
|
||||||
}
|
|
Loading…
Reference in New Issue