code imp
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package ru.vtosters.lite.hooks;
|
||||
|
||||
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import ru.vtosters.lite.translators.BaseTranslator;
|
||||
@@ -8,10 +10,9 @@ public class MessagesHook {
|
||||
|
||||
public static String injectOwnText(String oldText) {
|
||||
var translator = BaseTranslator.getInstance();
|
||||
if (!TextUtils.isEmpty(oldText))
|
||||
if (!TextUtils.isEmpty(oldText) && getBoolValue("autotranslate", false)) {
|
||||
return translator.translate(oldText);
|
||||
}
|
||||
return oldText;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,16 +1,29 @@
|
||||
package ru.vtosters.lite.translators;
|
||||
|
||||
import static ru.vtosters.lite.utils.Preferences.*;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import ru.vtosters.lite.utils.AndroidUtils;
|
||||
|
||||
public abstract class BaseTranslator {
|
||||
|
||||
private static final int YANDEX_CODE = 0;
|
||||
|
||||
@NonNull
|
||||
public abstract String translate(String text);
|
||||
|
||||
public static Object target(){
|
||||
var lang = preferences.getString("lang_target", "system");
|
||||
var systemLang = Locale.getDefault().getLanguage();
|
||||
|
||||
if (lang.isEmpty() || lang.equals(systemLang) || lang.equals("system"))
|
||||
return systemLang;
|
||||
|
||||
return lang;
|
||||
}
|
||||
|
||||
public static BaseTranslator getInstance() {
|
||||
switch (AndroidUtils.getPreferences().getInt("translator", 0)) {
|
||||
case YANDEX_CODE:
|
||||
|
||||
@@ -23,7 +23,7 @@ public class YandexTranslator extends BaseTranslator {
|
||||
private static final OkHttpClient client = new OkHttpClient();
|
||||
private static YandexTranslator instance;
|
||||
|
||||
private static String uuid = UUID.randomUUID().toString().replace("-", "");
|
||||
private static final String uuid = UUID.randomUUID().toString().replace("-", "");
|
||||
|
||||
public static YandexTranslator getInstance() {
|
||||
if (instance == null)
|
||||
@@ -37,7 +37,7 @@ public class YandexTranslator extends BaseTranslator {
|
||||
var request = new Request.a()
|
||||
.b("https://translate.yandex.net/api/v1/tr.json/translate?&srv=android&id=" + uuid + "-0-0")
|
||||
.a(RequestBody.a(MediaType.a("application/x-www-form-urlencoded"),
|
||||
"lang=" + Locale.getDefault().getLanguage() + "&text=" + URLEncoder.encode(text, "UTF-8")))
|
||||
"lang=" + target() + "&text=" + URLEncoder.encode(text, "UTF-8")))
|
||||
.a();
|
||||
var payload = client.a(request).execute().a().g();
|
||||
var json = new JSONObject(payload);
|
||||
|
||||
Reference in New Issue
Block a user