Fixed an issue with Google Translate not translating a particular toot, hopefully fixes other toots that were failing, though I've ony come across one, so far.
This commit is contained in:
parent
d26ebec568
commit
a73a1b53e0
|
@ -39,6 +39,7 @@ dependencies {
|
|||
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
|
||||
compile 'com.evernote:android-job:1.1.11'
|
||||
compile 'com.github.chrisbanes:PhotoView:2.0.0'
|
||||
compile 'com.vdurmont:emoji-java:3.3.0'
|
||||
compile 'com.google.code.gson:gson:2.8.0'
|
||||
compile 'org.jsoup:jsoup:1.10.3'
|
||||
safetynetCompile 'com.google.android.gms:play-services-safetynet:11.0.4'
|
||||
|
|
|
@ -2424,4 +2424,261 @@ digit_one, 0x0031
|
|||
digit_zero, 0x0030
|
||||
family_man_woman_boy, 0x1f468,0x1f469,0x1f466
|
||||
couple_with_heart_woman_man, 0x1f469,0x2764,0x1f468
|
||||
kiss_woman_man, 0x1f469,0x2764,0x1f48b,0x1f468
|
||||
kiss_woman_man, 0x1f469,0x2764,0x1f48b,0x1f468
|
||||
ad, 0x1f1e6,0x1f1e9
|
||||
ao, 0x1f1e6,0x1f1f4
|
||||
af, 0x1f1e6,0x1f1eb
|
||||
ai, 0x1f1e6,0x1f1ee
|
||||
aq, 0x1f1e6,0x1f1f6
|
||||
ag, 0x1f1e6,0x1f1ec
|
||||
al, 0x1f1e6,0x1f1f1
|
||||
ar, 0x1f1e6,0x1f1f7
|
||||
as, 0x1f1e6,0x1f1f8
|
||||
am, 0x1f1e6,0x1f1f2
|
||||
aw, 0x1f1e6,0x1f1fc
|
||||
au, 0x1f1e6,0x1f1fa
|
||||
at, 0x1f1e6,0x1f1f9
|
||||
ax, 0x1f1e6,0x1f1fd
|
||||
az, 0x1f1e6,0x1f1ff
|
||||
bs, 0x1f1e7,0x1f1f8
|
||||
bh, 0x1f1e7,0x1f1ed
|
||||
bd, 0x1f1e7,0x1f1e9
|
||||
bb, 0x1f1e7,0x1f1e7
|
||||
by, 0x1f1e7,0x1f1fe
|
||||
be, 0x1f1e7,0x1f1ea
|
||||
bz, 0x1f1e7,0x1f1ff
|
||||
bj, 0x1f1e7,0x1f1ef
|
||||
bm, 0x1f1e7,0x1f1f2
|
||||
bt, 0x1f1e7,0x1f1f9
|
||||
bo, 0x1f1e7,0x1f1f4
|
||||
ba, 0x1f1e7,0x1f1e6
|
||||
bw, 0x1f1e7,0x1f1fc
|
||||
br, 0x1f1e7,0x1f1f7
|
||||
io, 0x1f1ee,0x1f1f4
|
||||
vg, 0x1f1fb,0x1f1ec
|
||||
bn, 0x1f1e7,0x1f1f3
|
||||
bg, 0x1f1e7,0x1f1ec
|
||||
bf, 0x1f1e7,0x1f1eb
|
||||
bi, 0x1f1e7,0x1f1ee
|
||||
kh, 0x1f1f0,0x1f1ed
|
||||
cm, 0x1f1e8,0x1f1f2
|
||||
ca, 0x1f1e8,0x1f1e6
|
||||
ic, 0x1f1ee,0x1f1e8
|
||||
cv, 0x1f1e8,0x1f1fb
|
||||
bq, 0x1f1e7,0x1f1f6
|
||||
ky, 0x1f1f0,0x1f1fe
|
||||
cf, 0x1f1e8,0x1f1eb
|
||||
td, 0x1f1f9,0x1f1e9
|
||||
cl, 0x1f1e8,0x1f1f1
|
||||
cn, 0x1f1e8,0x1f1f3
|
||||
cx, 0x1f1e8,0x1f1fd
|
||||
cc, 0x1f1e8,0x1f1e8
|
||||
co, 0x1f1e8,0x1f1f4
|
||||
km, 0x1f1f0,0x1f1f2
|
||||
cg, 0x1f1e8,0x1f1ec
|
||||
cd, 0x1f1e8,0x1f1e9
|
||||
ck, 0x1f1e8,0x1f1f0
|
||||
cr, 0x1f1e8,0x1f1f7
|
||||
ci, 0x1f1e8,0x1f1ee
|
||||
hr, 0x1f1ed,0x1f1f7
|
||||
cu, 0x1f1e8,0x1f1fa
|
||||
cw, 0x1f1e8,0x1f1fc
|
||||
cy, 0x1f1e8,0x1f1fe
|
||||
cz, 0x1f1e8,0x1f1ff
|
||||
dk, 0x1f1e9,0x1f1f0
|
||||
dj, 0x1f1e9,0x1f1ef
|
||||
dm, 0x1f1e9,0x1f1f2
|
||||
do, 0x1f1e9,0x1f1f4
|
||||
ec, 0x1f1ea,0x1f1e8
|
||||
eg, 0x1f1ea,0x1f1ec
|
||||
sv, 0x1f1f8,0x1f1fb
|
||||
gq, 0x1f1ec,0x1f1f6
|
||||
er, 0x1f1ea,0x1f1f7
|
||||
ee, 0x1f1ea,0x1f1ea
|
||||
et, 0x1f1ea,0x1f1f9
|
||||
eu, 0x1f1ea,0x1f1fa
|
||||
fk, 0x1f1eb,0x1f1f0
|
||||
fo, 0x1f1eb,0x1f1f4
|
||||
fj, 0x1f1eb,0x1f1ef
|
||||
fi, 0x1f1eb,0x1f1ee
|
||||
fr, 0x1f1eb,0x1f1f7
|
||||
gf, 0x1f1ec,0x1f1eb
|
||||
pf, 0x1f1f5,0x1f1eb
|
||||
tf, 0x1f1f9,0x1f1eb
|
||||
ga, 0x1f1ec,0x1f1e6
|
||||
gb, 0x1f1ec,0x1f1e7
|
||||
gm, 0x1f1ec,0x1f1f2
|
||||
ge, 0x1f1ec,0x1f1ea
|
||||
de, 0x1f1e9,0x1f1ea
|
||||
gh, 0x1f1ec,0x1f1ed
|
||||
gi, 0x1f1ec,0x1f1ee
|
||||
gr, 0x1f1ec,0x1f1f7
|
||||
gl, 0x1f1ec,0x1f1f1
|
||||
gd, 0x1f1ec,0x1f1e9
|
||||
gp, 0x1f1ec,0x1f1f5
|
||||
gu, 0x1f1ec,0x1f1fa
|
||||
gt, 0x1f1ec,0x1f1f9
|
||||
gg, 0x1f1ec,0x1f1ec
|
||||
gn, 0x1f1ec,0x1f1f3
|
||||
gw, 0x1f1ec,0x1f1fc
|
||||
gy, 0x1f1ec,0x1f1fe
|
||||
ht, 0x1f1ed,0x1f1f9
|
||||
hn, 0x1f1ed,0x1f1f3
|
||||
hk, 0x1f1ed,0x1f1f0
|
||||
hu, 0x1f1ed,0x1f1fa
|
||||
is, 0x1f1ee,0x1f1f8
|
||||
in, 0x1f1ee,0x1f1f3
|
||||
id, 0x1f1ee,0x1f1e9
|
||||
ir, 0x1f1ee,0x1f1f7
|
||||
iq, 0x1f1ee,0x1f1f6
|
||||
ie, 0x1f1ee,0x1f1ea
|
||||
im, 0x1f1ee,0x1f1f2
|
||||
il, 0x1f1ee,0x1f1f1
|
||||
it, 0x1f1ee,0x1f1f9
|
||||
jm, 0x1f1ef,0x1f1f2
|
||||
jp, 0x1f1ef,0x1f1f5
|
||||
je, 0x1f1ef,0x1f1ea
|
||||
jo, 0x1f1ef,0x1f1f4
|
||||
kz, 0x1f1f0,0x1f1ff
|
||||
ke, 0x1f1f0,0x1f1ea
|
||||
ki, 0x1f1f0,0x1f1ee
|
||||
xk, 0x1f1fd,0x1f1f0
|
||||
kw, 0x1f1f0,0x1f1fc
|
||||
kg, 0x1f1f0,0x1f1ec
|
||||
la, 0x1f1f1,0x1f1e6
|
||||
lv, 0x1f1f1,0x1f1fb
|
||||
lb, 0x1f1f1,0x1f1e7
|
||||
ls, 0x1f1f1,0x1f1f8
|
||||
lr, 0x1f1f1,0x1f1f7
|
||||
ly, 0x1f1f1,0x1f1fe
|
||||
li, 0x1f1f1,0x1f1ee
|
||||
lt, 0x1f1f1,0x1f1f9
|
||||
lu, 0x1f1f1,0x1f1fa
|
||||
mo, 0x1f1f2,0x1f1f4
|
||||
mk, 0x1f1f2,0x1f1f0
|
||||
mg, 0x1f1f2,0x1f1ec
|
||||
mw, 0x1f1f2,0x1f1fc
|
||||
my, 0x1f1f2,0x1f1fe
|
||||
mv, 0x1f1f2,0x1f1fb
|
||||
ml, 0x1f1f2,0x1f1f1
|
||||
mt, 0x1f1f2,0x1f1f9
|
||||
mh, 0x1f1f2,0x1f1ed
|
||||
mq, 0x1f1f2,0x1f1f6
|
||||
mr, 0x1f1f2,0x1f1f7
|
||||
mu, 0x1f1f2,0x1f1fa
|
||||
yt, 0x1f1fe,0x1f1f9
|
||||
mx, 0x1f1f2,0x1f1fd
|
||||
fm, 0x1f1eb,0x1f1f2
|
||||
md, 0x1f1f2,0x1f1e9
|
||||
mc, 0x1f1f2,0x1f1e8
|
||||
mn, 0x1f1f2,0x1f1f3
|
||||
me, 0x1f1f2,0x1f1ea
|
||||
ms, 0x1f1f2,0x1f1f8
|
||||
ma, 0x1f1f2,0x1f1e6
|
||||
mz, 0x1f1f2,0x1f1ff
|
||||
mm, 0x1f1f2,0x1f1f2
|
||||
na, 0x1f1f3,0x1f1e6
|
||||
nr, 0x1f1f3,0x1f1f7
|
||||
np, 0x1f1f3,0x1f1f5
|
||||
nl, 0x1f1f3,0x1f1f1
|
||||
nc, 0x1f1f3,0x1f1e8
|
||||
nz, 0x1f1f3,0x1f1ff
|
||||
ni, 0x1f1f3,0x1f1ee
|
||||
ne, 0x1f1f3,0x1f1ea
|
||||
ng, 0x1f1f3,0x1f1ec
|
||||
nu, 0x1f1f3,0x1f1fa
|
||||
nf, 0x1f1f3,0x1f1eb
|
||||
kp, 0x1f1f0,0x1f1f5
|
||||
mp, 0x1f1f2,0x1f1f5
|
||||
no, 0x1f1f3,0x1f1f4
|
||||
om, 0x1f1f4,0x1f1f2
|
||||
pk, 0x1f1f5,0x1f1f0
|
||||
pw, 0x1f1f5,0x1f1fc
|
||||
ps, 0x1f1f5,0x1f1f8
|
||||
pa, 0x1f1f5,0x1f1e6
|
||||
pg, 0x1f1f5,0x1f1ec
|
||||
py, 0x1f1f5,0x1f1fe
|
||||
pe, 0x1f1f5,0x1f1ea
|
||||
ph, 0x1f1f5,0x1f1ed
|
||||
pn, 0x1f1f5,0x1f1f3
|
||||
pl, 0x1f1f5,0x1f1f1
|
||||
pt, 0x1f1f5,0x1f1f9
|
||||
pr, 0x1f1f5,0x1f1f7
|
||||
qa, 0x1f1f6,0x1f1e6
|
||||
re, 0x1f1f7,0x1f1ea
|
||||
ro, 0x1f1f7,0x1f1f4
|
||||
ru, 0x1f1f7,0x1f1fa
|
||||
rw, 0x1f1f7,0x1f1fc
|
||||
ws, 0x1f1fc,0x1f1f8
|
||||
sm, 0x1f1f8,0x1f1f2
|
||||
st, 0x1f1f8,0x1f1f9
|
||||
sa, 0x1f1f8,0x1f1e6
|
||||
sn, 0x1f1f8,0x1f1f3
|
||||
rs, 0x1f1f7,0x1f1f8
|
||||
sc, 0x1f1f8,0x1f1e8
|
||||
sl, 0x1f1f8,0x1f1f1
|
||||
sg, 0x1f1f8,0x1f1ec
|
||||
sx, 0x1f1f8,0x1f1fd
|
||||
sk, 0x1f1f8,0x1f1f0
|
||||
si, 0x1f1f8,0x1f1ee
|
||||
gs, 0x1f1ec,0x1f1f8
|
||||
sb, 0x1f1f8,0x1f1e7
|
||||
so, 0x1f1f8,0x1f1f4
|
||||
za, 0x1f1ff,0x1f1e6
|
||||
kr, 0x1f1f0,0x1f1f7
|
||||
ss, 0x1f1f8,0x1f1f8
|
||||
es, 0x1f1ea,0x1f1f8
|
||||
lk, 0x1f1f1,0x1f1f0
|
||||
bl, 0x1f1e7,0x1f1f1
|
||||
sh, 0x1f1f8,0x1f1ed
|
||||
kn, 0x1f1f0,0x1f1f3
|
||||
lc, 0x1f1f1,0x1f1e8
|
||||
pm, 0x1f1f5,0x1f1f2
|
||||
vc, 0x1f1fb,0x1f1e8
|
||||
sd, 0x1f1f8,0x1f1e9
|
||||
sr, 0x1f1f8,0x1f1f7
|
||||
sz, 0x1f1f8,0x1f1ff
|
||||
se, 0x1f1f8,0x1f1ea
|
||||
ch, 0x1f1e8,0x1f1ed
|
||||
sy, 0x1f1f8,0x1f1fe
|
||||
tw, 0x1f1f9,0x1f1fc
|
||||
tj, 0x1f1f9,0x1f1ef
|
||||
tz, 0x1f1f9,0x1f1ff
|
||||
th, 0x1f1f9,0x1f1ed
|
||||
tl, 0x1f1f9,0x1f1f1
|
||||
tg, 0x1f1f9,0x1f1ec
|
||||
tk, 0x1f1f9,0x1f1f0
|
||||
to, 0x1f1f9,0x1f1f4
|
||||
tt, 0x1f1f9,0x1f1f9
|
||||
tn, 0x1f1f9,0x1f1f3
|
||||
tr, 0x1f1f9,0x1f1f7
|
||||
tm, 0x1f1f9,0x1f1f2
|
||||
tc, 0x1f1f9,0x1f1e8
|
||||
tv, 0x1f1f9,0x1f1fb
|
||||
vi, 0x1f1fb,0x1f1ee
|
||||
ug, 0x1f1fa,0x1f1ec
|
||||
ua, 0x1f1fa,0x1f1e6
|
||||
ae, 0x1f1e6,0x1f1ea
|
||||
us, 0x1f1fa,0x1f1f8
|
||||
uy, 0x1f1fa,0x1f1fe
|
||||
uz, 0x1f1fa,0x1f1ff
|
||||
vu, 0x1f1fb,0x1f1fa
|
||||
va, 0x1f1fb,0x1f1e6
|
||||
ve, 0x1f1fb,0x1f1ea
|
||||
vn, 0x1f1fb,0x1f1f3
|
||||
wf, 0x1f1fc,0x1f1eb
|
||||
eh, 0x1f1ea,0x1f1ed
|
||||
ye, 0x1f1fe,0x1f1ea
|
||||
zm, 0x1f1ff,0x1f1f2
|
||||
zw, 0x1f1ff,0x1f1fc
|
||||
ac, 0x1f1e6,0x1f1e8
|
||||
ta, 0x1f1f9,0x1f1e6
|
||||
bv, 0x1f1e7,0x1f1fb
|
||||
hm, 0x1f1ed,0x1f1f2
|
||||
sj, 0x1f1f8,0x1f1ef
|
||||
um, 0x1f1fa,0x1f1f2
|
||||
ea, 0x1f1ea,0x1f1e6
|
||||
cp, 0x1f1e8,0x1f1f5
|
||||
dg, 0x1f1e9,0x1f1ec
|
||||
dz, 0x1f1e9,0x1f1ff
|
||||
mf, 0x1f1f2,0x1f1eb
|
Can't render this file because it has a wrong number of fields in line 168.
|
|
@ -55,6 +55,8 @@ import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
|||
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
|
||||
import com.nostra13.universalimageloader.core.display.SimpleBitmapDisplayer;
|
||||
import com.vdurmont.emoji.EmojiManager;
|
||||
import com.vdurmont.emoji.EmojiParser;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
|
@ -90,6 +92,7 @@ import mastodon.etalab.gouv.fr.mastodon.R;
|
|||
|
||||
import static fr.gouv.etalab.mastodon.activities.MainActivity.currentLocale;
|
||||
import static fr.gouv.etalab.mastodon.helper.Helper.changeDrawableColor;
|
||||
import static fr.gouv.etalab.mastodon.helper.Helper.shortnameToUnicode;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -382,9 +385,10 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf
|
|||
}
|
||||
if (translator == Helper.TRANS_YANDEX)
|
||||
new YandexQuery(StatusListAdapter.this).getYandexTextview(position, text, currentLocale);
|
||||
else if( translator == Helper.TRANS_GOOGLE)
|
||||
else if( translator == Helper.TRANS_GOOGLE) {
|
||||
text = EmojiParser.parseToAliases(text);
|
||||
new GoogleTranslateQuery(StatusListAdapter.this).getGoogleTextview(position, text, currentLocale);
|
||||
|
||||
}
|
||||
}else {
|
||||
status.setTranslationShown(!status.isTranslationShown());
|
||||
statusListAdapter.notifyDataSetChanged();
|
||||
|
@ -970,7 +974,7 @@ public class StatusListAdapter extends BaseAdapter implements OnPostActionInterf
|
|||
if (translator == Helper.TRANS_YANDEX)
|
||||
aJsonString = yandexTranslateToText(translatedResult);
|
||||
else if( translator == Helper.TRANS_GOOGLE)
|
||||
aJsonString = googleTranslateToText(translatedResult);
|
||||
aJsonString = shortnameToUnicode(googleTranslateToText(translatedResult), true);
|
||||
if( aJsonString == null)
|
||||
return;
|
||||
Iterator itU = urlConversion.entrySet().iterator();
|
||||
|
|
|
@ -268,7 +268,7 @@ public class Helper {
|
|||
private static boolean menuAccountsOpened = false;
|
||||
|
||||
|
||||
private static final Pattern SHORTNAME_PATTERN = Pattern.compile(":([-+\\w]+):");
|
||||
private static final Pattern SHORTNAME_PATTERN = Pattern.compile(":( |)([-+\\w]+):");
|
||||
|
||||
public static final Pattern urlPattern = Pattern.compile(
|
||||
"(?i)\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,10}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»“”‘’]))",
|
||||
|
@ -283,18 +283,26 @@ public class Helper {
|
|||
*/
|
||||
public static String shortnameToUnicode(String input, boolean removeIfUnsupported) {
|
||||
Matcher matcher = SHORTNAME_PATTERN.matcher(input);
|
||||
|
||||
boolean supported = Build.VERSION.SDK_INT >= 16;
|
||||
while (matcher.find()) {
|
||||
String unicode = emoji.get(matcher.group(1));
|
||||
String unicode = emoji.get(matcher.group(2));
|
||||
if (unicode == null) {
|
||||
continue;
|
||||
}
|
||||
if (supported) {
|
||||
input = input.replace(":" + matcher.group(1) + ":", unicode);
|
||||
if (matcher.group(1).equals(" "))
|
||||
input = input.replace(": " + matcher.group(2) + ":", unicode);
|
||||
else
|
||||
input = input.replace(":" + matcher.group(2) + ":", unicode);
|
||||
} else if (removeIfUnsupported) {
|
||||
input = input.replace(":" + matcher.group(1) + ":", "");
|
||||
if (matcher.group(1).equals(" "))
|
||||
input = input.replace(": " + matcher.group(2) + ":", unicode);
|
||||
else
|
||||
input = input.replace(":" + matcher.group(2) + ":", "");
|
||||
}
|
||||
}
|
||||
|
||||
return input;
|
||||
}
|
||||
//Emoji manager
|
||||
|
|
Loading…
Reference in New Issue