From 5d6c001dfb2f483a0277f8e48f4d0ecd7f0fdf22 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 30 Jul 2022 15:58:07 +0300 Subject: [PATCH] Update DNRInjector.java --- .../ru/vtosters/lite/dnr/DNRInjector.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java b/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java index 11d8029ca..03091ad4f 100644 --- a/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java +++ b/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java @@ -8,12 +8,17 @@ import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; +import android.content.Context; import android.os.StrictMode; import android.util.Log; import com.vk.core.network.Network; import com.vk.im.engine.models.dialogs.Dialog; +import com.vk.im.engine.models.messages.Msg; +import com.vk.im.engine.models.messages.MsgFromUser; import com.vk.im.ui.components.common.DialogAction; +import com.vk.im.ui.components.common.MsgAction; +import com.vk.im.ui.components.viewcontrollers.popup.DelegateMsg; import java.io.IOException; import java.util.LinkedHashMap; @@ -22,6 +27,7 @@ import java.util.List; import okhttp3.Headers; import okhttp3.OkHttpClient; import okhttp3.Request; +import ru.vtosters.lite.ui.dialogs.Translate; public class DNRInjector { public static void inject(Dialog dialog, List list) { @@ -89,6 +95,21 @@ public class DNRInjector { return false; } + public static LinkedHashMap injectToHashMapMsg(LinkedHashMap hashMap) { + hashMap.put(MsgAction.valueOf("TRANSLATE"), new DelegateMsg.a.a(getIdentifier("translator", "string"))); + return hashMap; + } + + public static boolean onClickMsg(Context context, MsgAction action, Msg msg) { + var text = ((MsgFromUser) msg).f(); + + if (action == MsgAction.valueOf("TRANSLATE") && text != null) { + Translate.showTranslatedText(context, text); + } + + return false; + } + public static void pinnedMsg(int dialogid, boolean needToBePinned){ Thread thread = new Thread(() -> { try {