From f28fcced1f728f5368d7c570d2bce30aebbb49c1 Mon Sep 17 00:00:00 2001 From: stom79 Date: Sat, 18 Nov 2017 12:36:10 +0100 Subject: [PATCH] Translation client --- app/.gitignore | 1 - .../mastodon/activities/MediaActivity.java | 5 +- .../mastodon/translation/YandexClient.java | 51 ------------- .../mastodon/translation/YandexQuery.java | 73 ++++++++++--------- 4 files changed, 42 insertions(+), 88 deletions(-) delete mode 100644 app/src/main/java/fr/gouv/etalab/mastodon/translation/YandexClient.java diff --git a/app/.gitignore b/app/.gitignore index 0a8fd9fd2..796b96d1c 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -1,2 +1 @@ /build -/src/main/java/fr/gouv/etalab/mastodon/translation/YandexClient.java diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/MediaActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/MediaActivity.java index 6cb0e5563..4fbe65763 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/MediaActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/MediaActivity.java @@ -382,10 +382,10 @@ public class MediaActivity extends AppCompatActivity implements OnDownloadInterf } @Override - public void onDownloaded(Uri uri, Error error) { + public void onDownloaded(String path, Error error) { progress.setVisibility(View.GONE); videoView.setVisibility(View.VISIBLE); - videoView.setVideoURI(uri); + videoView.setVideoURI(Uri.parse(path)); videoView.start(); MediaController mc = new MediaController(MediaActivity.this); videoView.setMediaController(mc); @@ -400,6 +400,7 @@ public class MediaActivity extends AppCompatActivity implements OnDownloadInterf videoView.setVisibility(View.VISIBLE); } + @Override public void onUpdateProgress(int progressPercentage) { progress.setText(String.format("%s%%",String.valueOf(progressPercentage))); diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/translation/YandexClient.java b/app/src/main/java/fr/gouv/etalab/mastodon/translation/YandexClient.java deleted file mode 100644 index ab6171ca3..000000000 --- a/app/src/main/java/fr/gouv/etalab/mastodon/translation/YandexClient.java +++ /dev/null @@ -1,51 +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 YandexClient { - - private static final String BASE_URL = "https://translate.yandex.net/api/v1.5/tr.json/translate?"; - private static final String YANDEX_KEY = "trnsl.1.1.20170703T074828Z.a95168c920f61b17.699437a40bbfbddc4cd57f345a75c83f0f30c420"; - - 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) { - String key = "key=" + YANDEX_KEY + "&"; - toLanguage = toLanguage.replace("null",""); - String lang = "lang=" + toLanguage + "&"; - String text; - try { - text = "text=" + URLEncoder.encode(content, "utf-8") + "&"; - } catch (UnsupportedEncodingException e) { - text = "text=" + content + "&"; - e.printStackTrace(); - } - String format = "format=html&"; - return BASE_URL + key + lang +format + text ; - } - -} diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/translation/YandexQuery.java b/app/src/main/java/fr/gouv/etalab/mastodon/translation/YandexQuery.java index 4e88dd59e..ba1ffc137 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/translation/YandexQuery.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/translation/YandexQuery.java @@ -14,10 +14,12 @@ * see . */ package fr.gouv.etalab.mastodon.translation; -import com.loopj.android.http.AsyncHttpResponseHandler; import org.json.JSONException; -import cz.msebera.android.httpclient.Header; + +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import fr.gouv.etalab.mastodon.client.Entities.Status; +import fr.gouv.etalab.mastodon.client.HttpsConnection; import fr.gouv.etalab.mastodon.helper.Helper; import fr.gouv.etalab.mastodon.interfaces.OnTranslatedInterface; @@ -31,54 +33,57 @@ class YandexQuery { YandexQuery(OnTranslatedInterface listenner) { this.listener = listenner; } + private static final String BASE_URL = "https://translate.yandex.net/api/v1.5/tr.json/translate?"; + private static final String YANDEX_KEY = "trnsl.1.1.20170703T074828Z.a95168c920f61b17.699437a40bbfbddc4cd57f345a75c83f0f30c420"; void getYandexTextview(final Translate translate, final Status status, final String text, final String toLanguage) throws JSONException { if( text != null && text.length() > 0) { - YandexClient.get(text, toLanguage, new AsyncHttpResponseHandler() { + new Thread(new Runnable() { @Override - public void onStart() { - + public void run() { + try { + String str_response = new HttpsConnection().get(getAbsoluteUrl(text, toLanguage), 30, null, null ); + listener.onTranslatedTextview(translate, status, str_response, false); + } catch (Exception e) { + listener.onTranslatedTextview(translate, status, null, true); + } } + }).start(); - @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); - } - - }); }else { listener.onTranslatedTextview(translate, status, "", false); } } void getYandexTranslation(final Translate translate, final Helper.targetField target, final String content, final String toLanguage) throws JSONException { if( content != null && content.length() > 0) { - YandexClient.get(content, toLanguage, new AsyncHttpResponseHandler() { + new Thread(new Runnable() { @Override - public void onStart() { - + public void run() { + try { + String str_response = new HttpsConnection().get(getAbsoluteUrl(content, toLanguage), 30, null, null ); + listener.onTranslated(translate, target, str_response, false); + } catch (Exception e) { + listener.onTranslated(translate, target, "", false); + } } - - @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) { - e.printStackTrace(); - listener.onTranslated(translate, target, null, true); - } - - }); + }).start(); }else{ listener.onTranslated(translate, target, "", false); } } + + private static String getAbsoluteUrl(String content, String toLanguage) { + String key = "key=" + YANDEX_KEY + "&"; + toLanguage = toLanguage.replace("null",""); + String lang = "lang=" + toLanguage + "&"; + String text; + try { + text = "text=" + URLEncoder.encode(content, "utf-8") + "&"; + } catch (UnsupportedEncodingException e) { + text = "text=" + content + "&"; + e.printStackTrace(); + } + String format = "format=html&"; + return BASE_URL + key + lang +format + text ; + } }