mirror of https://github.com/M66B/FairEmail.git
Replaced juniversalchardet by compact_enc_det
This commit is contained in:
parent
68bfa6c9a7
commit
52d6fed56d
|
@ -27,5 +27,4 @@ FairEmail uses:
|
||||||
* [GPX file type icon](https://www.flaticon.com/free-icon/gpx-file-format-variant_29258) made by [Freepik](https://www.flaticon.com/authors/freepik) from [Flaticon](https://www.flaticon.com).
|
* [GPX file type icon](https://www.flaticon.com/free-icon/gpx-file-format-variant_29258) made by [Freepik](https://www.flaticon.com/authors/freepik) from [Flaticon](https://www.flaticon.com).
|
||||||
* [Disconnect's tracker protection lists](https://github.com/disconnectme/disconnect-tracking-protection). Copyright 2010-2020 Disconnect, Inc. [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license](https://github.com/disconnectme/disconnect-tracking-protection/blob/master/LICENSE).
|
* [Disconnect's tracker protection lists](https://github.com/disconnectme/disconnect-tracking-protection). Copyright 2010-2020 Disconnect, Inc. [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license](https://github.com/disconnectme/disconnect-tracking-protection/blob/master/LICENSE).
|
||||||
* [Over-Scroll Support For Android's RecyclerView, ListView, GridView, ScrollView ...](https://github.com/EverythingMe/overscroll-decor). Copyright (c) 2015, DoAT Media Ltd. [BSD-2-Clause License](https://github.com/EverythingMe/overscroll-decor/blob/master/LICENSE)
|
* [Over-Scroll Support For Android's RecyclerView, ListView, GridView, ScrollView ...](https://github.com/EverythingMe/overscroll-decor). Copyright (c) 2015, DoAT Media Ltd. [BSD-2-Clause License](https://github.com/EverythingMe/overscroll-decor/blob/master/LICENSE)
|
||||||
* [juniversalchardet](https://github.com/albfernandez/juniversalchardet). Copyright (C) 2001 the Initial Developer. All Rights Reserved. [GNU General Public License Version 2](https://github.com/albfernandez/juniversalchardet#license).
|
|
||||||
* [Compact Encoding Detection](https://github.com/google/compact_enc_det). Copyright 2016 Google Inc. [Apache License 2.0](https://github.com/google/compact_enc_det/blob/master/LICENSE).
|
* [Compact Encoding Detection](https://github.com/google/compact_enc_det). Copyright 2016 Google Inc. [Apache License 2.0](https://github.com/google/compact_enc_det/blob/master/LICENSE).
|
||||||
|
|
|
@ -241,7 +241,6 @@ dependencies {
|
||||||
def overscroll_version = "1.1.0"
|
def overscroll_version = "1.1.0"
|
||||||
def appauth_version = "0.7.1"
|
def appauth_version = "0.7.1"
|
||||||
def jcharset_version = "2.1"
|
def jcharset_version = "2.1"
|
||||||
def jchardet_version = "2.3.2"
|
|
||||||
|
|
||||||
// https://developer.android.com/jetpack/androidx/releases/
|
// https://developer.android.com/jetpack/androidx/releases/
|
||||||
|
|
||||||
|
@ -402,9 +401,4 @@ dependencies {
|
||||||
// http://www.freeutils.net/source/jcharset/
|
// http://www.freeutils.net/source/jcharset/
|
||||||
// https://mvnrepository.com/artifact/net.freeutils/jcharset
|
// https://mvnrepository.com/artifact/net.freeutils/jcharset
|
||||||
implementation "net.freeutils:jcharset:$jcharset_version"
|
implementation "net.freeutils:jcharset:$jcharset_version"
|
||||||
|
|
||||||
// https://github.com/albfernandez/juniversalchardet
|
|
||||||
// https://www-archive.mozilla.org/projects/intl/chardet.html
|
|
||||||
// https://mvnrepository.com/artifact/com.github.albfernandez/juniversalchardet
|
|
||||||
implementation "com.github.albfernandez:juniversalchardet:$jchardet_version"
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,4 +27,4 @@ FairEmail uses:
|
||||||
* [GPX file type icon](https://www.flaticon.com/free-icon/gpx-file-format-variant_29258) made by [Freepik](https://www.flaticon.com/authors/freepik) from [Flaticon](https://www.flaticon.com).
|
* [GPX file type icon](https://www.flaticon.com/free-icon/gpx-file-format-variant_29258) made by [Freepik](https://www.flaticon.com/authors/freepik) from [Flaticon](https://www.flaticon.com).
|
||||||
* [Disconnect's tracker protection lists](https://github.com/disconnectme/disconnect-tracking-protection). Copyright 2010-2020 Disconnect, Inc. [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license](https://github.com/disconnectme/disconnect-tracking-protection/blob/master/LICENSE).
|
* [Disconnect's tracker protection lists](https://github.com/disconnectme/disconnect-tracking-protection). Copyright 2010-2020 Disconnect, Inc. [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license](https://github.com/disconnectme/disconnect-tracking-protection/blob/master/LICENSE).
|
||||||
* [Over-Scroll Support For Android's RecyclerView, ListView, GridView, ScrollView ...](https://github.com/EverythingMe/overscroll-decor). Copyright (c) 2015, DoAT Media Ltd. [BSD-2-Clause License](https://github.com/EverythingMe/overscroll-decor/blob/master/LICENSE)
|
* [Over-Scroll Support For Android's RecyclerView, ListView, GridView, ScrollView ...](https://github.com/EverythingMe/overscroll-decor). Copyright (c) 2015, DoAT Media Ltd. [BSD-2-Clause License](https://github.com/EverythingMe/overscroll-decor/blob/master/LICENSE)
|
||||||
* [juniversalchardet](https://github.com/albfernandez/juniversalchardet). Copyright (C) 2001 the Initial Developer. All Rights Reserved. [GNU General Public License Version 2](https://github.com/albfernandez/juniversalchardet#license).
|
* [Compact Encoding Detection](https://github.com/google/compact_enc_det). Copyright 2016 Google Inc. [Apache License 2.0](https://github.com/google/compact_enc_det/blob/master/LICENSE).
|
||||||
|
|
|
@ -19,15 +19,11 @@ package eu.faircode.email;
|
||||||
Copyright 2018-2020 by Marcel Bokhorst (M66B)
|
Copyright 2018-2020 by Marcel Bokhorst (M66B)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.mozilla.universalchardet.UniversalDetector;
|
|
||||||
|
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.charset.UnsupportedCharsetException;
|
import java.nio.charset.UnsupportedCharsetException;
|
||||||
|
|
||||||
class CharsetHelper {
|
class CharsetHelper {
|
||||||
private static final int SAMPLE_SIZE = 1024;
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
System.loadLibrary("compact_enc_det");
|
System.loadLibrary("compact_enc_det");
|
||||||
}
|
}
|
||||||
|
@ -129,20 +125,8 @@ class CharsetHelper {
|
||||||
static Charset detect(String text) {
|
static Charset detect(String text) {
|
||||||
try {
|
try {
|
||||||
byte[] octets = text.getBytes(StandardCharsets.ISO_8859_1);
|
byte[] octets = text.getBytes(StandardCharsets.ISO_8859_1);
|
||||||
Log.i("compact_enc_det=" + jni_detect(octets));
|
String detected = jni_detect(octets);
|
||||||
|
Log.i("compact_enc_det=" + detected);
|
||||||
int offset = 0;
|
|
||||||
UniversalDetector detector = new UniversalDetector();
|
|
||||||
while (offset < octets.length && !detector.isDone()) {
|
|
||||||
detector.handleData(octets, offset, Math.min(SAMPLE_SIZE, octets.length - offset));
|
|
||||||
offset += SAMPLE_SIZE;
|
|
||||||
}
|
|
||||||
detector.dataEnd();
|
|
||||||
|
|
||||||
String detected = detector.getDetectedCharset();
|
|
||||||
if (detected == null)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
return Charset.forName(detected);
|
return Charset.forName(detected);
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
Log.w(ex);
|
Log.w(ex);
|
||||||
|
|
Loading…
Reference in New Issue