diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java index 6906be206..3cb1338b5 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java @@ -211,7 +211,6 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct LinearLayout status_container3; LinearLayout main_container; TextView yandex_translate; - TextView google_translate; LinearLayout status_action_container; LinearLayout status_replies; LinearLayout status_replies_profile_pictures; @@ -261,7 +260,6 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct status_spoiler = itemView.findViewById(R.id.status_spoiler); status_spoiler_button = itemView.findViewById(R.id.status_spoiler_button); yandex_translate = itemView.findViewById(R.id.yandex_translate); - google_translate = itemView.findViewById(R.id.google_translate); status_replies = itemView.findViewById(R.id.status_replies); status_replies_profile_pictures = itemView.findViewById(R.id.status_replies_profile_pictures); new_element = itemView.findViewById(R.id.new_element); @@ -438,19 +436,12 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct { case Helper.TRANS_NONE: holder.yandex_translate.setVisibility(View.GONE); - holder.google_translate.setVisibility(View.GONE); break; case Helper.TRANS_YANDEX: - holder.google_translate.setVisibility(View.GONE); holder.yandex_translate.setVisibility(View.VISIBLE); break; - case Helper.TRANS_GOOGLE: - holder.yandex_translate.setVisibility(View.GONE); - holder.google_translate.setVisibility(View.VISIBLE); - break; default: holder.yandex_translate.setVisibility(View.GONE); - holder.google_translate.setVisibility(View.GONE); break; } @@ -925,13 +916,6 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct context.startActivity(browserIntent); } }); - holder.google_translate.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://translate.google.com/")); - context.startActivity(browserIntent); - } - }); //Spoiler opens holder.status_spoiler_button.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java index 8a5c8e1a6..34b3975c7 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/helper/Helper.java @@ -223,7 +223,6 @@ public class Helper { public static final int LED_COLOUR = 0; public static final int TRANS_YANDEX = 0; - public static final int TRANS_GOOGLE = 1; public static final int TRANS_NONE = 2; public static final String SET_TRANS_FORCED = "set_trans_forced"; diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/translation/GoogleTranslateClient.java b/app/src/main/java/fr/gouv/etalab/mastodon/translation/GoogleTranslateClient.java deleted file mode 100644 index 421af7e1b..000000000 --- a/app/src/main/java/fr/gouv/etalab/mastodon/translation/GoogleTranslateClient.java +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright 2017 Thomas Schneider - * - * This file is a part of Mastalab - * - * This program is free software; you can redistribute it and/or modify it under the terms of the - * GNU General Public License as published by the Free Software Foundation; either version 3 of the - * License, or (at your option) any later version. - * - * Mastalab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even - * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - * Public License for more details. - * - * You should have received a copy of the GNU General Public License along with Mastalab; if not, - * see . */ -package fr.gouv.etalab.mastodon.translation; - - - -import com.loopj.android.http.AsyncHttpClient; -import com.loopj.android.http.AsyncHttpResponseHandler; - -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; - - - -class GoogleTranslateClient { - - private static final String BASE_URL = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&ie=UTF-8&oe=UTF-8&"; - - - private static AsyncHttpClient client = new AsyncHttpClient(); - - public static void get(String text, String toLanguage, AsyncHttpResponseHandler responseHandler) { - client.post(getAbsoluteUrl(text, toLanguage), responseHandler); - } - - private static String getAbsoluteUrl(String content, String toLanguage) { - toLanguage = toLanguage.replace("null",""); - String lang = "tl=" + toLanguage + "&dt=t&"; - String text; - try { - text = "q=" + URLEncoder.encode(content, "utf-8") + "&"; - } catch (UnsupportedEncodingException e) { - text = "q=" + content + "&"; - } - String format = "format=html&"; - return BASE_URL + lang + format + text ; - } -} \ No newline at end of file diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/translation/GoogleTranslateQuery.java b/app/src/main/java/fr/gouv/etalab/mastodon/translation/GoogleTranslateQuery.java deleted file mode 100644 index 2f689b565..000000000 --- a/app/src/main/java/fr/gouv/etalab/mastodon/translation/GoogleTranslateQuery.java +++ /dev/null @@ -1,80 +0,0 @@ -/* Copyright 2017 Thomas Schneider - * - * This file is a part of Mastalab - * - * This program is free software; you can redistribute it and/or modify it under the terms of the - * GNU General Public License as published by the Free Software Foundation; either version 3 of the - * License, or (at your option) any later version. - * - * Mastalab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even - * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - * Public License for more details. - * - * You should have received a copy of the GNU General Public License along with Mastalab; if not, - * see . */ -package fr.gouv.etalab.mastodon.translation; - -import com.loopj.android.http.AsyncHttpResponseHandler; - -import org.json.JSONException; -import cz.msebera.android.httpclient.Header; -import fr.gouv.etalab.mastodon.client.Entities.Status; -import fr.gouv.etalab.mastodon.helper.Helper; -import fr.gouv.etalab.mastodon.interfaces.OnTranslatedInterface; - -/** - * Created by Thomas on 12/07/2017. - * Google client API - */ -class GoogleTranslateQuery { - - private OnTranslatedInterface listener; - - - GoogleTranslateQuery(OnTranslatedInterface listenner) { - this.listener = listenner; - } - - void getGoogleTextview(final Translate translate, final Status status, final String text, final String toLanguage) throws JSONException { - - GoogleTranslateClient.get(text, toLanguage, new AsyncHttpResponseHandler() { - @Override - public void onStart() { - } - - @Override - public void onSuccess(int statusCode, Header[] headers, byte[] response) { - String str_response = new String(response); - listener.onTranslatedTextview(translate, status, str_response,false); - } - - @Override - public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) { - listener.onTranslatedTextview(translate, status, null, true); - } - - }); - } - - - void getGoogleTranslation(final Translate translate, final Helper.targetField target, final String text, final String toLanguage) throws JSONException { - - GoogleTranslateClient.get(text, toLanguage, new AsyncHttpResponseHandler() { - @Override - public void onStart() { - } - - @Override - public void onSuccess(int statusCode, Header[] headers, byte[] response) { - String str_response = new String(response); - listener.onTranslated(translate, target, str_response,false); - } - - @Override - public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) { - listener.onTranslated(translate, target, null, true); - } - - }); - } -} diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/translation/Translate.java b/app/src/main/java/fr/gouv/etalab/mastodon/translation/Translate.java index d7c22d73d..0a0f412c5 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/translation/Translate.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/translation/Translate.java @@ -176,23 +176,10 @@ public class Translate { new YandexQuery(this.listener).getYandexTranslation(this, Helper.targetField.STATUS, content, this.targetedLanguage); if (targetField == Helper.targetField.CW) new YandexQuery(this.listener).getYandexTranslation(this, Helper.targetField.CW, content, this.targetedLanguage); - } else { - while (text.length() > 0 && text.charAt(text.length() - 1) == '\n' && text.length() > 0) - text = text.substring(0, text.length() - 1); - text += "."; - if (content != null) - new GoogleTranslateQuery(this.listener).getGoogleTranslation(this, Helper.targetField.STATUS, text, this.targetedLanguage); - if (targetField == Helper.targetField.CW) - new GoogleTranslateQuery(this.listener).getGoogleTranslation(this, Helper.targetField.CW, content, this.targetedLanguage); } }else { if (translator == Helper.TRANS_YANDEX) { new YandexQuery(this.listener).getYandexTextview(this, this.status, content, this.targetedLanguage); - } else { - while (text.length() > 0 && text.charAt(text.length() - 1) == '\n' && text.length() > 0) - text = text.substring(0, text.length() - 1); - text += "."; - new GoogleTranslateQuery(this.listener).getGoogleTextview(this, this.status, text, this.targetedLanguage); } } } catch (JSONException e) { @@ -212,8 +199,6 @@ public class Translate { try { if (translator == Helper.TRANS_YANDEX) aJsonString = yandexTranslateToText(translatedResult); - else if( translator == Helper.TRANS_GOOGLE) - aJsonString = googleTranslateToText(translatedResult); if( aJsonString == null) return null; @@ -281,41 +266,4 @@ public class Translate { aJsonString = URLDecoder.decode(aJsonString, "UTF-8"); return aJsonString; } - - private String googleTranslateToText(String text) throws JSONException, UnsupportedEncodingException{ - - int i = 0; - StringBuilder aJsonString = new StringBuilder(); - while( i < new JSONArray(new JSONArray(text).get(0).toString()).length() ) { - aJsonString.append(new JSONArray(new JSONArray(new JSONArray(text).get(0).toString()).get(i).toString()).get(0).toString()); - i++; - } - //Some fixes due to translation with Google - aJsonString = new StringBuilder(aJsonString.toString().trim()); - aJsonString = new StringBuilder(aJsonString.toString().replace("< / ", " ", ">")); - aJsonString = new StringBuilder(aJsonString.toString().replace(" <", "<")); - aJsonString = new StringBuilder(aJsonString.toString().replace(" // ", "//")); - aJsonString = new StringBuilder(aJsonString.toString().replace("// ", "//")); - aJsonString = new StringBuilder(aJsonString.toString().replace(" //", "//")); - aJsonString = new StringBuilder(aJsonString.toString().replace(" www .", "www.")); - aJsonString = new StringBuilder(aJsonString.toString().replace("www .", "www.")); - - // This one might cause more trouble than it's worth - aJsonString = new StringBuilder(aJsonString.toString().replaceAll("\\* \\.", "*.")); - - /* - Noticed that sometimes the special tags were getting messed up by Google, - might be other variants, only caught one so far. - - But, pre-planning might save some time later... - */ - aJsonString = new StringBuilder(aJsonString.toString().replaceAll("__\\s?([ut])\\s?(\\d+)\\s?__", "__$1$2__")); - aJsonString = new StringBuilder(aJsonString.toString().replaceAll("%(?![0-9a-fA-F]{2})", "%25")); - aJsonString = new StringBuilder(aJsonString.toString().replaceAll("\\+", "%2B")); - aJsonString = new StringBuilder(URLDecoder.decode(aJsonString.toString(), "UTF-8")); - return aJsonString.toString(); - } - } diff --git a/app/src/main/res/layout/drawer_status.xml b/app/src/main/res/layout/drawer_status.xml index a44fd998b..9b4871247 100644 --- a/app/src/main/res/layout/drawer_status.xml +++ b/app/src/main/res/layout/drawer_status.xml @@ -190,15 +190,6 @@ android:text="Powered by Yandex.Translate" android:layout_height="wrap_content" tools:ignore="HardcodedText" /> - - Yandex - Google Nein diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 6286dcb02..7221a1d1a 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -331,7 +331,6 @@ Yandex - Google Non diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 011601141..4f3046e62 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -334,7 +334,6 @@ Yandex - Google Nee diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index bcb6b63b1..33609345d 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -335,7 +335,6 @@ Yandex - Google Não diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4fae85ea9..eb0d76da2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -341,7 +341,6 @@ Yandex - Google No