From 10da74285c268e3e08957bbea2c18e67f5090f9d Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 19 Aug 2022 14:33:17 +0300 Subject: [PATCH 001/134] Update build.gradle --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 0c4f2ec79..0b5d4f986 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,7 +69,7 @@ task exportDex { android { compileSdkVersion 32 - buildToolsVersion '32.0.0' + buildToolsVersion '33.0.0' defaultConfig { applicationId "ru.vtosters.lite.utils.lite" From 1f87d7a403036544a5becff33499a1a7204553fb Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 19 Aug 2022 15:55:40 +0300 Subject: [PATCH 002/134] fix default ad bool --- smali/smali_classes5/com/vtosters/lite/utils/Utils.smali | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smali/smali_classes5/com/vtosters/lite/utils/Utils.smali b/smali/smali_classes5/com/vtosters/lite/utils/Utils.smali index 72eaa8c81..a77d70254 100644 --- a/smali/smali_classes5/com/vtosters/lite/utils/Utils.smali +++ b/smali/smali_classes5/com/vtosters/lite/utils/Utils.smali @@ -316,7 +316,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const/4 v2, 0x0 + const/4 v2, 0x1 const-string v3, "__dbg_no_ads" From cf25e3948526417ed1f3235c22b54facfd0f67cb Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 19 Aug 2022 15:56:40 +0300 Subject: [PATCH 003/134] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 76fca5f0a..2e554f6ed 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ smali2/build/resources.zip smali/build/resources.zip smali/assets/version.properties *.keystore +gradle.properties From bd3bec2a3164e6898c4b12ab2f7aaad97a13cac2 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 19 Aug 2022 16:00:24 +0300 Subject: [PATCH 004/134] fixed m3u8 path downloading --- .../java/ru/vtosters/lite/downloaders/AudioDownloader.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java index f3863631b..f7f405936 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java @@ -1,5 +1,7 @@ package ru.vtosters.lite.downloaders; +import static ru.vtosters.lite.utils.Preferences.getMusicDir; + import android.os.Environment; import android.util.Log; @@ -35,7 +37,7 @@ public class AudioDownloader { return; } - var musicPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath(); + var musicPath = getMusicDir().getAbsolutePath(); var musicDir = new File(musicPath); if (!musicDir.exists()) { if (musicDir.mkdirs()) { From 6e538f44b5e9b1c7f260ec60c9d8c271fc80b07b Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 20 Aug 2022 12:17:22 +0300 Subject: [PATCH 005/134] some pix fixes --- .../main/java/com/vk/core/util/DownloadUtils.java | 14 ++++++++++++-- .../vtosters/lite/downloaders/StoryDownloader.java | 2 +- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/vk/core/util/DownloadUtils.java b/app/src/main/java/com/vk/core/util/DownloadUtils.java index 25ef4c0af..da49f43b2 100644 --- a/app/src/main/java/com/vk/core/util/DownloadUtils.java +++ b/app/src/main/java/com/vk/core/util/DownloadUtils.java @@ -1,5 +1,6 @@ package com.vk.core.util; +import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.Preferences.getDownloadsDir; import static ru.vtosters.lite.utils.Preferences.getMusicDir; import static ru.vtosters.lite.utils.Preferences.getPhotosDir; @@ -12,6 +13,7 @@ import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteException; +import android.media.MediaScannerConnection; import android.net.Uri; import android.text.TextUtils; import android.util.Log; @@ -22,6 +24,7 @@ import com.vk.core.concurrent.VkExecutors; import com.vk.imageloader.VKImageLoader; import com.vk.log.L; import com.vk.metrics.eventtracking.VkTracker; +import com.vtosters.lite.MainActivity; import com.vtosters.lite.R; import java.io.File; @@ -51,7 +54,7 @@ public class DownloadUtils { ToastUtils.a(context.getString(R.string.error) + " [" + e2.getMessage() + "]"); } } - + private static void b(final Context context, String str, String str2, boolean z) { if (TextUtils.isEmpty(str2)) { return; @@ -59,10 +62,12 @@ public class DownloadUtils { String file = a(str, str2); File b2; + boolean pic = false; boolean c2 = MediaUtils.c(MediaUtils.b(str2)); if (file.endsWith(".jpg") || file.endsWith(".png") || file.endsWith(".jpeg")) { b2 = new File(getPhotosDir(), file); + pic = true; } else if (file.endsWith(".mp3") || file.endsWith(".wav") || file.endsWith(".ogg") || file.endsWith(".aac") || file.endsWith(".flac") || file.endsWith(".m4a")) { b2 = new File(getMusicDir(), file); } else if (file.endsWith(".mp4") || file.endsWith(".mkv") || file.endsWith(".avi") || file.endsWith(".flv") || file.endsWith(".wmv") || file.endsWith(".mov") || file.endsWith(".3gp")) { @@ -83,14 +88,16 @@ public class DownloadUtils { if (b2.exists()) { VkExecutors.x.a().execute(() -> ToastUtils.a(context.getString(R.string.file_saved, b2.getAbsoluteFile()))); } + } catch (Exception e2) { L.a(e2); } + CameraUtils.a(context, b2, null); return; } } - + DownloadManager.Request request = new DownloadManager.Request(Uri.parse(str2)); request.setDestinationUri(Uri.fromFile(b2)); request.setMimeType(FileUtils.f(new File(str))); @@ -103,6 +110,9 @@ public class DownloadUtils { } try { long enqueue = a2.enqueue(request); + if (pic) { + CameraUtils.a(context, b2, null); + } if (!z) { return; } diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java index a764711f3..3fbebe2f6 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java @@ -24,7 +24,7 @@ public class StoryDownloader { DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); request.setTitle("photo" + story.E.a); - request.setDestinationInExternalPublicDir(getPhotosDir().getAbsolutePath(), "/Stories/photo" + story.E.a + ".jpg"); + request.setDestinationInExternalPublicDir(getPhotosDir().getAbsolutePath(), "/Stories/" + story.E.a + ".jpg"); ((DownloadManager) getGlobalContext().getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request); return; } From 6ce0e630db2319219519b1c97adc4dac45c63a37 Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Sat, 20 Aug 2022 00:37:03 +0500 Subject: [PATCH 006/134] =?UTF-8?q?reply=20=F0=9F=94=92=20decrypt=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/ru/vtosters/lite/hooks/WritebarReplyHook.java | 4 ++-- .../msg_list/adapter/msgparts/MsgPartReplyHolder.smali | 2 +- smali/smali_classes5/com/vtosters/lite/ui/WriteBar.smali | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/WritebarReplyHook.java b/app/src/main/java/ru/vtosters/lite/hooks/WritebarReplyHook.java index 081d2fdd6..2e96c0a40 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/WritebarReplyHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/WritebarReplyHook.java @@ -7,8 +7,8 @@ import com.vk.im.engine.models.messages.MsgFromUser; import com.vk.im.ui.views.ReplyView; public class WritebarReplyHook { - public static void injectWithDecrypt(ReplyView replyView, MsgFromUser msgFromUser, ProfilesSimpleInfo profilesSimpleInfo) { + public static void injectWithDecrypt(ReplyView replyView, MsgFromUser msgFromUser, ProfilesSimpleInfo profilesSimpleInfo, boolean someBool) { msgFromUser.d(decryptMessage(msgFromUser)); // set new value of text in MsgFromUser class - replyView.a(msgFromUser, profilesSimpleInfo, msgFromUser.H1()); + replyView.a(msgFromUser, profilesSimpleInfo, someBool); } } diff --git a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartReplyHolder.smali b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartReplyHolder.smali index e989c60fc..2fc51c504 100644 --- a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartReplyHolder.smali +++ b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartReplyHolder.smali @@ -295,7 +295,7 @@ invoke-static {p1, v6}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - invoke-virtual {v2, v5, p1, v1}, Lcom/vk/im/ui/views/ReplyView;->a(Lcom/vk/im/engine/models/messages/WithUserContent;Lcom/vk/im/engine/models/ProfilesSimpleInfo;Z)V + invoke-static {v2, v5, p1, v1}, Lru/vtosters/lite/hooks/WritebarReplyHook;->injectWithDecrypt(Lcom/vk/im/ui/views/ReplyView;Lcom/vk/im/engine/models/messages/MsgFromUser;Lcom/vk/im/engine/models/ProfilesSimpleInfo;Z)V .line 11 iget-object p1, p0, Lcom/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartReplyHolder;->C:Lcom/vk/im/ui/views/ReplyView; diff --git a/smali/smali_classes5/com/vtosters/lite/ui/WriteBar.smali b/smali/smali_classes5/com/vtosters/lite/ui/WriteBar.smali index 8451bfaf1..bb92d6b0a 100644 --- a/smali/smali_classes5/com/vtosters/lite/ui/WriteBar.smali +++ b/smali/smali_classes5/com/vtosters/lite/ui/WriteBar.smali @@ -4500,7 +4500,11 @@ .line 176 iget-object v0, p0, Lcom/vtosters/lite/ui/WriteBar;->k0:Lcom/vk/im/ui/views/ReplyView; - invoke-static {v0, p1, p2}, Lru/vtosters/lite/hooks/WritebarReplyHook;->injectWithDecrypt(Lcom/vk/im/ui/views/ReplyView;Lcom/vk/im/engine/models/messages/MsgFromUser;Lcom/vk/im/engine/models/ProfilesSimpleInfo;)V + invoke-virtual {p1}, Lcom/vk/im/engine/models/messages/Msg;->H1()Z + + move-result v1 + + invoke-static {v0, p1, p2, v1}, Lru/vtosters/lite/hooks/WritebarReplyHook;->injectWithDecrypt(Lcom/vk/im/ui/views/ReplyView;Lcom/vk/im/engine/models/messages/MsgFromUser;Lcom/vk/im/engine/models/ProfilesSimpleInfo;Z)V .line 177 iput-object p1, p0, Lcom/vtosters/lite/ui/WriteBar;->m0:Lcom/vk/im/engine/models/messages/MsgFromUser; From 478825e7087c9b02a0777eb288a0ed8f12083a8e Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Sat, 20 Aug 2022 15:19:11 +0500 Subject: [PATCH 007/134] =?UTF-8?q?reply=20=F0=9F=94=92=20decrypt=20fix=20?= =?UTF-8?q?[pt.=202]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/vtosters/lite/hooks/ReplyMsgHook.java | 26 +++++++++++++++++++ .../lite/hooks/WritebarReplyHook.java | 14 ---------- .../adapter/msgparts/MsgPartReplyHolder.smali | 6 ++--- .../com/vtosters/lite/ui/WriteBar.smali | 2 +- 4 files changed, 29 insertions(+), 19 deletions(-) create mode 100644 app/src/main/java/ru/vtosters/lite/hooks/ReplyMsgHook.java delete mode 100644 app/src/main/java/ru/vtosters/lite/hooks/WritebarReplyHook.java diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ReplyMsgHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ReplyMsgHook.java new file mode 100644 index 000000000..0eb6ceaa1 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/hooks/ReplyMsgHook.java @@ -0,0 +1,26 @@ +package ru.vtosters.lite.hooks; + +import static ru.vtosters.lite.encryption.EncryptProvider.decryptMessage; + +import com.vk.im.engine.models.ProfilesSimpleInfo; +import com.vk.im.engine.models.messages.MsgFromUser; +import com.vk.im.engine.models.messages.NestedMsg; +import com.vk.im.engine.models.messages.WithUserContent; +import com.vk.im.ui.views.ReplyView; + +public class ReplyMsgHook { + public static void injectWithDecrypt(ReplyView replyView, MsgFromUser msgFromUser, ProfilesSimpleInfo profilesSimpleInfo, boolean someBool) { + msgFromUser.d(decryptMessage(msgFromUser)); // set new value of text in MsgFromUser class + replyView.a((WithUserContent) msgFromUser, profilesSimpleInfo, someBool); + } + + public static void injectWithDecrypt(ReplyView replyView, NestedMsg nestedMsg, ProfilesSimpleInfo profilesSimpleInfo, boolean someBool) { + nestedMsg.d(decryptMessage(nestedMsg.f(), nestedMsg.t1())); // set new value of text in NestedMsg class + replyView.a((WithUserContent) nestedMsg, profilesSimpleInfo, someBool); + } + + public static void injectWithDecrypt(ReplyView replyView, NestedMsg nestedMsg, ProfilesSimpleInfo profilesSimpleInfo, boolean someBool, int i) { + if ((i & 4) != 0) someBool = false; + injectWithDecrypt(replyView, nestedMsg, profilesSimpleInfo, someBool); + } +} diff --git a/app/src/main/java/ru/vtosters/lite/hooks/WritebarReplyHook.java b/app/src/main/java/ru/vtosters/lite/hooks/WritebarReplyHook.java deleted file mode 100644 index 2e96c0a40..000000000 --- a/app/src/main/java/ru/vtosters/lite/hooks/WritebarReplyHook.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.vtosters.lite.hooks; - -import static ru.vtosters.lite.encryption.EncryptProvider.decryptMessage; - -import com.vk.im.engine.models.ProfilesSimpleInfo; -import com.vk.im.engine.models.messages.MsgFromUser; -import com.vk.im.ui.views.ReplyView; - -public class WritebarReplyHook { - public static void injectWithDecrypt(ReplyView replyView, MsgFromUser msgFromUser, ProfilesSimpleInfo profilesSimpleInfo, boolean someBool) { - msgFromUser.d(decryptMessage(msgFromUser)); // set new value of text in MsgFromUser class - replyView.a(msgFromUser, profilesSimpleInfo, someBool); - } -} diff --git a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartReplyHolder.smali b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartReplyHolder.smali index 2fc51c504..b39b0856a 100644 --- a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartReplyHolder.smali +++ b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartReplyHolder.smali @@ -103,9 +103,7 @@ const/4 v6, 0x4 - const/4 v7, 0x0 - - invoke-static/range {v2 .. v7}, Lcom/vk/im/ui/views/ReplyView;->a(Lcom/vk/im/ui/views/ReplyView;Lcom/vk/im/engine/models/messages/WithUserContent;Lcom/vk/im/engine/models/ProfilesSimpleInfo;ZILjava/lang/Object;)V + invoke-static/range {v2 .. v6}, Lru/vtosters/lite/hooks/ReplyMsgHook;->injectWithDecrypt(Lcom/vk/im/ui/views/ReplyView;Lcom/vk/im/engine/models/messages/NestedMsg;Lcom/vk/im/engine/models/ProfilesSimpleInfo;ZI)V goto :goto_0 @@ -295,7 +293,7 @@ invoke-static {p1, v6}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - invoke-static {v2, v5, p1, v1}, Lru/vtosters/lite/hooks/WritebarReplyHook;->injectWithDecrypt(Lcom/vk/im/ui/views/ReplyView;Lcom/vk/im/engine/models/messages/MsgFromUser;Lcom/vk/im/engine/models/ProfilesSimpleInfo;Z)V + invoke-static {v2, v5, p1, v1}, Lru/vtosters/lite/hooks/ReplyMsgHook;->injectWithDecrypt(Lcom/vk/im/ui/views/ReplyView;Lcom/vk/im/engine/models/messages/NestedMsg;Lcom/vk/im/engine/models/ProfilesSimpleInfo;Z)V .line 11 iget-object p1, p0, Lcom/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartReplyHolder;->C:Lcom/vk/im/ui/views/ReplyView; diff --git a/smali/smali_classes5/com/vtosters/lite/ui/WriteBar.smali b/smali/smali_classes5/com/vtosters/lite/ui/WriteBar.smali index bb92d6b0a..b31ce55d4 100644 --- a/smali/smali_classes5/com/vtosters/lite/ui/WriteBar.smali +++ b/smali/smali_classes5/com/vtosters/lite/ui/WriteBar.smali @@ -4504,7 +4504,7 @@ move-result v1 - invoke-static {v0, p1, p2, v1}, Lru/vtosters/lite/hooks/WritebarReplyHook;->injectWithDecrypt(Lcom/vk/im/ui/views/ReplyView;Lcom/vk/im/engine/models/messages/MsgFromUser;Lcom/vk/im/engine/models/ProfilesSimpleInfo;Z)V + invoke-static {v0, p1, p2, v1}, Lru/vtosters/lite/hooks/ReplyMsgHook;->injectWithDecrypt(Lcom/vk/im/ui/views/ReplyView;Lcom/vk/im/engine/models/messages/MsgFromUser;Lcom/vk/im/engine/models/ProfilesSimpleInfo;Z)V .line 177 iput-object p1, p0, Lcom/vtosters/lite/ui/WriteBar;->m0:Lcom/vk/im/engine/models/messages/MsgFromUser; From 020ec70221cc1ab513459770009207021084ed4c Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 20 Aug 2022 15:24:08 +0300 Subject: [PATCH 008/134] fixed stories and vid downloading --- .../ru/vtosters/lite/downloaders/StoryDownloader.java | 6 ++++-- .../ru/vtosters/lite/downloaders/VideoDownloader.java | 9 ++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java index 3fbebe2f6..287374997 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java @@ -12,6 +12,7 @@ import android.os.Environment; import com.vk.dto.common.ImageSize; import com.vk.dto.stories.model.StoryEntry; +import java.io.File; import java.util.List; public class StoryDownloader { @@ -23,8 +24,9 @@ public class StoryDownloader { String url = imageSizes.get(imageSizes.size() - 1).url; DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); - request.setTitle("photo" + story.E.a); - request.setDestinationInExternalPublicDir(getPhotosDir().getAbsolutePath(), "/Stories/" + story.E.a + ".jpg"); + request.setTitle("photo" + story.E.a + ".jpg"); + request.setDestinationInExternalPublicDir(getPhotosDir().getName(), "photo" + story.E.a + ".jpg"); + request.allowScanningByMediaScanner(); ((DownloadManager) getGlobalContext().getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request); return; } diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java index 95261b079..3edfbc14b 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java @@ -15,6 +15,7 @@ import android.net.Uri; import android.os.Environment; import android.widget.Toast; +import com.vk.core.dialogs.alert.VkAlertDialog; import com.vk.core.dialogs.bottomsheet.MenuBottomSheetAction; import com.vk.core.util.ToastUtils; import com.vk.dto.common.VideoFile; @@ -106,18 +107,20 @@ public class VideoDownloader { DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); request.setTitle(videoFile.toString()); - request.setDestinationInExternalPublicDir(getVideosDir().getAbsolutePath(), videoFile + ".mp4"); + request.allowScanningByMediaScanner(); + request.setDestinationInExternalPublicDir(getVideosDir().getName(), videoFile + ".mp4"); ((DownloadManager) getGlobalContext().getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request); return; } - var builder = new AlertDialog.Builder(context); + var builder = new VkAlertDialog.Builder(context); builder.setItems(max, ((dialog, which) -> { var url = urls.get(which); DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); request.setTitle(videoFile.toString()); - request.setDestinationInExternalPublicDir(getVideosDir().getAbsolutePath(), videoFile + ".mp4"); + request.allowScanningByMediaScanner(); + request.setDestinationInExternalPublicDir(getVideosDir().getName(), videoFile + ".mp4"); ((DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request); })); builder.show(); From 05ed60b86d85b0275ffbba2bf64c119201c4d674 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 20 Aug 2022 16:14:58 +0300 Subject: [PATCH 009/134] added vika support to start proxy dialog --- .../java/ru/vtosters/lite/hooks/ProxyHook.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java index ebbf99c51..37fa023c1 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java @@ -1,5 +1,6 @@ package ru.vtosters.lite.hooks; +import static ru.vtosters.lite.proxy.ProxyUtils.isVikaProxyEnabled; import static ru.vtosters.lite.utils.AndroidUtils.dp2px; import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.LifecycleUtils.restartApplication; @@ -41,14 +42,17 @@ public class ProxyHook { RadioButton rgDefault = new RadioButton(new ContextThemeWrapper(ctx, com.vtosters.lite.R.style.Widget_AppCompat_CompoundButton_RadioButton)); RadioButton rgZaborona = new RadioButton(new ContextThemeWrapper(ctx, com.vtosters.lite.R.style.Widget_AppCompat_CompoundButton_RadioButton)); RadioButton rgRandomProxy = new RadioButton(new ContextThemeWrapper(ctx, com.vtosters.lite.R.style.Widget_AppCompat_CompoundButton_RadioButton)); + RadioButton rgVika = new RadioButton(new ContextThemeWrapper(ctx, com.vtosters.lite.R.style.Widget_AppCompat_CompoundButton_RadioButton)); rg.addView(rgDefault); rg.addView(rgZaborona); + rg.addView(rgVika); rg.addView(rgRandomProxy); rgDefault.setTextSize(TypedValue.COMPLEX_UNIT_PX, dp2px(14f)); rgZaborona.setTextSize(TypedValue.COMPLEX_UNIT_PX, dp2px(14f)); rgRandomProxy.setTextSize(TypedValue.COMPLEX_UNIT_PX, dp2px(14f)); + rgVika.setTextSize(TypedValue.COMPLEX_UNIT_PX, dp2px(14f)); rg.setPadding(dp2px(18f), dp2px(12f), dp2px(18f), 0); @@ -58,12 +62,16 @@ public class ProxyHook { rgZaborona.setText(AndroidUtils.getString("proxy_enable") + " (Zaborona)"); rgZaborona.setTextColor(getTextAttr()); - rgRandomProxy.setText(AndroidUtils.getString("proxy_enable") + " (RandomProxy)"); + rgRandomProxy.setText(AndroidUtils.getString("proxy_enable") + " (Random Proxy)"); rgRandomProxy.setTextColor(getTextAttr()); + rgVika.setText(AndroidUtils.getString("proxy_enable") + " (Vika)"); + rgVika.setTextColor(getTextAttr()); + rgZaborona.setChecked(isZaboronaEnabled()); - rgDefault.setChecked(!isZaboronaEnabled()); + rgDefault.setChecked(!isZaboronaEnabled() && !isRandomProxyEnabled() && !isVikaProxyEnabled()); rgRandomProxy.setChecked(isRandomProxyEnabled()); + rgVika.setChecked(isVikaProxyEnabled()); AlertDialog.Builder builder = new AlertDialog.Builder(ctx, getAlertStyle()); builder.setTitle(AndroidUtils.getString("vtlproxy")); @@ -76,6 +84,9 @@ public class ProxyHook { } else if (rgRandomProxy.isChecked()) { edit().putString("proxy", "randomproxy").commit(); restartApplication(); + } else if (rgVika.isChecked()) { + edit().putString("proxy", "vika").commit(); + restartApplication(); } else { edit().putString("proxy", "noproxy").commit(); restartApplication(); From ac3cb847f42d28404c69f61f69c9aec668d4da53 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 20 Aug 2022 16:58:39 +0300 Subject: [PATCH 010/134] refactored conversation_bar inj --- .../ru/vtosters/lite/hooks/JsonInjectors.java | 41 +++++++++++-------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index f66fbd808..677a19e6f 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -157,6 +157,8 @@ public class JsonInjectors { } public static JSONObject convBar(JSONObject orig) throws JSONException { + if (!dev()) return orig.optJSONObject("conversation_bar"); // for devs only + var peerid = Objects.requireNonNull(orig.optJSONObject("peer")).optInt("id"); var pic = "https://image.pngaaa.com/641/326641-middle.png"; // can be null @@ -164,38 +166,41 @@ public class JsonInjectors { var link = "https://vtosters.app"; // can be null var linktitle = "Test button"; // can be null - // "{\"layout\":\"tertiary\",\"text\":\"" + linktitle + "\",\"type\":\"link\",\"link\":\"" + link + "\"}"; - var buttons = decode("eyJsYXlvdXQiOiJ0ZXJ0aWFyeSIsInRleHQiOiI=") + linktitle + decode("IiwidHlwZSI6ImxpbmsiLCJsaW5rIjoi") + link + decode("In0="); - // ,"icon":" + pic + " - var icon = decode("LCJpY29uIjoi") + pic + decode("Ig=="); - var hasIcon = !pic.isEmpty(); - var hasButton = !buttons.isEmpty(); - var isPicture = pic.endsWith(".png") || pic.endsWith(".jpg") || pic.endsWith(".jpeg") || pic.endsWith(".webp"); + var hasButton = !link.isEmpty(); - if (!isPicture) hasIcon = false; - if (!hasIcon) icon = ""; - if (!hasButton) buttons = ""; + var isPicture = pic.endsWith(".png") || pic.endsWith(".jpg") || pic.endsWith(".jpeg") || pic.endsWith(".webp"); if (isVerified(peerid)) text = AndroidUtils.getString("i_bought") + " VTosters Premium"; if (isPrometheus(peerid)) text = AndroidUtils.getString("i_bought") + " VTosters Premium Gold Prime Pro Plus"; if (isDeveloper(peerid)) text = AndroidUtils.getString("i_created_poop"); - if (!isVerified(peerid) || text.equals("")) { + + if (!isVerified(peerid) || text.equals("") || peerid == AccountManagerUtils.getUserId() || peerid == 0) { if (getBoolValue("convBarRecomm", false)) { return null; } else { return orig.optJSONObject("conversation_bar"); } } + var json = new JSONObject(); - if (!dev()) return orig.optJSONObject("conversation_bar"); + var buttonsJson = new JSONObject(); + buttonsJson.put("layout", "tertiary"); + buttonsJson.put("text", linktitle); + buttonsJson.put("type", "link"); + buttonsJson.put("link", link); - // JSONObject("{\"name\":\"group_admin_welcome\",\"text\":\"" + textverif + "\",\"buttons\":[],\"icon\":\"" + pic + "\"}"); - return new JSONObject(decode("eyJuYW1lIjoiZ3JvdXBfYWRtaW5fd2VsY29tZSIsInRleHQiOiI=") - + text + decode("IiwiYnV0dG9ucyI6Ww==") - + buttons + decode("XQ==") - + icon - + decode("fQ==")); + var buttonsjson = new JSONArray(); // max 3 buttons in array + if (hasButton) buttonsjson.put(buttonsJson); + + json.put("name", "group_admin_welcome"); + json.put("text", text); + json.put("buttons", buttonsjson); + if (hasIcon && isPicture) { + json.put("icon", pic); + } + + return json; } public static JSONObject menu(JSONObject orig) throws JSONException { From 0c03406774693891c537dd5deb0fc34b7d1b4d2f Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 20 Aug 2022 18:49:32 +0300 Subject: [PATCH 011/134] fixed null list + fix reset items --- .../ru/vtosters/lite/ui/components/NewsfeedListManager.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/components/NewsfeedListManager.java b/app/src/main/java/ru/vtosters/lite/ui/components/NewsfeedListManager.java index 7a7f61c68..9bdad9f5d 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/components/NewsfeedListManager.java +++ b/app/src/main/java/ru/vtosters/lite/ui/components/NewsfeedListManager.java @@ -22,7 +22,7 @@ public class NewsfeedListManager { var list = new ArrayList(); if (filtersSet.size() == 0) { - sendToast(AndroidUtils.getString("newsfeed_update_feed")); + sendToast(AndroidUtils.getString("newsfeed_list_update_feed")); return; } @@ -55,8 +55,7 @@ public class NewsfeedListManager { } public static void resetHideItems() { - getDefaultPrefs().edit() - .putString("news_feed_selected_items", "") + getDefaultPrefs().edit().remove("news_feed_selected_items").remove("news_feed_items_set") .apply(); sendToast(AndroidUtils.getString("newsfeed_list_hidden_reseted")); } From 857b63a35671faaa0ba72adbba240c5d5e828b1b Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 20 Aug 2022 19:12:36 +0300 Subject: [PATCH 012/134] Update FoafBase.java --- app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java b/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java index b2c856715..93a083d9b 100644 --- a/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java +++ b/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java @@ -41,7 +41,7 @@ public class FoafBase { private static final Pattern FOAF_REGEX = Pattern.compile(""); private static final Pattern FOAF_REGEX_LAST_SEEN = Pattern.compile(""); private static final Pattern FOAF_REGEX_LOGIN = Pattern.compile(""); - private static final String API_VKNEXT = "https://api.vknext.net/v1/getBypassedOnlineInfo?json=1&ids="; + private static final String API_VKNEXT = "https://api.vtosters.app/v1/getBypassedOnlineInfo?json=1&ids="; private static final OkHttpClient client = new OkHttpClient(); public static long getLastSeen(long origtime, int id) throws ParseException, IOException { From e668cfb2a3306b174c7b56eec0ce8cec230ca042 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 20 Aug 2022 21:13:49 +0300 Subject: [PATCH 013/134] Update NewsfeedHook.java --- app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java index 323bd21af..db355cd9d 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java @@ -19,6 +19,7 @@ import static ru.vtosters.lite.utils.Preferences.adsslider; import static ru.vtosters.lite.utils.Preferences.authorsrecomm; import static ru.vtosters.lite.utils.Preferences.friendsrecomm; import static ru.vtosters.lite.utils.Preferences.getBoolValue; +import static ru.vtosters.lite.utils.Preferences.milkshake; import static ru.vtosters.lite.utils.Preferences.vkme; import com.vk.core.preference.Preference; @@ -104,7 +105,9 @@ public class NewsfeedHook { public static void adsParams(HashSet hashSet) { if (ads() || adsslider()) { hashSet.add("ads_disabled"); - return; + if (milkshake()) { + return; + } } hashSet.add("ads_app"); From e0f09cea24079973ff4f742e145554f234d5317c Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 20 Aug 2022 22:31:43 +0300 Subject: [PATCH 014/134] fix strange miui 13 bug --- app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java | 3 ++- app/src/main/java/ru/vtosters/lite/utils/Preferences.java | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java b/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java index 01a0704b9..e8d761f83 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java @@ -25,6 +25,7 @@ import b.h.g.m.FileUtils; public class CacheUtils { private static CacheUtils sInstance = new CacheUtils(); public long size = 0; + public static boolean needToDelete = false; public static CacheUtils getInstance() { if (sInstance == null) @@ -55,7 +56,7 @@ public class CacheUtils { public void autoCleaningCache() { size = IOUtils.getDirSize(getGlobalContext().getCacheDir()); - if (size >= getSizeForDelete()) { + if (size >= getSizeForDelete() && needToDelete) { if (dev()) sendToast(AndroidUtils.getString("cache_cleaned")); VKImageLoader.e(); ImAudioMsgPlayerProvider.b().e(PlayerActionSources.a); diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java index 2eb0211fc..1689dd3bd 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java @@ -5,6 +5,7 @@ import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; +import static ru.vtosters.lite.utils.CacheUtils.*; import static ru.vtosters.lite.utils.CacheUtils.getInstance; import static ru.vtosters.lite.utils.DeletedMessagesHandler.reloadMessagesList; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters; @@ -362,16 +363,22 @@ public class Preferences { public static long getSizeForDelete() { switch (getPrefsValue("clearcache")) { case "100mb": + needToDelete = true; return 104857600L; case "500mb": + needToDelete = true; return 524288000L; case "1gb": + needToDelete = true; return 1073741824L; case "2gb": + needToDelete = true; return 2147483648L; case "5gb": + needToDelete = true; return 5368709120L; default: + needToDelete = false; return MAX_VALUE; } } From 32c469d870eb6c31923cc9566f01a383b6e6e304 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 20 Aug 2022 23:26:15 +0300 Subject: [PATCH 015/134] fix https://github.com/vtosters/lite/issues/657 --- app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index 677a19e6f..6a0aa72f3 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -157,8 +157,6 @@ public class JsonInjectors { } public static JSONObject convBar(JSONObject orig) throws JSONException { - if (!dev()) return orig.optJSONObject("conversation_bar"); // for devs only - var peerid = Objects.requireNonNull(orig.optJSONObject("peer")).optInt("id"); var pic = "https://image.pngaaa.com/641/326641-middle.png"; // can be null @@ -182,6 +180,9 @@ public class JsonInjectors { return orig.optJSONObject("conversation_bar"); } } + + if (!dev()) return orig.optJSONObject("conversation_bar"); // for devs only + var json = new JSONObject(); var buttonsJson = new JSONObject(); From 6ab317cbf561cb673f72091caf44949339bd84c8 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 20 Aug 2022 23:33:51 +0300 Subject: [PATCH 016/134] fix ded wp --- .../java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index d512711cc..a6b7286e7 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -30,10 +30,10 @@ public class WallpapersHooks { private static boolean mUpdateWallpaperRequested = true; public static File getWallpaperFile() { - return mWallpaperFile == null ? mWallpaperFile = compressFile(new File(getGlobalContext().getFilesDir(), "wallpaper.png")) : mWallpaperFile; + return mWallpaperFile == null ? mWallpaperFile = new File(getGlobalContext().getFilesDir(), "wallpaper.png") : mWallpaperFile; } - public static File compressFile(File file) { + public static File compressFile(File file) { // TODO rewrite compress file Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath()); File compressedFile = new File(file.getParent(), file.getName()); OutputStream out = null; From 31a456582b1d11f772cfeb502854b68cefb50c46 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sun, 21 Aug 2022 14:54:14 +0300 Subject: [PATCH 017/134] vk.com -> vk.ru --- README.md | 6 +++--- .../java/ru/vtosters/lite/dnr/DNRInjector.java | 2 +- .../lite/downloaders/VideoDownloader.java | 6 +++--- .../java/ru/vtosters/lite/foaf/FoafBase.java | 4 ++-- .../ru/vtosters/lite/hooks/JsonInjectors.java | 14 +++++++------- .../vtosters/lite/hooks/OnlineFormatterHook.java | 2 +- .../ru/vtosters/lite/music/MP3Downloader.java | 2 +- .../java/ru/vtosters/lite/proxy/ProxyUtils.java | 2 +- .../ru/vtosters/lite/proxy/api/ApiProxy.java | 8 ++++---- .../lite/ui/activities/VKAdminTokenActivity.java | 4 ++-- .../vtosters/lite/ui/dialogs/VKIDProtection.java | 2 +- .../lite/ui/fragments/MediaFragment.java | 2 +- .../lite/ui/fragments/VKPayFragment.java | 2 +- smali/AndroidManifest.xml | 16 ++++++++-------- smali/assets/CopyrightAds.txt | 1 + smali/assets/wiki_template_article.htm | 6 +++--- smali/res/layout/group_admin_info.xml | 2 +- smali/res/layout/settings_domain.xml | 2 +- smali/res/values-es/strings.xml | 12 ++++++------ smali/res/values-kk/strings.xml | 12 ++++++------ smali/res/values-pt/strings.xml | 12 ++++++------ smali/res/values-ru/strings.xml | 12 ++++++------ smali/res/values-uk/strings.xml | 12 ++++++------ smali/res/values/strings.xml | 14 +++++++------- smali/res/xml/network_security_config_debug.xml | 4 ++-- smali/res/xml/preferences_debug.xml | 12 ++++++------ .../com/vk/about/AboutAppFragment$e.smali | 10 +++++----- .../com/vk/api/apps/AppsGetEmbeddedUrl.smali | 2 +- .../com/vk/api/apps/ExecuteGetServiceApp.smali | 2 +- .../com/vk/api/base/ApiConfig$a$a$a.smali | 4 ++-- .../com/vk/api/base/ApiConfig$a$b.smali | 2 +- .../com/vk/api/base/ApiRequest.smali | 2 +- .../com/vk/api/board/BoardComment.smali | 2 +- .../com/vk/api/internal/PingCall.smali | 2 +- .../com/vk/api/masks/MasksGetModel.smali | 2 +- .../com/vk/api/sdk/VKApiConfig$6.smali | 2 +- .../com/vk/api/sdk/auth/VKAuthParams$a.smali | 2 +- .../com/vk/api/sdk/auth/VKAuthParams.smali | 2 +- .../com/vk/api/sdk/okhttp/OkHttpExecutor.smali | 2 +- .../vk/api/sdk/ui/VKWebViewAuthActivity.smali | 2 +- .../com/vk/api/search/SearchAll.smali | 2 +- .../authorpage/ArticleAuthorPageHelper.smali | 2 +- .../vk/articles/preload/WebCachePreloader.smali | 2 +- .../vk/attachpicker/u/j/FiltersController.smali | 2 +- .../com/vk/auth/DefaultAuthModel.smali | 6 +++--- .../com/vk/auth/RestoreUtils.smali | 2 +- .../smali_classes2/com/vk/auth/VkAuthModel.smali | 2 +- .../com/vk/auth/api/VKAccount.smali | 4 ++-- .../com/vk/auth/y/b/UrlCheckFragment$b.smali | 2 +- .../com/vk/balance/BalancePresenter$c.smali | 2 +- .../com/vk/balance/BalancePresenter.smali | 2 +- .../com/vk/cameraui/CameraUIPresenter.smali | 4 ++-- .../com/vk/cameraui/QrScannerUi.smali | 2 +- .../vk/common/links/BrowserUtils$Companion.smali | 10 +++++----- .../com/vk/common/links/LinkParser.smali | 2 +- .../com/vk/common/links/LinkProcessor$a.smali | 2 +- .../com/vk/common/links/LinkProcessorKt.smali | 4 ++-- .../com/vk/common/links/OpenFunctionsKt$n.smali | 2 +- .../metrics/traffic/TrafficAccumulator.smali | 2 +- .../com/vk/core/network/proxy/NetworkProxy.smali | 8 ++++---- .../com/vk/core/network/proxy/ProxyHost.smali | 4 ++-- .../vk/dto/attachments/SnippetAttachment.smali | 2 +- .../com/vk/dto/money/MoneyTransfer.smali | 4 ++-- .../com/vk/dto/newsfeed/entries/Post$b.smali | 2 +- smali/smali_classes2/com/vk/emoji/Emoji.smali | 2 +- .../core/HttpRequestExecutorProvider.smali | 2 +- .../com/vk/im/engine/ImConfig.smali | 8 ++++---- .../internal/api_parsers/AttachApiParser.smali | 2 +- .../internal/api_parsers/CarouselParser.smali | 6 +++--- .../engine/models/attaches/AttachArticle.smali | 2 +- .../im/engine/models/attaches/AttachArtist.smali | 2 +- .../im/engine/models/attaches/AttachAudio.smali | 2 +- .../vk/im/engine/models/attaches/AttachDoc.smali | 2 +- .../im/engine/models/attaches/AttachEvent.smali | 2 +- .../models/attaches/AttachGiftSimple.smali | 2 +- .../attaches/AttachGiftStickersProduct.smali | 2 +- .../im/engine/models/attaches/AttachImage.smali | 2 +- .../im/engine/models/attaches/AttachMarket.smali | 2 +- .../engine/models/attaches/AttachMiniApp.smali | 2 +- .../engine/models/attaches/AttachNarrative.smali | 2 +- .../engine/models/attaches/AttachPlaylist.smali | 2 +- .../models/attaches/AttachPodcastEpisode.smali | 2 +- .../im/engine/models/attaches/AttachStory.smali | 2 +- .../im/engine/models/attaches/AttachVideo.smali | 2 +- .../im/engine/models/attaches/AttachWall.smali | 2 +- .../engine/models/attaches/AttachWallReply.smali | 2 +- .../msgparts/MsgPartLinkLargeHolder.smali | 2 +- .../msgparts/MsgPartLinkSmallHolder.smali | 2 +- .../msgparts/MsgPartNarrativeHolder.smali | 2 +- .../im/ui/formatters/MsgAttachFormatter$e.smali | 2 +- .../com/vk/im/ui/p/ImBridge$b1.smali | 2 +- .../im/ui/utils/shortcuts/ImShortcutHelper.smali | 2 +- .../com/vk/im/ui/views/avatars/AvatarView.smali | 2 +- .../com/vk/imageloader/VKCacheKeyFactory.smali | 4 ++-- .../com/vk/libvideo/VideoFileController.smali | 4 ++-- .../com/vk/libvideo/a0/h/EventsProcessor.smali | 2 +- .../libvideo/bottomsheet/VideoBottomSheet.smali | 2 +- .../views/menubutton/MenuButtonPresenter.smali | 2 +- .../market/orders/MarketOrdersFragment$c.smali | 2 +- .../holders/MarketCartCheckoutFooterHolder.smali | 4 ++-- .../com/vk/market/picker/GoodsPickerHelper.smali | 2 +- smali/smali_classes3/com/vk/menu/MenuUtils.smali | 2 +- .../menu/holders/SearchMenuVkPayHolder$a.smali | 2 +- .../menu/holders/SearchMenuVkPayHolder$b.smali | 2 +- .../menu/holders/SearchMenuVkPayHolder$c.smali | 2 +- .../menu/holders/SearchMenuVkPayHolder$d.smali | 2 +- .../com/vk/music/playlist/PlaylistsExt.smali | 2 +- .../episode/PodcastEpisodeFragment$i.smali | 2 +- .../d/PodcastEpisodeHeaderViewHolder.smali | 2 +- .../vk/music/podcasts/page/PodcastFragment.smali | 4 ++-- .../podcasts/page/g/PodcastHelpHintHolder.smali | 2 +- .../newsfeed/adapters/PostTopicsAdapter$b.smali | 2 +- .../newsfeed/controllers/PostsController.smali | 4 ++-- .../com/vk/newsfeed/holders/HeaderHolder.smali | 2 +- ...ngsFragment$subtitleSpannableString$2$b.smali | 2 +- .../views/poster/PosterTextDelegate.smali | 2 +- .../com/vk/polls/utils/PollUtils.smali | 4 ++-- .../CommunityDetailsItemsFactory$autor$1.smali | 2 +- ...CommunityDetailsItemsFactory$contacts$1.smali | 2 +- .../CommunityDetailsItemsFactory$mention$1.smali | 2 +- .../CommunityDetailsItemsFactory$wiki$1.smali | 2 +- ...ages$1$$special$$inlined$apply$lambda$1.smali | 2 +- .../UserDetailsItemsFactory$contacts$1$d.smali | 2 +- .../adapter/items/CommunityAppButtonItem$a.smali | 2 +- .../com/vk/profile/ui/BaseProfileFragment.smali | 4 ++-- .../ui/community/CommunityChatsFragment$c.smali | 2 +- .../ui/community/CommunityChatsFragment.smali | 2 +- .../profile/ui/community/CommunityFragment.smali | 2 +- .../community/adresses/FullAddressView$a.smali | 2 +- .../com/vk/profile/utils/CallToActionExtKt.smali | 2 +- .../com/vk/pushes/j/NotificationBuilder.smali | 2 +- .../notifications/im/MessageNotification$a.smali | 2 +- ...haringBottomSheet$$inlined$let$lambda$1.smali | 4 ++-- .../com/vk/sharing/attachment/Attachments.smali | 2 +- .../holders/SuperAppWidgetVkPayHolder$a.smali | 2 +- .../com/vk/utils/EntityLinkUtils.smali | 6 +++--- .../com/vk/video/d/VideoEmbedFragment.smali | 2 +- .../com/vk/video/d/VideoYoutubeFragment.smali | 4 ++-- .../com/vk/voip/VoipBottomSheetDialog$a$a.smali | 2 +- .../smali_classes4/com/vk/voip/VoipWrapper.smali | 2 +- .../com/vk/wall/post/CommentsListPresenter.smali | 2 +- .../vk/wall/thread/CommentThreadPresenter.smali | 2 +- .../com/vk/webapp/VkUiConnectFragment.smali | 2 +- .../com/vk/webapp/VkUiFragment$b.smali | 4 ++-- .../com/vk/webapp/VkUiFragment.smali | 4 ++-- .../com/vk/webapp/bridges/AndroidBridge.smali | 8 ++++---- .../vk/webapp/bridges/VkUiConnectBridge$a.smali | 6 +++--- .../vk/webapp/bridges/VkUiConnectBridge.smali | 2 +- .../com/vk/webapp/consts/WebAppScreenNames.smali | 2 +- .../impl/VkUiConnectFragmentDelegateImpl.smali | 2 +- .../com/vk/webapp/helpers/AppsHelper.smali | 2 +- .../com/vk/webapp/helpers/WebAppApiHelper.smali | 2 +- .../com/vtosters/lite/LinkSpan.smali | 2 +- .../com/vtosters/lite/PostPhotoActivity.smali | 2 +- .../com/vtosters/lite/SDKAuthActivity$d.smali | 2 +- .../com/vtosters/lite/SDKAuthActivity.smali | 4 ++-- .../com/vtosters/lite/SendActivity.smali | 6 +++--- .../vtosters/lite/ShortcutManagerWrapper.smali | 2 +- .../lite/VKApplication$initNetwork$1.smali | 2 +- .../com/vtosters/lite/ValidationActivity$a.smali | 8 ++++---- .../com/vtosters/lite/VideoUploadDialog.smali | 2 +- ...$showAddProduct$$inlined$apply$lambda$1.smali | 2 +- .../actionlinks/c/a/e/AddPollPresenter.smali | 2 +- .../views/fragments/add/AddLinkPresenter.smali | 4 ++-- .../com/vtosters/lite/api/AppVKApiCallback.smali | 6 +++--- .../lite/api/execute/GetFullCommunity.smali | 6 +++--- .../lite/attachments/DocumentAttachment.smali | 2 +- .../lite/attachments/MiniAppAttachment.smali | 2 +- .../lite/attachments/PhotoAttachment.smali | 2 +- .../lite/audio/widgets/AudioPlayerWidget$a.smali | 6 +++--- .../lite/fragments/ProfileFragment.smali | 2 +- .../fragments/SettingsListFragment$f$b.smali | 2 +- .../lite/fragments/market/GoodFragment.smali | 4 ++-- .../fragments/money/MoneyWebViewFragment$a.smali | 4 ++-- .../lite/fragments/n2/DebugDomainsFilter.smali | 6 +++--- .../fragments/n2/SettingsDebugFragment.smali | 10 +++++----- .../fragments/o2/BoardTopicViewFragment.smali | 2 +- .../lite/fragments/o2/BoardTopicsFragment.smali | 2 +- .../fragments/p2/DocumentsViewFragment.smali | 2 +- .../fragments/SettingsDomainFragment.smali | 4 ++-- .../general/fragments/WebViewFragment$a.smali | 6 +++--- .../lite/general/fragments/WebViewFragment.smali | 6 +++--- .../general/fragments/WikiViewFragment$f.smali | 4 ++-- .../lite/fragments/y2/VideoAlbumsFragment.smali | 2 +- ...ngineProvider$getApiManager$apiConfig$1.smali | 2 +- .../com/vtosters/lite/utils/CookieHelper.smali | 2 +- 186 files changed, 316 insertions(+), 315 deletions(-) diff --git a/README.md b/README.md index 86f19baf1..714de980c 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ - + @@ -133,7 +133,7 @@ `android:debuggable="false"` ➝ `android:debuggable="true"` -Настройки, необходимые для **отладки** вне Android Studio, находятся по этой ссылке: [vk.com/vt/debug](https://vk.com/vt/debug) +Настройки, необходимые для **отладки** вне Android Studio, находятся по этой ссылке: [vk.ru/vt/debug](https://vk.ru/vt/debug) * Для дополнительной отладки ответов и логов необходимо включить **[Режим разработчика]** @@ -145,7 +145,7 @@ Сразу после нажатия на запись приложение начнет записывать **все ваши действия** по пути `/Download/VK/logs/com.vtosters.lite/` -При следующем открытии приложения оно автоматически сохранит логи и отправит вам в [**Документы** ВК](https://vk.com/docs), откуда вы можете скачать архив логов и работать с ними. +При следующем открытии приложения оно автоматически сохранит логи и отправит вам в [**Документы** ВК](https://vk.ru/docs), откуда вы можете скачать архив логов и работать с ними. ## Разработка 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 e153c2dba..e4c66d541 100644 --- a/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java +++ b/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java @@ -281,7 +281,7 @@ public class DNRInjector { Thread thread = new Thread(() -> { try { var request = new Request.a() - .b("https://api.vk.com/method/" + (needToBePinned ? "messages.pinConversation" : "messages.unpinConversation") + "?peer_id=" + dialogid + "&access_token=" + getUserToken() + "&v=5.119") + .b("https://api.vk.ru/method/" + (needToBePinned ? "messages.pinConversation" : "messages.unpinConversation") + "?peer_id=" + dialogid + "&access_token=" + getUserToken() + "&v=5.119") .a(Headers.a("User-Agent", Network.l.c().a(), "Content-Type", "application/x-www-form-urlencoded; charset=utf-8")) .a(); diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java index 3edfbc14b..c2c1a0ba6 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java @@ -127,12 +127,12 @@ public class VideoDownloader { } public static void parseVideoLink(String url, Context ctx) { - if (url.contains("vk.com/story")) { + if (url.contains("vk.ru/story")) { ToastUtils.a(AndroidUtils.getString("video_dl_stories_not_supported")); return; } - if (!url.contains("vk.com/video")) { + if (!url.contains("vk.ru/video")) { ToastUtils.a(AndroidUtils.getString("video_dl_wrong_link")); return; } @@ -144,7 +144,7 @@ public class VideoDownloader { progressDialog.setMessage(AndroidUtils.getString("video_dl_progress")); progressDialog.show(); - makeRequest("https://" + "api.vk.com" + "/method/video.get?owner_id=" + ownerId + "&videos=" + videoId + "&v=5.99&access_token=" + getUserToken(), + makeRequest("https://" + "api.vk.ru" + "/method/video.get?owner_id=" + ownerId + "&videos=" + videoId + "&v=5.99&access_token=" + getUserToken(), response -> { progressDialog.cancel(); diff --git a/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java b/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java index 93a083d9b..3c0d767f4 100644 --- a/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java +++ b/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java @@ -117,10 +117,10 @@ public class FoafBase { StringBuilder sb; if (isApiProxyEnabled()) { sb = new StringBuilder(); - str = "https://" + getApi() + "/_/vk.com/foaf.php?id="; + str = "https://" + getApi() + "/_/vk.ru/foaf.php?id="; } else { sb = new StringBuilder(); - str = "https://vk.com/foaf.php?id="; + str = "https://vk.ru/foaf.php?id="; } sb.append(str); sb.append(i); diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index 6a0aa72f3..abd0c7596 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -76,7 +76,7 @@ public class JsonInjectors { public static JSONObject donateRecomm() throws JSONException { var title = AndroidUtils.getString("donate_to_vtl"); - var link = "https://vk.com/vtosters_official"; + var link = "https://vk.ru/vtosters_official"; var text_color = "2D81E0"; var json = new JSONObject(); @@ -118,7 +118,7 @@ public class JsonInjectors { public static JSONObject vktesters(int id) throws JSONException { var title = AndroidUtils.getString("tester_profile"); var text_color = "2D81E0"; - var link = "https://static.vk.com/bugs?lang=" + LangUtils.a() + "#/reporter" + id; + var link = "https://static.vk.ru/bugs?lang=" + LangUtils.a() + "#/reporter" + id; var json = new JSONObject(); var icons = new JSONArray(); @@ -567,7 +567,7 @@ public class JsonInjectors { } } - var playlists = fetchCatalogId("https://vk.com/audio?section=my_playlists"); + var playlists = fetchCatalogId("https://vk.ru/audio?section=my_playlists"); if (playlists != null) { var catalogarr = playlists.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0); @@ -580,7 +580,7 @@ public class JsonInjectors { oldItems.put(new JSONObject().put("id", id).put("title", title).put("url", url)); } - var albums = fetchCatalogId("https://vk.com/audio?section=albums"); + var albums = fetchCatalogId("https://vk.ru/audio?section=albums"); if (albums != null) { var catalogarr = albums.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0); @@ -593,7 +593,7 @@ public class JsonInjectors { oldItems.put(new JSONObject().put("id", id).put("title", title).put("url", url)); } - var recent = fetchCatalogId("https://vk.com/audio?section=recent"); + var recent = fetchCatalogId("https://vk.ru/audio?section=recent"); if (recent != null) { var catalogarr = recent.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0); @@ -629,7 +629,7 @@ public class JsonInjectors { if (section == null) return null; var request = new Request.a() - .b("https://api.vk.com/method/catalog.getAudio" + .b("https://api.vk.ru/method/catalog.getAudio" + "?v=5.119" + "&https=1" + "&need_blocks=1" @@ -653,7 +653,7 @@ public class JsonInjectors { public static JSONObject fetchCatalogPodcast() { var request = new Request.a() - .b("https://api.vk.com/method/catalog.getPodcasts" + .b("https://api.vk.ru/method/catalog.getPodcasts" + "?v=5.119" + "&https=1" + "&need_blocks=1" diff --git a/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java b/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java index b651de25f..549bceb5c 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java @@ -123,7 +123,7 @@ public class OnlineFormatterHook { case 5632485: return "SpaceVK"; case 6287487: - return "vk.com"; + return "vk.ru"; case 4542624: return "Black VK"; case 3917910: diff --git a/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java b/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java index bc62999de..2d208c531 100644 --- a/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java +++ b/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java @@ -28,7 +28,7 @@ import ru.vtosters.lite.utils.AndroidUtils; public class MP3Downloader { - private static final String URL_FORMAT = "https://api.vk.com/method/audio.getById?v=5.131&access_token=%s&audios=%s©right=https://vtosters.app/"; + private static final String URL_FORMAT = "https://api.vk.ru/method/audio.getById?v=5.131&access_token=%s&audios=%s©right=https://vtosters.app/"; private static final OkHttpClient client = new OkHttpClient(); public static void execute(MusicTrack track) { diff --git a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java index 90530f2fd..bc435d545 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java @@ -27,7 +27,7 @@ public class ProxyUtils{ return proxyapi; } - return "api.vk.com"; + return "api.vk.ru"; } public static Boolean isZaboronaEnabled(){ diff --git a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java index afba81a7a..a9f3ba6db 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java @@ -7,9 +7,9 @@ import android.util.Log; public class ApiProxy{ public static String linkReplacer(String link){ - var vkapi = "api.vk.com"; - var oauth = "oauth.vk.com"; - var vkstatic = "static.vk.com"; + var vkapi = "api.vk.ru"; + var oauth = "oauth.vk.ru"; + var vkstatic = "static.vk.ru"; var proxyapi = getPrefsValue("proxyapi"); var proxyoauth = getPrefsValue("proxyoauth"); @@ -52,6 +52,6 @@ public class ApiProxy{ return proxyapi; } - return "m.vk.com"; + return "m.vk.ru"; } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/activities/VKAdminTokenActivity.java b/app/src/main/java/ru/vtosters/lite/ui/activities/VKAdminTokenActivity.java index 7334a296c..15fb9e2b1 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/activities/VKAdminTokenActivity.java +++ b/app/src/main/java/ru/vtosters/lite/ui/activities/VKAdminTokenActivity.java @@ -20,7 +20,7 @@ import ru.vtosters.lite.utils.LayoutUtils; public class VKAdminTokenActivity extends AppCompatActivity { - private static final String URL = "https://oauth.vk.com/authorize?client_id=6121396&scope=1073737727&redirect_uri=https://oauth.vk.com/blank.html&display=page&response_type=token&revoke=1"; + private static final String URL = "https://oauth.vk.ru/authorize?client_id=6121396&scope=1073737727&redirect_uri=https://oauth.vk.ru/blank.html&display=page&response_type=token&revoke=1"; @Override protected void onCreate(@Nullable Bundle bundle) { @@ -37,7 +37,7 @@ public class VKAdminTokenActivity extends AppCompatActivity { @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { var url = request.getUrl().toString(); - if (url.startsWith("https://oauth.vk.com/auth_redirect?")) { + if (url.startsWith("https://oauth.vk.ru/auth_redirect?")) { var redirectUri = Uri.parse(URLDecoder.decode(url)); var authorizeUrl = redirectUri.getQueryParameter("authorize_url"); var accessToken = authorizeUrl.substring(authorizeUrl.indexOf("=") + 1, authorizeUrl.indexOf("&")); diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java index a3f786986..6540b3df7 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java @@ -23,7 +23,7 @@ public class VKIDProtection { // android.content.DialogInterface.OnClickListener builder.setNeutralButton(getString("vkiddisable"), (dialogInterface, i) -> { edit().putBoolean("showAlertVkId", false).apply(); - VKUIwrapper.setLink("https://id.vk.com/account"); + VKUIwrapper.setLink("https://id.vk.ru/account"); Intent a2 = new Navigator(VKUIwrapper.class).b(activity); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); activity.startActivity(a2); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java index 5cdafa15f..8e8b32fdf 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java @@ -244,7 +244,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { Thread thread = new Thread(() -> { try { var request = new Request.a() - .b("https://api.vk.com/method/" + "video.clearViewingHistoryRecords" + "?https=1" + "&access_token=" + getUserToken() + "&v=5.187") + .b("https://api.vk.ru/method/" + "video.clearViewingHistoryRecords" + "?https=1" + "&access_token=" + getUserToken() + "&v=5.187") .a(Headers.a("User-Agent", Network.l.c().a(), "Content-Type", "application/x-www-form-urlencoded; charset=utf-8")) .a(); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VKPayFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VKPayFragment.java index d57f055ad..3fd7b9601 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VKPayFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VKPayFragment.java @@ -14,7 +14,7 @@ public class VKPayFragment extends FragmentImpl { } public void start() { - VKUIwrapper.setLink("https://vk.com/vkpay"); + VKUIwrapper.setLink("https://vk.ru/vkpay"); Intent a2 = new Navigator(VKUIwrapper.class).b(getActivity()); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(a2); diff --git a/smali/AndroidManifest.xml b/smali/AndroidManifest.xml index 99fa5b4b9..ac1d6cff9 100644 --- a/smali/AndroidManifest.xml +++ b/smali/AndroidManifest.xml @@ -961,7 +961,7 @@ @@ -983,7 +983,7 @@ @@ -994,7 +994,7 @@ @@ -1016,7 +1016,7 @@ @@ -1109,7 +1109,7 @@ @@ -1121,7 +1121,7 @@ @@ -1132,7 +1132,7 @@ @@ -1143,7 +1143,7 @@ diff --git a/smali/assets/CopyrightAds.txt b/smali/assets/CopyrightAds.txt index 6f36f1cfe..69f29ebb8 100644 --- a/smali/assets/CopyrightAds.txt +++ b/smali/assets/CopyrightAds.txt @@ -1,6 +1,7 @@ appscent //t.me/ vk.com +vk.ru apps-cent app-cent appcent diff --git a/smali/assets/wiki_template_article.htm b/smali/assets/wiki_template_article.htm index ba323e18f..98e5eea50 100644 --- a/smali/assets/wiki_template_article.htm +++ b/smali/assets/wiki_template_article.htm @@ -394,12 +394,12 @@ function showPhotosBox(url, id, num, link){
diff --git a/smali/res/layout/group_admin_info.xml b/smali/res/layout/group_admin_info.xml index 147ca38fd..ec0efb62f 100644 --- a/smali/res/layout/group_admin_info.xml +++ b/smali/res/layout/group_admin_info.xml @@ -85,7 +85,7 @@ android:layout_height="wrap_content" android:background="@null" android:padding="0.0dip" - android:text="https://vk.com/" + android:text="https://vk.ru/" android:textColor="#ffb8b8b8" /> diff --git a/smali/res/values-es/strings.xml b/smali/res/values-es/strings.xml index 311e070e5..97fb00226 100644 --- a/smali/res/values-es/strings.xml +++ b/smali/res/values-es/strings.xml @@ -454,7 +454,7 @@ resultados" Añadir a la transmisión en vivo Añadir a la transmisión en vivo Selecciona una publicación de tu muro que quieras compartir con tus espectadores  - https://vk.com + https://vk.ru Límite de enlaces alcanzado URL no compatible Lista de enlaces @@ -1086,7 +1086,7 @@ y organízalo con la ayuda de etiquetas" Gmail Invitar vía enlace Invitar - ¡Únete a mí en VK! http://vk.com/join + ¡Únete a mí en VK! http://vk.ru/join Para ver amigos cercanos, pídeles que abran esta pantalla en sus dispositivos OK Sois amigos @@ -1368,7 +1368,7 @@ menos frecuentemente" Dirección dirección Personalizado - Puede introducir tu información aquí para que las mini apps de [https://vk.com/services|catalog] puedan usarla para configurar la entrega o contactarte + Puede introducir tu información aquí para que las mini apps de [https://vk.ru/services|catalog] puedan usarla para configurar la entrega o contactarte Сorreo electrónico dirección de correo electrónico Categoría @@ -1398,7 +1398,7 @@ menos frecuentemente" Activar notificaciones Mis juegos Fecha de publicación no válida - ¡Vamos a conectar en VK! Únete aquí: http://vk.com/join + ¡Vamos a conectar en VK! Únete aquí: http://vk.ru/join Invitación rechazada. Tu invitación ha sido enviada. Invitar @@ -3268,7 +3268,7 @@ cámara VK" %1$s regresó a este chat "Este perfil sólo se usa para notificaciones personales. -Para ayuda o información, contacta con nuestro [https://vk.com/support|Equipo de Soporte.]" +Para ayuda o información, contacta con nuestro [https://vk.ru/support|Equipo de Soporte.]" Esta página se usa para proporcionar compatibilidad con versiones anteriores para comentarios de las comunidades. Este es el perfil oficial del soporte móvil VK. Activar @@ -5253,7 +5253,7 @@ con vídeo" Tu saldo Muro Todas las entradas - <font color=\"#aaaaaa\">Comentario para </font><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">entrada</a> + <font color=\"#aaaaaa\">Comentario para </font><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">entrada</a> Muro desactivado Aún no hay entradas aquí Aún no has publicado nada diff --git a/smali/res/values-kk/strings.xml b/smali/res/values-kk/strings.xml index 1f332d12b..52d870ecc 100644 --- a/smali/res/values-kk/strings.xml +++ b/smali/res/values-kk/strings.xml @@ -448,7 +448,7 @@ Трансляцияға бекіту Эфирге қосу Парақшаңыздан көрермендермен бөлісетін жазба таңдаңыз - https://vk.com + https://vk.ru Осыдан әрі сілтеме қосуға болмайды, сіз шекке жеттіңіз Сілтеме қолдаулы емес Сілтемелер тізімі @@ -1054,7 +1054,7 @@ Gmail Сілтеме бойынша шақыру Шақыру - VK-да дос болайық! http://vk.com/join + VK-да дос болайық! http://vk.ru/join Қасыңыздағы адамдарды көру үшін олардан өз құрылғыларынан осы экранға кіруді сұраңыз ОК Доссыздар @@ -1335,7 +1335,7 @@ Мекенжай мекенжай Өз категория - Сіз деректерді бір-ақ рет толтырып келесіде [https://vk.com/services|топтамадағы] мини-қосымшаларға ол деректерді тез бере алатын боласыз + Сіз деректерді бір-ақ рет толтырып келесіде [https://vk.ru/services|топтамадағы] мини-қосымшаларға ол деректерді тез бере алатын боласыз Электрондық пошта электрондық пошта мекенжайы Категория @@ -1365,7 +1365,7 @@ Бірлестік қосу Ойындарым Жариялау күні дұрыс емес - VK-да дос болайық! http://vk.com/join + VK-да дос болайық! http://vk.ru/join Шақыру қабылданбады. Шақыру жіберілді. Шақыру @@ -3221,7 +3221,7 @@ %1$s әңгімеге қайтып оралды "Профиль тек жеке мәлімдемелерге пайдаланылады. -Кез келген сұрықтарыңыз болса [https://vk.com/support|Жәрдемге] жазыңыз." +Кез келген сұрықтарыңыз болса [https://vk.ru/support|Жәрдемге] жазыңыз." Парақша пікірлер қызметінің кері үйлесімділік үшін пайдаланылады. VK мобильді жәрдемнің ресми парақшасы. Қосу @@ -5201,7 +5201,7 @@ https://vk.me" Теңгеріміңіз Қабырға Барлық жазбалар - <a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">жазбаға</a><font color=\"#aaaaaa\"> пікір</font> + <a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">жазбаға</a><font color=\"#aaaaaa\"> пікір</font> Қабырған өшірулі Әзірше жазба жоқ Әзірше жазба жоқ diff --git a/smali/res/values-pt/strings.xml b/smali/res/values-pt/strings.xml index db980b83e..dfbde7957 100644 --- a/smali/res/values-pt/strings.xml +++ b/smali/res/values-pt/strings.xml @@ -454,7 +454,7 @@ resultados" Anexar a transmissão Adicionar a transmissão Escolha o recado de sua página que deseja compartilhar com seus espectadores - https://vk.com + https://vk.ru Você atingiu o número máximo de links Link não suportado Lista de links @@ -1058,7 +1058,7 @@ e utilize as etiquetas para o sortear" Gmail Convidar por link Convidar - Vamos ser amigos no VK! http://vk.com/join + Vamos ser amigos no VK! http://vk.ru/join Para ver as pessoas que estão perto, peça-lhes para abrir a mesma tela no dispositivo deles OK Vocês são amigos @@ -1338,7 +1338,7 @@ menos frequência" Endereço endereço Minha categoria - Adicione suas informações para o preenchimento automático pelos mini apps do [https://vk.com/services|catálogo] em caso da entrega de produtos ou para contatar você + Adicione suas informações para o preenchimento automático pelos mini apps do [https://vk.ru/services|catálogo] em caso da entrega de produtos ou para contatar você Email email Categoria @@ -1368,7 +1368,7 @@ menos frequência" Conectar comunidade Meus jogos Data de publicação invalida - Vamos conectar ao VK! Participe aqui: http://vk.com/join + Vamos conectar ao VK! Participe aqui: http://vk.ru/join Convite recusado. Convite enviado. Convidar @@ -3236,7 +3236,7 @@ com a câmera do VK" %1$s voltou a este bate-papo "O perfil é usado somente para as notificações pessoais. -Para ajuda ou informações, contate nossa [https://vk.com/support|equipe de Supporte.]" +Para ajuda ou informações, contate nossa [https://vk.ru/support|equipe de Supporte.]" Esta página é utilizada para fornecer a compatibilidade para os comentários deixados em nome da comunidade. Este é o perfil oficial do Suporte móvel do VK. Habilitar @@ -5219,7 +5219,7 @@ com vídeo" Seu saldo Mural Todos os recados - <font color=\"#aaaaaa\">Comentar para </font><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">post</a> + <font color=\"#aaaaaa\">Comentar para </font><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">post</a> Mural desabilitado Ainda não há publicações aqui Ainda não tem recados diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml index 14cbf51eb..a5380bbe2 100644 --- a/smali/res/values-ru/strings.xml +++ b/smali/res/values-ru/strings.xml @@ -462,7 +462,7 @@ Прикрепить к трансляции Добавить в эфир Выберите запись со своей страницы, которой Вы хотите поделиться со зрителями - https://vk.com + https://vk.ru Добавлено максимально возможное количество ссылок Ссылка не поддерживается Список ссылок @@ -1113,7 +1113,7 @@ Gmail Пригласить по ссылке Пригласить - Приглашаю дружить ВКонтакте! http://vk.com/join + Приглашаю дружить ВКонтакте! http://vk.ru/join Чтобы увидеть людей рядом, попросите их зайти на этот экран со своих устройств OK Вы друзья @@ -1395,7 +1395,7 @@ Адрес адрес Своя категория - Вы можете указать данные один раз и быстро предоставлять мини-приложениям из [https://vk.com/services|каталога] — для доставки товаров или связи с Вами + Вы можете указать данные один раз и быстро предоставлять мини-приложениям из [https://vk.ru/services|каталога] — для доставки товаров или связи с Вами Электронная почта адрес электронной почты Категория @@ -1425,7 +1425,7 @@ Подключить сообщество Мои игры Неверная дата публикации - Приглашаю дружить ВКонтакте! http://vk.com/join + Приглашаю дружить ВКонтакте! http://vk.ru/join Приглашение отклонено. Приглашение отправлено. Пригласить @@ -3310,7 +3310,7 @@ %1$s вернулся в беседу "Профиль используется только для персональных оповещений. -По любым вопросам пишите в [https://vk.com/support|Поддержку.]" +По любым вопросам пишите в [https://vk.ru/support|Поддержку.]" Страница используется для обратной совместимости сервиса комментариев от имени сообщества. Официальная страница мобильной поддержки ВКонтакте. Включить @@ -5300,7 +5300,7 @@ Ваш баланс Стена Все записи - <font color=#aaaaaa>Комментарий к </font><a href=vklink://view/?http://vk.com/wall%1$d_%2$d>записи</a> + <font color=#aaaaaa>Комментарий к </font><a href=vklink://view/?http://vk.ru/wall%1$d_%2$d>записи</a> Стена выключена Здесь пока нет записей У Вас пока нет записей diff --git a/smali/res/values-uk/strings.xml b/smali/res/values-uk/strings.xml index 009536617..a7e0f5951 100644 --- a/smali/res/values-uk/strings.xml +++ b/smali/res/values-uk/strings.xml @@ -455,7 +455,7 @@ Прикріпити до трансляції Додати до ефіру Виберіть запис зі своєї сторінки, яким Ви хочете поділитися з глядачами - https://vk.com + https://vk.ru Додано максимально можливу кількість посилань Посилання не підтримується Список посилань @@ -1058,7 +1058,7 @@ Gmail Запросити за посиланням Запросити - Запрошую дружити VK! http://vk.com/join + Запрошую дружити VK! http://vk.ru/join Щоб побачити людей, що поруч, попросіть їх зайти на цей екран зі своїх пристроїв OK Ви друзі @@ -1340,7 +1340,7 @@ Адреса адреса Своя категорія - Ви можете вказати дані один раз і швидко надавати міні-додаткам з [https://vk.com/services|каталогу] — для доставки товарів або зв‘язку з Вами + Ви можете вказати дані один раз і швидко надавати міні-додаткам з [https://vk.ru/services|каталогу] — для доставки товарів або зв‘язку з Вами Електронна пошта адреса електронної пошти Категорія @@ -1370,7 +1370,7 @@ Підключити спільноту Мої ігри Невірна дата публікації - Запрошую дружити ВКонтакті! http://vk.com/join + Запрошую дружити ВКонтакті! http://vk.ru/join Запрошення відхилено. Запрошення надіслано. Запросити @@ -3242,7 +3242,7 @@ %1$s повернувся в бесіду "Профіль використовується лише для персональних сповіщень. -З будь-яких питань пишіть в [https://vk.com/support|Підтримку.]" +З будь-яких питань пишіть в [https://vk.ru/support|Підтримку.]" Сторінка використовується для забезпечення сумісності сервісу коментарів від імені спільноти. Офіційна сторінка мобільної підтримки VK. Увімкнути @@ -5228,7 +5228,7 @@ Ваш баланс Стіна Всі записи - <font color=\"#aaaaaa\">Коментар до </font><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">записи</a> + <font color=\"#aaaaaa\">Коментар до </font><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">записи</a> Стіну вимкнено Тут поки немає записів У Вас поки немає записів diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml index 0f2a01a66..06be99018 100644 --- a/smali/res/values/strings.xml +++ b/smali/res/values/strings.xml @@ -267,7 +267,7 @@ %s followers %s views Articles - [ { \"include\": \"https://vk.com/.well-known/assetlinks.json\" }, { \"relation\":[ \"delegate_permission/common.handle_all_urls\" ], \"target\":{ \"namespace\":\"web\", \"site\":\"https://vk.com\" } }, { \"relation\":[ \"delegate_permission/common.handle_all_urls\" ], \"target\":{ \"namespace\":\"web\", \"site\":\"https://m.vk.com\" } } ] + [ { \"include\": \"https://vk.ru/.well-known/assetlinks.json\" }, { \"relation\":[ \"delegate_permission/common.handle_all_urls\" ], \"target\":{ \"namespace\":\"web\", \"site\":\"https://vk.ru\" } }, { \"relation\":[ \"delegate_permission/common.handle_all_urls\" ], \"target\":{ \"namespace\":\"web\", \"site\":\"https://m.vk.ru\" } } ] Add Link added Album @@ -485,7 +485,7 @@ no results" Attach to live stream Add to live stream Select a post from your wall that you want to share with your viewers - https://vk.com + https://vk.ru Link limit reached URL not supported Link list @@ -1171,7 +1171,7 @@ and organize it with the help of tags" Gmail Invite by link Invite - Join me on VK! http://vk.com/join + Join me on VK! http://vk.ru/join To find friends nearby, ask them to open this screen on their devices OK You are friends @@ -1460,7 +1460,7 @@ less often." Address address Custom - You can enter your information here so that mini apps from the [https://vk.com/services|catalog] can use it to set up delivery or contact you + You can enter your information here so that mini apps from the [https://vk.ru/services|catalog] can use it to set up delivery or contact you Email email address Category @@ -1490,7 +1490,7 @@ less often." Add community My games Invalid posting date - Join me on VK! http://vk.com/join + Join me on VK! http://vk.ru/join Invitation declined. Your invitation has been sent. Invite @@ -3405,7 +3405,7 @@ the VK camera" %1$s returned to the chat "This profile is only used for personal notifications. -If you have any questions, please contact [https://vk.com/support|Support.]" +If you have any questions, please contact [https://vk.ru/support|Support.]" This page is used to provide backward compatibility for comments by communities. This is the official profile of VK Mobile Support. Enable @@ -5430,7 +5430,7 @@ with video" Your balance Wall All posts - <font color=\"#aaaaaa\">Comment on </font><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">post</a> + <font color=\"#aaaaaa\">Comment on </font><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">post</a> Wall disabled No posts here yet "You haven't posted anything yet" diff --git a/smali/res/xml/network_security_config_debug.xml b/smali/res/xml/network_security_config_debug.xml index 2b2ae7d4a..3c58a0579 100644 --- a/smali/res/xml/network_security_config_debug.xml +++ b/smali/res/xml/network_security_config_debug.xml @@ -14,7 +14,7 @@ - vk.com + vk.ru @@ -22,7 +22,7 @@ - api.vk.com + api.vk.ru diff --git a/smali/res/xml/preferences_debug.xml b/smali/res/xml/preferences_debug.xml index a3d76aea3..e426a9d17 100644 --- a/smali/res/xml/preferences_debug.xml +++ b/smali/res/xml/preferences_debug.xml @@ -99,23 +99,23 @@ android:key="domains" android:title="@string/debug_domains"> @@ -246,7 +246,7 @@ android:key="__dbg_test_crash" android:title="@string/debug_tests_crash" /> (Ljava/lang/String;)V @@ -184,7 +184,7 @@ .line 16 new-instance p1, Lcom/vtosters/lite/general/fragments/WebViewFragment$g; - const-string v0, "https://m.vk.com/terms" + const-string v0, "https://m.vk.ru/terms" invoke-direct {p1, v0}, Lcom/vtosters/lite/general/fragments/WebViewFragment$g;->(Ljava/lang/String;)V @@ -271,7 +271,7 @@ .line 27 new-instance p1, Lcom/vtosters/lite/general/fragments/WebViewFragment$g; - const-string v0, "https://m.vk.com/privacy/cookies" + const-string v0, "https://m.vk.ru/privacy/cookies" invoke-direct {p1, v0}, Lcom/vtosters/lite/general/fragments/WebViewFragment$g;->(Ljava/lang/String;)V @@ -315,7 +315,7 @@ .line 34 new-instance p1, Lcom/vtosters/lite/general/fragments/WebViewFragment$g; - const-string v0, "https://vk.com/data_protection" + const-string v0, "https://vk.ru/data_protection" invoke-direct {p1, v0}, Lcom/vtosters/lite/general/fragments/WebViewFragment$g;->(Ljava/lang/String;)V diff --git a/smali/smali_classes2/com/vk/api/apps/AppsGetEmbeddedUrl.smali b/smali/smali_classes2/com/vk/api/apps/AppsGetEmbeddedUrl.smali index 6143985d6..7d0754722 100644 --- a/smali/smali_classes2/com/vk/api/apps/AppsGetEmbeddedUrl.smali +++ b/smali/smali_classes2/com/vk/api/apps/AppsGetEmbeddedUrl.smali @@ -51,7 +51,7 @@ invoke-direct {p2}, Ljava/lang/StringBuilder;->()V - const-string p4, "https://vk.com/app" + const-string p4, "https://vk.ru/app" invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/api/apps/ExecuteGetServiceApp.smali b/smali/smali_classes2/com/vk/api/apps/ExecuteGetServiceApp.smali index b4652423a..fded965b2 100644 --- a/smali/smali_classes2/com/vk/api/apps/ExecuteGetServiceApp.smali +++ b/smali/smali_classes2/com/vk/api/apps/ExecuteGetServiceApp.smali @@ -38,7 +38,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/app" + const-string v1, "https://vk.ru/app" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/api/base/ApiConfig$a$a$a.smali b/smali/smali_classes2/com/vk/api/base/ApiConfig$a$a$a.smali index 7ebfa7d71..48a90ed4e 100644 --- a/smali/smali_classes2/com/vk/api/base/ApiConfig$a$a$a.smali +++ b/smali/smali_classes2/com/vk/api/base/ApiConfig$a$a$a.smali @@ -101,7 +101,7 @@ .method public R1()Ljava/lang/String; .locals 1 - const-string v0, "api.vk.com" + const-string v0, "api.vk.ru" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -121,7 +121,7 @@ .method public T1()Ljava/lang/String; .locals 1 - const-string v0, "api.vk.com" + const-string v0, "api.vk.ru" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/api/base/ApiConfig$a$b.smali b/smali/smali_classes2/com/vk/api/base/ApiConfig$a$b.smali index 7f281161b..1a2ec2c13 100644 --- a/smali/smali_classes2/com/vk/api/base/ApiConfig$a$b.smali +++ b/smali/smali_classes2/com/vk/api/base/ApiConfig$a$b.smali @@ -18,7 +18,7 @@ .method public static a(Lcom/vk/api/base/ApiConfig$a;)Ljava/lang/String; .locals 0 - const-string p0, "http://vk.com" + const-string p0, "http://vk.ru" return-object p0 .end method diff --git a/smali/smali_classes2/com/vk/api/base/ApiRequest.smali b/smali/smali_classes2/com/vk/api/base/ApiRequest.smali index c01e1be67..26ed67eb3 100644 --- a/smali/smali_classes2/com/vk/api/base/ApiRequest.smali +++ b/smali/smali_classes2/com/vk/api/base/ApiRequest.smali @@ -1265,7 +1265,7 @@ return-object v0 :cond_0 - const-string v0, "api.vk.com" + const-string v0, "api.vk.ru" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/api/board/BoardComment.smali b/smali/smali_classes2/com/vk/api/board/BoardComment.smali index de0d43842..50083e0e4 100644 --- a/smali/smali_classes2/com/vk/api/board/BoardComment.smali +++ b/smali/smali_classes2/com/vk/api/board/BoardComment.smali @@ -1739,7 +1739,7 @@ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V - const-string v7, "vkontakte://vk.com/" + const-string v7, "vkontakte://vk.ru/" invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/api/internal/PingCall.smali b/smali/smali_classes2/com/vk/api/internal/PingCall.smali index 3e5f84f66..8aad318a3 100644 --- a/smali/smali_classes2/com/vk/api/internal/PingCall.smali +++ b/smali/smali_classes2/com/vk/api/internal/PingCall.smali @@ -18,7 +18,7 @@ iput-wide p1, p0, Lcom/vk/api/internal/PingCall;->b:J - const-string p1, "https://vk.com/ping.txt" + const-string p1, "https://vk.ru/ping.txt" .line 2 iput-object p1, p0, Lcom/vk/api/internal/PingCall;->a:Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/api/masks/MasksGetModel.smali b/smali/smali_classes2/com/vk/api/masks/MasksGetModel.smali index 4a387e885..914c996b8 100644 --- a/smali/smali_classes2/com/vk/api/masks/MasksGetModel.smali +++ b/smali/smali_classes2/com/vk/api/masks/MasksGetModel.smali @@ -32,7 +32,7 @@ const/4 v1, 0x1 - const-string v2, "https://vk.com/source/masks/android_model.zip" + const-string v2, "https://vk.ru/source/masks/android_model.zip" invoke-direct {v0, v1, v2}, Lcom/vk/api/masks/MasksGetModel$MasksGetModelResponse;->(ILjava/lang/String;)V diff --git a/smali/smali_classes2/com/vk/api/sdk/VKApiConfig$6.smali b/smali/smali_classes2/com/vk/api/sdk/VKApiConfig$6.smali index 506c985e6..f0cadddf7 100644 --- a/smali/smali_classes2/com/vk/api/sdk/VKApiConfig$6.smali +++ b/smali/smali_classes2/com/vk/api/sdk/VKApiConfig$6.smali @@ -69,7 +69,7 @@ .method public final invoke()Ljava/lang/String; .locals 1 - const-string v0, "api.vk.com" + const-string v0, "api.vk.ru" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams$a.smali b/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams$a.smali index 02c8fd670..164b1ef51 100644 --- a/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams$a.smali +++ b/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams$a.smali @@ -112,7 +112,7 @@ :cond_2 const-string v1, "vk_app_redirect_url" - const-string v3, "https://oauth.vk.com/blank.html" + const-string v3, "https://oauth.vk.ru/blank.html" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams.smali b/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams.smali index 672b35c07..f30b9a630 100644 --- a/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams.smali +++ b/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams.smali @@ -84,7 +84,7 @@ :cond_0 new-instance p1, Ljava/lang/IllegalStateException; - const-string p2, "AppId is empty! Find out how to get your appId at https://vk.com/dev/access_token" + const-string p2, "AppId is empty! Find out how to get your appId at https://vk.ru/dev/access_token" invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V diff --git a/smali/smali_classes2/com/vk/api/sdk/okhttp/OkHttpExecutor.smali b/smali/smali_classes2/com/vk/api/sdk/okhttp/OkHttpExecutor.smali index 12040a51d..4e390074c 100644 --- a/smali/smali_classes2/com/vk/api/sdk/okhttp/OkHttpExecutor.smali +++ b/smali/smali_classes2/com/vk/api/sdk/okhttp/OkHttpExecutor.smali @@ -1041,7 +1041,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/?" + const-string v2, "https://vk.ru/?" invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/api/sdk/ui/VKWebViewAuthActivity.smali b/smali/smali_classes2/com/vk/api/sdk/ui/VKWebViewAuthActivity.smali index a035c9a7a..dbae6cec9 100644 --- a/smali/smali_classes2/com/vk/api/sdk/ui/VKWebViewAuthActivity.smali +++ b/smali/smali_classes2/com/vk/api/sdk/ui/VKWebViewAuthActivity.smali @@ -200,7 +200,7 @@ goto :goto_1 :cond_0 - const-string v0, "https://oauth.vk.com/authorize" + const-string v0, "https://oauth.vk.ru/authorize" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/api/search/SearchAll.smali b/smali/smali_classes2/com/vk/api/search/SearchAll.smali index 9db07dedd..8163b56d1 100644 --- a/smali/smali_classes2/com/vk/api/search/SearchAll.smali +++ b/smali/smali_classes2/com/vk/api/search/SearchAll.smali @@ -145,7 +145,7 @@ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V - const-string v4, "vk.com/" + const-string v4, "vk.ru/" invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/articles/authorpage/ArticleAuthorPageHelper.smali b/smali/smali_classes2/com/vk/articles/authorpage/ArticleAuthorPageHelper.smali index 0d62bb319..89b57c8c1 100644 --- a/smali/smali_classes2/com/vk/articles/authorpage/ArticleAuthorPageHelper.smali +++ b/smali/smali_classes2/com/vk/articles/authorpage/ArticleAuthorPageHelper.smali @@ -55,7 +55,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/@" + const-string v1, "https://vk.ru/@" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/articles/preload/WebCachePreloader.smali b/smali/smali_classes2/com/vk/articles/preload/WebCachePreloader.smali index 9047e81df..f8a3b2e2f 100644 --- a/smali/smali_classes2/com/vk/articles/preload/WebCachePreloader.smali +++ b/smali/smali_classes2/com/vk/articles/preload/WebCachePreloader.smali @@ -125,7 +125,7 @@ const-string v2, "referer" - const-string v3, "https://vk.com" + const-string v3, "https://vk.ru" invoke-direct {v1, v2, v3}, Lkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V diff --git a/smali/smali_classes2/com/vk/attachpicker/u/j/FiltersController.smali b/smali/smali_classes2/com/vk/attachpicker/u/j/FiltersController.smali index fd862a9ba..6dd7011e5 100644 --- a/smali/smali_classes2/com/vk/attachpicker/u/j/FiltersController.smali +++ b/smali/smali_classes2/com/vk/attachpicker/u/j/FiltersController.smali @@ -19,7 +19,7 @@ :try_start_0 new-instance v0, Lorg/json/JSONObject; - const-string v1, "{\"response\":{\"catalog_version\":11,\"filters\":{\"count\":9,\"items\":[{\"id\":\"snow\",\"app_version\":\"v2.0.0(14077)\",\"preset\":{\"col\":[{\"lumAdj\":0.036000,\"satAdj\":0.145000,\"sm\":0.350000,\"fG\":0.500000,\"fB\":0.500000,\"thr\":0.350000,\"fR\":0.500000,\"hue\":0},{\"lumAdj\":0.099000,\"satAdj\":0,\"sm\":0.350000,\"fG\":1,\"fB\":1,\"thr\":0.034000,\"fR\":1,\"hue\":0.567000},{\"lumAdj\":0.061000,\"satAdj\":0.860000,\"sm\":0.224000,\"fG\":0.451000,\"fB\":0.451000,\"thr\":0.069000,\"fR\":1,\"hue\":0.057000},{\"lumAdj\":0,\"satAdj\":0.224000,\"sm\":0.111000,\"fG\":0,\"fB\":0,\"thr\":0.051000,\"fR\":0.702000,\"hue\":0.018000},{\"lumAdj\":-0.038000,\"satAdj\":0.136000,\"sm\":0.332000,\"fG\":0,\"fB\":0,\"thr\":0.177000,\"fR\":1,\"hue\":0.018000},{\"lumAdj\":0.111000,\"satAdj\":0.864000,\"sm\":0.348000,\"fG\":1,\"fB\":1,\"thr\":0.071000,\"fR\":0,\"hue\":0.572000},{\"lumAdj\":-0.069000,\"satAdj\":0.178000,\"sm\":0.068000,\"fG\":0,\"fB\":0,\"thr\":0,\"fR\":0,\"hue\":0.949000}],\"red_curve\":[0,64,128,192,255],\"sat\":-0.025000,\"con\":-0.299000,\"green_curve\":[0,64,128,192,255],\"blue_curve\":[0,64,128,192,255],\"rgb_curve\":[0,57,132,194,255],\"br\":-0.102000,\"enh\":0.399000,\"tint\":-0.138000},\"name\":\"Snow\",\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/snow@2x.jpg?3\"},{\"id\":\"lake\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.018145,\"col\":[{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.441830,\"lumAdj\":-0.095000,\"satAdj\":0.311000,\"sm\":0.264000,\"thr\":0.185000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.021000,\"satAdj\":0.000000,\"sm\":0.350000,\"thr\":0.409000},{\"fB\":0.176000,\"fG\":0.192000,\"fR\":0.243000,\"hue\":0.662092,\"lumAdj\":-0.003000,\"satAdj\":0.122984,\"sm\":0.146000,\"thr\":0.026000},{\"fB\":0.251000,\"fG\":0.251000,\"fR\":0.251000,\"hue\":0.418954,\"lumAdj\":-0.035685,\"satAdj\":-0.012097,\"sm\":0.311000,\"thr\":0.120000},{\"fB\":0.600000,\"fG\":1.000000,\"fR\":0.992000,\"hue\":0.170000,\"lumAdj\":0.023000,\"satAdj\":-0.347000,\"sm\":0.271000,\"thr\":0.130000},{\"fB\":0.302000,\"fG\":0.302000,\"fR\":1.000000,\"hue\":0.022000,\"lumAdj\":0.021000,\"satAdj\":0.250000,\"sm\":0.255000,\"thr\":0.087000},{\"fB\":0.424000,\"fG\":0.525000,\"fR\":0.765000,\"hue\":0.069935,\"lumAdj\":0.040524,\"satAdj\":-0.177419,\"sm\":0.129486,\"thr\":0.038199},{\"fB\":0.188000,\"fG\":0.220000,\"fR\":0.329000,\"hue\":0.037000,\"lumAdj\":-0.016000,\"satAdj\":0.333000,\"sm\":0.097000,\"thr\":0.006000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":0.350980,\"lumAdj\":0.061000,\"satAdj\":0.052000,\"sm\":0.319000,\"thr\":0.009000}],\"con\":0.119000,\"localCurrentColor\":3,\"enh\":0.000000,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,71,134,192,255],\"sat\":0.370968,\"shar\":0.000000,\"tem\":-0.415000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Lake\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/lake@2x.jpg?3\"},{\"id\":\"dew\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.505000,\"lumAdj\":-0.041000,\"satAdj\":0.089000,\"sm\":0.194000,\"thr\":0.039000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.108000,\"lumAdj\":-0.031000,\"satAdj\":-0.084000,\"sm\":0.350000,\"thr\":0.096000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":1.000000,\"hue\":0.071895,\"lumAdj\":-0.031000,\"satAdj\":0.038000,\"sm\":0.172000,\"thr\":0.243000},{\"fB\":0.000000,\"fG\":0.549000,\"fR\":0.012000,\"hue\":0.506000,\"lumAdj\":-0.096000,\"satAdj\":1.000000,\"sm\":0.204000,\"thr\":0.096000},{\"fB\":0.451000,\"fG\":0.427000,\"fR\":0.467000,\"hue\":0.900000,\"lumAdj\":0.000000,\"satAdj\":0.190000,\"sm\":0.030000,\"thr\":0.000000},{\"fB\":0.431000,\"fG\":0.420000,\"fR\":0.392000,\"hue\":0.550000,\"lumAdj\":0.000000,\"satAdj\":0.482000,\"sm\":0.077000,\"thr\":0.002000},{\"fB\":0.780000,\"fG\":0.792000,\"fR\":0.745000,\"hue\":0.542000,\"lumAdj\":0.000000,\"satAdj\":-1.000000,\"sm\":0.297000,\"thr\":0.003000},{\"fB\":0.200000,\"fG\":0.200000,\"fR\":0.200000,\"hue\":0.966013,\"lumAdj\":-0.029032,\"satAdj\":0.098790,\"sm\":0.350000,\"thr\":0.023000},{\"fB\":0.337000,\"fG\":0.047000,\"fR\":0.035000,\"hue\":0.837908,\"lumAdj\":-0.001000,\"satAdj\":0.216000,\"sm\":0.117000,\"thr\":0.105000},{\"fB\":1.000000,\"fG\":0.835000,\"fR\":0.690000,\"hue\":0.480000,\"lumAdj\":-0.110000,\"satAdj\":0.201000,\"sm\":0.086000,\"thr\":0.002000},{\"fB\":0.490000,\"fG\":0.659000,\"fR\":0.698000,\"hue\":0.022000,\"lumAdj\":-0.002000,\"satAdj\":0.318000,\"sm\":0.307000,\"thr\":0.028000},{\"fB\":0.478000,\"fG\":0.592000,\"fR\":0.835000,\"hue\":0.053000,\"lumAdj\":0.108000,\"satAdj\":0.333000,\"sm\":0.221000,\"thr\":0.004000},{\"fB\":0.886000,\"fG\":0.612000,\"fR\":0.380000,\"hue\":0.476000,\"lumAdj\":-0.052000,\"satAdj\":0.571000,\"sm\":0.155000,\"thr\":0.010000}],\"con\":0.000000,\"localCurrentColor\":8,\"enh\":0.000000,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":0.000000,\"shar\":0.000000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.007000},\"isDisabled\":false,\"name\":\"Dew\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/dew@2x.jpg?3\"},{\"id\":\"ash\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":-0.027000,\"satAdj\":-0.636000,\"sm\":0.348000,\"thr\":0.018000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":0.032026,\"lumAdj\":-0.041129,\"satAdj\":0.100806,\"sm\":0.348000,\"thr\":0.138000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.167320,\"lumAdj\":-0.062298,\"satAdj\":0.062500,\"sm\":0.256000,\"thr\":0.000000},{\"fB\":0.561000,\"fG\":0.651000,\"fR\":0.745000,\"hue\":0.104000,\"lumAdj\":-0.025000,\"satAdj\":0.309000,\"sm\":0.092000,\"thr\":0.019000},{\"fB\":0.149000,\"fG\":0.149000,\"fR\":0.149000,\"hue\":0.986000,\"lumAdj\":-0.043000,\"satAdj\":0.206000,\"sm\":0.188000,\"thr\":0.008000},{\"fB\":0.961000,\"fG\":0.631000,\"fR\":0.412000,\"hue\":0.535294,\"lumAdj\":0.000000,\"satAdj\":0.989919,\"sm\":0.202000,\"thr\":0.000000}],\"con\":0.000000,\"localCurrentColor\":5,\"enh\":0.179000,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":0.000000,\"shar\":0.000000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Ash\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/ash@2x.jpg?3\"},{\"id\":\"fen\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.058000,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":-0.044000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":-0.032000,\"satAdj\":0.000000,\"sm\":0.344000,\"thr\":0.358000},{\"fB\":0.176000,\"fG\":0.196000,\"fR\":0.294000,\"hue\":0.030065,\"lumAdj\":-0.019000,\"satAdj\":0.336000,\"sm\":0.037000,\"thr\":0.000000},{\"fB\":0.200000,\"fG\":0.216000,\"fR\":0.235000,\"hue\":0.601307,\"lumAdj\":-0.047177,\"satAdj\":0.133065,\"sm\":0.095000,\"thr\":0.006000},{\"fB\":0.780000,\"fG\":0.471000,\"fR\":0.329000,\"hue\":0.437255,\"lumAdj\":0.000000,\"satAdj\":0.344758,\"sm\":0.150000,\"thr\":0.031000}],\"con\":-0.516000,\"localCurrentColor\":3,\"enh\":0.000000,\"fade\":0.163000,\"gr\":0.000000,\"green_curve\":[0,65,124,192,255],\"red_curve\":[0,65,126,192,255],\"rgb_curve\":[0,42,119,185,249],\"sat\":0.000000,\"shar\":0.000000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Fen\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/fen@2x.jpg?3\"},{\"id\":\"drama\",\"date\":0,\"preset\":{\"blue_curve\":[0,62,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.153000,\"fG\":0.180000,\"fR\":0.337000,\"hue\":0.025000,\"lumAdj\":0.000000,\"satAdj\":0.284000,\"sm\":0.103000,\"thr\":0.021000},{\"fB\":0.537000,\"fG\":0.565000,\"fR\":0.804000,\"hue\":0.016993,\"lumAdj\":0.037500,\"satAdj\":0.161290,\"sm\":0.108000,\"thr\":0.010000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":-0.031452,\"satAdj\":0.800403,\"sm\":0.338004,\"thr\":0.038588},{\"fB\":0.549000,\"fG\":0.631000,\"fR\":0.824000,\"hue\":1.000000,\"lumAdj\":0.058669,\"satAdj\":0.175403,\"sm\":0.155000,\"thr\":0.035000},{\"fB\":0.270588,\"fG\":0.270588,\"fR\":0.325490,\"hue\":1.000000,\"lumAdj\":0.059879,\"satAdj\":0.008065,\"sm\":0.083266,\"thr\":0.008340}],\"con\":0.054435,\"localCurrentColor\":6,\"enh\":0.163306,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,60,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,49,118,196,255],\"sat\":-0.514113,\"shar\":0.000000,\"tem\":-0.328000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Drama\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/drama@2x.jpg?3\"},{\"id\":\"sunset\",\"date\":1457719798,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.004032,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.533000,\"lumAdj\":-0.177000,\"satAdj\":-0.234000,\"sm\":0.350000,\"thr\":0.000000},{\"fB\":0.337000,\"fG\":0.047000,\"fR\":0.035000,\"hue\":0.570000,\"lumAdj\":-0.052000,\"satAdj\":0.201000,\"sm\":0.117000,\"thr\":0.105000},{\"fB\":0.514000,\"fG\":0.384000,\"fR\":0.361000,\"hue\":0.596078,\"lumAdj\":0.000000,\"satAdj\":0.252000,\"sm\":0.203000,\"thr\":0.025368},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.400000,\"hue\":0.985000,\"lumAdj\":-0.069000,\"satAdj\":0.276000,\"sm\":0.100000,\"thr\":0.057000},{\"fB\":0.400000,\"fG\":0.000000,\"fR\":0.008000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.108871,\"sm\":0.150000,\"thr\":0.100000},{\"fB\":0.043000,\"fG\":0.090000,\"fR\":0.153000,\"hue\":0.041000,\"lumAdj\":-0.036000,\"satAdj\":0.327000,\"sm\":0.059000,\"thr\":0.000000},{\"fB\":0.945000,\"fG\":0.961000,\"fR\":0.961000,\"hue\":0.580000,\"lumAdj\":0.119000,\"satAdj\":0.584000,\"sm\":0.114000,\"thr\":0.000000},{\"fB\":0.333000,\"fG\":0.506000,\"fR\":0.725000,\"hue\":0.083000,\"lumAdj\":0.018000,\"satAdj\":0.679000,\"sm\":0.173000,\"thr\":0.067000},{\"fB\":0.251000,\"fG\":0.251000,\"fR\":0.251000,\"hue\":1.000000,\"lumAdj\":-0.059000,\"satAdj\":0.163000,\"sm\":0.350000,\"thr\":0.000000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.619000,\"lumAdj\":-0.013000,\"satAdj\":0.000000,\"sm\":0.177000,\"thr\":0.053000}],\"con\":0.268145,\"localCurrentColor\":3,\"enh\":0.157258,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":-0.155000,\"shar\":0.250000,\"tem\":-0.488510,\"tint\":-0.186000,\"vig\":0.293000},\"isDisabled\":false,\"name\":\"Sunset\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/sunset@2x.jpg?3\"},{\"id\":\"downpour\",\"date\":1457719647,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.560131,\"lumAdj\":-0.047177,\"satAdj\":0.107000,\"sm\":0.157000,\"thr\":0.025368},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":1.000000,\"hue\":0.026797,\"lumAdj\":-0.034476,\"satAdj\":0.320564,\"sm\":0.200000,\"thr\":0.243000},{\"fB\":0.337000,\"fG\":0.047000,\"fR\":0.035000,\"hue\":0.466013,\"lumAdj\":-0.020565,\"satAdj\":0.092742,\"sm\":0.117000,\"thr\":0.105000},{\"fB\":0.247000,\"fG\":0.416000,\"fR\":0.580000,\"hue\":0.090196,\"lumAdj\":-0.035081,\"satAdj\":0.391129,\"sm\":0.186290,\"thr\":0.008739},{\"fB\":0.514000,\"fG\":0.384000,\"fR\":0.361000,\"hue\":0.549020,\"lumAdj\":-0.032661,\"satAdj\":0.252000,\"sm\":0.233216,\"thr\":0.003378},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.532680,\"lumAdj\":0.000000,\"satAdj\":-0.285000,\"sm\":0.200000,\"thr\":0.038000},{\"fB\":0.137255,\"fG\":0.133333,\"fR\":0.105882,\"hue\":1.000000,\"lumAdj\":-0.053831,\"satAdj\":0.308468,\"sm\":0.185585,\"thr\":0.000624},{\"fB\":0.470588,\"fG\":0.529412,\"fR\":0.639216,\"hue\":0.058170,\"lumAdj\":0.095565,\"satAdj\":0.118952,\"sm\":0.221573,\"thr\":0.018977}],\"con\":-0.143145,\"localCurrentColor\":8,\"enh\":0.146169,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,62,141,205,255],\"sat\":-0.348790,\"shar\":0.232000,\"tem\":-0.314516,\"tint\":-0.135000,\"vig\":0.008000},\"isDisabled\":false,\"name\":\"Downpour\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/downpour@2x.jpg?3\"},{\"id\":\"dark\",\"date\":1457715727,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":-0.107500,\"col\":[{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.211694,\"satAdj\":-0.629032,\"sm\":0.349647,\"thr\":0.761176},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.549000,\"hue\":1.000000,\"lumAdj\":0.168750,\"satAdj\":0.000000,\"sm\":0.325302,\"thr\":0.814856},{\"fB\":0.302000,\"fG\":0.302000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.091000,\"satAdj\":0.000000,\"sm\":0.163000,\"thr\":0.129000},{\"fB\":0.914000,\"fG\":0.761000,\"fR\":0.612000,\"hue\":0.584000,\"lumAdj\":-0.121000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.102000,\"fG\":0.102000,\"fR\":0.102000,\"hue\":1.000000,\"lumAdj\":0.052000,\"satAdj\":0.000000,\"sm\":0.287000,\"thr\":0.000000},{\"fB\":0.647059,\"fG\":0.745098,\"fR\":0.968627,\"hue\":0.050980,\"lumAdj\":0.137903,\"satAdj\":0.000000,\"sm\":0.340474,\"thr\":0.156163}],\"con\":0.295000,\"localCurrentColor\":7,\"enh\":0.212000,\"fade\":0.028000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":-1.000000,\"shar\":0.240000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Dark\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/dark@2x.jpg?3\"}]},\"instagram_suffix\":\"\",\"instagram_fallback\":0}}" + const-string v1, "{\"response\":{\"catalog_version\":11,\"filters\":{\"count\":9,\"items\":[{\"id\":\"snow\",\"app_version\":\"v2.0.0(14077)\",\"preset\":{\"col\":[{\"lumAdj\":0.036000,\"satAdj\":0.145000,\"sm\":0.350000,\"fG\":0.500000,\"fB\":0.500000,\"thr\":0.350000,\"fR\":0.500000,\"hue\":0},{\"lumAdj\":0.099000,\"satAdj\":0,\"sm\":0.350000,\"fG\":1,\"fB\":1,\"thr\":0.034000,\"fR\":1,\"hue\":0.567000},{\"lumAdj\":0.061000,\"satAdj\":0.860000,\"sm\":0.224000,\"fG\":0.451000,\"fB\":0.451000,\"thr\":0.069000,\"fR\":1,\"hue\":0.057000},{\"lumAdj\":0,\"satAdj\":0.224000,\"sm\":0.111000,\"fG\":0,\"fB\":0,\"thr\":0.051000,\"fR\":0.702000,\"hue\":0.018000},{\"lumAdj\":-0.038000,\"satAdj\":0.136000,\"sm\":0.332000,\"fG\":0,\"fB\":0,\"thr\":0.177000,\"fR\":1,\"hue\":0.018000},{\"lumAdj\":0.111000,\"satAdj\":0.864000,\"sm\":0.348000,\"fG\":1,\"fB\":1,\"thr\":0.071000,\"fR\":0,\"hue\":0.572000},{\"lumAdj\":-0.069000,\"satAdj\":0.178000,\"sm\":0.068000,\"fG\":0,\"fB\":0,\"thr\":0,\"fR\":0,\"hue\":0.949000}],\"red_curve\":[0,64,128,192,255],\"sat\":-0.025000,\"con\":-0.299000,\"green_curve\":[0,64,128,192,255],\"blue_curve\":[0,64,128,192,255],\"rgb_curve\":[0,57,132,194,255],\"br\":-0.102000,\"enh\":0.399000,\"tint\":-0.138000},\"name\":\"Snow\",\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/snow@2x.jpg?3\"},{\"id\":\"lake\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.018145,\"col\":[{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.441830,\"lumAdj\":-0.095000,\"satAdj\":0.311000,\"sm\":0.264000,\"thr\":0.185000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.021000,\"satAdj\":0.000000,\"sm\":0.350000,\"thr\":0.409000},{\"fB\":0.176000,\"fG\":0.192000,\"fR\":0.243000,\"hue\":0.662092,\"lumAdj\":-0.003000,\"satAdj\":0.122984,\"sm\":0.146000,\"thr\":0.026000},{\"fB\":0.251000,\"fG\":0.251000,\"fR\":0.251000,\"hue\":0.418954,\"lumAdj\":-0.035685,\"satAdj\":-0.012097,\"sm\":0.311000,\"thr\":0.120000},{\"fB\":0.600000,\"fG\":1.000000,\"fR\":0.992000,\"hue\":0.170000,\"lumAdj\":0.023000,\"satAdj\":-0.347000,\"sm\":0.271000,\"thr\":0.130000},{\"fB\":0.302000,\"fG\":0.302000,\"fR\":1.000000,\"hue\":0.022000,\"lumAdj\":0.021000,\"satAdj\":0.250000,\"sm\":0.255000,\"thr\":0.087000},{\"fB\":0.424000,\"fG\":0.525000,\"fR\":0.765000,\"hue\":0.069935,\"lumAdj\":0.040524,\"satAdj\":-0.177419,\"sm\":0.129486,\"thr\":0.038199},{\"fB\":0.188000,\"fG\":0.220000,\"fR\":0.329000,\"hue\":0.037000,\"lumAdj\":-0.016000,\"satAdj\":0.333000,\"sm\":0.097000,\"thr\":0.006000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":0.350980,\"lumAdj\":0.061000,\"satAdj\":0.052000,\"sm\":0.319000,\"thr\":0.009000}],\"con\":0.119000,\"localCurrentColor\":3,\"enh\":0.000000,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,71,134,192,255],\"sat\":0.370968,\"shar\":0.000000,\"tem\":-0.415000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Lake\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/lake@2x.jpg?3\"},{\"id\":\"dew\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.505000,\"lumAdj\":-0.041000,\"satAdj\":0.089000,\"sm\":0.194000,\"thr\":0.039000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.108000,\"lumAdj\":-0.031000,\"satAdj\":-0.084000,\"sm\":0.350000,\"thr\":0.096000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":1.000000,\"hue\":0.071895,\"lumAdj\":-0.031000,\"satAdj\":0.038000,\"sm\":0.172000,\"thr\":0.243000},{\"fB\":0.000000,\"fG\":0.549000,\"fR\":0.012000,\"hue\":0.506000,\"lumAdj\":-0.096000,\"satAdj\":1.000000,\"sm\":0.204000,\"thr\":0.096000},{\"fB\":0.451000,\"fG\":0.427000,\"fR\":0.467000,\"hue\":0.900000,\"lumAdj\":0.000000,\"satAdj\":0.190000,\"sm\":0.030000,\"thr\":0.000000},{\"fB\":0.431000,\"fG\":0.420000,\"fR\":0.392000,\"hue\":0.550000,\"lumAdj\":0.000000,\"satAdj\":0.482000,\"sm\":0.077000,\"thr\":0.002000},{\"fB\":0.780000,\"fG\":0.792000,\"fR\":0.745000,\"hue\":0.542000,\"lumAdj\":0.000000,\"satAdj\":-1.000000,\"sm\":0.297000,\"thr\":0.003000},{\"fB\":0.200000,\"fG\":0.200000,\"fR\":0.200000,\"hue\":0.966013,\"lumAdj\":-0.029032,\"satAdj\":0.098790,\"sm\":0.350000,\"thr\":0.023000},{\"fB\":0.337000,\"fG\":0.047000,\"fR\":0.035000,\"hue\":0.837908,\"lumAdj\":-0.001000,\"satAdj\":0.216000,\"sm\":0.117000,\"thr\":0.105000},{\"fB\":1.000000,\"fG\":0.835000,\"fR\":0.690000,\"hue\":0.480000,\"lumAdj\":-0.110000,\"satAdj\":0.201000,\"sm\":0.086000,\"thr\":0.002000},{\"fB\":0.490000,\"fG\":0.659000,\"fR\":0.698000,\"hue\":0.022000,\"lumAdj\":-0.002000,\"satAdj\":0.318000,\"sm\":0.307000,\"thr\":0.028000},{\"fB\":0.478000,\"fG\":0.592000,\"fR\":0.835000,\"hue\":0.053000,\"lumAdj\":0.108000,\"satAdj\":0.333000,\"sm\":0.221000,\"thr\":0.004000},{\"fB\":0.886000,\"fG\":0.612000,\"fR\":0.380000,\"hue\":0.476000,\"lumAdj\":-0.052000,\"satAdj\":0.571000,\"sm\":0.155000,\"thr\":0.010000}],\"con\":0.000000,\"localCurrentColor\":8,\"enh\":0.000000,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":0.000000,\"shar\":0.000000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.007000},\"isDisabled\":false,\"name\":\"Dew\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/dew@2x.jpg?3\"},{\"id\":\"ash\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":-0.027000,\"satAdj\":-0.636000,\"sm\":0.348000,\"thr\":0.018000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":0.032026,\"lumAdj\":-0.041129,\"satAdj\":0.100806,\"sm\":0.348000,\"thr\":0.138000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.167320,\"lumAdj\":-0.062298,\"satAdj\":0.062500,\"sm\":0.256000,\"thr\":0.000000},{\"fB\":0.561000,\"fG\":0.651000,\"fR\":0.745000,\"hue\":0.104000,\"lumAdj\":-0.025000,\"satAdj\":0.309000,\"sm\":0.092000,\"thr\":0.019000},{\"fB\":0.149000,\"fG\":0.149000,\"fR\":0.149000,\"hue\":0.986000,\"lumAdj\":-0.043000,\"satAdj\":0.206000,\"sm\":0.188000,\"thr\":0.008000},{\"fB\":0.961000,\"fG\":0.631000,\"fR\":0.412000,\"hue\":0.535294,\"lumAdj\":0.000000,\"satAdj\":0.989919,\"sm\":0.202000,\"thr\":0.000000}],\"con\":0.000000,\"localCurrentColor\":5,\"enh\":0.179000,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":0.000000,\"shar\":0.000000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Ash\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/ash@2x.jpg?3\"},{\"id\":\"fen\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.058000,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":-0.044000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":-0.032000,\"satAdj\":0.000000,\"sm\":0.344000,\"thr\":0.358000},{\"fB\":0.176000,\"fG\":0.196000,\"fR\":0.294000,\"hue\":0.030065,\"lumAdj\":-0.019000,\"satAdj\":0.336000,\"sm\":0.037000,\"thr\":0.000000},{\"fB\":0.200000,\"fG\":0.216000,\"fR\":0.235000,\"hue\":0.601307,\"lumAdj\":-0.047177,\"satAdj\":0.133065,\"sm\":0.095000,\"thr\":0.006000},{\"fB\":0.780000,\"fG\":0.471000,\"fR\":0.329000,\"hue\":0.437255,\"lumAdj\":0.000000,\"satAdj\":0.344758,\"sm\":0.150000,\"thr\":0.031000}],\"con\":-0.516000,\"localCurrentColor\":3,\"enh\":0.000000,\"fade\":0.163000,\"gr\":0.000000,\"green_curve\":[0,65,124,192,255],\"red_curve\":[0,65,126,192,255],\"rgb_curve\":[0,42,119,185,249],\"sat\":0.000000,\"shar\":0.000000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Fen\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/fen@2x.jpg?3\"},{\"id\":\"drama\",\"date\":0,\"preset\":{\"blue_curve\":[0,62,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.153000,\"fG\":0.180000,\"fR\":0.337000,\"hue\":0.025000,\"lumAdj\":0.000000,\"satAdj\":0.284000,\"sm\":0.103000,\"thr\":0.021000},{\"fB\":0.537000,\"fG\":0.565000,\"fR\":0.804000,\"hue\":0.016993,\"lumAdj\":0.037500,\"satAdj\":0.161290,\"sm\":0.108000,\"thr\":0.010000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":-0.031452,\"satAdj\":0.800403,\"sm\":0.338004,\"thr\":0.038588},{\"fB\":0.549000,\"fG\":0.631000,\"fR\":0.824000,\"hue\":1.000000,\"lumAdj\":0.058669,\"satAdj\":0.175403,\"sm\":0.155000,\"thr\":0.035000},{\"fB\":0.270588,\"fG\":0.270588,\"fR\":0.325490,\"hue\":1.000000,\"lumAdj\":0.059879,\"satAdj\":0.008065,\"sm\":0.083266,\"thr\":0.008340}],\"con\":0.054435,\"localCurrentColor\":6,\"enh\":0.163306,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,60,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,49,118,196,255],\"sat\":-0.514113,\"shar\":0.000000,\"tem\":-0.328000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Drama\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/drama@2x.jpg?3\"},{\"id\":\"sunset\",\"date\":1457719798,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.004032,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.533000,\"lumAdj\":-0.177000,\"satAdj\":-0.234000,\"sm\":0.350000,\"thr\":0.000000},{\"fB\":0.337000,\"fG\":0.047000,\"fR\":0.035000,\"hue\":0.570000,\"lumAdj\":-0.052000,\"satAdj\":0.201000,\"sm\":0.117000,\"thr\":0.105000},{\"fB\":0.514000,\"fG\":0.384000,\"fR\":0.361000,\"hue\":0.596078,\"lumAdj\":0.000000,\"satAdj\":0.252000,\"sm\":0.203000,\"thr\":0.025368},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.400000,\"hue\":0.985000,\"lumAdj\":-0.069000,\"satAdj\":0.276000,\"sm\":0.100000,\"thr\":0.057000},{\"fB\":0.400000,\"fG\":0.000000,\"fR\":0.008000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.108871,\"sm\":0.150000,\"thr\":0.100000},{\"fB\":0.043000,\"fG\":0.090000,\"fR\":0.153000,\"hue\":0.041000,\"lumAdj\":-0.036000,\"satAdj\":0.327000,\"sm\":0.059000,\"thr\":0.000000},{\"fB\":0.945000,\"fG\":0.961000,\"fR\":0.961000,\"hue\":0.580000,\"lumAdj\":0.119000,\"satAdj\":0.584000,\"sm\":0.114000,\"thr\":0.000000},{\"fB\":0.333000,\"fG\":0.506000,\"fR\":0.725000,\"hue\":0.083000,\"lumAdj\":0.018000,\"satAdj\":0.679000,\"sm\":0.173000,\"thr\":0.067000},{\"fB\":0.251000,\"fG\":0.251000,\"fR\":0.251000,\"hue\":1.000000,\"lumAdj\":-0.059000,\"satAdj\":0.163000,\"sm\":0.350000,\"thr\":0.000000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.619000,\"lumAdj\":-0.013000,\"satAdj\":0.000000,\"sm\":0.177000,\"thr\":0.053000}],\"con\":0.268145,\"localCurrentColor\":3,\"enh\":0.157258,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":-0.155000,\"shar\":0.250000,\"tem\":-0.488510,\"tint\":-0.186000,\"vig\":0.293000},\"isDisabled\":false,\"name\":\"Sunset\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/sunset@2x.jpg?3\"},{\"id\":\"downpour\",\"date\":1457719647,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.560131,\"lumAdj\":-0.047177,\"satAdj\":0.107000,\"sm\":0.157000,\"thr\":0.025368},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":1.000000,\"hue\":0.026797,\"lumAdj\":-0.034476,\"satAdj\":0.320564,\"sm\":0.200000,\"thr\":0.243000},{\"fB\":0.337000,\"fG\":0.047000,\"fR\":0.035000,\"hue\":0.466013,\"lumAdj\":-0.020565,\"satAdj\":0.092742,\"sm\":0.117000,\"thr\":0.105000},{\"fB\":0.247000,\"fG\":0.416000,\"fR\":0.580000,\"hue\":0.090196,\"lumAdj\":-0.035081,\"satAdj\":0.391129,\"sm\":0.186290,\"thr\":0.008739},{\"fB\":0.514000,\"fG\":0.384000,\"fR\":0.361000,\"hue\":0.549020,\"lumAdj\":-0.032661,\"satAdj\":0.252000,\"sm\":0.233216,\"thr\":0.003378},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.532680,\"lumAdj\":0.000000,\"satAdj\":-0.285000,\"sm\":0.200000,\"thr\":0.038000},{\"fB\":0.137255,\"fG\":0.133333,\"fR\":0.105882,\"hue\":1.000000,\"lumAdj\":-0.053831,\"satAdj\":0.308468,\"sm\":0.185585,\"thr\":0.000624},{\"fB\":0.470588,\"fG\":0.529412,\"fR\":0.639216,\"hue\":0.058170,\"lumAdj\":0.095565,\"satAdj\":0.118952,\"sm\":0.221573,\"thr\":0.018977}],\"con\":-0.143145,\"localCurrentColor\":8,\"enh\":0.146169,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,62,141,205,255],\"sat\":-0.348790,\"shar\":0.232000,\"tem\":-0.314516,\"tint\":-0.135000,\"vig\":0.008000},\"isDisabled\":false,\"name\":\"Downpour\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/downpour@2x.jpg?3\"},{\"id\":\"dark\",\"date\":1457715727,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":-0.107500,\"col\":[{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.211694,\"satAdj\":-0.629032,\"sm\":0.349647,\"thr\":0.761176},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.549000,\"hue\":1.000000,\"lumAdj\":0.168750,\"satAdj\":0.000000,\"sm\":0.325302,\"thr\":0.814856},{\"fB\":0.302000,\"fG\":0.302000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.091000,\"satAdj\":0.000000,\"sm\":0.163000,\"thr\":0.129000},{\"fB\":0.914000,\"fG\":0.761000,\"fR\":0.612000,\"hue\":0.584000,\"lumAdj\":-0.121000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.102000,\"fG\":0.102000,\"fR\":0.102000,\"hue\":1.000000,\"lumAdj\":0.052000,\"satAdj\":0.000000,\"sm\":0.287000,\"thr\":0.000000},{\"fB\":0.647059,\"fG\":0.745098,\"fR\":0.968627,\"hue\":0.050980,\"lumAdj\":0.137903,\"satAdj\":0.000000,\"sm\":0.340474,\"thr\":0.156163}],\"con\":0.295000,\"localCurrentColor\":7,\"enh\":0.212000,\"fade\":0.028000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":-1.000000,\"shar\":0.240000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Dark\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/dark@2x.jpg?3\"}]},\"instagram_suffix\":\"\",\"instagram_fallback\":0}}" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/auth/DefaultAuthModel.smali b/smali/smali_classes2/com/vk/auth/DefaultAuthModel.smali index 9de69b965..1a1d4063e 100644 --- a/smali/smali_classes2/com/vk/auth/DefaultAuthModel.smali +++ b/smali/smali_classes2/com/vk/auth/DefaultAuthModel.smali @@ -136,7 +136,7 @@ invoke-direct {v1, v2}, Lcom/vk/auth/api/VKAuthApiManager;->(Lcom/vk/api/sdk/VKApiConfig;)V - const-string v1, "support@vk.com" + const-string v1, "support@vk.ru" .line 9 iput-object v1, v0, Lcom/vk/auth/DefaultAuthModel;->b:Ljava/lang/String; @@ -276,7 +276,7 @@ move-result-object p1 - const-string v0, "https://m.vk.com/terms?api_view=1&cc=%s&lang=%s" + const-string v0, "https://m.vk.ru/terms?api_view=1&cc=%s&lang=%s" invoke-static {v0, p1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; @@ -328,7 +328,7 @@ move-result-object p1 - const-string v0, "https://m.vk.com/privacy?api_view=1&cc=%s&lang=%s" + const-string v0, "https://m.vk.ru/privacy?api_view=1&cc=%s&lang=%s" invoke-static {v0, p1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/auth/RestoreUtils.smali b/smali/smali_classes2/com/vk/auth/RestoreUtils.smali index 2f3540322..7cc1b3c65 100644 --- a/smali/smali_classes2/com/vk/auth/RestoreUtils.smali +++ b/smali/smali_classes2/com/vk/auth/RestoreUtils.smali @@ -45,7 +45,7 @@ move-result-object v0 - const-string v1, "static.vk.com/restore" + const-string v1, "static.vk.ru/restore" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/auth/VkAuthModel.smali b/smali/smali_classes2/com/vk/auth/VkAuthModel.smali index a27f19b06..6b96fe652 100644 --- a/smali/smali_classes2/com/vk/auth/VkAuthModel.smali +++ b/smali/smali_classes2/com/vk/auth/VkAuthModel.smali @@ -648,7 +648,7 @@ move-result-object v0 - const-string v1, "oauth.vk.com" + const-string v1, "oauth.vk.ru" const-string v2, "oauthHost" diff --git a/smali/smali_classes2/com/vk/auth/api/VKAccount.smali b/smali/smali_classes2/com/vk/auth/api/VKAccount.smali index 4550e209a..18e0c0758 100644 --- a/smali/smali_classes2/com/vk/auth/api/VKAccount.smali +++ b/smali/smali_classes2/com/vk/auth/api/VKAccount.smali @@ -3281,14 +3281,14 @@ const-string v7, "invite_link" - const-string v8, "https://vk.com/join" + const-string v8, "https://vk.ru/join" .line 51 invoke-virtual {v2, v7, v8}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v7 - const-string v8, "it.optString(\"invite_link\", \"https://vk.com/join\")" + const-string v8, "it.optString(\"invite_link\", \"https://vk.ru/join\")" invoke-static {v7, v8}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V diff --git a/smali/smali_classes2/com/vk/auth/y/b/UrlCheckFragment$b.smali b/smali/smali_classes2/com/vk/auth/y/b/UrlCheckFragment$b.smali index a1c3ad44b..3a4163bcb 100644 --- a/smali/smali_classes2/com/vk/auth/y/b/UrlCheckFragment$b.smali +++ b/smali/smali_classes2/com/vk/auth/y/b/UrlCheckFragment$b.smali @@ -54,7 +54,7 @@ move-result-object p2 - const-string v0, "oauth.vk.com" + const-string v0, "oauth.vk.ru" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/balance/BalancePresenter$c.smali b/smali/smali_classes2/com/vk/balance/BalancePresenter$c.smali index 1f9968303..f7b38d118 100644 --- a/smali/smali_classes2/com/vk/balance/BalancePresenter$c.smali +++ b/smali/smali_classes2/com/vk/balance/BalancePresenter$c.smali @@ -83,7 +83,7 @@ const-string v1, "validation_url" - const-string v3, "https://m.vk.com/payments?act=buy_votes" + const-string v3, "https://m.vk.ru/payments?act=buy_votes" invoke-virtual {v0, v1, v3}, Landroid/os/Bundle;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/balance/BalancePresenter.smali b/smali/smali_classes2/com/vk/balance/BalancePresenter.smali index 6d3f3a30c..5337d5387 100644 --- a/smali/smali_classes2/com/vk/balance/BalancePresenter.smali +++ b/smali/smali_classes2/com/vk/balance/BalancePresenter.smali @@ -164,7 +164,7 @@ const/4 v1, 0x0 - const-string v2, "https://static.vk.com/promo_codes/" + const-string v2, "https://static.vk.ru/promo_codes/" invoke-static {v2}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/cameraui/CameraUIPresenter.smali b/smali/smali_classes2/com/vk/cameraui/CameraUIPresenter.smali index 0eadee998..8ebb0c000 100644 --- a/smali/smali_classes2/com/vk/cameraui/CameraUIPresenter.smali +++ b/smali/smali_classes2/com/vk/cameraui/CameraUIPresenter.smali @@ -10336,13 +10336,13 @@ invoke-static {v1, v2}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - const-string v2, "https://vk.com/vkapps_qr" + const-string v2, "https://vk.ru/vkapps_qr" invoke-static {v2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; move-result-object v2 - const-string v3, "Uri.parse(\"https://vk.com/vkapps_qr\")" + const-string v3, "Uri.parse(\"https://vk.ru/vkapps_qr\")" invoke-static {v2, v3}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V diff --git a/smali/smali_classes2/com/vk/cameraui/QrScannerUi.smali b/smali/smali_classes2/com/vk/cameraui/QrScannerUi.smali index 6eeb3d946..ad589eeaa 100644 --- a/smali/smali_classes2/com/vk/cameraui/QrScannerUi.smali +++ b/smali/smali_classes2/com/vk/cameraui/QrScannerUi.smali @@ -386,7 +386,7 @@ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V - const-string v5, "https://vk.com/id" + const-string v5, "https://vk.ru/id" invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/common/links/BrowserUtils$Companion.smali b/smali/smali_classes2/com/vk/common/links/BrowserUtils$Companion.smali index 59536881f..edc042c54 100644 --- a/smali/smali_classes2/com/vk/common/links/BrowserUtils$Companion.smali +++ b/smali/smali_classes2/com/vk/common/links/BrowserUtils$Companion.smali @@ -206,7 +206,7 @@ if-eqz v6, :cond_6 - const-string v8, ".vk.com" + const-string v8, ".vk.ru" invoke-static {v6, v8, v2, v7, v3}, Lkotlin/text/l;->a(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z @@ -239,7 +239,7 @@ if-eqz v6, :cond_a - const-string v8, "vk.com" + const-string v8, "vk.ru" .line 61 invoke-static {v6, v8, v4}, Lkotlin/text/l;->b(Ljava/lang/String;Ljava/lang/String;Z)Z @@ -890,12 +890,12 @@ if-eqz v0, :cond_0 - const-string v0, "away.vk.com" + const-string v0, "away.vk.ru" goto :goto_0 :cond_0 - const-string v0, "m.vk.com" + const-string v0, "m.vk.ru" :goto_0 return-object v0 @@ -1548,7 +1548,7 @@ move-result-object v1 - const-string v2, "m.vk.com" + const-string v2, "m.vk.ru" invoke-static {v2, v1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/Object;)Z diff --git a/smali/smali_classes2/com/vk/common/links/LinkParser.smali b/smali/smali_classes2/com/vk/common/links/LinkParser.smali index 986a7cdd4..73c4d7bf5 100644 --- a/smali/smali_classes2/com/vk/common/links/LinkParser.smali +++ b/smali/smali_classes2/com/vk/common/links/LinkParser.smali @@ -359,7 +359,7 @@ :cond_4 and-int/lit8 v7, v2, 0x4 - const-string v8, "vkontakte://vk.com/" + const-string v8, "vkontakte://vk.ru/" if-lez v7, :cond_8 diff --git a/smali/smali_classes2/com/vk/common/links/LinkProcessor$a.smali b/smali/smali_classes2/com/vk/common/links/LinkProcessor$a.smali index 35ffd40c5..6a19a1b96 100644 --- a/smali/smali_classes2/com/vk/common/links/LinkProcessor$a.smali +++ b/smali/smali_classes2/com/vk/common/links/LinkProcessor$a.smali @@ -695,7 +695,7 @@ const/4 v2, 0x2 - const-string v3, "vk.com/" + const-string v3, "vk.ru/" .line 2 invoke-static {p1, v3, v0, v2, v1}, Lkotlin/text/l;->c(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z diff --git a/smali/smali_classes2/com/vk/common/links/LinkProcessorKt.smali b/smali/smali_classes2/com/vk/common/links/LinkProcessorKt.smali index 0b9e42d40..78afa7107 100644 --- a/smali/smali_classes2/com/vk/common/links/LinkProcessorKt.smali +++ b/smali/smali_classes2/com/vk/common/links/LinkProcessorKt.smali @@ -478,7 +478,7 @@ .line 52 sget-object v1, Lcom/vk/common/links/LinkProcessor;->p:Lcom/vk/common/links/LinkProcessor$a; - const-string v3, "m.vk.com/up" + const-string v3, "m.vk.ru/up" move-object v2, p0 @@ -5262,7 +5262,7 @@ if-eqz v11, :cond_73 - const-string v0, "https://vk.com/support" + const-string v0, "https://vk.ru/support" .line 176 invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/smali/smali_classes2/com/vk/common/links/OpenFunctionsKt$n.smali b/smali/smali_classes2/com/vk/common/links/OpenFunctionsKt$n.smali index 733800817..d3a423c25 100644 --- a/smali/smali_classes2/com/vk/common/links/OpenFunctionsKt$n.smali +++ b/smali/smali_classes2/com/vk/common/links/OpenFunctionsKt$n.smali @@ -64,7 +64,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://m.vk.com/mail?community=" + const-string v2, "https://m.vk.ru/mail?community=" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/core/network/metrics/traffic/TrafficAccumulator.smali b/smali/smali_classes2/com/vk/core/network/metrics/traffic/TrafficAccumulator.smali index 20d2b9924..659e26be1 100644 --- a/smali/smali_classes2/com/vk/core/network/metrics/traffic/TrafficAccumulator.smali +++ b/smali/smali_classes2/com/vk/core/network/metrics/traffic/TrafficAccumulator.smali @@ -185,7 +185,7 @@ const/4 v2, 0x0 - const-string v3, "https://api.vk.com/method/execute" + const-string v3, "https://api.vk.ru/method/execute" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/core/network/proxy/NetworkProxy.smali b/smali/smali_classes2/com/vk/core/network/proxy/NetworkProxy.smali index 05aa4ce90..8152b6b89 100644 --- a/smali/smali_classes2/com/vk/core/network/proxy/NetworkProxy.smali +++ b/smali/smali_classes2/com/vk/core/network/proxy/NetworkProxy.smali @@ -564,7 +564,7 @@ .line 4 new-instance v2, Lcom/vk/core/network/proxy/ProxyHostChecker; - const-string v3, "https://vk.com/ping.txt" + const-string v3, "https://vk.ru/ping.txt" invoke-direct {v2, v3, p0}, Lcom/vk/core/network/proxy/ProxyHostChecker;->(Ljava/lang/String;Lcom/vk/core/network/proxy/NetworkProxy;)V @@ -573,7 +573,7 @@ .line 5 new-instance v2, Lcom/vk/core/network/proxy/ProxyHostChecker; - const-string v3, "https://m.vk.com/ping.txt" + const-string v3, "https://m.vk.ru/ping.txt" invoke-direct {v2, v3, p0}, Lcom/vk/core/network/proxy/ProxyHostChecker;->(Ljava/lang/String;Lcom/vk/core/network/proxy/NetworkProxy;)V @@ -730,7 +730,7 @@ invoke-virtual {v0, v1}, Lcom/vk/core/network/proxy/ProxyHost;->b(Z)V - const-string v0, "https://vk.com/ping.txt" + const-string v0, "https://vk.ru/ping.txt" .line 3 invoke-direct {p0, v0}, Lcom/vk/core/network/proxy/NetworkProxy;->d(Ljava/lang/String;)Z @@ -739,7 +739,7 @@ if-nez v0, :cond_2 - const-string v0, "https://m.vk.com/ping.txt" + const-string v0, "https://m.vk.ru/ping.txt" invoke-direct {p0, v0}, Lcom/vk/core/network/proxy/NetworkProxy;->d(Ljava/lang/String;)Z diff --git a/smali/smali_classes2/com/vk/core/network/proxy/ProxyHost.smali b/smali/smali_classes2/com/vk/core/network/proxy/ProxyHost.smali index adad5e445..d8d037a55 100644 --- a/smali/smali_classes2/com/vk/core/network/proxy/ProxyHost.smali +++ b/smali/smali_classes2/com/vk/core/network/proxy/ProxyHost.smali @@ -230,7 +230,7 @@ move-result-object p1 - const-string v0, "https://vk.com/ping.txt" + const-string v0, "https://vk.ru/ping.txt" .line 20 invoke-virtual {p1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z @@ -239,7 +239,7 @@ if-nez v0, :cond_3 - const-string v0, "https://m.vk.com/ping.txt" + const-string v0, "https://m.vk.ru/ping.txt" .line 21 invoke-virtual {p1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z diff --git a/smali/smali_classes2/com/vk/dto/attachments/SnippetAttachment.smali b/smali/smali_classes2/com/vk/dto/attachments/SnippetAttachment.smali index c5cccafaa..8a50ede62 100644 --- a/smali/smali_classes2/com/vk/dto/attachments/SnippetAttachment.smali +++ b/smali/smali_classes2/com/vk/dto/attachments/SnippetAttachment.smali @@ -974,7 +974,7 @@ if-nez v1, :cond_0 - const-string v1, "https://vk.com/story" + const-string v1, "https://vk.ru/story" invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z diff --git a/smali/smali_classes2/com/vk/dto/money/MoneyTransfer.smali b/smali/smali_classes2/com/vk/dto/money/MoneyTransfer.smali index 47263d600..bf1eb83f9 100644 --- a/smali/smali_classes2/com/vk/dto/money/MoneyTransfer.smali +++ b/smali/smali_classes2/com/vk/dto/money/MoneyTransfer.smali @@ -591,7 +591,7 @@ .method public static Q()Ljava/lang/String; .locals 1 - const-string v0, "https://vk.com/support?act=faqs_pay&c=1" + const-string v0, "https://vk.ru/support?act=faqs_pay&c=1" return-object v0 .end method @@ -635,7 +635,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://m.vk.com/landings/moneysend?lang=" + const-string v1, "https://m.vk.ru/landings/moneysend?lang=" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/dto/newsfeed/entries/Post$b.smali b/smali/smali_classes2/com/vk/dto/newsfeed/entries/Post$b.smali index 68d807beb..ec86ff540 100644 --- a/smali/smali_classes2/com/vk/dto/newsfeed/entries/Post$b.smali +++ b/smali/smali_classes2/com/vk/dto/newsfeed/entries/Post$b.smali @@ -1455,7 +1455,7 @@ invoke-direct {v11}, Ljava/lang/StringBuilder;->()V - const-string v12, "https://vk.com/wall" + const-string v12, "https://vk.ru/wall" invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/emoji/Emoji.smali b/smali/smali_classes2/com/vk/emoji/Emoji.smali index 2e955ffe5..391ab6d75 100644 --- a/smali/smali_classes2/com/vk/emoji/Emoji.smali +++ b/smali/smali_classes2/com/vk/emoji/Emoji.smali @@ -373,7 +373,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/images/all_emoji/images_" + const-string v1, "https://vk.ru/images/all_emoji/images_" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/httpexecutor/core/HttpRequestExecutorProvider.smali b/smali/smali_classes2/com/vk/httpexecutor/core/HttpRequestExecutorProvider.smali index ffb511dc6..a7ab10a3a 100644 --- a/smali/smali_classes2/com/vk/httpexecutor/core/HttpRequestExecutorProvider.smali +++ b/smali/smali_classes2/com/vk/httpexecutor/core/HttpRequestExecutorProvider.smali @@ -273,7 +273,7 @@ new-array v0, v0, [Lkotlin/Pair; - const-string v3, "api.vk.com" + const-string v3, "api.vk.ru" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/im/engine/ImConfig.smali b/smali/smali_classes2/com/vk/im/engine/ImConfig.smali index f2b59d0e4..b1802e235 100644 --- a/smali/smali_classes2/com/vk/im/engine/ImConfig.smali +++ b/smali/smali_classes2/com/vk/im/engine/ImConfig.smali @@ -891,13 +891,13 @@ const-string v15, "vk.me/join" - const-string v8, "vk.com/settings?act=transfers" + const-string v8, "vk.ru/settings?act=transfers" - const-string v12, "vk.com/story" + const-string v12, "vk.ru/story" - const-string v9, "vk.com/settings?act=request_history" + const-string v9, "vk.ru/settings?act=request_history" - const-string v7, "vk.com/narrative" + const-string v7, "vk.ru/narrative" .line 11 filled-new-array {v15, v8, v12, v9, v7}, [Ljava/lang/String; diff --git a/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/AttachApiParser.smali b/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/AttachApiParser.smali index 14d6e4c53..3b4b2f107 100644 --- a/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/AttachApiParser.smali +++ b/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/AttachApiParser.smali @@ -4484,7 +4484,7 @@ const/16 v2, 0x190 - const-string v5, "https://vk.com/images/camera_400.png" + const-string v5, "https://vk.ru/images/camera_400.png" invoke-virtual {v1, v5, v2, v2}, Lcom/vk/im/engine/models/ImageList$b;->a(Ljava/lang/String;II)Lcom/vk/im/engine/models/ImageList; diff --git a/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/CarouselParser.smali b/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/CarouselParser.smali index 454baa798..679497898 100644 --- a/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/CarouselParser.smali +++ b/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/CarouselParser.smali @@ -153,7 +153,7 @@ const-string v9, "But some stupid with a flare gun " - const-string v10, "https://vk.com" + const-string v10, "https://vk.ru" move-object v7, v2 @@ -185,7 +185,7 @@ const-string v18, "We all came out to Montreux On the Lake Geneva shoreline To make records with a mobile We didn\'t have much time" - const-string v19, "https://vk.com" + const-string v19, "https://vk.ru" move-object/from16 v16, v2 @@ -213,7 +213,7 @@ const-string v9, "Frank Zappa and the Mothers Were at the best place around" - const-string v10, "https://vk.com" + const-string v10, "https://vk.ru" move-object v7, v2 diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArticle.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArticle.smali index 34763a78e..6249877f9 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArticle.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArticle.smali @@ -80,7 +80,7 @@ .line 2 sput-object v0, Lcom/vk/im/engine/models/attaches/AttachArticle;->CREATOR:Lcom/vk/core/serialize/Serializer$c; - const-string v0, "https?://([a-z0-9.-]+)?vk.com/@[a-zA-Z0-9-_]+(\\?[a-zA-Z0-9=-_&]+)?" + const-string v0, "https?://([a-z0-9.-]+)?vk.ru/@[a-zA-Z0-9-_]+(\\?[a-zA-Z0-9=-_&]+)?" .line 3 invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArtist.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArtist.smali index c95a60de6..2c4cac355 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArtist.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArtist.smali @@ -448,7 +448,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/artist/" + const-string v1, "https://vk.ru/artist/" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachAudio.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachAudio.smali index 7f9e204e3..5a16bdff8 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachAudio.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachAudio.smali @@ -376,7 +376,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/audio" + const-string v1, "https://vk.ru/audio" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachDoc.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachDoc.smali index 93fea2cf7..f0c04e59d 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachDoc.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachDoc.smali @@ -1101,7 +1101,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/doc" + const-string v1, "https://vk.ru/doc" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachEvent.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachEvent.smali index 918b06111..0915883ca 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachEvent.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachEvent.smali @@ -375,7 +375,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/event" + const-string v1, "https://vk.ru/event" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftSimple.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftSimple.smali index 7d14c64de..660c9d5e4 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftSimple.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftSimple.smali @@ -350,7 +350,7 @@ .method public c()Ljava/lang/String; .locals 1 - const-string v0, "https://vk.com/gifts" + const-string v0, "https://vk.ru/gifts" return-object v0 .end method diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftStickersProduct.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftStickersProduct.smali index db985924b..6d3394cef 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftStickersProduct.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftStickersProduct.smali @@ -346,7 +346,7 @@ .method public c()Ljava/lang/String; .locals 1 - const-string v0, "https://vk.com" + const-string v0, "https://vk.ru" return-object v0 .end method diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachImage.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachImage.smali index 5fd81192f..380ab43e6 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachImage.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachImage.smali @@ -613,7 +613,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/photo" + const-string v1, "https://vk.ru/photo" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMarket.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMarket.smali index 23c03aa9c..900638ff9 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMarket.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMarket.smali @@ -630,7 +630,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/market?w=product" + const-string v1, "https://vk.ru/market?w=product" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMiniApp.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMiniApp.smali index fad7392a4..3f4c3a43f 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMiniApp.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMiniApp.smali @@ -438,7 +438,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/app" + const-string v1, "https://vk.ru/app" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachNarrative.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachNarrative.smali index b3a5ec4aa..728f5028b 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachNarrative.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachNarrative.smali @@ -638,7 +638,7 @@ const/4 v0, 0x1 :goto_1 - const-string v1, "vk.com/story" + const-string v1, "vk.ru/story" const/16 v2, 0x5f diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPlaylist.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPlaylist.smali index 5dced3601..d68683fc3 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPlaylist.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPlaylist.smali @@ -324,7 +324,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/audios" + const-string v1, "https://vk.ru/audios" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPodcastEpisode.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPodcastEpisode.smali index 95d855482..3366fbdf4 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPodcastEpisode.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPodcastEpisode.smali @@ -220,7 +220,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/podcast" + const-string v1, "https://vk.ru/podcast" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachStory.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachStory.smali index b4c19ec4e..4806f2d9b 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachStory.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachStory.smali @@ -951,7 +951,7 @@ :goto_1 const/16 v1, 0x5f - const-string v2, "https://vk.com/story" + const-string v2, "https://vk.ru/story" if-eqz v0, :cond_2 diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachVideo.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachVideo.smali index f6db8edce..286d76133 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachVideo.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachVideo.smali @@ -845,7 +845,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/video" + const-string v1, "https://vk.ru/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWall.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWall.smali index 1eff768e2..cfe986f4b 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWall.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWall.smali @@ -673,7 +673,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/wall" + const-string v1, "https://vk.ru/wall" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWallReply.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWallReply.smali index 26350feb8..5562ee2f7 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWallReply.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWallReply.smali @@ -499,7 +499,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/wall" + const-string v1, "https://vk.ru/wall" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkLargeHolder.smali b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkLargeHolder.smali index 8339e6f0e..1dbab9e80 100644 --- a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkLargeHolder.smali +++ b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkLargeHolder.smali @@ -393,7 +393,7 @@ move-result-object p1 - const-string v0, "https://vk.com/story" + const-string v0, "https://vk.ru/story" const/4 v1, 0x0 diff --git a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkSmallHolder.smali b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkSmallHolder.smali index b825ef23c..152c9cb2f 100644 --- a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkSmallHolder.smali +++ b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkSmallHolder.smali @@ -242,7 +242,7 @@ move-result-object v0 - const-string v1, "https://vk.com/story" + const-string v1, "https://vk.ru/story" invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z diff --git a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartNarrativeHolder.smali b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartNarrativeHolder.smali index a95bc982a..1247236a5 100644 --- a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartNarrativeHolder.smali +++ b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartNarrativeHolder.smali @@ -494,7 +494,7 @@ if-eqz v2, :cond_7 - const-string v3, "vk.com" + const-string v3, "vk.ru" invoke-virtual {v2, v3}, Lcom/vk/im/ui/views/msg/MsgPartSnippetView;->setCaptionText(Ljava/lang/CharSequence;)V diff --git a/smali/smali_classes3/com/vk/im/ui/formatters/MsgAttachFormatter$e.smali b/smali/smali_classes3/com/vk/im/ui/formatters/MsgAttachFormatter$e.smali index 6110b51b6..2b8ac8bf0 100644 --- a/smali/smali_classes3/com/vk/im/ui/formatters/MsgAttachFormatter$e.smali +++ b/smali/smali_classes3/com/vk/im/ui/formatters/MsgAttachFormatter$e.smali @@ -95,7 +95,7 @@ move-result-object v6 - const-string v7, "vk.com" + const-string v7, "vk.ru" invoke-static {v6, v7, v4}, Lkotlin/text/l;->a(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Z diff --git a/smali/smali_classes3/com/vk/im/ui/p/ImBridge$b1.smali b/smali/smali_classes3/com/vk/im/ui/p/ImBridge$b1.smali index 54e3afeaa..932686178 100644 --- a/smali/smali_classes3/com/vk/im/ui/p/ImBridge$b1.smali +++ b/smali/smali_classes3/com/vk/im/ui/p/ImBridge$b1.smali @@ -775,7 +775,7 @@ .method public static a(Lcom/vk/im/ui/p/ImBridge11;Ljava/lang/String;)Ljava/lang/String; .locals 1 - const-string p0, "https://vk.com/business_notify" + const-string p0, "https://vk.ru/business_notify" .line 85 invoke-static {p0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/smali/smali_classes3/com/vk/im/ui/utils/shortcuts/ImShortcutHelper.smali b/smali/smali_classes3/com/vk/im/ui/utils/shortcuts/ImShortcutHelper.smali index bc670a08f..e6a4cb3d8 100644 --- a/smali/smali_classes3/com/vk/im/ui/utils/shortcuts/ImShortcutHelper.smali +++ b/smali/smali_classes3/com/vk/im/ui/utils/shortcuts/ImShortcutHelper.smali @@ -264,7 +264,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/write" + const-string v2, "https://vk.ru/write" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/ui/views/avatars/AvatarView.smali b/smali/smali_classes3/com/vk/im/ui/views/avatars/AvatarView.smali index 002912422..eb115bef2 100644 --- a/smali/smali_classes3/com/vk/im/ui/views/avatars/AvatarView.smali +++ b/smali/smali_classes3/com/vk/im/ui/views/avatars/AvatarView.smali @@ -117,7 +117,7 @@ const/16 v1, 0x190 - const-string v2, "https://vk.com/images/camera_400.png" + const-string v2, "https://vk.ru/images/camera_400.png" invoke-direct {v0, v1, v1, v2}, Lcom/vk/im/engine/models/Image;->(IILjava/lang/String;)V diff --git a/smali/smali_classes3/com/vk/imageloader/VKCacheKeyFactory.smali b/smali/smali_classes3/com/vk/imageloader/VKCacheKeyFactory.smali index 7113138fd..c1c5968f8 100644 --- a/smali/smali_classes3/com/vk/imageloader/VKCacheKeyFactory.smali +++ b/smali/smali_classes3/com/vk/imageloader/VKCacheKeyFactory.smali @@ -164,7 +164,7 @@ .method private b(Ljava/lang/String;)Z .locals 1 - const-string v0, "https://vk.com/doc" + const-string v0, "https://vk.ru/doc" .line 9 invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z @@ -173,7 +173,7 @@ if-nez v0, :cond_0 - const-string v0, "http://vk.com/doc" + const-string v0, "http://vk.ru/doc" invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z diff --git a/smali/smali_classes3/com/vk/libvideo/VideoFileController.smali b/smali/smali_classes3/com/vk/libvideo/VideoFileController.smali index a7782c696..1797064b4 100644 --- a/smali/smali_classes3/com/vk/libvideo/VideoFileController.smali +++ b/smali/smali_classes3/com/vk/libvideo/VideoFileController.smali @@ -894,7 +894,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/video" + const-string v1, "https://vk.ru/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -1362,7 +1362,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/video" + const-string v1, "https://vk.ru/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/libvideo/a0/h/EventsProcessor.smali b/smali/smali_classes3/com/vk/libvideo/a0/h/EventsProcessor.smali index cfc30461c..620a23adf 100644 --- a/smali/smali_classes3/com/vk/libvideo/a0/h/EventsProcessor.smali +++ b/smali/smali_classes3/com/vk/libvideo/a0/h/EventsProcessor.smali @@ -213,7 +213,7 @@ aput-object p1, v0, v1 - const-string p1, "https://vk.com/images/stickers/%s/256b.png#stick" + const-string p1, "https://vk.ru/images/stickers/%s/256b.png#stick" invoke-static {p1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; diff --git a/smali/smali_classes3/com/vk/libvideo/bottomsheet/VideoBottomSheet.smali b/smali/smali_classes3/com/vk/libvideo/bottomsheet/VideoBottomSheet.smali index 9d6c85726..dd45628fc 100644 --- a/smali/smali_classes3/com/vk/libvideo/bottomsheet/VideoBottomSheet.smali +++ b/smali/smali_classes3/com/vk/libvideo/bottomsheet/VideoBottomSheet.smali @@ -1296,7 +1296,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/video" + const-string v1, "https://vk.ru/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/libvideo/live/views/menubutton/MenuButtonPresenter.smali b/smali/smali_classes3/com/vk/libvideo/live/views/menubutton/MenuButtonPresenter.smali index 0662f7747..b10e9dccd 100644 --- a/smali/smali_classes3/com/vk/libvideo/live/views/menubutton/MenuButtonPresenter.smali +++ b/smali/smali_classes3/com/vk/libvideo/live/views/menubutton/MenuButtonPresenter.smali @@ -257,7 +257,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/video" + const-string v1, "https://vk.ru/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/market/orders/MarketOrdersFragment$c.smali b/smali/smali_classes3/com/vk/market/orders/MarketOrdersFragment$c.smali index 3fcf526e2..e4947c548 100644 --- a/smali/smali_classes3/com/vk/market/orders/MarketOrdersFragment$c.smali +++ b/smali/smali_classes3/com/vk/market/orders/MarketOrdersFragment$c.smali @@ -50,7 +50,7 @@ if-eqz v1, :cond_0 - const-string p1, "https://vk.com/support?act=faqs_market" + const-string p1, "https://vk.ru/support?act=faqs_market" invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/smali/smali_classes3/com/vk/market/orders/adapter/holders/MarketCartCheckoutFooterHolder.smali b/smali/smali_classes3/com/vk/market/orders/adapter/holders/MarketCartCheckoutFooterHolder.smali index 66757c699..ef739513f 100644 --- a/smali/smali_classes3/com/vk/market/orders/adapter/holders/MarketCartCheckoutFooterHolder.smali +++ b/smali/smali_classes3/com/vk/market/orders/adapter/holders/MarketCartCheckoutFooterHolder.smali @@ -224,7 +224,7 @@ :cond_0 new-instance p1, Lcom/vtosters/lite/LinkSpan; - const-string v0, "https://vk.com/terms/market_contract" + const-string v0, "https://vk.ru/terms/market_contract" invoke-direct {p1, v0}, Lcom/vtosters/lite/LinkSpan;->(Ljava/lang/String;)V @@ -234,7 +234,7 @@ :cond_1 new-instance p1, Lcom/vtosters/lite/LinkSpan; - const-string v0, "https://vk.com/terms/market_agreement" + const-string v0, "https://vk.ru/terms/market_agreement" invoke-direct {p1, v0}, Lcom/vtosters/lite/LinkSpan;->(Ljava/lang/String;)V diff --git a/smali/smali_classes3/com/vk/market/picker/GoodsPickerHelper.smali b/smali/smali_classes3/com/vk/market/picker/GoodsPickerHelper.smali index e40c4f930..7f1ab3ed7 100644 --- a/smali/smali_classes3/com/vk/market/picker/GoodsPickerHelper.smali +++ b/smali/smali_classes3/com/vk/market/picker/GoodsPickerHelper.smali @@ -20,7 +20,7 @@ sput-object v0, Lcom/vk/market/picker/GoodsPickerHelper;->b:Lcom/vk/market/picker/GoodsPickerHelper; - const-string v0, "vk.com/ae_app#selection-list" + const-string v0, "vk.ru/ae_app#selection-list" .line 2 invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/smali/smali_classes3/com/vk/menu/MenuUtils.smali b/smali/smali_classes3/com/vk/menu/MenuUtils.smali index b26221f4a..83ef9c40e 100644 --- a/smali/smali_classes3/com/vk/menu/MenuUtils.smali +++ b/smali/smali_classes3/com/vk/menu/MenuUtils.smali @@ -1204,7 +1204,7 @@ move-result-object p1 - const-string p2, "https://vk.com/memories" + const-string p2, "https://vk.ru/memories" invoke-static {p1, p2}, Lcom/vk/common/links/LinkUtils;->c(Landroid/content/Context;Ljava/lang/String;)V diff --git a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$a.smali b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$a.smali index c618da6c9..2babeb683 100644 --- a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$a.smali +++ b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$a.smali @@ -46,7 +46,7 @@ invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - const-string v2, "https://vk.com/vkpay#action=refill&utm_source=android&utm_campaign=vk_2thtab&utm_content=button" + const-string v2, "https://vk.ru/vkpay#action=refill&utm_source=android&utm_campaign=vk_2thtab&utm_content=button" const/4 v3, 0x0 diff --git a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$b.smali b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$b.smali index 3549cb672..26ccb38d3 100644 --- a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$b.smali +++ b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$b.smali @@ -46,7 +46,7 @@ invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - const-string v2, "https://vk.com/vkpay#action=money-request&utm_source=android&utm_campaign=vk_2thtab&utm_content=button" + const-string v2, "https://vk.ru/vkpay#action=money-request&utm_source=android&utm_campaign=vk_2thtab&utm_content=button" const/4 v3, 0x0 diff --git a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$c.smali b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$c.smali index 6e9080232..61167656f 100644 --- a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$c.smali +++ b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$c.smali @@ -46,7 +46,7 @@ invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - const-string v2, "https://vk.com/vkpay#action=transfer-friend&utm_source=android&utm_campaign=vk_2thtab&utm_content=button" + const-string v2, "https://vk.ru/vkpay#action=transfer-friend&utm_source=android&utm_campaign=vk_2thtab&utm_content=button" const/4 v3, 0x0 diff --git a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$d.smali b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$d.smali index 4dd7ed1c6..5cc7d3be1 100644 --- a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$d.smali +++ b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$d.smali @@ -46,7 +46,7 @@ invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - const-string v2, "https://vk.com/vkpay#utm_source=android&utm_campaign=vk_2thtab&utm_content=button" + const-string v2, "https://vk.ru/vkpay#utm_source=android&utm_campaign=vk_2thtab&utm_content=button" const/4 v3, 0x0 diff --git a/smali/smali_classes3/com/vk/music/playlist/PlaylistsExt.smali b/smali/smali_classes3/com/vk/music/playlist/PlaylistsExt.smali index 80920d69f..3508ed73d 100644 --- a/smali/smali_classes3/com/vk/music/playlist/PlaylistsExt.smali +++ b/smali/smali_classes3/com/vk/music/playlist/PlaylistsExt.smali @@ -418,7 +418,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/music?z=audio_playlist" + const-string v1, "https://vk.ru/music?z=audio_playlist" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/music/podcasts/episode/PodcastEpisodeFragment$i.smali b/smali/smali_classes3/com/vk/music/podcasts/episode/PodcastEpisodeFragment$i.smali index 80795330d..a18ca8508 100644 --- a/smali/smali_classes3/com/vk/music/podcasts/episode/PodcastEpisodeFragment$i.smali +++ b/smali/smali_classes3/com/vk/music/podcasts/episode/PodcastEpisodeFragment$i.smali @@ -74,7 +74,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/podcast" + const-string v2, "https://vk.ru/podcast" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/music/podcasts/episode/d/PodcastEpisodeHeaderViewHolder.smali b/smali/smali_classes3/com/vk/music/podcasts/episode/d/PodcastEpisodeHeaderViewHolder.smali index 22557ee80..bc5f6d55b 100644 --- a/smali/smali_classes3/com/vk/music/podcasts/episode/d/PodcastEpisodeHeaderViewHolder.smali +++ b/smali/smali_classes3/com/vk/music/podcasts/episode/d/PodcastEpisodeHeaderViewHolder.smali @@ -627,7 +627,7 @@ const/4 v7, 0x0 - const-string v4, "https://vk.com/podcasts" + const-string v4, "https://vk.ru/podcasts" invoke-static/range {v2 .. v7}, Lcom/vk/common/links/LinkProcessor$a;->a(Lcom/vk/common/links/LinkProcessor$a;Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/Object;)V diff --git a/smali/smali_classes3/com/vk/music/podcasts/page/PodcastFragment.smali b/smali/smali_classes3/com/vk/music/podcasts/page/PodcastFragment.smali index 2161f6ada..a954a343e 100644 --- a/smali/smali_classes3/com/vk/music/podcasts/page/PodcastFragment.smali +++ b/smali/smali_classes3/com/vk/music/podcasts/page/PodcastFragment.smali @@ -432,7 +432,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/podcasts" + const-string v2, "https://vk.ru/podcasts" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -514,7 +514,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/podcasts" + const-string v2, "https://vk.ru/podcasts" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/music/podcasts/page/g/PodcastHelpHintHolder.smali b/smali/smali_classes3/com/vk/music/podcasts/page/g/PodcastHelpHintHolder.smali index 5de851883..894f0b429 100644 --- a/smali/smali_classes3/com/vk/music/podcasts/page/g/PodcastHelpHintHolder.smali +++ b/smali/smali_classes3/com/vk/music/podcasts/page/g/PodcastHelpHintHolder.smali @@ -93,7 +93,7 @@ const/4 v7, 0x0 - const-string v4, "https://vk.com/podcasts" + const-string v4, "https://vk.ru/podcasts" invoke-static/range {v2 .. v7}, Lcom/vk/common/links/LinkProcessor$a;->a(Lcom/vk/common/links/LinkProcessor$a;Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/Object;)V diff --git a/smali/smali_classes3/com/vk/newsfeed/adapters/PostTopicsAdapter$b.smali b/smali/smali_classes3/com/vk/newsfeed/adapters/PostTopicsAdapter$b.smali index 0beff0775..4a541ceee 100644 --- a/smali/smali_classes3/com/vk/newsfeed/adapters/PostTopicsAdapter$b.smali +++ b/smali/smali_classes3/com/vk/newsfeed/adapters/PostTopicsAdapter$b.smali @@ -100,7 +100,7 @@ .line 10 new-instance p1, Lcom/vtosters/lite/LinkSpan; - const-string v3, "https://vk.com/@-182611749-faq-eksperty-vkontakte" + const-string v3, "https://vk.ru/@-182611749-faq-eksperty-vkontakte" invoke-direct {p1, v3}, Lcom/vtosters/lite/LinkSpan;->(Ljava/lang/String;)V diff --git a/smali/smali_classes3/com/vk/newsfeed/controllers/PostsController.smali b/smali/smali_classes3/com/vk/newsfeed/controllers/PostsController.smali index 1c5f5ef7a..f627459fd 100644 --- a/smali/smali_classes3/com/vk/newsfeed/controllers/PostsController.smali +++ b/smali/smali_classes3/com/vk/newsfeed/controllers/PostsController.smali @@ -2472,7 +2472,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v3, "https://vk.com/" + const-string v3, "https://vk.ru/" invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -2981,7 +2981,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://m.vk.com/" + const-string v1, "https://m.vk.ru/" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/newsfeed/holders/HeaderHolder.smali b/smali/smali_classes3/com/vk/newsfeed/holders/HeaderHolder.smali index 4a4b11a37..5887d7f3e 100644 --- a/smali/smali_classes3/com/vk/newsfeed/holders/HeaderHolder.smali +++ b/smali/smali_classes3/com/vk/newsfeed/holders/HeaderHolder.smali @@ -413,7 +413,7 @@ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V - const-string v3, "vkontakte://vk.com/club" + const-string v3, "vkontakte://vk.ru/club" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/newsfeed/posting/settings/PostingSettingsFragment$subtitleSpannableString$2$b.smali b/smali/smali_classes3/com/vk/newsfeed/posting/settings/PostingSettingsFragment$subtitleSpannableString$2$b.smali index 38fbb0167..af3cbfda7 100644 --- a/smali/smali_classes3/com/vk/newsfeed/posting/settings/PostingSettingsFragment$subtitleSpannableString$2$b.smali +++ b/smali/smali_classes3/com/vk/newsfeed/posting/settings/PostingSettingsFragment$subtitleSpannableString$2$b.smali @@ -54,7 +54,7 @@ invoke-static {}, Lcom/vk/newsfeed/posting/settings/PostingSettingsFragment;->P4()Lcom/vk/newsfeed/posting/settings/PostingSettingsFragment$a; - const-string v2, "https://vk.com/@adminsclub-citation" + const-string v2, "https://vk.ru/@adminsclub-citation" const/4 v3, 0x0 diff --git a/smali/smali_classes3/com/vk/newsfeed/views/poster/PosterTextDelegate.smali b/smali/smali_classes3/com/vk/newsfeed/views/poster/PosterTextDelegate.smali index 5697cc9ea..e70307fab 100644 --- a/smali/smali_classes3/com/vk/newsfeed/views/poster/PosterTextDelegate.smali +++ b/smali/smali_classes3/com/vk/newsfeed/views/poster/PosterTextDelegate.smali @@ -196,7 +196,7 @@ const/4 v8, 0x0 :goto_2 - const-string v9, "vkontakte://vk.com/" + const-string v9, "vkontakte://vk.ru/" const/4 v10, 0x1 diff --git a/smali/smali_classes4/com/vk/polls/utils/PollUtils.smali b/smali/smali_classes4/com/vk/polls/utils/PollUtils.smali index 9a73c99f5..01b2f2036 100644 --- a/smali/smali_classes4/com/vk/polls/utils/PollUtils.smali +++ b/smali/smali_classes4/com/vk/polls/utils/PollUtils.smali @@ -746,12 +746,12 @@ if-nez p3, :cond_0 - const-string p3, "https://vk.com/poll%d_%d" + const-string p3, "https://vk.ru/poll%d_%d" goto :goto_0 :cond_0 - const-string p3, "https://vk.com/board_poll%d_%d" + const-string p3, "https://vk.ru/board_poll%d_%d" .line 7 :goto_0 diff --git a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$autor$1.smali b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$autor$1.smali index a169c0586..a25691254 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$autor$1.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$autor$1.smali @@ -156,7 +156,7 @@ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V - const-string v3, "https://vk.com/id" + const-string v3, "https://vk.ru/id" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$contacts$1.smali b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$contacts$1.smali index 83566d674..99f0836eb 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$contacts$1.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$contacts$1.smali @@ -173,7 +173,7 @@ invoke-direct {v7}, Ljava/lang/StringBuilder;->()V - const-string v9, "https://vk.com/id" + const-string v9, "https://vk.ru/id" invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$mention$1.smali b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$mention$1.smali index fd6d68fa7..f82a020bc 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$mention$1.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$mention$1.smali @@ -83,7 +83,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/" + const-string v2, "https://vk.ru/" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$wiki$1.smali b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$wiki$1.smali index 090b551ad..42c4c9748 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$wiki$1.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$wiki$1.smali @@ -103,7 +103,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/pages?oid=" + const-string v2, "https://vk.ru/pages?oid=" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/CommunityHeaderItemsFactory$unreadMessages$1$$special$$inlined$apply$lambda$1.smali b/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/CommunityHeaderItemsFactory$unreadMessages$1$$special$$inlined$apply$lambda$1.smali index a16e8ce9b..d8d0e5abd 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/CommunityHeaderItemsFactory$unreadMessages$1$$special$$inlined$apply$lambda$1.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/CommunityHeaderItemsFactory$unreadMessages$1$$special$$inlined$apply$lambda$1.smali @@ -70,7 +70,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://m.vk.com/mail?community=" + const-string v2, "https://m.vk.ru/mail?community=" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/UserDetailsItemsFactory$contacts$1$d.smali b/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/UserDetailsItemsFactory$contacts$1$d.smali index 6f35546ae..474e1ad26 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/UserDetailsItemsFactory$contacts$1$d.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/UserDetailsItemsFactory$contacts$1$d.smali @@ -52,7 +52,7 @@ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V - const-string v3, "http://vk.com/" + const-string v3, "http://vk.ru/" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/adapter/items/CommunityAppButtonItem$a.smali b/smali/smali_classes4/com/vk/profile/adapter/items/CommunityAppButtonItem$a.smali index 0db342d14..1f0448ed3 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/items/CommunityAppButtonItem$a.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/items/CommunityAppButtonItem$a.smali @@ -171,7 +171,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/app" + const-string v1, "https://vk.ru/app" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/ui/BaseProfileFragment.smali b/smali/smali_classes4/com/vk/profile/ui/BaseProfileFragment.smali index fed2a2c28..5b476703f 100644 --- a/smali/smali_classes4/com/vk/profile/ui/BaseProfileFragment.smali +++ b/smali/smali_classes4/com/vk/profile/ui/BaseProfileFragment.smali @@ -3034,14 +3034,14 @@ invoke-virtual {v0}, Lcom/google/android/gms/common/api/d;->c()V - const-string v0, "android-app://com.vtosters.lite/vkontakte/m.vk.com/" + const-string v0, "android-app://com.vtosters.lite/vkontakte/m.vk.ru/" .line 4 invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; move-result-object v0 - const-string v1, "https://vk.com/" + const-string v1, "https://vk.ru/" .line 5 invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment$c.smali b/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment$c.smali index 39a7c4b94..9f9af7a08 100644 --- a/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment$c.smali +++ b/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment$c.smali @@ -54,7 +54,7 @@ const-string v3, "chats" - const-string v4, "static.vk.com" + const-string v4, "static.vk.ru" invoke-static {v4}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment.smali b/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment.smali index 471cde468..f3b5bd08b 100644 --- a/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment.smali +++ b/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment.smali @@ -82,7 +82,7 @@ const-string v3, "chat-create" - const-string v4, "static.vk.com" + const-string v4, "static.vk.ru" invoke-static {v4}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vk/profile/ui/community/CommunityFragment.smali b/smali/smali_classes4/com/vk/profile/ui/community/CommunityFragment.smali index 27daff7c0..1bb3594c8 100644 --- a/smali/smali_classes4/com/vk/profile/ui/community/CommunityFragment.smali +++ b/smali/smali_classes4/com/vk/profile/ui/community/CommunityFragment.smali @@ -1270,7 +1270,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/" + const-string v1, "https://vk.ru/" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/ui/community/adresses/FullAddressView$a.smali b/smali/smali_classes4/com/vk/profile/ui/community/adresses/FullAddressView$a.smali index 125de3803..bd6c98f0b 100644 --- a/smali/smali_classes4/com/vk/profile/ui/community/adresses/FullAddressView$a.smali +++ b/smali/smali_classes4/com/vk/profile/ui/community/adresses/FullAddressView$a.smali @@ -53,7 +53,7 @@ .line 2 new-instance p1, Ljava/lang/StringBuilder; - const-string v0, "https://vk.com/taxi#screen=route&" + const-string v0, "https://vk.ru/taxi#screen=route&" invoke-direct {p1, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vk/profile/utils/CallToActionExtKt.smali b/smali/smali_classes4/com/vk/profile/utils/CallToActionExtKt.smali index 38468d831..eb122634b 100644 --- a/smali/smali_classes4/com/vk/profile/utils/CallToActionExtKt.smali +++ b/smali/smali_classes4/com/vk/profile/utils/CallToActionExtKt.smali @@ -161,7 +161,7 @@ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V - const-string v4, "https://vk.com/app" + const-string v4, "https://vk.ru/app" invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/pushes/j/NotificationBuilder.smali b/smali/smali_classes4/com/vk/pushes/j/NotificationBuilder.smali index 91c5968c6..5a6d09e8f 100644 --- a/smali/smali_classes4/com/vk/pushes/j/NotificationBuilder.smali +++ b/smali/smali_classes4/com/vk/pushes/j/NotificationBuilder.smali @@ -601,7 +601,7 @@ const/4 v3, 0x2 - const-string v4, "vk://vk.com/mail?community=" + const-string v4, "vk://vk.ru/mail?community=" .line 3 invoke-static {v0, v4, v2, v3, v1}, Lkotlin/text/l;->c(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z diff --git a/smali/smali_classes4/com/vk/pushes/notifications/im/MessageNotification$a.smali b/smali/smali_classes4/com/vk/pushes/notifications/im/MessageNotification$a.smali index 5c7399655..91bd6e9a2 100644 --- a/smali/smali_classes4/com/vk/pushes/notifications/im/MessageNotification$a.smali +++ b/smali/smali_classes4/com/vk/pushes/notifications/im/MessageNotification$a.smali @@ -65,7 +65,7 @@ move-result-object p1 - const-string p2, "https://vk.com/im?sel=%d&msgid=%d" + const-string p2, "https://vk.ru/im?sel=%d&msgid=%d" invoke-static {p2, p1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vk/qrcode/QRViewUtils$showSharingBottomSheet$$inlined$let$lambda$1.smali b/smali/smali_classes4/com/vk/qrcode/QRViewUtils$showSharingBottomSheet$$inlined$let$lambda$1.smali index bf18e1f46..5a7aa2611 100644 --- a/smali/smali_classes4/com/vk/qrcode/QRViewUtils$showSharingBottomSheet$$inlined$let$lambda$1.smali +++ b/smali/smali_classes4/com/vk/qrcode/QRViewUtils$showSharingBottomSheet$$inlined$let$lambda$1.smali @@ -72,13 +72,13 @@ iget-object v1, p0, Lcom/vk/qrcode/QRViewUtils$showSharingBottomSheet$$inlined$let$lambda$1;->$context$inlined:Landroid/content/Context; - const-string p1, "https://vk.com/vkapps_qr" + const-string p1, "https://vk.ru/vkapps_qr" invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; move-result-object v2 - const-string p1, "Uri.parse(\"https://vk.com/vkapps_qr\")" + const-string p1, "Uri.parse(\"https://vk.ru/vkapps_qr\")" invoke-static {v2, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vk/sharing/attachment/Attachments.smali b/smali/smali_classes4/com/vk/sharing/attachment/Attachments.smali index b76cf9b42..3abfaa361 100644 --- a/smali/smali_classes4/com/vk/sharing/attachment/Attachments.smali +++ b/smali/smali_classes4/com/vk/sharing/attachment/Attachments.smali @@ -1606,7 +1606,7 @@ .line 114 new-instance p1, Ljava/lang/StringBuilder; - const-string v0, "https://vk.com/" + const-string v0, "https://vk.ru/" invoke-direct {p1, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vk/superapp/holders/SuperAppWidgetVkPayHolder$a.smali b/smali/smali_classes4/com/vk/superapp/holders/SuperAppWidgetVkPayHolder$a.smali index ef3b1acd8..d284d61d3 100644 --- a/smali/smali_classes4/com/vk/superapp/holders/SuperAppWidgetVkPayHolder$a.smali +++ b/smali/smali_classes4/com/vk/superapp/holders/SuperAppWidgetVkPayHolder$a.smali @@ -66,7 +66,7 @@ move-result-object v2 - const-string v3, "https://vk.com/vkpay" + const-string v3, "https://vk.ru/vkpay" invoke-interface {p1, v0, v1, v3, v2}, Lcom/vk/superapp/holders/SuperAppClickListener;->a(Landroid/content/Context;Lcom/vk/superapp/g/SuperAppItems;Ljava/lang/String;Ljava/lang/Integer;)V diff --git a/smali/smali_classes4/com/vk/utils/EntityLinkUtils.smali b/smali/smali_classes4/com/vk/utils/EntityLinkUtils.smali index 51a894ecd..2b3527344 100644 --- a/smali/smali_classes4/com/vk/utils/EntityLinkUtils.smali +++ b/smali/smali_classes4/com/vk/utils/EntityLinkUtils.smali @@ -153,7 +153,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/album" + const-string v2, "https://vk.ru/album" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -179,7 +179,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/tag" + const-string v1, "https://vk.ru/tag" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -222,7 +222,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/" + const-string v1, "https://vk.ru/" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/video/d/VideoEmbedFragment.smali b/smali/smali_classes4/com/vk/video/d/VideoEmbedFragment.smali index 6e62016ca..b4afb5e8e 100644 --- a/smali/smali_classes4/com/vk/video/d/VideoEmbedFragment.smali +++ b/smali/smali_classes4/com/vk/video/d/VideoEmbedFragment.smali @@ -425,7 +425,7 @@ if-eqz v3, :cond_7 - const-string v1, "https://vk.com/images/blank.gif" + const-string v1, "https://vk.ru/images/blank.gif" .line 19 :cond_7 diff --git a/smali/smali_classes4/com/vk/video/d/VideoYoutubeFragment.smali b/smali/smali_classes4/com/vk/video/d/VideoYoutubeFragment.smali index d56edbc01..5901c9923 100644 --- a/smali/smali_classes4/com/vk/video/d/VideoYoutubeFragment.smali +++ b/smali/smali_classes4/com/vk/video/d/VideoYoutubeFragment.smali @@ -265,7 +265,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/video" + const-string v1, "https://vk.ru/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -496,7 +496,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/video" + const-string v1, "https://vk.ru/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/voip/VoipBottomSheetDialog$a$a.smali b/smali/smali_classes4/com/vk/voip/VoipBottomSheetDialog$a$a.smali index 57cfbfd87..8870e7cd7 100644 --- a/smali/smali_classes4/com/vk/voip/VoipBottomSheetDialog$a$a.smali +++ b/smali/smali_classes4/com/vk/voip/VoipBottomSheetDialog$a$a.smali @@ -138,7 +138,7 @@ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V - const-string v3, "vk.com/calls?page=security&web_view=1&lang=" + const-string v3, "vk.ru/calls?page=security&web_view=1&lang=" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/voip/VoipWrapper.smali b/smali/smali_classes4/com/vk/voip/VoipWrapper.smali index c98c2443f..71809c549 100644 --- a/smali/smali_classes4/com/vk/voip/VoipWrapper.smali +++ b/smali/smali_classes4/com/vk/voip/VoipWrapper.smali @@ -2523,7 +2523,7 @@ move-result-wide v4 - const-string v2, "calls.vk.com" + const-string v2, "calls.vk.ru" .line 5 sget-object v6, Lcom/vk/voip/VoipWrapper;->j0:Lcom/vk/voip/VoipWrapper; diff --git a/smali/smali_classes4/com/vk/wall/post/CommentsListPresenter.smali b/smali/smali_classes4/com/vk/wall/post/CommentsListPresenter.smali index 97ceb585f..7f26a7d05 100644 --- a/smali/smali_classes4/com/vk/wall/post/CommentsListPresenter.smali +++ b/smali/smali_classes4/com/vk/wall/post/CommentsListPresenter.smali @@ -2056,7 +2056,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v3, "https://vk.com/" + const-string v3, "https://vk.ru/" invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/wall/thread/CommentThreadPresenter.smali b/smali/smali_classes4/com/vk/wall/thread/CommentThreadPresenter.smali index e0a594fe7..376490124 100644 --- a/smali/smali_classes4/com/vk/wall/thread/CommentThreadPresenter.smali +++ b/smali/smali_classes4/com/vk/wall/thread/CommentThreadPresenter.smali @@ -3564,7 +3564,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/" + const-string v2, "https://vk.ru/" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/webapp/VkUiConnectFragment.smali b/smali/smali_classes4/com/vk/webapp/VkUiConnectFragment.smali index 5b288859c..6753a0aa4 100644 --- a/smali/smali_classes4/com/vk/webapp/VkUiConnectFragment.smali +++ b/smali/smali_classes4/com/vk/webapp/VkUiConnectFragment.smali @@ -889,7 +889,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/app" + const-string v1, "https://vk.ru/app" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/webapp/VkUiFragment$b.smali b/smali/smali_classes4/com/vk/webapp/VkUiFragment$b.smali index 30a60d009..c5130610c 100644 --- a/smali/smali_classes4/com/vk/webapp/VkUiFragment$b.smali +++ b/smali/smali_classes4/com/vk/webapp/VkUiFragment$b.smali @@ -125,7 +125,7 @@ const-string v1, "vkUiHostUri" - const-string v2, "static.vk.com" + const-string v2, "static.vk.ru" .line 3 invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; @@ -189,7 +189,7 @@ const-string v1, "spaUri" - const-string v2, "https://vk.com/spa" + const-string v2, "https://vk.ru/spa" .line 2 invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vk/webapp/VkUiFragment.smali b/smali/smali_classes4/com/vk/webapp/VkUiFragment.smali index 34c5d6d33..62ff68fa0 100644 --- a/smali/smali_classes4/com/vk/webapp/VkUiFragment.smali +++ b/smali/smali_classes4/com/vk/webapp/VkUiFragment.smali @@ -1215,7 +1215,7 @@ const/4 v2, 0x0 - const-string v3, "static.vk.com" + const-string v3, "static.vk.ru" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -1960,7 +1960,7 @@ move-result-object v1 - const-string v3, "api.vk.com" + const-string v3, "api.vk.ru" const-string v4, "apiHost" diff --git a/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali b/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali index 54445b12f..e02fa3ccc 100644 --- a/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali +++ b/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali @@ -546,7 +546,7 @@ move-result-object v2 - const-string v3, "https://oauth.vk.com/blank.html" + const-string v3, "https://oauth.vk.ru/blank.html" invoke-virtual {p0, v2, v1, v3}, Lcom/vk/webapp/bridges/AndroidBridge;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri; @@ -1471,7 +1471,7 @@ const-string p1, "redirect_uri" - const-string p3, "https://oauth.vk.com/blank.html" + const-string p3, "https://oauth.vk.ru/blank.html" .line 35 invoke-static {p1, p3}, Lkotlin/Tuples;->a(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; @@ -1583,7 +1583,7 @@ move-result-object p1 - const-string p3, "https://oauth.vk.com/authorize" + const-string p3, "https://oauth.vk.ru/authorize" invoke-static {p3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -2139,7 +2139,7 @@ const-string v2, "redirect_url" - const-string v3, "https://oauth.vk.com/blank.html" + const-string v3, "https://oauth.vk.ru/blank.html" .line 5 invoke-virtual {p1, v2, v3}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali index a45068beb..a041a822b 100644 --- a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali +++ b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali @@ -121,7 +121,7 @@ const-string p1, "redirect_uri" - const-string v1, "https://oauth.vk.com/blank.html" + const-string v1, "https://oauth.vk.ru/blank.html" .line 4 invoke-static {p1, v1}, Lkotlin/Tuples;->a(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; @@ -231,7 +231,7 @@ move-result-object p3 - const-string p4, "oauth.vk.com" + const-string p4, "oauth.vk.ru" const-string p6, "oauthHost" @@ -252,7 +252,7 @@ move-object p3, p4 :goto_0 - const-string p4, "PreferenceManager\n \u2026k.com\") ?: \"oauth.vk.com\"" + const-string p4, "PreferenceManager\n \u2026k.com\") ?: \"oauth.vk.ru\"" invoke-static {p3, p4}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge.smali b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge.smali index bfb2152df..e14e4f50c 100644 --- a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge.smali +++ b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge.smali @@ -2782,7 +2782,7 @@ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V - const-string v5, "https://vk.com/app" + const-string v5, "https://vk.ru/app" invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/webapp/consts/WebAppScreenNames.smali b/smali/smali_classes4/com/vk/webapp/consts/WebAppScreenNames.smali index 20aa78af0..3dc23c28c 100644 --- a/smali/smali_classes4/com/vk/webapp/consts/WebAppScreenNames.smali +++ b/smali/smali_classes4/com/vk/webapp/consts/WebAppScreenNames.smali @@ -49,7 +49,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/" + const-string v1, "https://vk.ru/" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/webapp/delegates/impl/VkUiConnectFragmentDelegateImpl.smali b/smali/smali_classes4/com/vk/webapp/delegates/impl/VkUiConnectFragmentDelegateImpl.smali index 590468fbf..b06f12bc3 100644 --- a/smali/smali_classes4/com/vk/webapp/delegates/impl/VkUiConnectFragmentDelegateImpl.smali +++ b/smali/smali_classes4/com/vk/webapp/delegates/impl/VkUiConnectFragmentDelegateImpl.smali @@ -682,7 +682,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/app" + const-string v1, "https://vk.ru/app" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/webapp/helpers/AppsHelper.smali b/smali/smali_classes4/com/vk/webapp/helpers/AppsHelper.smali index f0658c575..7de4402f1 100644 --- a/smali/smali_classes4/com/vk/webapp/helpers/AppsHelper.smali +++ b/smali/smali_classes4/com/vk/webapp/helpers/AppsHelper.smali @@ -504,7 +504,7 @@ invoke-direct {p3}, Ljava/lang/StringBuilder;->()V - const-string p4, "https://vk.com/app" + const-string p4, "https://vk.ru/app" invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/webapp/helpers/WebAppApiHelper.smali b/smali/smali_classes4/com/vk/webapp/helpers/WebAppApiHelper.smali index 0cb474484..e627ace56 100644 --- a/smali/smali_classes4/com/vk/webapp/helpers/WebAppApiHelper.smali +++ b/smali/smali_classes4/com/vk/webapp/helpers/WebAppApiHelper.smali @@ -178,7 +178,7 @@ goto :goto_0 :cond_0 - const-string v0, "api.vk.com" + const-string v0, "api.vk.ru" .line 16 :goto_0 diff --git a/smali/smali_classes4/com/vtosters/lite/LinkSpan.smali b/smali/smali_classes4/com/vtosters/lite/LinkSpan.smali index bd032db49..69258aaa4 100644 --- a/smali/smali_classes4/com/vtosters/lite/LinkSpan.smali +++ b/smali/smali_classes4/com/vtosters/lite/LinkSpan.smali @@ -242,7 +242,7 @@ if-nez v2, :cond_1 - const-string v2, "vk.com" + const-string v2, "vk.ru" invoke-virtual {v0, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z diff --git a/smali/smali_classes4/com/vtosters/lite/PostPhotoActivity.smali b/smali/smali_classes4/com/vtosters/lite/PostPhotoActivity.smali index c33e9128f..7397553b0 100644 --- a/smali/smali_classes4/com/vtosters/lite/PostPhotoActivity.smali +++ b/smali/smali_classes4/com/vtosters/lite/PostPhotoActivity.smali @@ -567,7 +567,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "vkontakte://vk.com/album" + const-string v1, "vkontakte://vk.ru/album" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity$d.smali b/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity$d.smali index a5b889827..8da3aedde 100644 --- a/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity$d.smali +++ b/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity$d.smali @@ -95,7 +95,7 @@ move-result-object v3 - const-string v4, "oauth.vk.com" + const-string v4, "oauth.vk.ru" invoke-static {v4}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity.smali b/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity.smali index 3c47b06d8..17368b5b2 100644 --- a/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity.smali +++ b/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity.smali @@ -205,7 +205,7 @@ const-string v2, "redirect_uri" - const-string v4, "https://oauth.vk.com/blank.html" + const-string v4, "https://oauth.vk.ru/blank.html" invoke-static {v4}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -294,7 +294,7 @@ move-result-object v0 - const-string v1, "oauth.vk.com" + const-string v1, "oauth.vk.ru" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/SendActivity.smali b/smali/smali_classes4/com/vtosters/lite/SendActivity.smali index 8e5ff5143..085010bb3 100644 --- a/smali/smali_classes4/com/vtosters/lite/SendActivity.smali +++ b/smali/smali_classes4/com/vtosters/lite/SendActivity.smali @@ -951,7 +951,7 @@ invoke-direct {p2}, Ljava/lang/StringBuilder;->()V - const-string v0, "vkontakte://vk.com/album" + const-string v0, "vkontakte://vk.ru/album" invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -1361,7 +1361,7 @@ invoke-direct {p1}, Ljava/lang/StringBuilder;->()V - const-string v0, "vkontakte://vk.com/docs" + const-string v0, "vkontakte://vk.ru/docs" invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -1517,7 +1517,7 @@ invoke-direct {p1}, Ljava/lang/StringBuilder;->()V - const-string v1, "vkontakte://vk.com/videos" + const-string v1, "vkontakte://vk.ru/videos" invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/ShortcutManagerWrapper.smali b/smali/smali_classes4/com/vtosters/lite/ShortcutManagerWrapper.smali index edea5c958..f1a28c4d5 100644 --- a/smali/smali_classes4/com/vtosters/lite/ShortcutManagerWrapper.smali +++ b/smali/smali_classes4/com/vtosters/lite/ShortcutManagerWrapper.smali @@ -66,7 +66,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/write" + const-string v2, "https://vk.ru/write" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/VKApplication$initNetwork$1.smali b/smali/smali_classes4/com/vtosters/lite/VKApplication$initNetwork$1.smali index bc24c3d63..1de086117 100644 --- a/smali/smali_classes4/com/vtosters/lite/VKApplication$initNetwork$1.smali +++ b/smali/smali_classes4/com/vtosters/lite/VKApplication$initNetwork$1.smali @@ -78,7 +78,7 @@ goto :goto_0 :cond_0 - const-string v0, "api.vk.com" + const-string v0, "api.vk.ru" .line 3 :goto_0 diff --git a/smali/smali_classes4/com/vtosters/lite/ValidationActivity$a.smali b/smali/smali_classes4/com/vtosters/lite/ValidationActivity$a.smali index fa3b5c744..6ae913c2c 100644 --- a/smali/smali_classes4/com/vtosters/lite/ValidationActivity$a.smali +++ b/smali/smali_classes4/com/vtosters/lite/ValidationActivity$a.smali @@ -107,7 +107,7 @@ move-result-object p2 - const-string v1, "m.vk.com" + const-string v1, "m.vk.ru" invoke-virtual {v1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z @@ -324,7 +324,7 @@ move-result-object v1 - const-string v3, "oauth.vk.com" + const-string v3, "oauth.vk.ru" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -810,7 +810,7 @@ goto :goto_2 :cond_c - const-string v0, "vk.com/support" + const-string v0, "vk.ru/support" .line 61 invoke-virtual {p2, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z @@ -862,7 +862,7 @@ goto :goto_2 :cond_d - const-string v0, "vk.com/settings" + const-string v0, "vk.ru/settings" .line 64 invoke-virtual {p2, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z diff --git a/smali/smali_classes4/com/vtosters/lite/VideoUploadDialog.smali b/smali/smali_classes4/com/vtosters/lite/VideoUploadDialog.smali index 030b94336..9804569a7 100644 --- a/smali/smali_classes4/com/vtosters/lite/VideoUploadDialog.smali +++ b/smali/smali_classes4/com/vtosters/lite/VideoUploadDialog.smali @@ -115,7 +115,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "vkontakte://vk.com/videos" + const-string v2, "vkontakte://vk.ru/videos" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/actionlinks/AL$Companion$showAddProduct$$inlined$apply$lambda$1.smali b/smali/smali_classes4/com/vtosters/lite/actionlinks/AL$Companion$showAddProduct$$inlined$apply$lambda$1.smali index 91fd4de26..926c9d506 100644 --- a/smali/smali_classes4/com/vtosters/lite/actionlinks/AL$Companion$showAddProduct$$inlined$apply$lambda$1.smali +++ b/smali/smali_classes4/com/vtosters/lite/actionlinks/AL$Companion$showAddProduct$$inlined$apply$lambda$1.smali @@ -78,7 +78,7 @@ .line 2 new-instance v0, Lcom/vtosters/lite/general/fragments/WebViewFragment$g; - const-string v1, "https://vk.com/@vklive_app-add-market" + const-string v1, "https://vk.ru/@vklive_app-add-market" invoke-direct {v0, v1}, Lcom/vtosters/lite/general/fragments/WebViewFragment$g;->(Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vtosters/lite/actionlinks/c/a/e/AddPollPresenter.smali b/smali/smali_classes4/com/vtosters/lite/actionlinks/c/a/e/AddPollPresenter.smali index 948472fc4..fb08d15b5 100644 --- a/smali/smali_classes4/com/vtosters/lite/actionlinks/c/a/e/AddPollPresenter.smali +++ b/smali/smali_classes4/com/vtosters/lite/actionlinks/c/a/e/AddPollPresenter.smali @@ -80,7 +80,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/poll" + const-string v2, "https://vk.ru/poll" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/actionlinks/views/fragments/add/AddLinkPresenter.smali b/smali/smali_classes4/com/vtosters/lite/actionlinks/views/fragments/add/AddLinkPresenter.smali index c6f07dcd4..42699f842 100644 --- a/smali/smali_classes4/com/vtosters/lite/actionlinks/views/fragments/add/AddLinkPresenter.smali +++ b/smali/smali_classes4/com/vtosters/lite/actionlinks/views/fragments/add/AddLinkPresenter.smali @@ -126,7 +126,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/id" + const-string v1, "https://vk.ru/id" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -158,7 +158,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/club" + const-string v1, "https://vk.ru/club" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/api/AppVKApiCallback.smali b/smali/smali_classes4/com/vtosters/lite/api/AppVKApiCallback.smali index 65086030b..13aa5bc99 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/AppVKApiCallback.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/AppVKApiCallback.smali @@ -147,7 +147,7 @@ move-result-object v0 - const-string v1, "vk.com" + const-string v1, "vk.ru" const-string v2, "apiHost" @@ -206,7 +206,7 @@ .method public T1()Ljava/lang/String; .locals 1 - const-string v0, "api.vk.com" + const-string v0, "api.vk.ru" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -303,7 +303,7 @@ move-result-object v0 - const-string v3, "api.vk.com" + const-string v3, "api.vk.ru" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullCommunity.smali b/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullCommunity.smali index acd42e317..c7d78b4a5 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullCommunity.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullCommunity.smali @@ -1059,7 +1059,7 @@ :goto_b iget-object v9, v15, Lcom/vtosters/lite/api/ExtendedUserProfile$Link;->a:Ljava/lang/String; - const-string v14, "//vk.com/" + const-string v14, "//vk.ru/" invoke-virtual {v9, v14}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z @@ -1071,7 +1071,7 @@ invoke-direct {v9}, Ljava/lang/StringBuilder;->()V - const-string v14, "https://vk.com/images/lnkinner" + const-string v14, "https://vk.ru/images/lnkinner" goto :goto_c @@ -1080,7 +1080,7 @@ invoke-direct {v9}, Ljava/lang/StringBuilder;->()V - const-string v14, "https://vk.com/images/lnkouter" + const-string v14, "https://vk.ru/images/lnkouter" :goto_c invoke-virtual {v9, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/attachments/DocumentAttachment.smali b/smali/smali_classes4/com/vtosters/lite/attachments/DocumentAttachment.smali index b5cd4ab67..2d17c6ce0 100644 --- a/smali/smali_classes4/com/vtosters/lite/attachments/DocumentAttachment.smali +++ b/smali/smali_classes4/com/vtosters/lite/attachments/DocumentAttachment.smali @@ -1015,7 +1015,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/doc" + const-string v1, "https://vk.ru/doc" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/attachments/MiniAppAttachment.smali b/smali/smali_classes4/com/vtosters/lite/attachments/MiniAppAttachment.smali index cc5033a18..789238d98 100644 --- a/smali/smali_classes4/com/vtosters/lite/attachments/MiniAppAttachment.smali +++ b/smali/smali_classes4/com/vtosters/lite/attachments/MiniAppAttachment.smali @@ -165,7 +165,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/app" + const-string v1, "https://vk.ru/app" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/attachments/PhotoAttachment.smali b/smali/smali_classes4/com/vtosters/lite/attachments/PhotoAttachment.smali index dea5a65d8..038763d2d 100644 --- a/smali/smali_classes4/com/vtosters/lite/attachments/PhotoAttachment.smali +++ b/smali/smali_classes4/com/vtosters/lite/attachments/PhotoAttachment.smali @@ -736,7 +736,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/photo" + const-string v1, "https://vk.ru/photo" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/audio/widgets/AudioPlayerWidget$a.smali b/smali/smali_classes4/com/vtosters/lite/audio/widgets/AudioPlayerWidget$a.smali index 27e91b57d..0bb9c45cc 100644 --- a/smali/smali_classes4/com/vtosters/lite/audio/widgets/AudioPlayerWidget$a.smali +++ b/smali/smali_classes4/com/vtosters/lite/audio/widgets/AudioPlayerWidget$a.smali @@ -71,7 +71,7 @@ .line 9 new-instance v0, Landroid/content/Intent; - const-string v1, "https://www.vk.com/popup?act=buy_music_subscription" + const-string v1, "https://www.vk.ru/popup?act=buy_music_subscription" invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; @@ -433,7 +433,7 @@ .line 1 new-instance v0, Landroid/content/Intent; - const-string v1, "https://www.vk.com/audio" + const-string v1, "https://www.vk.ru/audio" invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; @@ -477,7 +477,7 @@ .line 1 new-instance v0, Landroid/content/Intent; - const-string v1, "https://www.vk.com/audioplayer" + const-string v1, "https://www.vk.ru/audioplayer" invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/ProfileFragment.smali b/smali/smali_classes4/com/vtosters/lite/fragments/ProfileFragment.smali index c32618625..9e4a2900b 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/ProfileFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/ProfileFragment.smali @@ -761,7 +761,7 @@ move-result-object v0 - const-string v1, "https://vk.com/memories" + const-string v1, "https://vk.ru/memories" invoke-static {v0, v1}, Lcom/vk/common/links/LinkUtils;->c(Landroid/content/Context;Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/SettingsListFragment$f$b.smali b/smali/smali_classes4/com/vtosters/lite/fragments/SettingsListFragment$f$b.smali index 48fe812fc..1a8126d5e 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/SettingsListFragment$f$b.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/SettingsListFragment$f$b.smali @@ -56,7 +56,7 @@ move-result-object v0 - const-string v1, "https://vk.com/jobs?w=job38" + const-string v1, "https://vk.ru/jobs?w=job38" invoke-static {v0, v1}, Lcom/vk/common/links/LinkProcessor;->a(Landroid/content/Context;Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/market/GoodFragment.smali b/smali/smali_classes4/com/vtosters/lite/fragments/market/GoodFragment.smali index d1761361b..d823548fb 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/market/GoodFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/market/GoodFragment.smali @@ -2242,7 +2242,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.com/app6468267_" + const-string v1, "https://vk.ru/app6468267_" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -6029,7 +6029,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/market" + const-string v2, "https://vk.ru/market" invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/money/MoneyWebViewFragment$a.smali b/smali/smali_classes4/com/vtosters/lite/fragments/money/MoneyWebViewFragment$a.smali index ac46576dd..be6628ff2 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/money/MoneyWebViewFragment$a.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/money/MoneyWebViewFragment$a.smali @@ -66,7 +66,7 @@ move-result-object v0 - const-string v1, "oauth.vk.com" + const-string v1, "oauth.vk.ru" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -157,7 +157,7 @@ return v1 :cond_2 - const-string p1, "vk.com/support" + const-string p1, "vk.ru/support" .line 8 invoke-virtual {p2, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/n2/DebugDomainsFilter.smali b/smali/smali_classes4/com/vtosters/lite/fragments/n2/DebugDomainsFilter.smali index fac1a3cc0..a602f25c8 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/n2/DebugDomainsFilter.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/n2/DebugDomainsFilter.smali @@ -181,7 +181,7 @@ const/4 v3, 0x0 - const-string v4, "vk.com" + const-string v4, "vk.ru" .line 6 invoke-static {p2, v4, v2, v1, v3}, Lkotlin/text/l;->a(Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZILjava/lang/Object;)Z @@ -200,7 +200,7 @@ move-result p2 - const-string v1, ".api.cs7777.vk.com" + const-string v1, ".api.cs7777.vk.ru" if-eqz p2, :cond_8 @@ -303,7 +303,7 @@ :cond_9 :goto_5 - const-string p2, "api.vk.com" + const-string p2, "api.vk.ru" invoke-static {p2}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/n2/SettingsDebugFragment.smali b/smali/smali_classes4/com/vtosters/lite/fragments/n2/SettingsDebugFragment.smali index 26f461a7a..17c236e70 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/n2/SettingsDebugFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/n2/SettingsDebugFragment.smali @@ -1950,7 +1950,7 @@ .line 2 new-instance v0, Lcom/vtosters/lite/fragments/n2/SettingsDebugFragment$n; - const-string v1, "m.vk.com" + const-string v1, "m.vk.ru" const-string v2, "previous_away_php" @@ -1972,7 +1972,7 @@ :cond_2 new-instance v0, Lcom/vtosters/lite/fragments/n2/SettingsDebugFragment$n; - const-string v1, "vk.com/spa" + const-string v1, "vk.ru/spa" const-string v2, "previous_spa" @@ -1984,7 +1984,7 @@ :cond_3 new-instance v0, Lcom/vtosters/lite/fragments/n2/SettingsDebugFragment$n; - const-string v1, "static.vk.com" + const-string v1, "static.vk.ru" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -2000,7 +2000,7 @@ :cond_4 new-instance v0, Lcom/vtosters/lite/fragments/n2/SettingsDebugFragment$n; - const-string v1, "oauth.vk.com" + const-string v1, "oauth.vk.ru" const-string v2, "previous_oauth" @@ -2016,7 +2016,7 @@ :cond_5 new-instance v0, Lcom/vtosters/lite/fragments/n2/SettingsDebugFragment$n; - const-string v1, "api.vk.com" + const-string v1, "api.vk.ru" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicViewFragment.smali b/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicViewFragment.smali index 35c5acbff..b78f9c290 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicViewFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicViewFragment.smali @@ -192,7 +192,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/topic" + const-string v2, "https://vk.ru/topic" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicsFragment.smali b/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicsFragment.smali index d9e31bbdb..3940bcb7a 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicsFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicsFragment.smali @@ -201,7 +201,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/topic" + const-string v2, "https://vk.ru/topic" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/p2/DocumentsViewFragment.smali b/smali/smali_classes4/com/vtosters/lite/fragments/p2/DocumentsViewFragment.smali index 5dd2192c5..9d4e006cc 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/p2/DocumentsViewFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/p2/DocumentsViewFragment.smali @@ -457,7 +457,7 @@ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V - const-string v6, "vkontakte://vk.com/docs" + const-string v6, "vkontakte://vk.ru/docs" invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/general/fragments/SettingsDomainFragment.smali b/smali/smali_classes4/com/vtosters/lite/general/fragments/SettingsDomainFragment.smali index 710ebc37d..abef6ee16 100644 --- a/smali/smali_classes4/com/vtosters/lite/general/fragments/SettingsDomainFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/general/fragments/SettingsDomainFragment.smali @@ -416,7 +416,7 @@ invoke-direct {p2}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/" + const-string v2, "https://vk.ru/" invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -672,7 +672,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/" + const-string v2, "https://vk.ru/" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment$a.smali b/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment$a.smali index 58206f0cb..d2d06b56e 100644 --- a/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment$a.smali +++ b/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment$a.smali @@ -38,7 +38,7 @@ move-result-object v0 - const-string v1, "oauth.vk.com" + const-string v1, "oauth.vk.ru" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -180,7 +180,7 @@ invoke-static {v0}, Lcom/vk/log/L;->a([Ljava/lang/Object;)V - const-string v0, "https://oauth.vk.com/blank.html#state=webview_refresh_access_token" + const-string v0, "https://oauth.vk.ru/blank.html#state=webview_refresh_access_token" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -214,7 +214,7 @@ return v3 :cond_0 - const-string v0, "https://vk.com/client_auth?refresh_token=1" + const-string v0, "https://vk.ru/client_auth?refresh_token=1" .line 5 invoke-virtual {p2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z diff --git a/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment.smali b/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment.smali index 9476e7fd2..ea02b4f14 100644 --- a/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment.smali @@ -986,7 +986,7 @@ .line 40 iget-object v0, p0, Lcom/vtosters/lite/general/fragments/WebViewFragment;->Y:Landroid/webkit/WebView; - const-string v1, "https://vk.com/client_auth" + const-string v1, "https://vk.ru/client_auth" invoke-virtual {v0, v1, p1}, Landroid/webkit/WebView;->postUrl(Ljava/lang/String;[B)V @@ -1010,7 +1010,7 @@ move-result-object v1 - const-string v2, "https://oauth.vk.com/webview_token" + const-string v2, "https://oauth.vk.ru/webview_token" invoke-static {v2}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -1200,7 +1200,7 @@ .method private c5()Ljava/lang/String; .locals 3 - const-string v0, "https://oauth.vk.com/webview_token" + const-string v0, "https://oauth.vk.ru/webview_token" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/general/fragments/WikiViewFragment$f.smali b/smali/smali_classes4/com/vtosters/lite/general/fragments/WikiViewFragment$f.smali index 360420233..02f65444f 100644 --- a/smali/smali_classes4/com/vtosters/lite/general/fragments/WikiViewFragment$f.smali +++ b/smali/smali_classes4/com/vtosters/lite/general/fragments/WikiViewFragment$f.smali @@ -85,7 +85,7 @@ if-nez v1, :cond_0 - const-string v1, "vk.com" + const-string v1, "vk.ru" invoke-virtual {v0}, Landroid/net/Uri;->getHost()Ljava/lang/String; @@ -97,7 +97,7 @@ if-nez v1, :cond_0 - const-string v1, "m.vk.com" + const-string v1, "m.vk.ru" invoke-virtual {v0}, Landroid/net/Uri;->getHost()Ljava/lang/String; diff --git a/smali/smali_classes5/com/vtosters/lite/fragments/y2/VideoAlbumsFragment.smali b/smali/smali_classes5/com/vtosters/lite/fragments/y2/VideoAlbumsFragment.smali index 9e7ca966c..719af5f68 100644 --- a/smali/smali_classes5/com/vtosters/lite/fragments/y2/VideoAlbumsFragment.smali +++ b/smali/smali_classes5/com/vtosters/lite/fragments/y2/VideoAlbumsFragment.smali @@ -159,7 +159,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.com/videos" + const-string v2, "https://vk.ru/videos" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes5/com/vtosters/lite/im/ImEngineProvider$getApiManager$apiConfig$1.smali b/smali/smali_classes5/com/vtosters/lite/im/ImEngineProvider$getApiManager$apiConfig$1.smali index bbd7a5995..1f12333f7 100644 --- a/smali/smali_classes5/com/vtosters/lite/im/ImEngineProvider$getApiManager$apiConfig$1.smali +++ b/smali/smali_classes5/com/vtosters/lite/im/ImEngineProvider$getApiManager$apiConfig$1.smali @@ -64,7 +64,7 @@ const-string v1, "apiHost" - const-string v2, "api.vk.com" + const-string v2, "api.vk.ru" invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes5/com/vtosters/lite/utils/CookieHelper.smali b/smali/smali_classes5/com/vtosters/lite/utils/CookieHelper.smali index 1673058a7..b465e609f 100644 --- a/smali/smali_classes5/com/vtosters/lite/utils/CookieHelper.smali +++ b/smali/smali_classes5/com/vtosters/lite/utils/CookieHelper.smali @@ -20,7 +20,7 @@ sput-object v0, Lcom/vtosters/lite/utils/CookieHelper;->b:Lcom/vtosters/lite/utils/CookieHelper; - const-string v0, ".vk.com" + const-string v0, ".vk.ru" const-string v1, "vk.me" From dd6b9b32b8fbeb1b15314eca2d263babc885e2f2 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sun, 21 Aug 2022 15:15:27 +0300 Subject: [PATCH 018/134] some link fixes --- .../ru/vtosters/lite/dnr/DNRInjector.java | 3 ++- .../lite/downloaders/VideoDownloader.java | 7 ++++--- .../ru/vtosters/lite/hooks/JsonInjectors.java | 8 +++++--- .../ru/vtosters/lite/music/MP3Downloader.java | 3 ++- .../ru/vtosters/lite/proxy/ProxyUtils.java | 20 +++++++++++++++++++ .../ui/activities/VKAdminTokenActivity.java | 6 ++++-- .../lite/ui/dialogs/VKIDProtection.java | 4 +++- .../lite/ui/fragments/MediaFragment.java | 3 ++- 8 files changed, 42 insertions(+), 12 deletions(-) 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 e4c66d541..1253c2933 100644 --- a/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java +++ b/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java @@ -12,6 +12,7 @@ import static ru.vtosters.lite.dnr.DNRModule.hookDNT; import static ru.vtosters.lite.dnr.DNRModule.isDnrEnabledFor; import static ru.vtosters.lite.dnr.DNRModule.isDntEnabledFor; import static ru.vtosters.lite.encryption.EncryptProvider.decryptMessage; +import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; @@ -281,7 +282,7 @@ public class DNRInjector { Thread thread = new Thread(() -> { try { var request = new Request.a() - .b("https://api.vk.ru/method/" + (needToBePinned ? "messages.pinConversation" : "messages.unpinConversation") + "?peer_id=" + dialogid + "&access_token=" + getUserToken() + "&v=5.119") + .b("https://" + getApi() + "/method/" + (needToBePinned ? "messages.pinConversation" : "messages.unpinConversation") + "?peer_id=" + dialogid + "&access_token=" + getUserToken() + "&v=5.119") .a(Headers.a("User-Agent", Network.l.c().a(), "Content-Type", "application/x-www-form-urlencoded; charset=utf-8")) .a(); diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java index c2c1a0ba6..d5a001773 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java @@ -1,6 +1,7 @@ package ru.vtosters.lite.downloaders; import static ru.vtosters.lite.net.Request.makeRequest; +import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; @@ -127,12 +128,12 @@ public class VideoDownloader { } public static void parseVideoLink(String url, Context ctx) { - if (url.contains("vk.ru/story")) { + if (url.contains("vk.ru/story") || url.contains("vk.com/story")) { ToastUtils.a(AndroidUtils.getString("video_dl_stories_not_supported")); return; } - if (!url.contains("vk.ru/video")) { + if (!url.contains("vk.ru/video") || !url.contains("vk.com/video")) { ToastUtils.a(AndroidUtils.getString("video_dl_wrong_link")); return; } @@ -144,7 +145,7 @@ public class VideoDownloader { progressDialog.setMessage(AndroidUtils.getString("video_dl_progress")); progressDialog.show(); - makeRequest("https://" + "api.vk.ru" + "/method/video.get?owner_id=" + ownerId + "&videos=" + videoId + "&v=5.99&access_token=" + getUserToken(), + makeRequest("https://" + getApi() + "/method/video.get?owner_id=" + ownerId + "&videos=" + videoId + "&v=5.99&access_token=" + getUserToken(), response -> { progressDialog.cancel(); diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index abd0c7596..61af576d2 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -4,6 +4,8 @@ import static ru.vtosters.lite.foaf.FoafBase.getLastSeen; import static ru.vtosters.lite.foaf.FoafBase.getBypassedOnlineInfo; import static ru.vtosters.lite.hooks.OnlineFormatterHook.onlineHookProfiles; import static ru.vtosters.lite.hooks.DateHook.getLocale; +import static ru.vtosters.lite.proxy.ProxyUtils.getApi; +import static ru.vtosters.lite.proxy.ProxyUtils.getStatic; import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; import static ru.vtosters.lite.utils.Base64Utils.decode; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCaption; @@ -118,7 +120,7 @@ public class JsonInjectors { public static JSONObject vktesters(int id) throws JSONException { var title = AndroidUtils.getString("tester_profile"); var text_color = "2D81E0"; - var link = "https://static.vk.ru/bugs?lang=" + LangUtils.a() + "#/reporter" + id; + var link = "https://" + getStatic() + "/bugs?lang=" + LangUtils.a() + "#/reporter" + id; var json = new JSONObject(); var icons = new JSONArray(); @@ -629,7 +631,7 @@ public class JsonInjectors { if (section == null) return null; var request = new Request.a() - .b("https://api.vk.ru/method/catalog.getAudio" + .b("https://" + getApi() + "/method/catalog.getAudio" + "?v=5.119" + "&https=1" + "&need_blocks=1" @@ -653,7 +655,7 @@ public class JsonInjectors { public static JSONObject fetchCatalogPodcast() { var request = new Request.a() - .b("https://api.vk.ru/method/catalog.getPodcasts" + .b("https://" + getApi() + "/method/catalog.getPodcasts" + "?v=5.119" + "&https=1" + "&need_blocks=1" diff --git a/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java b/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java index 2d208c531..9eb84fbc7 100644 --- a/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java +++ b/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java @@ -1,5 +1,6 @@ package ru.vtosters.lite.music; +import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import static ru.vtosters.lite.utils.Preferences.getMusicDir; import android.app.DownloadManager; @@ -28,7 +29,7 @@ import ru.vtosters.lite.utils.AndroidUtils; public class MP3Downloader { - private static final String URL_FORMAT = "https://api.vk.ru/method/audio.getById?v=5.131&access_token=%s&audios=%s©right=https://vtosters.app/"; + private static final String URL_FORMAT = "https://" + getApi() + "/method/audio.getById?v=5.131&access_token=%s&audios=%s©right=https://vtosters.app/"; private static final OkHttpClient client = new OkHttpClient(); public static void execute(MusicTrack track) { diff --git a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java index bc435d545..663d93998 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java @@ -30,6 +30,26 @@ public class ProxyUtils{ return "api.vk.ru"; } + public static String getOauth(){ + var oauth = getPrefsValue("proxyoauth"); + + if (isApiProxyEnabled() & !oauth.isEmpty()) { + return oauth; + } + + return "oauth.vk.ru"; + } + + public static String getStatic(){ + var oauth = getPrefsValue("proxystatic"); + + if (isApiProxyEnabled() & !oauth.isEmpty()) { + return oauth; + } + + return "static.vk.ru"; + } + public static Boolean isZaboronaEnabled(){ return getPrefsValue("proxy").equals("zaborona"); } diff --git a/app/src/main/java/ru/vtosters/lite/ui/activities/VKAdminTokenActivity.java b/app/src/main/java/ru/vtosters/lite/ui/activities/VKAdminTokenActivity.java index 15fb9e2b1..75dd18c34 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/activities/VKAdminTokenActivity.java +++ b/app/src/main/java/ru/vtosters/lite/ui/activities/VKAdminTokenActivity.java @@ -1,5 +1,7 @@ package ru.vtosters.lite.ui.activities; +import static ru.vtosters.lite.proxy.ProxyUtils.getOauth; + import android.app.Activity; import android.content.Intent; import android.net.Uri; @@ -20,7 +22,7 @@ import ru.vtosters.lite.utils.LayoutUtils; public class VKAdminTokenActivity extends AppCompatActivity { - private static final String URL = "https://oauth.vk.ru/authorize?client_id=6121396&scope=1073737727&redirect_uri=https://oauth.vk.ru/blank.html&display=page&response_type=token&revoke=1"; + private static final String URL = "https://" + getOauth() +"/authorize?client_id=6121396&scope=1073737727&redirect_uri=https://oauth.vk.ru/blank.html&display=page&response_type=token&revoke=1"; @Override protected void onCreate(@Nullable Bundle bundle) { @@ -37,7 +39,7 @@ public class VKAdminTokenActivity extends AppCompatActivity { @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { var url = request.getUrl().toString(); - if (url.startsWith("https://oauth.vk.ru/auth_redirect?")) { + if (url.startsWith("https://" + getOauth() + "/auth_redirect?")) { var redirectUri = Uri.parse(URLDecoder.decode(url)); var authorizeUrl = redirectUri.getQueryParameter("authorize_url"); var accessToken = authorizeUrl.substring(authorizeUrl.indexOf("=") + 1, authorizeUrl.indexOf("&")); diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java index 6540b3df7..67072ceb8 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java @@ -1,5 +1,7 @@ package ru.vtosters.lite.ui.dialogs; +import static ru.vtosters.lite.proxy.ProxyUtils.getApi; +import static ru.vtosters.lite.proxy.ProxyUtils.isApiProxyEnabled; import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getString; import static ru.vtosters.lite.utils.Preferences.getBoolValue; @@ -23,7 +25,7 @@ public class VKIDProtection { // android.content.DialogInterface.OnClickListener builder.setNeutralButton(getString("vkiddisable"), (dialogInterface, i) -> { edit().putBoolean("showAlertVkId", false).apply(); - VKUIwrapper.setLink("https://id.vk.ru/account"); + VKUIwrapper.setLink((isApiProxyEnabled() ? "https://id.vk.ru/account" : "https://" + getApi() + "/_/id.vk.ru/account")); Intent a2 = new Navigator(VKUIwrapper.class).b(activity); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); activity.startActivity(a2); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java index 8e8b32fdf..d00485573 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java @@ -1,6 +1,7 @@ package ru.vtosters.lite.ui.fragments; import static ru.vtosters.lite.music.Scrobbler.isLoggedIn; +import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; import static ru.vtosters.lite.utils.AndroidUtils.dp2px; import static ru.vtosters.lite.utils.AndroidUtils.edit; @@ -244,7 +245,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { Thread thread = new Thread(() -> { try { var request = new Request.a() - .b("https://api.vk.ru/method/" + "video.clearViewingHistoryRecords" + "?https=1" + "&access_token=" + getUserToken() + "&v=5.187") + .b("https://" + getApi() + "/method/" + "video.clearViewingHistoryRecords" + "?https=1" + "&access_token=" + getUserToken() + "&v=5.187") .a(Headers.a("User-Agent", Network.l.c().a(), "Content-Type", "application/x-www-form-urlencoded; charset=utf-8")) .a(); From 3b37412a583852e972115afed8b758ef3f03f632 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sun, 21 Aug 2022 16:23:16 +0300 Subject: [PATCH 019/134] gmsless frag fixes --- .../main/java/ru/vtosters/lite/ui/fragments/VTSettings.java | 2 +- smali/res/values-ru/strings.xml | 4 ++-- smali/res/values/strings.xml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java index d49bd4ea3..db7eeb3e1 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java @@ -183,7 +183,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { } if (!isGmsInstalled()) { - addPreference(this, "", AndroidUtils.getString("installgms"), "", "ic_warning_24", preference -> { + addPreference(this, "", AndroidUtils.getString("installgms"), "", "ic_about_outline_28", preference -> { Context context = getContext(); Intent a2 = new Navigator(InstallGMSFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml index a5380bbe2..40973c6e7 100644 --- a/smali/res/values-ru/strings.xml +++ b/smali/res/values-ru/strings.xml @@ -5414,7 +5414,7 @@ Скачать MicroG Что делать дальше? Что делать после установки MicroG? - Обновите регистрацию Firebase в настройках в разделе "Другое" + 1. Войдите в свой Google аккаунт \n2. Разрешите VTLite получать уведомления\n3. Обновите регистрацию Firebase в настройках в разделе "Другое" Помочь проекту dd MMMM yyyy в HH:mm:ss dd MMMM в HH:mm:ss @@ -5891,7 +5891,7 @@ Включить нечиталку Отключить нечиталку - Произошла ошибка в работе Vtosters! + Произошла ошибка в работе VTLite! Загрузить логи Сохранить в файл diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml index 06be99018..a7625c637 100644 --- a/smali/res/values/strings.xml +++ b/smali/res/values/strings.xml @@ -5548,7 +5548,7 @@ Filters are not case-sensitive!" Download MicroG What to do next? What to do after installing MicroG? - Update Firebase registration in Other settings + 1. Log in to your Google account \n2. Allow VTLite to receive notifications\n3. Update Firebase registration in Other settings Donate dd MMMM yyyy HH:mm:ss dd MMMM HH:mm:ss @@ -6029,7 +6029,7 @@ May look like a fake leaving the online" Enable Do Not Read Disable Do Not Read - An error has occurred in VTL! + An error has occurred in VTLite! Upload logs Save to local file From de4d283f75bba3c3442da68b83f9eaad3a153c1e Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sun, 21 Aug 2022 16:37:12 +0300 Subject: [PATCH 020/134] fix open vk.com links --- smali/AndroidManifest.xml | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/smali/AndroidManifest.xml b/smali/AndroidManifest.xml index ac1d6cff9..5a3b6a819 100644 --- a/smali/AndroidManifest.xml +++ b/smali/AndroidManifest.xml @@ -971,6 +971,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Date: Mon, 22 Aug 2022 03:31:44 +0300 Subject: [PATCH 021/134] groups filters whitelist --- .../ru/vtosters/lite/hooks/JsonInjectors.java | 36 +++++++++++- .../ru/vtosters/lite/hooks/NewsfeedHook.java | 56 +++++++++++++++++-- .../lite/ui/fragments/FeedFragment.java | 50 +++++++++++++++++ .../ru/vtosters/lite/ui/vkui/MenuBuilder.java | 29 ++++++++++ smali/res/xml/preferences_feed.xml | 6 ++ 5 files changed, 170 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index 61af576d2..b274a7e5e 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -1,13 +1,11 @@ package ru.vtosters.lite.hooks; -import static ru.vtosters.lite.foaf.FoafBase.getLastSeen; import static ru.vtosters.lite.foaf.FoafBase.getBypassedOnlineInfo; import static ru.vtosters.lite.hooks.OnlineFormatterHook.onlineHookProfiles; import static ru.vtosters.lite.hooks.DateHook.getLocale; import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import static ru.vtosters.lite.proxy.ProxyUtils.getStatic; import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; -import static ru.vtosters.lite.utils.Base64Utils.decode; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCaption; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCopyright; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isBadNews; @@ -437,6 +435,30 @@ public class JsonInjectors { return false; } + public static Boolean isWhitelistedFilters(JSONObject list) throws JSONException { + var id = String.valueOf(list.optInt("owner_id")); + + if (id.equals("0")) { + id = String.valueOf(list.optInt("source_id")); + } + + var whitelist = AndroidUtils.getDefaultPrefs().getStringSet("whitelisted_filters_groups", Collections.synchronizedSet(new LinkedHashSet<>())); + + return whitelist.contains(id); + } + + public static Boolean isWhitelistedAd(JSONObject list) throws JSONException { + var id = String.valueOf(list.optInt("owner_id")); + + if (id.equals("0")) { + id = String.valueOf(list.optInt("source_id")); + } + + var whitelist = AndroidUtils.getDefaultPrefs().getStringSet("whitelisted_ad_groups", Collections.synchronizedSet(new LinkedHashSet<>())); + + return whitelist.contains(id); + } + public static JSONArray newsfeedlist(JSONArray items) throws JSONException { var selectedItems = getDefaultPrefs().getString("news_feed_selected_items", ""); var filtersSet = getDefaultPrefs().getStringSet("news_feed_items_set", null); @@ -482,10 +504,20 @@ public class JsonInjectors { var list = items.optJSONObject(j); var type = list.optString("type"); + if (isWhitelistedAd(list)) { + newItems.put(list); + continue; + } + if (isAds(list, type)) { continue; } + if (isWhitelistedFilters(list)) { + newItems.put(list); + continue; + } + if (authorsrecomm() && (type.equals("authors_rec") || type.startsWith("recommended_") && (type.endsWith("audios") || type.endsWith("artists") diff --git a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java index db355cd9d..018054dbb 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java @@ -1,6 +1,7 @@ package ru.vtosters.lite.hooks; import static java.lang.Long.MAX_VALUE; +import static ru.vtosters.lite.utils.AndroidUtils.*; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCaption; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCopyright; @@ -23,14 +24,20 @@ import static ru.vtosters.lite.utils.Preferences.milkshake; import static ru.vtosters.lite.utils.Preferences.vkme; import com.vk.core.preference.Preference; +import com.vtosters.lite.api.ExtendedCommunityProfile; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; +import java.util.Collections; import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; +import ru.vtosters.lite.utils.AccountManagerUtils; +import ru.vtosters.lite.utils.AndroidUtils; + public class NewsfeedHook { public static boolean injectFilters(JSONObject obj) throws JSONException { if (getBoolValue("newadblock", true)) return true; @@ -102,18 +109,57 @@ public class NewsfeedHook { return params.toArray(new String[0]); } + public static boolean isWhitelistedFilter(ExtendedCommunityProfile eup) { + return getDefaultPrefs().getStringSet("whitelisted_filters_groups", Collections.synchronizedSet(new LinkedHashSet<>())).contains(String.valueOf(AccountManagerUtils.getUserID(eup))); + } + + public static boolean isWhitelistedAd(ExtendedCommunityProfile eup) { + return getDefaultPrefs().getStringSet("whitelisted_ad_groups", Collections.synchronizedSet(new LinkedHashSet<>())).contains(String.valueOf(AccountManagerUtils.getUserID(eup))); + } + + public static void setWhitelistedFilter(ExtendedCommunityProfile eup, boolean needWhitelist) { + var mutableAdsSet = Collections.synchronizedSet(new LinkedHashSet()); + var id = String.valueOf(AccountManagerUtils.getUserID(eup)); + + mutableAdsSet.addAll(getDefaultPrefs().getStringSet("whitelisted_filters_groups", mutableAdsSet)); + + if (needWhitelist) { + mutableAdsSet.add(id); + } else { + mutableAdsSet.remove(id); + } + + getDefaultPrefs().edit().putStringSet("whitelisted_filters_groups", mutableAdsSet).apply(); + } + + public static void setWhitelistedAd(ExtendedCommunityProfile eup, boolean needWhitelist) { + var mutableAdsSet = Collections.synchronizedSet(new LinkedHashSet()); + var id = String.valueOf(AccountManagerUtils.getUserID(eup)); + + mutableAdsSet.addAll(getDefaultPrefs().getStringSet("whitelisted_ad_groups", mutableAdsSet)); + + if (needWhitelist) { + mutableAdsSet.add(id); + } else { + mutableAdsSet.remove(id); + } + + getDefaultPrefs().edit().putStringSet("whitelisted_ad_groups", mutableAdsSet).apply(); + } + public static void adsParams(HashSet hashSet) { - if (ads() || adsslider()) { + if (ads()) { hashSet.add("ads_disabled"); - if (milkshake()) { - return; - } + hashSet.add("ads_app_slider"); + return; } hashSet.add("ads_app"); hashSet.add("ads_site"); hashSet.add("ads_post"); - hashSet.add("ads_app_slider"); + if (adsslider()) { + hashSet.add("ads_app_slider"); + } hashSet.add("ads_site_slider"); hashSet.add("ads_app_video"); hashSet.add("ads_post_pretty_cards"); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java index 3cc8c4ce0..d04b3d4e2 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java @@ -1,9 +1,14 @@ package ru.vtosters.lite.ui.fragments; +import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; +import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; +import static ru.vtosters.lite.utils.AndroidUtils.getString; +import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.Preferences.copyright_post; +import static ru.vtosters.lite.utils.Preferences.getBoolValue; import android.content.Context; import android.content.Intent; @@ -12,6 +17,7 @@ import android.text.TextUtils; import androidx.preference.Preference; +import com.vk.core.dialogs.alert.VkAlertDialog; import com.vk.navigation.Navigator; import com.vk.newsfeed.NewsfeedSettingsFragment; import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; @@ -34,6 +40,20 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment { findPreference("spamfilters").setSummary(count(getPrefsValue("spamfilters"))); findPreference("sourcenamefilter").setSummary(count(getPrefsValue("sourcenamefilter"))); findPreference("linkfilter").setSummary(count(getPrefsValue("linkfilter"))); + + findPreference("whitelisted_ad_groups").setSummary(countSet("whitelisted_ad_groups")); + findPreference("whitelisted_filters_groups").setSummary(countSet("whitelisted_filters_groups")); + + findPreference("whitelisted_ad_groups").setOnPreferenceClickListener(preference -> { + remdialog("whitelisted_ad_groups", getContext()); + return true; + }); + + findPreference("whitelisted_filters_groups").setOnPreferenceClickListener(preference -> { + remdialog("whitelisted_filters_groups", getContext()); + return true; + }); + findPreference("newsfeedlistmanager").setOnPreferenceClickListener(preference -> { NewsfeedListManager.callEditorPopup(getActivity()); return true; @@ -59,6 +79,36 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment { } } + private void remdialog(String key, Context context) { + VkAlertDialog.Builder builder = new VkAlertDialog.Builder(context); + builder.setTitle("Внимание!"); + builder.setMessage("Вы действительно хотите удалить все элементы из списка?"); + builder.setCancelable(false); + builder.setPositiveButton("Да", (dialogInterface, i) -> edit().remove(key).apply()); + builder.setNegativeButton("Отмена", (dialogInterface, i) -> dialogInterface.dismiss()); + builder.show(); + sendToast("Все элементы списка удалены"); + } + + private String countSet(String key) { + var set = getDefaultPrefs().getStringSet(key, null); + StringBuilder str = new StringBuilder(); + if (set != null) { + for (var s : set) { + str.append(s).append(", "); + } + } + + var count = str.toString().split(", ").length; + + if (count < 1 || (str.length() == 0)) { + return AndroidUtils.getString("feed_no_elements"); + } else { + return String.format(AndroidUtils.getString("feed_elements_count"), count); + } + } + + @Override public boolean onPreferenceTreeClick(Preference preference) { findPreference("cringecopyright").setEnabled(!copyright_post()); diff --git a/app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java b/app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java index 653f54e78..52ae7798e 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java +++ b/app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java @@ -1,6 +1,7 @@ package ru.vtosters.lite.ui.vkui; import static ru.vtosters.lite.foaf.FoafBase.loadAndShow; +import static ru.vtosters.lite.hooks.NewsfeedHook.setWhitelistedFilter; import static ru.vtosters.lite.utils.AccountManagerUtils.getUserID; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; @@ -24,6 +25,7 @@ import java.util.Objects; import kotlin.Unit; import kotlin.jvm.b.Functions; +import ru.vtosters.lite.hooks.NewsfeedHook; import ru.vtosters.lite.utils.AndroidUtils; import ru.vtosters.lite.utils.RenameTool; @@ -91,6 +93,33 @@ public class MenuBuilder { return Unit.a; }); + if (NewsfeedHook.isWhitelistedFilter(ecp)) { + addItem(builder, "Удалить из вайтлиста фильтров", () -> { + setWhitelistedFilter(ecp, false); + return Unit.a; + }); + } else { + addItem(builder, "Добавить в вайтлист фильтров", () -> { + setWhitelistedFilter(ecp, true); + sendToast("Группа добавлена в вайтлист"); + return Unit.a; + }); + } + + if (NewsfeedHook.isWhitelistedAd(ecp)) { + addItem(builder, "Удалить из вайтлиста рекламы", () -> { + NewsfeedHook.setWhitelistedAd(ecp, false); + sendToast("Группа удалена из вайтлиста"); + return Unit.a; + }); + } else { + addItem(builder, "Добавить в вайтлист рекламы", () -> { + NewsfeedHook.setWhitelistedAd(ecp, true); + sendToast("Группа добавлена в вайтлист"); + return Unit.a; + }); + } + } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } diff --git a/smali/res/xml/preferences_feed.xml b/smali/res/xml/preferences_feed.xml index 6ed207495..d2addd9e0 100644 --- a/smali/res/xml/preferences_feed.xml +++ b/smali/res/xml/preferences_feed.xml @@ -21,6 +21,9 @@ android:key="adsstories" android:summary="@string/feed_ads_stories_summary" android:title="@string/vtldas" /> + + Date: Mon, 22 Aug 2022 03:44:16 +0300 Subject: [PATCH 022/134] code improvements --- .../ru/vtosters/lite/hooks/JsonInjectors.java | 20 +++++-------------- .../lite/ui/fragments/FeedFragment.java | 6 ++++-- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index b274a7e5e..2b8b607d4 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -504,20 +504,10 @@ public class JsonInjectors { var list = items.optJSONObject(j); var type = list.optString("type"); - if (isWhitelistedAd(list)) { - newItems.put(list); - continue; - } - if (isAds(list, type)) { continue; } - if (isWhitelistedFilters(list)) { - newItems.put(list); - continue; - } - if (authorsrecomm() && (type.equals("authors_rec") || type.startsWith("recommended_") && (type.endsWith("audios") || type.endsWith("artists") @@ -540,31 +530,31 @@ public class JsonInjectors { continue; } - if (adsgroup() && list.optInt("marked_as_ads") == 1) { + if (adsgroup() && list.optInt("marked_as_ads") == 1 && !isWhitelistedAd(list)) { if (dev()) Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: marked_as_ads is true"); continue; } - if (isBadNews(list.optString("text"))) { + if (isBadNews(list.optString("text")) && !isWhitelistedFilters(list)) { if (dev()) Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: text filters"); continue; } - if (checkCopyright(list)) { + if (checkCopyright(list) && !isWhitelistedFilters(list)) { if (dev()) Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: copyright filters"); continue; } - if (checkCaption(list)) { + if (checkCaption(list) && !isWhitelistedFilters(list)) { if (dev()) Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: caption filters"); continue; } - if (NewsFeedFiltersUtils.injectFiltersReposts(list)) { + if (NewsFeedFiltersUtils.injectFiltersReposts(list) && !isWhitelistedFilters(list)) { if (dev()) Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: repost ad"); continue; diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java index d04b3d4e2..2276597d9 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java @@ -84,10 +84,12 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment { builder.setTitle("Внимание!"); builder.setMessage("Вы действительно хотите удалить все элементы из списка?"); builder.setCancelable(false); - builder.setPositiveButton("Да", (dialogInterface, i) -> edit().remove(key).apply()); + builder.setPositiveButton("Да", (dialogInterface, i) -> { + edit().remove(key).apply(); + sendToast("Список элементов успешно очищен"); + }); builder.setNegativeButton("Отмена", (dialogInterface, i) -> dialogInterface.dismiss()); builder.show(); - sendToast("Все элементы списка удалены"); } private String countSet(String key) { From 4e6eb74a8e467747e1c4292e391684441d89f1fa Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Mon, 22 Aug 2022 03:52:01 +0300 Subject: [PATCH 023/134] fix bg color --- .../java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index a6b7286e7..5e07f38a2 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.OutputStream; import ru.vtosters.lite.utils.AndroidUtils; +import ru.vtosters.lite.utils.ThemesUtils; public class WallpapersHooks { private static File mWallpaperFile; @@ -60,7 +61,7 @@ public class WallpapersHooks { return; } - ((ImageView) view).setColorFilter(im_bg_chat); // set default bg color + view.setBackgroundColor(ThemesUtils.getColorFromAttr(im_bg_chat)); // set default bg color } public static String getWallpaperUrl() { From c8c8678785461c2527fbcc361934dcedbe0c5c8f Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Mon, 22 Aug 2022 04:41:25 +0300 Subject: [PATCH 024/134] notif counter for newsfeed if enabled milk --- app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java b/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java index 31a956c9e..f00a6e004 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java @@ -209,6 +209,7 @@ public class DockBarInjector { val = MenuCountersState.n(); break; case tab_feedback: + case tab_news: if (milkshake()) val = MenuCountersState.k(); break; From 05c557a8f7365459745236e36ef1202340a0cfb7 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Mon, 22 Aug 2022 16:17:54 +0300 Subject: [PATCH 025/134] fix whitelist toast --- app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java b/app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java index 52ae7798e..570e1f327 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java +++ b/app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java @@ -96,6 +96,7 @@ public class MenuBuilder { if (NewsfeedHook.isWhitelistedFilter(ecp)) { addItem(builder, "Удалить из вайтлиста фильтров", () -> { setWhitelistedFilter(ecp, false); + sendToast("Группа удалена из вайтлиста"); return Unit.a; }); } else { From 26a64545ff7e1e21eafe9a454582d9fe2d69b659 Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Mon, 22 Aug 2022 20:02:45 +0500 Subject: [PATCH 026/134] translate strings translate all new untranslated strings, removed useless cast to WithUserContent in ReplyMsgHook.java --- .../ru/vtosters/lite/hooks/ReplyMsgHook.java | 5 +- .../ru/vtosters/lite/proxy/http/Jetkai.java | 3 +- .../vtosters/lite/proxy/http/TheSpeedX.java | 3 +- .../ru/vtosters/lite/proxy/https/Jetkai.java | 3 +- .../vtosters/lite/proxy/https/Roosterkid.java | 3 +- .../ru/vtosters/lite/proxy/socks/Hookzof.java | 3 +- .../ru/vtosters/lite/proxy/socks/Jetkai.java | 3 +- .../vtosters/lite/proxy/socks/Roosterkid.java | 3 +- .../vtosters/lite/proxy/socks/TheSpeedX.java | 3 +- .../vtosters/lite/ui/dialogs/InstallGMS.java | 2 +- .../ru/vtosters/lite/ui/dialogs/Start.java | 2 +- .../lite/ui/dialogs/VKIDProtection.java | 2 +- .../lite/ui/fragments/FeedFragment.java | 10 ++-- .../ui/fragments/ProxySettingsFragment.java | 3 +- .../lite/ui/fragments/VTSettings.java | 2 +- .../ru/vtosters/lite/ui/vkui/MenuBuilder.java | 54 +++++++------------ smali/res/values-ru/strings.xml | 24 +++++++-- smali/res/values/arrays.xml | 2 +- smali/res/values/strings.xml | 24 +++++++-- smali/res/xml/preferences_activity.xml | 2 +- smali/res/xml/preferences_debug.xml | 2 +- smali/res/xml/preferences_feed.xml | 4 +- smali/res/xml/preferences_proxy.xml | 6 +-- 23 files changed, 95 insertions(+), 73 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ReplyMsgHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ReplyMsgHook.java index 0eb6ceaa1..a823b8bf1 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/ReplyMsgHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/ReplyMsgHook.java @@ -5,18 +5,17 @@ import static ru.vtosters.lite.encryption.EncryptProvider.decryptMessage; import com.vk.im.engine.models.ProfilesSimpleInfo; import com.vk.im.engine.models.messages.MsgFromUser; import com.vk.im.engine.models.messages.NestedMsg; -import com.vk.im.engine.models.messages.WithUserContent; import com.vk.im.ui.views.ReplyView; public class ReplyMsgHook { public static void injectWithDecrypt(ReplyView replyView, MsgFromUser msgFromUser, ProfilesSimpleInfo profilesSimpleInfo, boolean someBool) { msgFromUser.d(decryptMessage(msgFromUser)); // set new value of text in MsgFromUser class - replyView.a((WithUserContent) msgFromUser, profilesSimpleInfo, someBool); + replyView.a(msgFromUser, profilesSimpleInfo, someBool); } public static void injectWithDecrypt(ReplyView replyView, NestedMsg nestedMsg, ProfilesSimpleInfo profilesSimpleInfo, boolean someBool) { nestedMsg.d(decryptMessage(nestedMsg.f(), nestedMsg.t1())); // set new value of text in NestedMsg class - replyView.a((WithUserContent) nestedMsg, profilesSimpleInfo, someBool); + replyView.a(nestedMsg, profilesSimpleInfo, someBool); } public static void injectWithDecrypt(ReplyView replyView, NestedMsg nestedMsg, ProfilesSimpleInfo profilesSimpleInfo, boolean someBool, int i) { diff --git a/app/src/main/java/ru/vtosters/lite/proxy/http/Jetkai.java b/app/src/main/java/ru/vtosters/lite/proxy/http/Jetkai.java index 3fc7f3670..c78ba3e4f 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/http/Jetkai.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/http/Jetkai.java @@ -3,6 +3,7 @@ import static ru.vtosters.lite.proxy.GithubList.getProxy; import static ru.vtosters.lite.proxy.ProxyUtils.forceProxyApplying; import static ru.vtosters.lite.proxy.ProxyUtils.hasProxy; import static ru.vtosters.lite.utils.AndroidUtils.edit; +import static ru.vtosters.lite.utils.AndroidUtils.getString; import android.util.Log; @@ -33,7 +34,7 @@ public class Jetkai{ Log.d(TAG, "Setting proxy: " + proxy.split(":")[0] + ":" + proxy.split(":")[1]); if (RandomProxy.showProxyResult) { - AndroidUtils.sendToast("Прокси установлен, хост: " + proxy); + AndroidUtils.sendToast(getString("proxy_setup_success") + " " + proxy); RandomProxy.showProxyResult = false; RandomProxy.showProxyResult = false; } diff --git a/app/src/main/java/ru/vtosters/lite/proxy/http/TheSpeedX.java b/app/src/main/java/ru/vtosters/lite/proxy/http/TheSpeedX.java index 5db322317..14182125f 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/http/TheSpeedX.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/http/TheSpeedX.java @@ -3,6 +3,7 @@ import static ru.vtosters.lite.proxy.GithubList.getProxy; import static ru.vtosters.lite.proxy.ProxyUtils.forceProxyApplying; import static ru.vtosters.lite.proxy.ProxyUtils.hasProxy; import static ru.vtosters.lite.utils.AndroidUtils.edit; +import static ru.vtosters.lite.utils.AndroidUtils.getString; import android.util.Log; @@ -33,7 +34,7 @@ public class TheSpeedX{ Log.d(TAG, "Setting proxy: " + proxy.split(":")[0] + ":" + proxy.split(":")[1]); if (RandomProxy.showProxyResult) { - AndroidUtils.sendToast("Прокси установлен, хост: " + proxy); + AndroidUtils.sendToast(getString("proxy_setup_success") + " " + proxy); RandomProxy.showProxyResult = false; } diff --git a/app/src/main/java/ru/vtosters/lite/proxy/https/Jetkai.java b/app/src/main/java/ru/vtosters/lite/proxy/https/Jetkai.java index ee777b665..1e5395cab 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/https/Jetkai.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/https/Jetkai.java @@ -3,6 +3,7 @@ import static ru.vtosters.lite.proxy.GithubList.getProxy; import static ru.vtosters.lite.proxy.ProxyUtils.forceProxyApplying; import static ru.vtosters.lite.proxy.ProxyUtils.hasProxy; import static ru.vtosters.lite.utils.AndroidUtils.edit; +import static ru.vtosters.lite.utils.AndroidUtils.getString; import android.util.Log; @@ -33,7 +34,7 @@ public class Jetkai{ Log.d(TAG, "Setting proxy: " + proxy.split(":")[0] + ":" + proxy.split(":")[1]); if (RandomProxy.showProxyResult) { - AndroidUtils.sendToast("Прокси установлен, хост: " + proxy); + AndroidUtils.sendToast(getString("proxy_setup_success") + " " + proxy); RandomProxy.showProxyResult = false; } diff --git a/app/src/main/java/ru/vtosters/lite/proxy/https/Roosterkid.java b/app/src/main/java/ru/vtosters/lite/proxy/https/Roosterkid.java index face17a39..7361c20de 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/https/Roosterkid.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/https/Roosterkid.java @@ -3,6 +3,7 @@ import static ru.vtosters.lite.proxy.GithubList.getProxy; import static ru.vtosters.lite.proxy.ProxyUtils.forceProxyApplying; import static ru.vtosters.lite.proxy.ProxyUtils.hasProxy; import static ru.vtosters.lite.utils.AndroidUtils.edit; +import static ru.vtosters.lite.utils.AndroidUtils.getString; import android.util.Log; @@ -33,7 +34,7 @@ public class Roosterkid{ Log.d(TAG, "Setting proxy: " + proxy.split(":")[0] + ":" + proxy.split(":")[1]); if (RandomProxy.showProxyResult) { - AndroidUtils.sendToast("Прокси установлен, хост: " + proxy); + AndroidUtils.sendToast(getString("proxy_setup_success") + " " + proxy); RandomProxy.showProxyResult = false; } diff --git a/app/src/main/java/ru/vtosters/lite/proxy/socks/Hookzof.java b/app/src/main/java/ru/vtosters/lite/proxy/socks/Hookzof.java index 1d0d9e7ce..4c1f4b23c 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/socks/Hookzof.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/socks/Hookzof.java @@ -3,6 +3,7 @@ import static ru.vtosters.lite.proxy.GithubList.getProxy; import static ru.vtosters.lite.proxy.ProxyUtils.forceProxyApplying; import static ru.vtosters.lite.proxy.ProxyUtils.hasProxy; import static ru.vtosters.lite.utils.AndroidUtils.edit; +import static ru.vtosters.lite.utils.AndroidUtils.getString; import android.util.Log; @@ -33,7 +34,7 @@ public class Hookzof{ Log.d(TAG, "Setting proxy: " + proxy.split(":")[0] + ":" + proxy.split(":")[1]); if (RandomProxy.showProxyResult) { - AndroidUtils.sendToast("Прокси установлен, хост: " + proxy); + AndroidUtils.sendToast(getString("proxy_setup_success") + " " + proxy); RandomProxy.showProxyResult = false; } diff --git a/app/src/main/java/ru/vtosters/lite/proxy/socks/Jetkai.java b/app/src/main/java/ru/vtosters/lite/proxy/socks/Jetkai.java index e8e6815ee..70b133dec 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/socks/Jetkai.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/socks/Jetkai.java @@ -3,6 +3,7 @@ import static ru.vtosters.lite.proxy.GithubList.getProxy; import static ru.vtosters.lite.proxy.ProxyUtils.forceProxyApplying; import static ru.vtosters.lite.proxy.ProxyUtils.hasProxy; import static ru.vtosters.lite.utils.AndroidUtils.edit; +import static ru.vtosters.lite.utils.AndroidUtils.getString; import android.util.Log; @@ -33,7 +34,7 @@ public class Jetkai{ Log.d(TAG, "Setting proxy: " + proxy.split(":")[0] + ":" + proxy.split(":")[1]); if (RandomProxy.showProxyResult) { - AndroidUtils.sendToast("Прокси установлен, хост: " + proxy); + AndroidUtils.sendToast(getString("proxy_setup_success") + " " + proxy); RandomProxy.showProxyResult = false; } diff --git a/app/src/main/java/ru/vtosters/lite/proxy/socks/Roosterkid.java b/app/src/main/java/ru/vtosters/lite/proxy/socks/Roosterkid.java index 8a53527ef..33c5bb0f7 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/socks/Roosterkid.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/socks/Roosterkid.java @@ -3,6 +3,7 @@ import static ru.vtosters.lite.proxy.GithubList.getProxy; import static ru.vtosters.lite.proxy.ProxyUtils.forceProxyApplying; import static ru.vtosters.lite.proxy.ProxyUtils.hasProxy; import static ru.vtosters.lite.utils.AndroidUtils.edit; +import static ru.vtosters.lite.utils.AndroidUtils.getString; import android.util.Log; @@ -33,7 +34,7 @@ public class Roosterkid{ Log.d(TAG, "Setting proxy: " + proxy.split(":")[0] + ":" + proxy.split(":")[1]); if (RandomProxy.showProxyResult) { - AndroidUtils.sendToast("Прокси установлен, хост: " + proxy); + AndroidUtils.sendToast(getString("proxy_setup_success") + " " + proxy); RandomProxy.showProxyResult = false; } diff --git a/app/src/main/java/ru/vtosters/lite/proxy/socks/TheSpeedX.java b/app/src/main/java/ru/vtosters/lite/proxy/socks/TheSpeedX.java index 296b6925f..431273a6b 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/socks/TheSpeedX.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/socks/TheSpeedX.java @@ -3,6 +3,7 @@ import static ru.vtosters.lite.proxy.GithubList.getProxy; import static ru.vtosters.lite.proxy.ProxyUtils.forceProxyApplying; import static ru.vtosters.lite.proxy.ProxyUtils.hasProxy; import static ru.vtosters.lite.utils.AndroidUtils.edit; +import static ru.vtosters.lite.utils.AndroidUtils.getString; import android.util.Log; @@ -33,7 +34,7 @@ public class TheSpeedX{ Log.d(TAG, "Setting proxy: " + proxy.split(":")[0] + ":" + proxy.split(":")[1]); if (RandomProxy.showProxyResult) { - AndroidUtils.sendToast("Прокси установлен, хост: " + proxy); + AndroidUtils.sendToast(getString("proxy_setup_success") + " " + proxy); RandomProxy.showProxyResult = false; } diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/InstallGMS.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/InstallGMS.java index 68ac11147..fc6121c20 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/InstallGMS.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/InstallGMS.java @@ -19,7 +19,7 @@ public class InstallGMS { public static void alert(final Activity activity) { if (!isGmsInstalled()) { VkAlertDialog.Builder builder = new VkAlertDialog.Builder(activity); - builder.setTitle(getString("debug_warning")); + builder.setTitle(getString("warning")); builder.setMessage(getString("gmsissuesumm")); builder.setCancelable(false); builder.setPositiveButton(getString("gmsissuebtn1"), (dialogInterface, i) -> edit().putBoolean("showAlertGms", false).apply()); diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/Start.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/Start.java index 9d338aa1f..3054a5c21 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/Start.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/Start.java @@ -19,7 +19,7 @@ public class Start { activity.requestPermissions(new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"}, 228); } VkAlertDialog.Builder builder = new VkAlertDialog.Builder(activity); - builder.setTitle(getString("debug_warning")); + builder.setTitle(getString("warning")); builder.setMessage(getWelcome()); builder.setCancelable(false); // android.content.DialogInterface.OnClickListener diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java index 67072ceb8..4712c52ff 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java @@ -17,7 +17,7 @@ import ru.vtosters.lite.ui.fragments.VKUIwrapper; public class VKIDProtection { public static void alert(final Activity activity) { VkAlertDialog.Builder builder = new VkAlertDialog.Builder(activity); - builder.setTitle(getString("debug_warning")); + builder.setTitle(getString("warning")); builder.setMessage(getString("vkidsumm")); builder.setCancelable(false); // android.content.DialogInterface.OnClickListener diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java index 2276597d9..117c12629 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java @@ -81,14 +81,14 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment { private void remdialog(String key, Context context) { VkAlertDialog.Builder builder = new VkAlertDialog.Builder(context); - builder.setTitle("Внимание!"); - builder.setMessage("Вы действительно хотите удалить все элементы из списка?"); + builder.setTitle(AndroidUtils.getString("warning")); + builder.setMessage(AndroidUtils.getString("delete_elements_confirm")); builder.setCancelable(false); - builder.setPositiveButton("Да", (dialogInterface, i) -> { + builder.setPositiveButton(AndroidUtils.getString("yes"), (dialogInterface, i) -> { edit().remove(key).apply(); - sendToast("Список элементов успешно очищен"); + sendToast(AndroidUtils.getString("elements_deleted_success")); }); - builder.setNegativeButton("Отмена", (dialogInterface, i) -> dialogInterface.dismiss()); + builder.setNegativeButton(AndroidUtils.getString("cancel"), (dialogInterface, i) -> dialogInterface.dismiss()); builder.show(); } diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/ProxySettingsFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/ProxySettingsFragment.java index b57dafd83..be2a48007 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/ProxySettingsFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/ProxySettingsFragment.java @@ -12,6 +12,7 @@ import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; import java.io.IOException; import ru.vtosters.lite.proxy.RandomProxy; +import ru.vtosters.lite.utils.AndroidUtils; public class ProxySettingsFragment extends MaterialPreferenceToolbarFragment { @Override @@ -22,7 +23,7 @@ public class ProxySettingsFragment extends MaterialPreferenceToolbarFragment { try { setupNewProxy(); } catch (IOException e) { - sendToast("Ошибка при получении прокси"); + sendToast(AndroidUtils.getString("get_proxy_error")); } return true; }); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java index db7eeb3e1..61e8f885a 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java @@ -330,7 +330,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); } } else { - addPreference(this, "", AndroidUtils.getString("debug_warning"), AndroidUtils.getString("vkme_mode_info"), "ic_about_outline_28", preference -> false); + addPreference(this, "", AndroidUtils.getString("warning"), AndroidUtils.getString("vkme_mode_info"), "ic_about_outline_28", preference -> false); } addPreference(this, "", AndroidUtils.getString("vtlmedia"), mediasumm, "ic_media_outline_28", preference -> { diff --git a/app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java b/app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java index 570e1f327..eee43d18b 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java +++ b/app/src/main/java/ru/vtosters/lite/ui/vkui/MenuBuilder.java @@ -1,8 +1,10 @@ package ru.vtosters.lite.ui.vkui; import static ru.vtosters.lite.foaf.FoafBase.loadAndShow; +import static ru.vtosters.lite.hooks.NewsfeedHook.setWhitelistedAd; import static ru.vtosters.lite.hooks.NewsfeedHook.setWhitelistedFilter; import static ru.vtosters.lite.utils.AccountManagerUtils.getUserID; +import static ru.vtosters.lite.utils.AndroidUtils.getString; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import android.content.ClipData; @@ -26,7 +28,6 @@ import java.util.Objects; import kotlin.Unit; import kotlin.jvm.b.Functions; import ru.vtosters.lite.hooks.NewsfeedHook; -import ru.vtosters.lite.utils.AndroidUtils; import ru.vtosters.lite.utils.RenameTool; public class MenuBuilder { @@ -57,18 +58,17 @@ public class MenuBuilder { try { final ExtendedUserProfile eup = (ExtendedUserProfile) pfambObject.get(mb); final Context ctx = ((View) Objects.requireNonNull(apView.get(builder))).getContext(); - - addItem(builder, AndroidUtils.getString("menu_copy_id"), () -> { + addItem(builder, getString("menu_copy_id"), () -> { copy(ctx, String.valueOf(getUserID(eup))); return Unit.a; }); - addItem(builder, AndroidUtils.getString("menu_addon_info"), () -> { + addItem(builder, getString("menu_addon_info"), () -> { loadAndShow(ctx, getUserID(eup)); return Unit.a; }); - addItem(builder, AndroidUtils.getString("menu_change_name"), () -> { + addItem(builder, getString("menu_change_name"), () -> { RenameTool.createDialog(eup, ctx); return Unit.a; }); @@ -82,44 +82,30 @@ public class MenuBuilder { try { final ExtendedCommunityProfile ecp = (ExtendedCommunityProfile) cfambObject.get(mb); final Context ctx = ((View) apView.get(builder)).getContext(); + final boolean isPageWhitelistedFilter = NewsfeedHook.isWhitelistedFilter(ecp); + final boolean isPageWhitelistedAds = NewsfeedHook.isWhitelistedAd(ecp); - addItem(builder, AndroidUtils.getString("menu_copy_id"), () -> { + addItem(builder, getString("menu_copy_id"), () -> { copy(ctx, String.valueOf(getUserID(ecp))); return Unit.a; }); - addItem(builder, AndroidUtils.getString("menu_change_name"), () -> { + addItem(builder, getString("menu_change_name"), () -> { RenameTool.createDialogGroup(ecp, ctx); return Unit.a; }); - if (NewsfeedHook.isWhitelistedFilter(ecp)) { - addItem(builder, "Удалить из вайтлиста фильтров", () -> { - setWhitelistedFilter(ecp, false); - sendToast("Группа удалена из вайтлиста"); - return Unit.a; - }); - } else { - addItem(builder, "Добавить в вайтлист фильтров", () -> { - setWhitelistedFilter(ecp, true); - sendToast("Группа добавлена в вайтлист"); - return Unit.a; - }); - } + addItem(builder, getString(isPageWhitelistedFilter ? "remove_from_filter_whitelist" : "add_to_filter_whitelist"), () -> { + setWhitelistedFilter(ecp, !isPageWhitelistedFilter); + sendToast(getString(isPageWhitelistedFilter ? "removed_from_whitelist_success" : "added_to_whitelist_success")); + return Unit.a; + }); - if (NewsfeedHook.isWhitelistedAd(ecp)) { - addItem(builder, "Удалить из вайтлиста рекламы", () -> { - NewsfeedHook.setWhitelistedAd(ecp, false); - sendToast("Группа удалена из вайтлиста"); - return Unit.a; - }); - } else { - addItem(builder, "Добавить в вайтлист рекламы", () -> { - NewsfeedHook.setWhitelistedAd(ecp, true); - sendToast("Группа добавлена в вайтлист"); - return Unit.a; - }); - } + addItem(builder, getString(isPageWhitelistedAds ? "remove_from_ads_whitelist" : "add_to_ads_whitelist"), () -> { + setWhitelistedAd(ecp, !isPageWhitelistedAds); + sendToast(getString(isPageWhitelistedAds ? "removed_from_whitelist_success" : "added_to_whitelist_success")); + return Unit.a; + }); } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); @@ -131,7 +117,7 @@ public class MenuBuilder { ClipData clip = ClipData.newPlainText("MBH-ST", txt); clipboard.setPrimaryClip(clip); - sendToast(AndroidUtils.getString("menu_copied")); + sendToast(getString("menu_copied")); } public static void addItem(final ActionsPopup.b builder, final String title, final Functions onClick) throws InvocationTargetException, IllegalAccessException { diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml index 40973c6e7..f7375164f 100644 --- a/smali/res/values-ru/strings.xml +++ b/smali/res/values-ru/strings.xml @@ -5591,8 +5591,6 @@ Обновить Доступно обновление! Список изменений - Внимание! - Пожалуйста, не закрывайте приложение до окончания загрузки обновления Приватность Расширенные настройки прокси API Домен @@ -5600,7 +5598,6 @@ Донат HTTP Прокси HTTPS Прокси - Внимание! "Не используйте прокси если ВК не заблокирован в вашей стране Для применения изменений необходимо перезапустить приложение" @@ -5749,7 +5746,6 @@ Функция позволяет вам не отправлять статус вашего набора/написания сообщения Функция позволяет вам не отправлять статус просмотра вами историй - Внимание! Визуально может работать некорректно (сообщение прочиталось локально), но у собеседника оно прочитано не будет Анти-удаление сообщений @@ -5793,7 +5789,7 @@ Значения toggles не были получены с сервера - Внимание! + Внимание! Данное меню предназначено только для тестирования работоспособности приложения. Если вы являетесь рядовым юзером, то вам не следует ничего не трогать в данных настройках (пожалуйста) Показывать пункт дебага в настройках @@ -6169,4 +6165,22 @@ Разработчики клиента VTLite не несут никакой ответственности за работу и безопасность использования сторонних прокси-серверов \n\nИспользуйте на свой страх и риск Альтернативный домен VikaMobile + + Установить прокси + Получение стороннего прокси из поддерживаемых списков прокси + Прокси установлен, хост: + + Вы действительно хотите удалить все элементы из списка? + Список элементов успешно очищен + Ошибка при получении прокси + + Добавить в вайтлист фильтров + Удалить из вайтлиста фильтров + Добавить в вайтлист рекламы + Удалить из вайтлиста рекламы + Группа удалена из вайтлиста + Группа добавлена в вайтлист + + Вайтлист рекламы + Вайтлист фильтров \ No newline at end of file diff --git a/smali/res/values/arrays.xml b/smali/res/values/arrays.xml index e0554d215..140d324a3 100644 --- a/smali/res/values/arrays.xml +++ b/smali/res/values/arrays.xml @@ -741,7 +741,7 @@ liked - No Proxy + No proxy zaborona.help VikaMobile Random proxy diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml index a7625c637..17575a4c6 100644 --- a/smali/res/values/strings.xml +++ b/smali/res/values/strings.xml @@ -5725,8 +5725,6 @@ Expand text..." Update Update available! Changelog - Warning! - "Please don't close the app until the end of the update download" Privacy Advanced proxy settings API Domain @@ -5734,7 +5732,6 @@ Expand text..." Donate HTTP Proxy HTTPS Proxy - Warning! "Don't use proxy if VK is available in your country You need to restart the application to apply proxy settings" @@ -5882,7 +5879,6 @@ May look like a fake leaving the online" Function lets you don\'t send write message status Function lets you don\'t send read stories status - Warning! Visually may not work correctly (locally read), but companion will see that it wasn\'t read. Anti-delete messages @@ -5925,7 +5921,7 @@ May look like a fake leaving the online" Check for updates - Warning! + Warning! These options are for testing this app only. If you are a regular user, please, don\'t use them Show debug category in settings @@ -6307,4 +6303,22 @@ May look like a fake leaving the online" The developers of the VTLite client assume no responsibility for the safety of using third-party proxies \n\nUse at your own risk Alternative VikaMobile domain + + Set proxy + Getting a third party proxy from supported proxy lists + Proxy set up, host: + + Are you sure you want to delete all elements from the list? + Element list cleared successfully + An error occurred while getting the proxy + + Add to filters whitelist + Remove from filters whitelist + Add to ads whitelist + Remove from ads whitelist + Group removed from whitelist + Group added to whitelist + + Ads whitelist + Filters whitelist diff --git a/smali/res/xml/preferences_activity.xml b/smali/res/xml/preferences_activity.xml index 835e52ec0..37f8e65a5 100644 --- a/smali/res/xml/preferences_activity.xml +++ b/smali/res/xml/preferences_activity.xml @@ -40,7 +40,7 @@ + android:title="@string/warning" /> + android:title="@string/warning" /> + android:title="@string/whitelisted_ad_groups_title" /> + android:title="@string/whitelisted_filters_groups_title" /> + android:title="@string/warning" /> + android:summary="@string/proxy_setup_summ" + android:title="@string/proxy_setup_title" /> Date: Tue, 23 Aug 2022 13:38:56 +0300 Subject: [PATCH 027/134] fix https://github.com/vtosters/lite/issues/669 --- .../ru/vtosters/lite/hooks/PhotoViewer.java | 41 ++++++++++++++++--- .../lite/ui/wallpapers/WallpapersHooks.java | 21 ---------- 2 files changed, 36 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java b/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java index 483f4e136..773c3392d 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java @@ -67,7 +67,19 @@ public class PhotoViewer { : new RecoloredDrawable(AndroidUtils.getGlobalContext().getDrawable(R.drawable.ic_menu_search_outline_28), ThemesUtils.getAccentColor()), false, () -> { - searchPhoto(getUrlFromPhotoAttachment((PhotoAttachment) attachment)); + if (attachment instanceof PhotoAttachment) { + searchPhoto(getUrlFromPhotoAttachment((PhotoAttachment) attachment)); + } else if (attachment instanceof DocumentAttachment) { + var documentAttachment = (DocumentAttachment) attachment; + if (documentAttachment.J != null) + try { + searchPhoto(getUrlFromDocumentAttachment(documentAttachment)); + } catch (Exception e) { + ToastUtils.a(getString("photo_get_error")); + } + else + ToastUtils.a(getString("photo_get_error")); + } return null; } ); @@ -77,7 +89,19 @@ public class PhotoViewer { : new RecoloredDrawable(AndroidUtils.getGlobalContext().getDrawable(R.drawable.ic_copy_outline_28), Color.WHITE), false, () -> { - copyPhotoUrl(getUrlFromPhotoAttachment((PhotoAttachment) attachment)); + if (attachment instanceof PhotoAttachment) { + copyPhotoUrl(getUrlFromPhotoAttachment((PhotoAttachment) attachment)); + } else if (attachment instanceof DocumentAttachment) { + var documentAttachment = (DocumentAttachment) attachment; + if (documentAttachment.J != null) + try { + copyPhotoUrl(getUrlFromDocumentAttachment(documentAttachment)); + } catch (Exception e) { + ToastUtils.a(getString("photo_get_error")); + } + else + ToastUtils.a(getString("photo_get_error")); + } return null; } ); @@ -93,7 +117,11 @@ public class PhotoViewer { } else if (attachment instanceof DocumentAttachment) { var documentAttachment = (DocumentAttachment) attachment; if (documentAttachment.J != null) - openUrl(getUrlFromDocumentAttachment(documentAttachment)); + try { + openUrl(getUrlFromDocumentAttachment(documentAttachment)); + } catch (Exception e) { + ToastUtils.a(getString("photo_get_error")); + } else ToastUtils.a(getString("photo_get_error")); } @@ -103,8 +131,11 @@ public class PhotoViewer { } private static String getUrlFromDocumentAttachment(DocumentAttachment attachment) { - var imageSizes = attachment.J.t1(); - return getUrlFromImageSizeList(imageSizes); + List imageSizes = null; + if (attachment.J != null) { + imageSizes = attachment.J.t1(); + } + return getUrlFromImageSizeList(imageSizes != null ? imageSizes : null); } private static String getUrlFromPhotoAttachment(PhotoAttachment attachment) { diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index 5e07f38a2..a8616cd16 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -34,27 +34,6 @@ public class WallpapersHooks { return mWallpaperFile == null ? mWallpaperFile = new File(getGlobalContext().getFilesDir(), "wallpaper.png") : mWallpaperFile; } - public static File compressFile(File file) { // TODO rewrite compress file - Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath()); - File compressedFile = new File(file.getParent(), file.getName()); - OutputStream out = null; - try { - out = new FileOutputStream(compressedFile); - bitmap.compress(Bitmap.CompressFormat.PNG, 95, out); - } catch (Exception e) { - e.printStackTrace(); - } finally { - try { - if (out != null) { - out.close(); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - return compressedFile; - } - public static void setBg(View view) { if (getWallpaper() != null) { ((ImageView) view).setImageDrawable(getWallpaper()); // set picture to background From ecf896e44e724ebb30cb542dcc66a59ec3c2de5b Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Tue, 23 Aug 2022 14:04:14 +0300 Subject: [PATCH 028/134] maybe fix 649 --- .../lite/ui/wallpapers/ImageFilters.java | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java index d88f9ee78..e771f9a59 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java @@ -2,6 +2,7 @@ package ru.vtosters.lite.ui.wallpapers; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; import static ru.vtosters.lite.utils.AndroidUtils.getResources; +import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import android.graphics.Bitmap; import android.graphics.Canvas; @@ -130,19 +131,27 @@ public class ImageFilters { } private static void darken(Bitmap bm) { - Canvas canvas = new Canvas(bm); - Paint p = new Paint(Color.RED); - ColorFilter filter = new LightingColorFilter(0xFF7F7F7F, 0x00000000); // darken - p.setColorFilter(filter); - canvas.drawBitmap(bm, new Matrix(), p); + try { + Canvas canvas = new Canvas(bm); + Paint p = new Paint(Color.RED); + ColorFilter filter = new LightingColorFilter(0xFF7F7F7F, 0x00000000); // darken + p.setColorFilter(filter); + canvas.drawBitmap(bm, new Matrix(), p); + } catch (Exception e) { + sendToast("Ошибка при работе затемнения обоев"); + } } private static void lighten(Bitmap bm) { - Canvas canvas = new Canvas(bm); - Paint p = new Paint(Color.RED); - ColorFilter filter = new LightingColorFilter(0xFFFFFFFF, 0x00222222); // lighten - p.setColorFilter(filter); - canvas.drawBitmap(bm, new Matrix(), p); + try { + Canvas canvas = new Canvas(bm); + Paint p = new Paint(Color.RED); + ColorFilter filter = new LightingColorFilter(0xFFFFFFFF, 0x00222222); // lighten + p.setColorFilter(filter); + canvas.drawBitmap(bm, new Matrix(), p); + } catch (Exception e) { + sendToast("Ошибка при работе осветления обоев"); + } } public static Bitmap applyInvertEffect(Bitmap src) { From 9fa8df30eb152b18c579f72c0db268b18cea3d61 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Tue, 23 Aug 2022 15:40:35 +0300 Subject: [PATCH 029/134] wp compress --- .../ui/wallpapers/WallpaperMenuFragment.java | 8 +++ .../lite/ui/wallpapers/WallpapersHooks.java | 60 ++++++++++++++++++- 2 files changed, 66 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperMenuFragment.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperMenuFragment.java index 1372564bf..4a9e61689 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperMenuFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperMenuFragment.java @@ -158,6 +158,14 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment { }); } + PreferencesUtil.addMaterialSwitchPreference(this, "compresswp", "Сжимать обои", "Значительно ускоряет открытие чатов", null, true, (preference, o) -> { + boolean value = (boolean) o; + edit().putBoolean("compresswp", value).commit(); + requestUpdateWallpaper(); + mWPPreviewPref.redraw(); + return true; + }); + ListPreference blur = (ListPreference) findPreference("msg_blur_radius"); ListPreference dim = (ListPreference) findPreference("msg_dim"); ListPreference mosaic = (ListPreference) findPreference("msg_mosaic"); diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index a8616cd16..639d0af27 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -8,15 +8,19 @@ import static ru.vtosters.lite.ui.wallpapers.ImageFilters.getMonochrome; import static ru.vtosters.lite.ui.wallpapers.ImageFilters.getMosaic; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; +import static ru.vtosters.lite.utils.AndroidUtils.sendToast; +import static ru.vtosters.lite.utils.Preferences.getBoolValue; import static ru.vtosters.lite.utils.Preferences.hasVerification; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.drawable.Drawable; +import android.util.Log; import android.view.View; import android.widget.ImageView; import java.io.File; +import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -34,6 +38,52 @@ public class WallpapersHooks { return mWallpaperFile == null ? mWallpaperFile = new File(getGlobalContext().getFilesDir(), "wallpaper.png") : mWallpaperFile; } + private static Boolean eligibleWallpaperFile(File file) { + if (file.length() >= 6291456) { + sendToast("Размер файла превышает лимит 6 MB"); + removeWallpaper(); + return false; + } else { + return true; + } + } + + public static File compress(File file){ + try { + BitmapFactory.Options o = new BitmapFactory.Options(); + o.inJustDecodeBounds = true; + o.inSampleSize = 6; + + FileInputStream inputStream = new FileInputStream(file); + BitmapFactory.decodeStream(inputStream, null, o); + inputStream.close(); + + final int REQUIRED_SIZE=200; + + int scale = 1; + while(o.outWidth / scale / 2 >= REQUIRED_SIZE && o.outHeight / scale / 2 >= REQUIRED_SIZE) { + scale *= 2; + } + + BitmapFactory.Options o2 = new BitmapFactory.Options(); + o2.inSampleSize = scale; + inputStream = new FileInputStream(file); + + Bitmap selectedBitmap = BitmapFactory.decodeStream(inputStream, null, o2); + inputStream.close(); + + File outPutFile = File.createTempFile("wallpaper_temp","image"); + FileOutputStream outputStream = new FileOutputStream(outPutFile); + selectedBitmap.compress(Bitmap.CompressFormat.PNG, 85 , outputStream); + + return outPutFile; + } catch (Exception e) { + Log.d("Wallpapers", e.getMessage()); + sendToast("Ошибка при установке обоев"); + return null; + } + } + public static void setBg(View view) { if (getWallpaper() != null) { ((ImageView) view).setImageDrawable(getWallpaper()); // set picture to background @@ -44,8 +94,14 @@ public class WallpapersHooks { } public static String getWallpaperUrl() { - if (getWallpaperFile().exists()) - return getWallpaperFile().getAbsolutePath(); + if (getWallpaperFile().exists() && eligibleWallpaperFile(getWallpaperFile())) + if (compress(getWallpaperFile()) == null) { + return "default"; + } else if (getBoolValue("compresswp", true)){ + return compress(getWallpaperFile()).getAbsolutePath(); + } else { + return getWallpaperFile().getAbsolutePath(); + } else return "default"; } From 67401c68689343bae38d25b1dfd44b30ada1d1e0 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Tue, 23 Aug 2022 16:08:17 +0300 Subject: [PATCH 030/134] disabled vk api ping url (cringe and dead already) --- .../com/vtosters/lite/sync/online/GetPingUrlDaemon$b.smali | 2 ++ 1 file changed, 2 insertions(+) diff --git a/smali/smali_classes5/com/vtosters/lite/sync/online/GetPingUrlDaemon$b.smali b/smali/smali_classes5/com/vtosters/lite/sync/online/GetPingUrlDaemon$b.smali index f9cdc6d78..31ea75c96 100644 --- a/smali/smali_classes5/com/vtosters/lite/sync/online/GetPingUrlDaemon$b.smali +++ b/smali/smali_classes5/com/vtosters/lite/sync/online/GetPingUrlDaemon$b.smali @@ -39,6 +39,8 @@ .method private b()V .locals 2 + return-void + .line 1 new-instance v0, Lcom/vk/api/account/AccountGetPingUrl; From b69beff4d22d0099ef917b35e0b8782f94b136b5 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Tue, 23 Aug 2022 16:15:22 +0300 Subject: [PATCH 031/134] fix https://github.com/vtosters/lite/issues/643 --- .../com/vk/music/notification/MusicPlayerNotification.smali | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/smali/smali_classes3/com/vk/music/notification/MusicPlayerNotification.smali b/smali/smali_classes3/com/vk/music/notification/MusicPlayerNotification.smali index d63c4d4de..ea6caed3b 100644 --- a/smali/smali_classes3/com/vk/music/notification/MusicPlayerNotification.smali +++ b/smali/smali_classes3/com/vk/music/notification/MusicPlayerNotification.smali @@ -314,6 +314,8 @@ sget v1, Lcom/vk/music/m/d;->ic_stat_notify_pause:I :goto_2 + sget v1, Lcom/vk/music/m/d;->ic_music_outline_28:I + invoke-virtual {p2, v1}, Landroidx/core/app/NotificationCompat$Builder;->setSmallIcon(I)Landroidx/core/app/NotificationCompat$Builder; move-result-object p2 @@ -610,6 +612,8 @@ .line 39 :goto_0 + sget v6, Lcom/vk/music/m/d;->ic_music_outline_28:I + invoke-virtual {v5, v6}, Landroidx/core/app/NotificationCompat$Builder;->setSmallIcon(I)Landroidx/core/app/NotificationCompat$Builder; move-result-object v5 From ca48f97d838e85ac273f296868f071254c150d9e Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Tue, 23 Aug 2022 21:46:10 +0500 Subject: [PATCH 032/134] remove send toast fix messages load --- .../java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index 639d0af27..50956e5cb 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -79,7 +79,6 @@ public class WallpapersHooks { return outPutFile; } catch (Exception e) { Log.d("Wallpapers", e.getMessage()); - sendToast("Ошибка при установке обоев"); return null; } } From 43f3df487b1670ab064004d217cde43715340978 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Wed, 24 Aug 2022 13:15:37 +0300 Subject: [PATCH 033/134] msg downloader test --- .../im/ui/components/common/DialogAction.java | 3 +- .../ru/vtosters/lite/dnr/DNRInjector.java | 32 ++ .../lite/downloaders/MessagesDownloader.java | 286 ++++++++++++++++++ smali/res/values-ru/strings.xml | 2 + smali/res/values/strings.xml | 2 + 5 files changed, 324 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java diff --git a/app/src/main/java/com/vk/im/ui/components/common/DialogAction.java b/app/src/main/java/com/vk/im/ui/components/common/DialogAction.java index 1079e7ef8..844757425 100644 --- a/app/src/main/java/com/vk/im/ui/components/common/DialogAction.java +++ b/app/src/main/java/com/vk/im/ui/components/common/DialogAction.java @@ -35,5 +35,6 @@ public enum DialogAction { pinmsg, unpinmsg, ENCRYPT_SETT, - ENCRYPT + ENCRYPT, + DOWNLOAD } 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 1253c2933..31d76ff25 100644 --- a/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java +++ b/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java @@ -6,6 +6,7 @@ import static com.vk.im.engine.h.im_ic_more_vertical; import static com.vk.im.engine.h.im_ic_pinned_msg_hide; import static com.vk.im.engine.h.im_ic_pinned_msg_show; import static com.vk.im.engine.h.im_ic_write_msg; +import static com.vk.im.ui.c.im_ic_chat_settings; import static com.vk.im.ui.c.im_ic_keyboard; import static ru.vtosters.lite.dnr.DNRModule.hookDNR; import static ru.vtosters.lite.dnr.DNRModule.hookDNT; @@ -16,9 +17,11 @@ import static ru.vtosters.lite.proxy.ProxyUtils.getApi; 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 static ru.vtosters.lite.utils.Preferences.getDownloadsDir; import android.annotation.SuppressLint; import android.content.Context; +import android.os.Environment; import android.util.Log; import com.vk.core.network.Network; @@ -34,6 +37,7 @@ import com.vk.im.ui.components.common.MsgAction; import com.vk.im.ui.components.viewcontrollers.popup.DelegateMsg; import com.vk.im.ui.views.dialog_actions.DialogActionsListView; +import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.LinkedHashMap; @@ -42,6 +46,7 @@ import java.util.List; import okhttp3.Headers; import okhttp3.OkHttpClient; import okhttp3.Request; +import ru.vtosters.lite.downloaders.MessagesDownloader; import ru.vtosters.lite.encryption.EncryptProvider; import ru.vtosters.lite.encryption.base.IMProcessor; import ru.vtosters.lite.hooks.CryptImHook; @@ -56,6 +61,8 @@ public class DNRInjector { peerId = dialog.getId(); } + list.add(DialogAction.DOWNLOAD); + list.add(DialogAction.pinmsg); list.add(DialogAction.unpinmsg); @@ -79,6 +86,8 @@ public class DNRInjector { } public static LinkedHashMap injectToHashMap(LinkedHashMap hashMap) { + hashMap.put(DialogAction.DOWNLOAD, getIdentifier("download_dl", "string")); + hashMap.put(DialogAction.DNR_ON, getIdentifier("DNR_ON", "string")); hashMap.put(DialogAction.DNR_OFF, getIdentifier("DNR_OFF", "string")); hashMap.put(DialogAction.DNT_ON, getIdentifier("DNT_ON", "string")); @@ -95,6 +104,7 @@ public class DNRInjector { @SuppressLint("ResourceType") public static List injectToList(List actions) { var list = new ArrayList<>(actions); + list.add(new DialogActionsListView.b.a(DialogAction.DOWNLOAD, 1, im_ic_chat_settings, getIdentifier("download_dl", "string"))); // DialogAction, Int, Icon, String list.add(new DialogActionsListView.b.a(DialogAction.DNR_ON, 2, im_ic_pinned_msg_hide, getIdentifier("DNR_ON", "string"))); // DialogAction, Int, Icon, String list.add(new DialogActionsListView.b.a(DialogAction.DNR_OFF, 2, im_ic_pinned_msg_show, getIdentifier("DNR_OFF", "string"))); // DialogAction, Int, Icon, String @@ -123,6 +133,8 @@ public class DNRInjector { peerId = dialog.getId(); } + actions.add(DialogAction.DOWNLOAD); + if (isDnrEnabledFor(peerId)) { actions.add(DialogAction.DNR_OFF); } else { @@ -157,6 +169,16 @@ public class DNRInjector { forceInvalidateDialogActions(dialog); } + if (action == DialogAction.DOWNLOAD) { + File out = new File(Environment.getExternalStoragePublicDirectory(getDownloadsDir().getName()), peerId + "-dialog.html"); + try { + new MessagesDownloader().downloadDialog(peerId, new MessagesDownloader.HtmlDialogDownloaderFormatProvider(), out); + } catch (Exception e) { + e.printStackTrace(); + } + return true; + } + if (action == DialogAction.DNR_ON) { setDnr(dialog, true); forceInvalidateDialogActions(dialog); @@ -199,6 +221,16 @@ public class DNRInjector { DNRModule.hookRead(dialog); } + if (action == DialogAction.DOWNLOAD) { + File out = new File(Environment.getExternalStoragePublicDirectory(getDownloadsDir().getPath()), peerId + "-dialog.html"); + try { + new MessagesDownloader().downloadDialog(peerId, new MessagesDownloader.HtmlDialogDownloaderFormatProvider(), out); + } catch (Exception e) { + e.printStackTrace(); + } + return true; + } + if (action == DialogAction.DNR_ON) { setDnr(dialog, true); return true; diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java new file mode 100644 index 000000000..2c96b77f1 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java @@ -0,0 +1,286 @@ +package ru.vtosters.lite.downloaders; +import static ru.vtosters.lite.encryption.EncryptProvider.decryptMessage; +import static ru.vtosters.lite.net.Request.makeRequest; +import static ru.vtosters.lite.proxy.ProxyUtils.getApi; +import static ru.vtosters.lite.utils.AccountManagerUtils.getUserId; +import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; +import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; +import static ru.vtosters.lite.utils.AndroidUtils.getResources; + +import android.util.SparseArray; +import android.widget.Toast; + +import androidx.annotation.Nullable; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +public class MessagesDownloader{ + private static SimpleDateFormat sdformat; + + public static String formatTime(long now){ + return sdformat.format(new Date(now)); + } + + public static String join(CharSequence delimiter, Iterable elements){ + Objects.requireNonNull(delimiter); + Objects.requireNonNull(elements); + + StringBuilder builder = new StringBuilder(); + + for (CharSequence cs : elements) { + builder.append(cs).append(delimiter); + } + + return builder.toString(); + } + + public void downloadDialog(int peer_id, DialogDownloaderFormatProvider format, File out) throws Exception{ + sdformat = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss", getResources().getConfiguration().locale); + + FileOutputStream fos = new FileOutputStream(out); + + // fix TODO with conversation name (API method messages.getConversationsById) + fos.write(format.provideDocumentStart("TODO", formatTime(System.currentTimeMillis())).getBytes(StandardCharsets.UTF_8)); + + fetchDialogInfo(peer_id, 0, ((users, messages) -> { + try { + fos.write(format.provideHeader("TODO", formatTime(System.currentTimeMillis())).getBytes(StandardCharsets.UTF_8)); + for (MiniMsg msg : messages) { + fos.write(format.provideMessage(msg, users.get(msg.fromId)).getBytes(StandardCharsets.UTF_8)); + } + fos.write(format.provideDocumentEnd().getBytes(StandardCharsets.UTF_8)); + fos.close(); + Toast.makeText(getGlobalContext(), "Сохранено как " + out.getAbsolutePath(), Toast.LENGTH_SHORT).show(); + } catch (IOException | JSONException e) { + e.printStackTrace(); + } + })); + } + + public void fetchDialogInfo(int peer_id, int offset, FetchListener fl){ + makeRequest("https://" + getApi() + "/method/messages.getHistory?extended=1&v=5.140&offset=" + offset + "&count=200&peer_id=" + peer_id + "&access_token=" + getUserToken(), + response -> { + try { + JSONObject mainJson = new JSONObject(response); + JSONObject obj = mainJson.getJSONObject("response"); + + SparseArray users = new SparseArray<>(); + parseUsers(users, obj.optJSONArray("profiles"), false); + parseUsers(users, obj.optJSONArray("groups"), true); + + List msgs = parseMessages(obj.getJSONArray("items")); + + fl.onReceive(users, msgs); + } catch (JSONException e) { + e.printStackTrace(); + } + }); + } + + private List parseMessages(JSONArray jsonArray) throws JSONException{ + ArrayList thing = new ArrayList<>(); + + for (int i = 0; i < jsonArray.length(); i++) { + MiniMsg msg = new MiniMsg(jsonArray.getJSONObject(i)); + thing.add(msg); + } + + return thing; + } + + private void parseUsers(SparseArray array, @Nullable JSONArray jsonArray, boolean groups) throws JSONException{ + if (jsonArray == null) return; + + for (int i = 0; i < jsonArray.length(); i++) { + MiniUser user = new MiniUser(jsonArray.getJSONObject(i)); + array.put(groups ? -user.id : user.id, user); + } + } + + interface FetchListener{ + void onReceive(SparseArray users, List messages); + } + + static class MiniUser{ + int id; + String firstName; + String lastName; + String photo100; + + public MiniUser(JSONObject obj) throws JSONException{ + id = obj.getInt("id"); + firstName = obj.optString("first_name", obj.optString("name")); + lastName = obj.optString("last_name", ""); + photo100 = obj.getString("photo_100"); + } + } + + static class MiniMsg{ + long date; + String text; + int fromId; + List attachments; + + public MiniMsg(JSONObject obj) throws JSONException{ + date = obj.getLong("date") * 1000; + fromId = obj.getInt("from_id"); + text = decryptMessage(obj.getString("text"), obj.getInt("peer_id")); + + attachments = new ArrayList<>(); + + JSONArray arr = obj.optJSONArray("attachments"); + if (arr == null) return; + for (int i = 0; i < arr.length(); i++) attachments.add(arr.getJSONObject(i)); + } + } + + // This class defines everything which is needed to create an output file + abstract static class DialogDownloaderFormatProvider{ + // Internal, for JSON/HTML + abstract String provideDocumentStart(String dialogName, String date); + + abstract String provideDocumentEnd(); + + abstract String provideHeader(String dialogName, String date); + + abstract String provideMessage(MiniMsg message, MiniUser user) throws JSONException; + } + + public static class HtmlDialogDownloaderFormatProvider extends DialogDownloaderFormatProvider{ + @Override + String provideDocumentStart(String dialogName, String date){ + String style = ".vtex-milk-msg {\n" + + " border-radius: 8px;\n" + + " padding: 24px;\n" + + " background: white;\n" + + " margin: 16px;\n" + + " box-shadow: 0 4px 8px 0 rgba(0,0,0,0.07);\n" + + "}\n" + + "\n" + + ".vtex-milk-msgcont br {\n" + + " display: none;\n" + + "}\n" + + "\n" + + ".vtex-milk-msg p {\n" + + " margin: 0;\n" + + "}\n" + + "\n" + + ".vtex-milk-msg.vtex-milk-msg-out {\n" + + " background: #ADD3FF;\n" + + "}\n" + + "\n" + + "p.msg-attaches {\n" + + " margin-top: 8px;\n" + + " font-style: italic;\n" + + "}\n" + + "\n" + + ".vtex-milk-header {\n" + + " border-radius: 8px;\n" + + " padding: 24px;\n" + + " background: white;\n" + + " margin: 16px;\n" + + " box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);\n" + + "}\n" + + "\n" + + "h4.vtex-milk-header-txt {\n" + + " margin: 0;\n" + + "}\n" + + "\n" + + "h5.vtex-milk-header-sub {\n" + + " margin: 0;\n" + + " padding-top: 8px;\n" + + "}\n" + + "\n" + + "a.msg-attach-link {\n" + + " color: #5181B8;\n" + + " text-decoration: none;\n" + + "}\n" + + "\n" + + ".msg-from a {\n" + + " color: #5181B8;\n" + + " text-decoration: none;\n" + + "}\n" + + "\n" + + ".msg-from-date {\n" + + " color: rgba(0, 0, 0, 0.75);\n" + + "}\n" + + "\n" + + "body {\n" + + " font-family: Roboto, system-ui, sans-serif;\n" + + "}\n" + + "\n" + + ".msg-body {\n" + + " padding-top: 4px;\n" + + "}\n" + + "\n" + + ""; + + return "Экспорт из VTLite"; + } + + @Override + String provideDocumentEnd(){ + return ""; + } + + @Override + String provideHeader(String dialogName, String date){ + return "

VTLite

Экспорт истории чата (" + date + ")
"; + } + + @Override + String provideMessage(MiniMsg message, MiniUser user) throws JSONException{ + String isOut = (user.id == getUserId()) ? "vtex-milk-msg-out" : ""; + String attaches = (message.attachments.size() > 0) ? "

Вложения: " + getHtmlForAttach(message.attachments) + "

" : ""; + + return "
" + + "

от " + user.firstName + " " + user.lastName + " " + formatTime(message.date) + "

" + // TODO photo100 + "

" + message.text + "

" + + attaches + + "
"; + } + + private String getHtmlForAttach(List attaches) throws JSONException{ + StringBuilder rs = new StringBuilder(); + + for (JSONObject attach : attaches) { + String type = attach.getString("type"); + JSONObject item = attach.optJSONObject(type); + + switch(type) { + case "photo": + rs.append("фотография"); + break; + case "doc": + rs.append("документ"); + break; + case "link": + rs.append("ссылка"); + break; + case "wall": + rs.append("запись на стене"); + break; + default: + rs.append("unsupported (").append(type).append(")"); + break; + } + + rs.append(" "); + } + + return rs.toString(); + } + } +} \ No newline at end of file diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml index f7375164f..52fcf11dc 100644 --- a/smali/res/values-ru/strings.xml +++ b/smali/res/values-ru/strings.xml @@ -6183,4 +6183,6 @@ Вайтлист рекламы Вайтлист фильтров + + Скачать диалог \ No newline at end of file diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml index 17575a4c6..2a2e29391 100644 --- a/smali/res/values/strings.xml +++ b/smali/res/values/strings.xml @@ -6321,4 +6321,6 @@ May look like a fake leaving the online" Ads whitelist Filters whitelist + + Download dialog From c72e10207672cd0b013a0230ea7f7b604926e054 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Wed, 24 Aug 2022 14:00:24 +0300 Subject: [PATCH 034/134] dl icon for msg dl --- app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java | 2 +- smali/res/values-v28/styles.xml | 2 ++ smali/res/values/attrs.xml | 1 + smali/res/values/styles.xml | 5 +++++ 4 files changed, 9 insertions(+), 1 deletion(-) 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 31d76ff25..81e72d197 100644 --- a/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java +++ b/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java @@ -104,7 +104,7 @@ public class DNRInjector { @SuppressLint("ResourceType") public static List injectToList(List actions) { var list = new ArrayList<>(actions); - list.add(new DialogActionsListView.b.a(DialogAction.DOWNLOAD, 1, im_ic_chat_settings, getIdentifier("download_dl", "string"))); // DialogAction, Int, Icon, String + list.add(new DialogActionsListView.b.a(DialogAction.DOWNLOAD, 1, getIdentifier("im_ic_msgdl", "attr"), getIdentifier("download_dl", "string"))); // DialogAction, Int, Icon, String list.add(new DialogActionsListView.b.a(DialogAction.DNR_ON, 2, im_ic_pinned_msg_hide, getIdentifier("DNR_ON", "string"))); // DialogAction, Int, Icon, String list.add(new DialogActionsListView.b.a(DialogAction.DNR_OFF, 2, im_ic_pinned_msg_show, getIdentifier("DNR_OFF", "string"))); // DialogAction, Int, Icon, String diff --git a/smali/res/values-v28/styles.xml b/smali/res/values-v28/styles.xml index a8b14495e..74d3f35c6 100644 --- a/smali/res/values-v28/styles.xml +++ b/smali/res/values-v28/styles.xml @@ -160,6 +160,7 @@ @drawable/vkui_ic_voip_call_video_24 @drawable/ic_add_24 @drawable/ic_camera_switch_48 + @drawable/ic_download_24 1.0dip 6.0dip 6.0dip @@ -234,6 +235,7 @@ @drawable/ic_videocam_28_outline @drawable/ic_add_24 @drawable/ic_camera_switch_48 + @drawable/ic_download_24 3.0dip 0.0dip 8.0dip diff --git a/smali/res/values/attrs.xml b/smali/res/values/attrs.xml index 3d3084d20..6b6d2a3a6 100644 --- a/smali/res/values/attrs.xml +++ b/smali/res/values/attrs.xml @@ -2509,4 +2509,5 @@ + diff --git a/smali/res/values/styles.xml b/smali/res/values/styles.xml index ef23bea00..dabb20b6e 100644 --- a/smali/res/values/styles.xml +++ b/smali/res/values/styles.xml @@ -5176,6 +5176,7 @@ @drawable/vkui_ic_voip_call_video_24 @drawable/ic_add_24 @drawable/ic_camera_switch_48 + @drawable/ic_download_24 1.0dip 6.0dip 6.0dip @@ -6809,6 +6810,7 @@ @drawable/ic_videocam_28_outline @drawable/ic_add_24 @drawable/ic_camera_switch_48 + @drawable/ic_download_24 3.0dip 0.0dip 8.0dip @@ -9166,6 +9168,7 @@ @drawable/ic_videocam_28_outline @drawable/ic_write_outline_28_new @drawable/ic_camera_switch_outline_24 + @drawable/ic_download_outline_28 3.0dip 0.0dip 8.0dip @@ -9324,6 +9327,7 @@ @drawable/ic_videocam_28_outline @drawable/ic_write_outline_28_new @drawable/ic_camera_switch_outline_24 + @drawable/ic_download_outline_28 3.0dip 0.0dip 8.0dip @@ -9483,6 +9487,7 @@ @drawable/ic_videocam_28_outline @drawable/ic_write_outline_28_new @drawable/ic_camera_switch_outline_24 + @drawable/ic_download_outline_28 3.0dip 0.0dip 8.0dip From 4d950e5c68c2b69d1d401a21bb6dd2166b83357f Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Wed, 24 Aug 2022 14:06:33 +0300 Subject: [PATCH 035/134] deleted duplicate of profile --- .../vtosters/lite/ui/components/DockBarEditorManager.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java b/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java index 5b799985b..0ebb2d2f0 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java +++ b/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java @@ -260,13 +260,6 @@ public class DockBarEditorManager { R.string.menu_apps, R.id.menu_vk_apps, AppsFragment.class); - case "tab_menu": - return DockBarTab.valuesOf( - "tab_menu", - milkshake() ? R.drawable.ic_user_circle_outline_28 : R.drawable.ic_menu_more_outline_28, - milkshake() ? R.string.profile : R.string.menu, - R.id.tab_menu, - milkshake() ? ProfileFragment.class : MenuFragment.class); case "tab_settings": default: return DockBarTab.valuesOf( From a10c333cc62eea87405ca08afa3fc89a6787ef8d Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Wed, 24 Aug 2022 14:11:31 +0300 Subject: [PATCH 036/134] deleted duplicate of profile --- .../ru/vtosters/lite/ui/components/DockBarEditorManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java b/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java index 0ebb2d2f0..7357ad185 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java +++ b/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java @@ -97,7 +97,7 @@ public class DockBarEditorManager { private void parseSelectedTabs(String[] selectedTabsTags) { List allTags = new ArrayList<>(Arrays.asList("tab_news", "tab_superapps", "tab_messages", "tab_feedback", "tab_profile", "tab_friends", "tab_groups", "tab_photos", "tab_audios", "tab_videos", "tab_lives", "tab_games", "tab_liked", - "tab_fave", "tab_documents", "tab_payments", "tab_vk_apps", "tab_settings", "tab_menu")); + "tab_fave", "tab_documents", "tab_payments", "tab_vk_apps", "tab_settings")); for (String tag : selectedTabsTags) { mSelectedTabs.add(getTabByTag(tag)); From 3856932a3fe08ed9da763594358d737adc46bbb8 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Wed, 24 Aug 2022 22:36:22 +0300 Subject: [PATCH 037/134] some proxy fixes (vkui dead idk why) --- .../ru/vtosters/lite/proxy/ProxyUtils.java | 2 +- .../ru/vtosters/lite/proxy/api/ApiProxy.java | 37 ++++++++++++++++--- .../com/vk/webapp/bridges/AndroidBridge.smali | 10 ++++- .../webapp/bridges/VkUiConnectBridge$a.smali | 4 ++ .../webapp/bridges/VkUiConnectBridge$u.smali | 4 ++ 5 files changed, 50 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java index 663d93998..b7bbfe80e 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java @@ -59,7 +59,7 @@ public class ProxyUtils{ } public static Boolean isApiProxyEnabled(){ - return getPrefsValue("proxy").equals("apiproxy"); + return getPrefsValue("proxy").equals("apiproxy") || getPrefsValue("proxy").equals("vika"); } public static Boolean isVikaProxyEnabled(){ diff --git a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java index a9f3ba6db..a4227ef86 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java @@ -10,6 +10,9 @@ public class ApiProxy{ var vkapi = "api.vk.ru"; var oauth = "oauth.vk.ru"; var vkstatic = "static.vk.ru"; + var vkapiold = "api.vk.com"; + var oauthold = "oauth.vk.com"; + var vkstaticold = "static.vk.com"; var proxyapi = getPrefsValue("proxyapi"); var proxyoauth = getPrefsValue("proxyoauth"); @@ -21,7 +24,7 @@ public class ApiProxy{ proxystatic = VikaMobile.getStaticHost(); } - if (!isApiProxyEnabled() || link.isEmpty()) { + if ((!isApiProxyEnabled() || !isVikaProxyEnabled()) || link.isEmpty()) { return link; } @@ -31,24 +34,48 @@ public class ApiProxy{ } if (link.contains(vkapi)) { - return link.replace(proxyapi, vkapi); + return link.replaceAll(vkapi, proxyapi); } if (link.contains(oauth)) { - return link.replace(proxyoauth, oauth); + return link.replaceAll(oauth, proxyoauth); } if (link.contains(vkstatic)) { - return link.replace(proxystatic, vkstatic); + return link.replaceAll(vkstatic, proxystatic); + } + + if (link.contains(vkapiold)) { + return link.replaceAll(vkapiold, proxyapi); + } + + if (link.contains(oauthold)) { + return link.replaceAll(vkapiold, proxyoauth); + } + + if (link.contains(vkstaticold)) { + return link.replaceAll(vkapiold, proxystatic); } return link; } + public static String staticFix(String str) { + var string = getPrefsValue("proxystatic"); + + if (isVikaProxyEnabled()) { + string = VikaMobile.getStaticHost(); + } + + if ((isApiProxyEnabled() || isVikaProxyEnabled()) && string.isEmpty()) return str; + + return str.replaceAll(string, "static.vk.ru"); + } + public static String getAwayPhpCom(){ var proxyapi = getPrefsValue("proxyapi"); - if (isApiProxyEnabled() & !proxyapi.isEmpty()) { + if ((isApiProxyEnabled() || isVikaProxyEnabled()) & !proxyapi.isEmpty()) { return proxyapi; } diff --git a/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali b/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali index e02fa3ccc..91ed4affe 100644 --- a/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali +++ b/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali @@ -548,6 +548,10 @@ const-string v3, "https://oauth.vk.ru/blank.html" + invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v3 + invoke-virtual {p0, v2, v1, v3}, Lcom/vk/webapp/bridges/AndroidBridge;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri; move-result-object v1 @@ -1491,7 +1495,7 @@ move-result-object p1 - invoke-static {p1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; + invoke-static {p1}, Lru/vtosters/lite/proxy/api/ApiProxy;->staticFix(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 @@ -2141,6 +2145,10 @@ const-string v3, "https://oauth.vk.ru/blank.html" + invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v3 + .line 5 invoke-virtual {p1, v2, v3}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali index a041a822b..5aeca7377 100644 --- a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali +++ b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali @@ -132,6 +132,10 @@ aput-object p1, v0, v1 + invoke-static {p3}, Lru/vtosters/lite/proxy/api/ApiProxy;->staticFix(Ljava/lang/String;)Ljava/lang/String; + + move-result-object p3 + const-string p1, "source_url" .line 5 diff --git a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$u.smali b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$u.smali index 150ef2eab..16a3130e3 100644 --- a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$u.smali +++ b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$u.smali @@ -87,6 +87,10 @@ move-result-object v4 + invoke-static {v4}, Lru/vtosters/lite/proxy/api/ApiProxy;->staticFix(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v4 + goto :goto_0 :cond_0 From 12c01133e121f618a1d8e6a211908c71d5632115 Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Fri, 26 Aug 2022 01:13:20 +0500 Subject: [PATCH 038/134] msg downloader: update - fix photo attach size - replace mentions to links - add sticker support - add reply support - add forward messages support - add chat actions support --- .../lite/downloaders/MessagesDownloader.java | 222 +++++++++++++++++- 1 file changed, 210 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java index 2c96b77f1..c867a9f4e 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java @@ -25,10 +25,13 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.regex.Pattern; public class MessagesDownloader{ private static SimpleDateFormat sdformat; + private static SparseArray usersArray; + public static String formatTime(long now){ return sdformat.format(new Date(now)); } @@ -82,6 +85,8 @@ public class MessagesDownloader{ List msgs = parseMessages(obj.getJSONArray("items")); + usersArray = users; + fl.onReceive(users, msgs); } catch (JSONException e) { e.printStackTrace(); @@ -114,12 +119,12 @@ public class MessagesDownloader{ } static class MiniUser{ + public String firstName; + public String lastName; int id; - String firstName; - String lastName; String photo100; - public MiniUser(JSONObject obj) throws JSONException{ + public MiniUser(JSONObject obj) throws JSONException { id = obj.getInt("id"); firstName = obj.optString("first_name", obj.optString("name")); lastName = obj.optString("last_name", ""); @@ -129,20 +134,32 @@ public class MessagesDownloader{ static class MiniMsg{ long date; - String text; int fromId; + int id; // message id + String text; List attachments; + List fwd_messages; + JSONObject reply_message; // one reply + JSONObject chat_action; public MiniMsg(JSONObject obj) throws JSONException{ date = obj.getLong("date") * 1000; fromId = obj.getInt("from_id"); + id = obj.getInt("id"); text = decryptMessage(obj.getString("text"), obj.getInt("peer_id")); + reply_message = obj.optJSONObject("reply_message"); + chat_action = obj.optJSONObject("action"); attachments = new ArrayList<>(); + fwd_messages = new ArrayList<>(); JSONArray arr = obj.optJSONArray("attachments"); if (arr == null) return; for (int i = 0; i < arr.length(); i++) attachments.add(arr.getJSONObject(i)); + + JSONArray fwdArr = obj.optJSONArray("fwd_messages"); + if (fwdArr == null) return; + for (int i = 0; i < fwdArr.length(); i++) fwd_messages.add(fwdArr.getJSONObject(i)); } } @@ -185,6 +202,9 @@ public class MessagesDownloader{ " margin-top: 8px;\n" + " font-style: italic;\n" + "}\n" + + "p.chat-action {\n" + + " font-style: italic;\n" + + "}\n" + "\n" + ".vtex-milk-header {\n" + " border-radius: 8px;\n" + @@ -224,6 +244,20 @@ public class MessagesDownloader{ ".msg-body {\n" + " padding-top: 4px;\n" + "}\n" + + ".msg-reply {\n" + + " border-left: 3px solid #7aa7f6;\n" + + " margin-top: 5px;\n" + + " padding-left: 3px;\n" + + "}\n\n" + + ".msg-reply p {\n" + + " padding-left: 5px;\n" + + "}\n\n" + + ".msg-reply p.reply-header {\n" + + " color: #5181B8;\n" + + "}\n\n" + + ".msg-reply p.reply-content {\n" + + " color: #000000;\n" + + "}\n" + "\n" + ""; @@ -242,16 +276,174 @@ public class MessagesDownloader{ @Override String provideMessage(MiniMsg message, MiniUser user) throws JSONException{ - String isOut = (user.id == getUserId()) ? "vtex-milk-msg-out" : ""; + String isOut = (user.id == getUserId()) ? " vtex-milk-msg-out" : ""; + String chatAction = (message.chat_action != null) ? getHtmlForChatAction(message.chat_action) : ""; String attaches = (message.attachments.size() > 0) ? "

Вложения: " + getHtmlForAttach(message.attachments) + "

" : ""; + String reply = (message.reply_message != null) ? provideReply(message.reply_message) : ""; + String fwdMessages = (message.fwd_messages.size() > 0) ? provideForwardMessages(message.fwd_messages) : ""; - return "
" + - "

от " + user.firstName + " " + user.lastName + " " + formatTime(message.date) + "

" + // TODO photo100 - "

" + message.text + "

" + - attaches + + return "
" + + "

от " + user.firstName + " " + user.lastName + " " + formatTime(message.date) + "

" + // TODO photo100 + "

" + mentionsReplace(message.text) + "

" + + chatAction + + attaches + + reply + + fwdMessages + "
"; } + private String provideReply(JSONObject replyMessage) throws JSONException { + var messageId = replyMessage.getInt("id"); + var userId = replyMessage.getInt("from_id"); + var text = mentionsReplace(replyMessage.getString("text")); + var fwdMessages = replyMessage.optJSONArray("fwd_messages"); + + var user = usersArray.get(userId); + + if (text.isEmpty()) { + if (fwdMessages != null) { + var length = fwdMessages.length(); + if (length > 0) text = length + " " + pluralMsg(length); + } else text = "Вложение"; + } + + return "" + + "
" + + "

Пересланное сообщение

" + + "

" + user.firstName + " " + user.lastName + ": " + text + "

" + + "
" + + "
"; + } + + private String provideForwardMessages(List fwd_messages) throws JSONException { + StringBuilder fwdmsgs = new StringBuilder("
"); + + for (JSONObject fwd_message : fwd_messages) { + List attaches = new ArrayList<>(); + + JSONArray arr = fwd_message.optJSONArray("attachments"); + if (arr != null) { + for (int i = 0; i < arr.length(); i++) { + try { + attaches.add(arr.getJSONObject(i)); + } catch (JSONException e) { + e.printStackTrace(); + } + } + } + + List fwdsMsg = new ArrayList<>(); + + JSONArray fwd_msgs = fwd_message.optJSONArray("fwd_messages"); + if (fwd_msgs != null) { + for (int i = 0; i < fwd_msgs.length(); i++) { + try { + fwdsMsg.add(fwd_msgs.getJSONObject(i)); + } catch (JSONException e) { + e.printStackTrace(); + } + } + } + + JSONObject reply_message = fwd_message.optJSONObject("reply_message"); + + var attachesHtml = (attaches.size() > 0) ? "Вложения: " + getHtmlForAttach(attaches) : ""; + var replyHtml = (reply_message != null) ? provideReply(reply_message) : ""; + var fwdsHtml = (fwdsMsg.size() > 0) ? provideForwardMessages(fwdsMsg) : ""; // recursion XD :> + + var userId = fwd_message.getInt("from_id"); + var text = mentionsReplace(fwd_message.getString("text")); + + var userLink = ((userId < 0) ? "club" : "id") + Math.abs(userId); + + fwdmsgs.append("

@").append(userLink).append(": ").append(text).append(attachesHtml).append(replyHtml).append(fwdsHtml); + } + + return fwdmsgs.append("

").toString(); + } + + private String mentionsReplace(String text) { + var matcher = Pattern.compile("\\[((?:club|id|public)\\d+)\\|([^]]+)\\]").matcher(text); + + return matcher.replaceAll("$2"); + } + + private String pluralMsg(int count) { + String[] plurals = {"сообщение", "сообщения", "сообщений"}; + + var hundredModulo = count % 100; + var tenModulo = count % 10; + + if (hundredModulo > 10 && hundredModulo < 20) return plurals[2]; + else if (tenModulo > 1 && tenModulo < 5) return plurals[1]; + else if (tenModulo == 1) return plurals[0]; + + return plurals[2]; + } + + private String getHtmlForChatAction(JSONObject action) { + var type = action.optString("type"); + + StringBuilder htmlAction = new StringBuilder("

"); + + switch(type) { + case "chat_photo_update": + htmlAction.append("Обновил фотографию беседы"); + break; + case "chat_photo_remove": + htmlAction.append("Удалил фотографию беседы"); + break; + case "chat_create": + var name = action.optString("text"); + htmlAction.append("Создал беседу").append((!name.isEmpty()) ? " с названием \"" + name + "\"" : ""); + break; + case "chat_title_update": + var newName = action.optString("text"); + htmlAction.append("Сменил название беседы").append((!newName.isEmpty()) ? " на \"" + newName : "\""); + break; + case "chat_invite_user": + var newUserId = action.optInt("member_id"); + htmlAction.append("Добавил " + ((newUserId > 0) ? "пользователя" : "группу")); + if (newUserId != 0) { + var userLink = ((newUserId < 0) ? "club" : "id") + Math.abs(newUserId); + htmlAction.append(" @").append(userLink).append(""); + } + break; + case "chat_kick_user": + var removedUserId = action.optInt("member_id"); + htmlAction.append("Исключил " + ((removedUserId > 0) ? "пользователя" : "группу")); + if (removedUserId != 0) { + var userLink = ((removedUserId < 0) ? "club" : "id") + Math.abs(removedUserId); + htmlAction.append(" @").append(userLink).append(""); + } + break; + case "chat_pin_message": + var message = action.optString("message"); + htmlAction.append("Закрепил сообщение").append((!message.isEmpty()) ? (" с текстом: \"" + message + "\"") : ""); + break; + case "chat_unpin_message": + htmlAction.append("Открепил сообщение"); + break; + case "chat_invite_user_by_link": + htmlAction.append("Вступил в беседу по ссылке"); + break; + default: + htmlAction.append("Действие не поддерживается (").append(type).append(")"); + break; + } + + return htmlAction.append("

").toString(); + } + + /* + TODO: + 1) poll (опросы) + 2) audio (аудио) + 3) audio_message (голосовое сообщение) + 4) "geo" в объекте сообщения (геометка) + 5) video (видео) + */ + private String getHtmlForAttach(List attaches) throws JSONException{ StringBuilder rs = new StringBuilder(); @@ -259,9 +451,12 @@ public class MessagesDownloader{ String type = attach.getString("type"); JSONObject item = attach.optJSONObject(type); + if (item == null) continue; + switch(type) { case "photo": - rs.append("фотография"); + var sizes = item.getJSONArray("sizes"); + rs.append("фотография"); break; case "doc": rs.append("документ"); @@ -270,10 +465,13 @@ public class MessagesDownloader{ rs.append("ссылка"); break; case "wall": - rs.append("запись на стене"); + rs.append("запись на стене"); + break; + case "sticker": + rs.append(""); break; default: - rs.append("unsupported (").append(type).append(")"); + rs.append("Вложение не поддерживается (").append(type).append(")"); break; } From f1a7816e69953e79aba2d7b3efe66e5a9a55c250 Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Fri, 26 Aug 2022 01:16:01 +0500 Subject: [PATCH 039/134] msg downloader: remove some returns --- .../ru/vtosters/lite/downloaders/MessagesDownloader.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java index c867a9f4e..6b278d8c9 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java @@ -154,12 +154,12 @@ public class MessagesDownloader{ fwd_messages = new ArrayList<>(); JSONArray arr = obj.optJSONArray("attachments"); - if (arr == null) return; - for (int i = 0; i < arr.length(); i++) attachments.add(arr.getJSONObject(i)); + if (arr != null) + for (int i = 0; i < arr.length(); i++) attachments.add(arr.getJSONObject(i)); JSONArray fwdArr = obj.optJSONArray("fwd_messages"); - if (fwdArr == null) return; - for (int i = 0; i < fwdArr.length(); i++) fwd_messages.add(fwdArr.getJSONObject(i)); + if (fwdArr != null) + for (int i = 0; i < fwdArr.length(); i++) fwd_messages.add(fwdArr.getJSONObject(i)); } } From 4eea4e2011fae59796c5617ad26afee9dd7f0675 Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Fri, 26 Aug 2022 02:41:16 +0500 Subject: [PATCH 040/134] msg downloader: update - decrypt replies & forward messages - fix html bug --- .../main/java/ru/vtosters/lite/dnr/DNRInjector.java | 12 +++++++----- .../lite/downloaders/MessagesDownloader.java | 7 +++++-- smali/res/values-ru/strings.xml | 1 + smali/res/values/strings.xml | 1 + 4 files changed, 14 insertions(+), 7 deletions(-) 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 81e72d197..db551a1e8 100644 --- a/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java +++ b/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java @@ -16,6 +16,7 @@ import static ru.vtosters.lite.encryption.EncryptProvider.decryptMessage; import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; +import static ru.vtosters.lite.utils.AndroidUtils.getString; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.Preferences.getDownloadsDir; @@ -170,10 +171,11 @@ public class DNRInjector { } if (action == DialogAction.DOWNLOAD) { - File out = new File(Environment.getExternalStoragePublicDirectory(getDownloadsDir().getName()), peerId + "-dialog.html"); + File out = new File(Environment.getExternalStoragePublicDirectory(getDownloadsDir().getName()), "dialog-" + peerId + ".html"); try { new MessagesDownloader().downloadDialog(peerId, new MessagesDownloader.HtmlDialogDownloaderFormatProvider(), out); } catch (Exception e) { + sendToast(getString("download_dl_error")); e.printStackTrace(); } return true; @@ -297,13 +299,13 @@ public class DNRInjector { if (action == MsgAction.valueOf("TRANSLATE")) { if (isTextExist && isReplyExist) { - Translate.showTranslatedText(context, text + "\n\n" + AndroidUtils.getString("translator_reply") + "\n" + reply); + Translate.showTranslatedText(context, text + "\n\n" + getString("translator_reply") + "\n" + reply); } else if (isReplyExist) { - Translate.showTranslatedText(context, AndroidUtils.getString("translator_reply") + "\n" + reply); + Translate.showTranslatedText(context, getString("translator_reply") + "\n" + reply); } else if (isTextExist) { Translate.showTranslatedText(context, text); } else { - sendToast(AndroidUtils.getString("translator_no_text")); + sendToast(getString("translator_no_text")); } } @@ -331,7 +333,7 @@ public class DNRInjector { thread.start(); - sendToast(AndroidUtils.getString("pin_dialog") + " " + (needToBePinned ? AndroidUtils.getString("dialog_pinned") : AndroidUtils.getString("dialog_unpinned"))); + sendToast(getString("pin_dialog") + " " + getString(needToBePinned ? "dialog_pinned" : "dialog_unpinned")); } public static void setDnr(Dialog dialog, boolean value) { diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java index 6b278d8c9..58a6ed1e9 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java @@ -184,6 +184,7 @@ public class MessagesDownloader{ " background: white;\n" + " margin: 16px;\n" + " box-shadow: 0 4px 8px 0 rgba(0,0,0,0.07);\n" + + " word-wrap: break-word;\n" + "}\n" + "\n" + ".vtex-milk-msgcont br {\n" + @@ -295,7 +296,8 @@ public class MessagesDownloader{ private String provideReply(JSONObject replyMessage) throws JSONException { var messageId = replyMessage.getInt("id"); var userId = replyMessage.getInt("from_id"); - var text = mentionsReplace(replyMessage.getString("text")); + var peerId = replyMessage.getInt("peer_id"); + var text = mentionsReplace(decryptMessage(replyMessage.getString("text"), peerId)); var fwdMessages = replyMessage.optJSONArray("fwd_messages"); var user = usersArray.get(userId); @@ -352,7 +354,8 @@ public class MessagesDownloader{ var fwdsHtml = (fwdsMsg.size() > 0) ? provideForwardMessages(fwdsMsg) : ""; // recursion XD :> var userId = fwd_message.getInt("from_id"); - var text = mentionsReplace(fwd_message.getString("text")); + var peerId = fwd_message.getInt("peer_id"); + var text = mentionsReplace(decryptMessage(fwd_message.getString("text"), peerId)); var userLink = ((userId < 0) ? "club" : "id") + Math.abs(userId); diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml index 52fcf11dc..69d28f4ec 100644 --- a/smali/res/values-ru/strings.xml +++ b/smali/res/values-ru/strings.xml @@ -6185,4 +6185,5 @@ Вайтлист фильтров Скачать диалог + Произошла ошибка при попытке скачать диалог \ No newline at end of file diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml index 2a2e29391..afd5c37f4 100644 --- a/smali/res/values/strings.xml +++ b/smali/res/values/strings.xml @@ -6323,4 +6323,5 @@ May look like a fake leaving the online" Filters whitelist Download dialog + An error occurred while trying to download the dialog From 5ea599b61e44f2da1ed93d33c9cd6385016bf4e9 Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Fri, 26 Aug 2022 03:11:09 +0500 Subject: [PATCH 041/134] msg downloader: update - replace "get" to "opt" for avoid errors - fix vmoji sticker resolution --- .../lite/downloaders/MessagesDownloader.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java index 58a6ed1e9..88c47d1db 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java @@ -294,10 +294,10 @@ public class MessagesDownloader{ } private String provideReply(JSONObject replyMessage) throws JSONException { - var messageId = replyMessage.getInt("id"); - var userId = replyMessage.getInt("from_id"); - var peerId = replyMessage.getInt("peer_id"); - var text = mentionsReplace(decryptMessage(replyMessage.getString("text"), peerId)); + var messageId = replyMessage.optInt("id"); + var userId = replyMessage.optInt("from_id"); + var peerId = replyMessage.optInt("peer_id"); + var text = mentionsReplace(decryptMessage(replyMessage.optString("text"), peerId)); var fwdMessages = replyMessage.optJSONArray("fwd_messages"); var user = usersArray.get(userId); @@ -321,6 +321,9 @@ public class MessagesDownloader{ StringBuilder fwdmsgs = new StringBuilder("
"); for (JSONObject fwd_message : fwd_messages) { + + if (fwd_message == null) continue; + List attaches = new ArrayList<>(); JSONArray arr = fwd_message.optJSONArray("attachments"); @@ -353,9 +356,9 @@ public class MessagesDownloader{ var replyHtml = (reply_message != null) ? provideReply(reply_message) : ""; var fwdsHtml = (fwdsMsg.size() > 0) ? provideForwardMessages(fwdsMsg) : ""; // recursion XD :> - var userId = fwd_message.getInt("from_id"); - var peerId = fwd_message.getInt("peer_id"); - var text = mentionsReplace(decryptMessage(fwd_message.getString("text"), peerId)); + var userId = fwd_message.optInt("from_id"); + var peerId = fwd_message.optInt("peer_id"); + var text = mentionsReplace(decryptMessage(fwd_message.optString("text"), peerId)); var userLink = ((userId < 0) ? "club" : "id") + Math.abs(userId); @@ -471,7 +474,7 @@ public class MessagesDownloader{ rs.append("запись на стене"); break; case "sticker": - rs.append(""); + rs.append(""); break; default: rs.append("Вложение не поддерживается (").append(type).append(")"); From 2c6619a512e15918c5edfa512015310aeaea95b8 Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Fri, 26 Aug 2022 18:09:18 +0500 Subject: [PATCH 042/134] msg downloader: update - add geo support - add chat screenshot support - add custom action support - add audio message support - add audio support - add video support --- .../lite/downloaders/MessagesDownloader.java | 76 +++++++++++++++++-- 1 file changed, 68 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java index 88c47d1db..18dde6c15 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java @@ -23,6 +23,7 @@ import java.nio.charset.StandardCharsets; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; +import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.regex.Pattern; @@ -141,6 +142,7 @@ public class MessagesDownloader{ List fwd_messages; JSONObject reply_message; // one reply JSONObject chat_action; + JSONObject geo; public MiniMsg(JSONObject obj) throws JSONException{ date = obj.getLong("date") * 1000; @@ -149,6 +151,7 @@ public class MessagesDownloader{ text = decryptMessage(obj.getString("text"), obj.getInt("peer_id")); reply_message = obj.optJSONObject("reply_message"); chat_action = obj.optJSONObject("action"); + geo = obj.optJSONObject("geo"); attachments = new ArrayList<>(); fwd_messages = new ArrayList<>(); @@ -278,6 +281,18 @@ public class MessagesDownloader{ @Override String provideMessage(MiniMsg message, MiniUser user) throws JSONException{ String isOut = (user.id == getUserId()) ? " vtex-milk-msg-out" : ""; + String geoPosition = ""; + if (message.geo != null) { + var coordinates = message.geo.optJSONObject("coordinates"); + if (coordinates != null) { + var latitude = coordinates.optDouble("latitude"); + var longitude = coordinates.optDouble("longitude"); + var ll = longitude + "," + latitude; + geoPosition = "" + + "" + + ""; + } + } String chatAction = (message.chat_action != null) ? getHtmlForChatAction(message.chat_action) : ""; String attaches = (message.attachments.size() > 0) ? "

Вложения: " + getHtmlForAttach(message.attachments) + "

" : ""; String reply = (message.reply_message != null) ? provideReply(message.reply_message) : ""; @@ -286,6 +301,7 @@ public class MessagesDownloader{ return "
" + "

от " + user.firstName + " " + user.lastName + " " + formatTime(message.date) + "

" + // TODO photo100 "

" + mentionsReplace(message.text) + "

" + + geoPosition + chatAction + attaches + reply + @@ -293,7 +309,7 @@ public class MessagesDownloader{ "
"; } - private String provideReply(JSONObject replyMessage) throws JSONException { + private String provideReply(JSONObject replyMessage) { var messageId = replyMessage.optInt("id"); var userId = replyMessage.optInt("from_id"); var peerId = replyMessage.optInt("peer_id"); @@ -409,7 +425,7 @@ public class MessagesDownloader{ break; case "chat_invite_user": var newUserId = action.optInt("member_id"); - htmlAction.append("Добавил " + ((newUserId > 0) ? "пользователя" : "группу")); + htmlAction.append("Добавил ").append((newUserId > 0) ? "пользователя" : "группу"); if (newUserId != 0) { var userLink = ((newUserId < 0) ? "club" : "id") + Math.abs(newUserId); htmlAction.append(" @").append(userLink).append(""); @@ -417,7 +433,7 @@ public class MessagesDownloader{ break; case "chat_kick_user": var removedUserId = action.optInt("member_id"); - htmlAction.append("Исключил " + ((removedUserId > 0) ? "пользователя" : "группу")); + htmlAction.append("Исключил ").append((removedUserId > 0) ? "пользователя" : "группу"); if (removedUserId != 0) { var userLink = ((removedUserId < 0) ? "club" : "id") + Math.abs(removedUserId); htmlAction.append(" @").append(userLink).append(""); @@ -433,6 +449,12 @@ public class MessagesDownloader{ case "chat_invite_user_by_link": htmlAction.append("Вступил в беседу по ссылке"); break; + case "chat_screenshot": + htmlAction.append("Сделал скриншот беседы"); + break; + case "custom": + htmlAction.append(action.optString("message")); + break; default: htmlAction.append("Действие не поддерживается (").append(type).append(")"); break; @@ -444,10 +466,16 @@ public class MessagesDownloader{ /* TODO: 1) poll (опросы) - 2) audio (аудио) - 3) audio_message (голосовое сообщение) - 4) "geo" в объекте сообщения (геометка) - 5) video (видео) + 2) mini_app (поделиться миниаппом) + 3) audio_playlist (плейлист песен) + 4) market (товар) + 5) story (история) + 6) wall_reply (комментарий на стене) + 7) podcast (подкаст) + 8) gift (подарок) + 9) market_album (подборка товаров) ((хуй знает где её достать для теста) + 10) кнопки ботов + 11) карточки ботов */ private String getHtmlForAttach(List attaches) throws JSONException{ @@ -476,8 +504,17 @@ public class MessagesDownloader{ case "sticker": rs.append(""); break; + case "audio_message": + rs.append("голосовое сообщение"); + break; + case "audio": + rs.append("аудиозапись (").append(item.optString("artist")).append(" — ").append(item.optString("title")).append(")"); + break; + case "video": + rs.append("видеозапись ( ").append(getVideoHtml(item.optJSONObject("files"))).append(")"); + break; default: - rs.append("Вложение не поддерживается (").append(type).append(")"); + rs.append("не поддерживается (").append(type).append(")"); break; } @@ -487,4 +524,27 @@ public class MessagesDownloader{ return rs.toString(); } } + + private static String getVideoHtml(JSONObject files) throws JSONException { + + if (files == null) return "ссылки отсутствуют"; + + Iterator< ? > keys = files.keys(); + StringBuilder videoHtml = new StringBuilder(); + + int qualityIndex = 0; + String[] quality = {"144", "240", "360", "480", "720", "1080", "1440", "2160"}; + + while (keys.hasNext()) { + String key = (String) keys.next(); + if (key.equals("mp4_" + quality[qualityIndex])) { + videoHtml.append("").append(quality[qualityIndex]).append("p").append(" "); + + if (qualityIndex == 7) break; + ++qualityIndex; + } + } + + return videoHtml.toString(); + } } \ No newline at end of file From 9ff220475da907663693bbb7d399e945a5274e2c Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Fri, 26 Aug 2022 18:39:35 +0500 Subject: [PATCH 043/134] msg downloader: update - fix group links --- .../ru/vtosters/lite/downloaders/MessagesDownloader.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java index 18dde6c15..825033fce 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java @@ -110,7 +110,7 @@ public class MessagesDownloader{ if (jsonArray == null) return; for (int i = 0; i < jsonArray.length(); i++) { - MiniUser user = new MiniUser(jsonArray.getJSONObject(i)); + MiniUser user = new MiniUser(jsonArray.getJSONObject(i), groups); array.put(groups ? -user.id : user.id, user); } } @@ -122,14 +122,16 @@ public class MessagesDownloader{ static class MiniUser{ public String firstName; public String lastName; + public boolean isGroup; int id; String photo100; - public MiniUser(JSONObject obj) throws JSONException { + public MiniUser(JSONObject obj, boolean is_group) throws JSONException { id = obj.getInt("id"); firstName = obj.optString("first_name", obj.optString("name")); lastName = obj.optString("last_name", ""); photo100 = obj.getString("photo_100"); + isGroup = is_group; } } @@ -297,9 +299,10 @@ public class MessagesDownloader{ String attaches = (message.attachments.size() > 0) ? "

Вложения: " + getHtmlForAttach(message.attachments) + "

" : ""; String reply = (message.reply_message != null) ? provideReply(message.reply_message) : ""; String fwdMessages = (message.fwd_messages.size() > 0) ? provideForwardMessages(message.fwd_messages) : ""; + String userLink = (user.isGroup ? "club" : "id") + user.id; return "
" + - "

от " + user.firstName + " " + user.lastName + " " + formatTime(message.date) + "

" + // TODO photo100 + "

от " + user.firstName + " " + user.lastName + " " + formatTime(message.date) + "

" + // TODO photo100 "

" + mentionsReplace(message.text) + "

" + geoPosition + chatAction + From 8e12f50a7f25af79ff1f90dee768ec15b3acacd2 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 26 Aug 2022 17:00:42 +0300 Subject: [PATCH 044/134] updated todo in msgdl --- .../lite/downloaders/MessagesDownloader.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java index 825033fce..90d7ce1f7 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java @@ -471,14 +471,10 @@ public class MessagesDownloader{ 1) poll (опросы) 2) mini_app (поделиться миниаппом) 3) audio_playlist (плейлист песен) - 4) market (товар) - 5) story (история) - 6) wall_reply (комментарий на стене) - 7) podcast (подкаст) - 8) gift (подарок) - 9) market_album (подборка товаров) ((хуй знает где её достать для теста) - 10) кнопки ботов - 11) карточки ботов + 4) story (история) + 5) wall_reply (комментарий на стене) + 6) podcast (подкаст) + 7) gift (подарок) */ private String getHtmlForAttach(List attaches) throws JSONException{ From 15d2daa887a11e3176860dc272a9b83c44433778 Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Fri, 26 Aug 2022 21:09:01 +0500 Subject: [PATCH 045/134] msg downloader: update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - add wall_reply support - add story support - add podcast support - add gift support - add miniapp support - add audio playlist support - add poll support - add market support - add VK_DOMAIN constant (idk why но пусть будет) --- .../lite/downloaders/MessagesDownloader.java | 95 +++++++++++++++---- 1 file changed, 75 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java index 90d7ce1f7..d9e6d7fc1 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java @@ -33,6 +33,8 @@ public class MessagesDownloader{ private static SparseArray usersArray; + public static final String VK_DOMAIN = "vk.ru"; + public static String formatTime(long now){ return sdformat.format(new Date(now)); } @@ -264,6 +266,13 @@ public class MessagesDownloader{ ".msg-reply p.reply-content {\n" + " color: #000000;\n" + "}\n" + + ".vtex-milk-msg.poll {\n" + + " width: 45%;\n" + + " background: linear-gradient(to bottom right, #707c8c, #4d5565);\n" + + " font-style: normal;" + + "}\n" + + ".vtex-milk-msg.poll p { color: white; }\n" + + ".vtex-milk-msg.poll hr { border-top: 1px; background: #ffffff; }\n" + "\n" + ""; @@ -283,6 +292,7 @@ public class MessagesDownloader{ @Override String provideMessage(MiniMsg message, MiniUser user) throws JSONException{ String isOut = (user.id == getUserId()) ? " vtex-milk-msg-out" : ""; + String geoPosition = ""; if (message.geo != null) { var coordinates = message.geo.optJSONObject("coordinates"); @@ -295,6 +305,7 @@ public class MessagesDownloader{ ""; } } + String chatAction = (message.chat_action != null) ? getHtmlForChatAction(message.chat_action) : ""; String attaches = (message.attachments.size() > 0) ? "

Вложения: " + getHtmlForAttach(message.attachments) + "

" : ""; String reply = (message.reply_message != null) ? provideReply(message.reply_message) : ""; @@ -302,7 +313,7 @@ public class MessagesDownloader{ String userLink = (user.isGroup ? "club" : "id") + user.id; return "
" + - "

от " + user.firstName + " " + user.lastName + " " + formatTime(message.date) + "

" + // TODO photo100 + "

от " + user.firstName + " " + user.lastName + " " + formatTime(message.date) + "

" + // TODO photo100 "

" + mentionsReplace(message.text) + "

" + geoPosition + chatAction + @@ -381,7 +392,7 @@ public class MessagesDownloader{ var userLink = ((userId < 0) ? "club" : "id") + Math.abs(userId); - fwdmsgs.append("

@").append(userLink).append(": ").append(text).append(attachesHtml).append(replyHtml).append(fwdsHtml); + fwdmsgs.append("

@").append(userLink).append(": ").append(text).append(attachesHtml).append(replyHtml).append(fwdsHtml); } return fwdmsgs.append("

").toString(); @@ -390,7 +401,7 @@ public class MessagesDownloader{ private String mentionsReplace(String text) { var matcher = Pattern.compile("\\[((?:club|id|public)\\d+)\\|([^]]+)\\]").matcher(text); - return matcher.replaceAll("$2"); + return matcher.replaceAll("$2"); } private String pluralMsg(int count) { @@ -431,7 +442,7 @@ public class MessagesDownloader{ htmlAction.append("Добавил ").append((newUserId > 0) ? "пользователя" : "группу"); if (newUserId != 0) { var userLink = ((newUserId < 0) ? "club" : "id") + Math.abs(newUserId); - htmlAction.append(" @").append(userLink).append(""); + htmlAction.append(" @").append(userLink).append(""); } break; case "chat_kick_user": @@ -439,7 +450,7 @@ public class MessagesDownloader{ htmlAction.append("Исключил ").append((removedUserId > 0) ? "пользователя" : "группу"); if (removedUserId != 0) { var userLink = ((removedUserId < 0) ? "club" : "id") + Math.abs(removedUserId); - htmlAction.append(" @").append(userLink).append(""); + htmlAction.append(" @").append(userLink).append(""); } break; case "chat_pin_message": @@ -466,17 +477,6 @@ public class MessagesDownloader{ return htmlAction.append("

").toString(); } - /* - TODO: - 1) poll (опросы) - 2) mini_app (поделиться миниаппом) - 3) audio_playlist (плейлист песен) - 4) story (история) - 5) wall_reply (комментарий на стене) - 6) podcast (подкаст) - 7) gift (подарок) - */ - private String getHtmlForAttach(List attaches) throws JSONException{ StringBuilder rs = new StringBuilder(); @@ -486,7 +486,7 @@ public class MessagesDownloader{ if (item == null) continue; - switch(type) { + switch(type) { // market_album is not supported case "photo": var sizes = item.getJSONArray("sizes"); rs.append("фотография"); @@ -498,7 +498,7 @@ public class MessagesDownloader{ rs.append("ссылка"); break; case "wall": - rs.append("запись на стене"); + rs.append("запись на стене"); break; case "sticker": rs.append(""); @@ -512,6 +512,43 @@ public class MessagesDownloader{ case "video": rs.append("видеозапись ( ").append(getVideoHtml(item.optJSONObject("files"))).append(")"); break; + case "wall_reply": + var link = "https://" + VK_DOMAIN + "/wall" + item.optString("owner_id") + "_" + item.optString("post_id") + "?reply=" + item.optString("id"); + rs.append("комментарий на стене"); + break; + case "story": + var story_link = "https://" + VK_DOMAIN + "/story" + item.optString("owner_id") + "_" + item.optString("id"); + rs.append("история"); + break; + case "podcast": + var podcast_link = "https://" + VK_DOMAIN + "/podcast" + item.optString("owner_id") + "_" + item.optString("id"); + rs.append("подкаст"); + break; + case "gift": + rs.append(""); + break; + case "mini_app": + var app = item.optJSONObject("app"); + + if (app != null) { + var miniapp_link = "https://" + VK_DOMAIN + "/app" + app.optString("id"); + rs.append("мини-приложение"); + break; + } + + rs.append("ошибка"); + break; + case "audio_playlist": + var playlist_link = "https://" + VK_DOMAIN + "/music/album/" + item.optString("owner_id") + "_" + item.optString("id") + "_" + item.optString("access_key"); + rs.append("плейлист (").append(item.optString("title")).append(")"); + break; + case "poll": + rs.append((item.optBoolean("anonymous") ? "анонимный" : "публичный")).append(" опрос ").append(getPollHtml(item)); + break; + case "market": + var market_item_link = "https://" + VK_DOMAIN + "/market" + item.optString("owner_id") + "_" + item.optString("id"); + rs.append("товар"); + break; default: rs.append("не поддерживается (").append(type).append(")"); break; @@ -524,8 +561,26 @@ public class MessagesDownloader{ } } - private static String getVideoHtml(JSONObject files) throws JSONException { + private static String getPollHtml(JSONObject poll) throws JSONException { + StringBuilder pollHtml = new StringBuilder( + "
" + + "

" + poll.optString("question") + "

" + ); + var answers = poll.optJSONArray("answers"); + + for (int i = 0; i < answers.length(); i++) { + var jsonObject = answers.optJSONObject(i); + if (jsonObject != null) + pollHtml.append("

").append(jsonObject.optString("text")).append(" · ").append(jsonObject.optString("votes")).append(" (").append(jsonObject.optString("rate")).append("%)

"); + } + + pollHtml.append("

Проголосовало ").append(poll.optString("votes")).append(" чел.

"); + + return pollHtml.append("
").toString(); + } + + private static String getVideoHtml(JSONObject files) throws JSONException { if (files == null) return "ссылки отсутствуют"; Iterator< ? > keys = files.keys(); @@ -539,7 +594,7 @@ public class MessagesDownloader{ if (key.equals("mp4_" + quality[qualityIndex])) { videoHtml.append("").append(quality[qualityIndex]).append("p").append(" "); - if (qualityIndex == 7) break; + if (qualityIndex == quality.length - 1) break; ++qualityIndex; } } From d9f03a5d0efd9972e2fd4558107a4822d18b8ecb Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Fri, 26 Aug 2022 21:13:58 +0500 Subject: [PATCH 046/134] msg downloader: VK_DOMAIN -> private --- .../java/ru/vtosters/lite/downloaders/MessagesDownloader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java index d9e6d7fc1..14132fd4a 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java @@ -33,7 +33,7 @@ public class MessagesDownloader{ private static SparseArray usersArray; - public static final String VK_DOMAIN = "vk.ru"; + private static final String VK_DOMAIN = "vk.ru"; public static String formatTime(long now){ return sdformat.format(new Date(now)); From f96baa58acd3be8676aa9727d790cd9053c563e0 Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Fri, 26 Aug 2022 23:12:48 +0500 Subject: [PATCH 047/134] wallpapers hooks: fix (maybe) - close outputstream > release dedicated memory - delete temp file on exit - improved check"compress" for null --- .../lite/ui/wallpapers/WallpapersHooks.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index 50956e5cb..076136057 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -73,8 +73,10 @@ public class WallpapersHooks { inputStream.close(); File outPutFile = File.createTempFile("wallpaper_temp","image"); + outPutFile.deleteOnExit(); FileOutputStream outputStream = new FileOutputStream(outPutFile); selectedBitmap.compress(Bitmap.CompressFormat.PNG, 85 , outputStream); + outputStream.close(); return outPutFile; } catch (Exception e) { @@ -93,16 +95,20 @@ public class WallpapersHooks { } public static String getWallpaperUrl() { - if (getWallpaperFile().exists() && eligibleWallpaperFile(getWallpaperFile())) - if (compress(getWallpaperFile()) == null) { + var file = getWallpaperFile(); + + if (file.exists() && eligibleWallpaperFile(file)) { + var compressed = compress(file); + if (compressed == null) { return "default"; - } else if (getBoolValue("compresswp", true)){ - return compress(getWallpaperFile()).getAbsolutePath(); + } else if (getBoolValue("compresswp", true) && compressed != null) { + return compressed.getAbsolutePath(); } else { - return getWallpaperFile().getAbsolutePath(); + return file.getAbsolutePath(); } - else - return "default"; + } + + return "default"; } public static Drawable getWallpaper() { From b756bfa62238a81895caba54971f3e7c239d88ec Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 26 Aug 2022 21:33:29 +0300 Subject: [PATCH 048/134] proxy fixes --- .../java/com/vk/core/util/DownloadUtils.java | 4 --- .../com/vk/sharing/view/TargetImageView.java | 3 -- .../vk/stories/view/StoryCircleImageView.java | 5 --- .../BottomNavigationItemView.java | 3 +- .../ru/vtosters/lite/dnr/DNRInjector.java | 4 --- .../java/ru/vtosters/lite/dnr/DNRModule.java | 2 +- .../lite/downloaders/AudioDownloader.java | 1 - .../lite/downloaders/StoryDownloader.java | 2 -- .../lite/downloaders/VideoDownloader.java | 2 -- .../java/ru/vtosters/lite/foaf/FoafBase.java | 7 ++--- .../vtosters/lite/hooks/DeviceInfoHook.java | 3 -- .../vtosters/lite/hooks/DockBarInjector.java | 1 - .../ru/vtosters/lite/hooks/JsonInjectors.java | 2 +- .../ru/vtosters/lite/hooks/MessagesHook.java | 7 ++--- .../ru/vtosters/lite/hooks/NewsfeedHook.java | 4 +-- .../lite/hooks/OnlineFormatterHook.java | 2 +- .../ru/vtosters/lite/hooks/PhotoViewer.java | 2 +- .../ru/vtosters/lite/hooks/ProxyHook.java | 4 +-- .../ru/vtosters/lite/music/MP3Downloader.java | 1 - .../ru/vtosters/lite/proxy/ProxyUtils.java | 31 +++++++++++++++---- .../ru/vtosters/lite/proxy/RandomProxy.java | 1 - .../ru/vtosters/lite/proxy/api/ApiProxy.java | 16 +++++++--- .../ui/components/SuperAppEditorManager.java | 1 - .../ui/dialogs/RoundingSeekbarDialog.java | 1 - .../lite/ui/dialogs/VKIDProtection.java | 4 +-- .../ui/fragments/DockBarEditorFragment.java | 2 -- .../lite/ui/fragments/FeedFragment.java | 3 -- .../lite/ui/fragments/MessagesFragment.java | 7 ++--- .../lite/ui/fragments/OtherFragment.java | 1 - .../ui/fragments/ProxySettingsFragment.java | 2 -- .../tgstickers/StickersFragment.java | 1 - .../ui/wallpapers/WallpaperMenuFragment.java | 1 - .../lite/ui/wallpapers/WallpapersHooks.java | 2 -- .../ru/vtosters/lite/utils/CacheUtils.java | 2 -- .../ru/vtosters/lite/utils/ImageUtils.java | 1 - .../ru/vtosters/lite/utils/Preferences.java | 4 +-- .../ru/vtosters/lite/utils/SSFSUtils.java | 4 +-- 37 files changed, 58 insertions(+), 85 deletions(-) diff --git a/app/src/main/java/com/vk/core/util/DownloadUtils.java b/app/src/main/java/com/vk/core/util/DownloadUtils.java index da49f43b2..c4a04af04 100644 --- a/app/src/main/java/com/vk/core/util/DownloadUtils.java +++ b/app/src/main/java/com/vk/core/util/DownloadUtils.java @@ -1,6 +1,5 @@ package com.vk.core.util; -import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.Preferences.getDownloadsDir; import static ru.vtosters.lite.utils.Preferences.getMusicDir; import static ru.vtosters.lite.utils.Preferences.getPhotosDir; @@ -13,10 +12,8 @@ import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteException; -import android.media.MediaScannerConnection; import android.net.Uri; import android.text.TextUtils; -import android.util.Log; import com.facebook.common.i.MediaUtils; import com.facebook.x.g.EncodedImage; @@ -24,7 +21,6 @@ import com.vk.core.concurrent.VkExecutors; import com.vk.imageloader.VKImageLoader; import com.vk.log.L; import com.vk.metrics.eventtracking.VkTracker; -import com.vtosters.lite.MainActivity; import com.vtosters.lite.R; import java.io.File; diff --git a/app/src/main/java/com/vk/sharing/view/TargetImageView.java b/app/src/main/java/com/vk/sharing/view/TargetImageView.java index 69b4cb999..9daf7139f 100644 --- a/app/src/main/java/com/vk/sharing/view/TargetImageView.java +++ b/app/src/main/java/com/vk/sharing/view/TargetImageView.java @@ -11,7 +11,6 @@ import android.graphics.BitmapShader; import android.graphics.Canvas; import android.graphics.LinearGradient; import android.graphics.Paint; -import android.graphics.Path; import android.graphics.PorterDuff; import android.graphics.RectF; import android.graphics.Shader; @@ -36,8 +35,6 @@ import com.vtosters.lite.a0; import java.util.Arrays; -import ru.vtosters.lite.utils.AndroidUtils; - @UiThread public class TargetImageView extends VKMultiImageView { private static final int I = Screen.a(2); diff --git a/app/src/main/java/com/vk/stories/view/StoryCircleImageView.java b/app/src/main/java/com/vk/stories/view/StoryCircleImageView.java index 8cd135949..ede58dcb6 100644 --- a/app/src/main/java/com/vk/stories/view/StoryCircleImageView.java +++ b/app/src/main/java/com/vk/stories/view/StoryCircleImageView.java @@ -1,7 +1,5 @@ package com.vk.stories.view; -import static ru.vtosters.lite.utils.ThemesUtils.getColor2; - import android.animation.ValueAnimator; import android.annotation.SuppressLint; import android.content.Context; @@ -29,7 +27,6 @@ import com.facebook.imagepipeline.request.ImageRequest; import com.facebook.imagepipeline.request.ImageRequestBuilder; import com.facebook.u.b.a.PipelineDraweeControllerBuilder; import com.facebook.x.g.CloseableImage; -import com.vk.core.drawable.BorderDrawable; import com.vk.core.ui.themes.Themable; import com.vk.core.ui.themes.VKThemeHelper; import com.vk.core.util.DrawableUtils; @@ -50,8 +47,6 @@ import java.util.HashSet; import java.util.List; import java.util.Objects; -import ru.vtosters.lite.utils.AndroidUtils; - public class StoryCircleImageView extends BorderedCircleImageView implements Themable{ private static final HashSet B0 = new HashSet<>(); private final PipelineDraweeControllerBuilder f0; diff --git a/app/src/main/java/com/vtosters/lite/ui/bottomnavigation/BottomNavigationItemView.java b/app/src/main/java/com/vtosters/lite/ui/bottomnavigation/BottomNavigationItemView.java index d661873f5..4cbde195e 100644 --- a/app/src/main/java/com/vtosters/lite/ui/bottomnavigation/BottomNavigationItemView.java +++ b/app/src/main/java/com/vtosters/lite/ui/bottomnavigation/BottomNavigationItemView.java @@ -1,6 +1,6 @@ package com.vtosters.lite.ui.bottomnavigation; -import static ru.vtosters.lite.utils.Preferences.*; +import static ru.vtosters.lite.utils.Preferences.vkme; import static ru.vtosters.lite.utils.ThemesUtils.getCSTDock; import android.annotation.SuppressLint; @@ -31,7 +31,6 @@ import com.vk.core.ui.themes.VKThemeHelper; import com.vtosters.lite.R; import me.grishka.appkit.utils.V; -import ru.vtosters.lite.utils.Preferences; public class BottomNavigationItemView extends FrameLayout implements MenuView.ItemView { private final TextView mSmallLabel; 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 db551a1e8..d4f6a02c7 100644 --- a/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java +++ b/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java @@ -5,8 +5,6 @@ import static com.vk.im.engine.h.im_ic_edit_msg; import static com.vk.im.engine.h.im_ic_more_vertical; import static com.vk.im.engine.h.im_ic_pinned_msg_hide; import static com.vk.im.engine.h.im_ic_pinned_msg_show; -import static com.vk.im.engine.h.im_ic_write_msg; -import static com.vk.im.ui.c.im_ic_chat_settings; import static com.vk.im.ui.c.im_ic_keyboard; import static ru.vtosters.lite.dnr.DNRModule.hookDNR; import static ru.vtosters.lite.dnr.DNRModule.hookDNT; @@ -29,7 +27,6 @@ import com.vk.core.network.Network; import com.vk.im.engine.ImEngine1; import com.vk.im.engine.events.OnDialogUpdateEvent; import com.vk.im.engine.models.EntityIntMap; -import com.vk.im.engine.models.ProfilesSimpleInfo; import com.vk.im.engine.models.dialogs.Dialog; import com.vk.im.engine.models.messages.Msg; import com.vk.im.engine.models.messages.MsgFromUser; @@ -52,7 +49,6 @@ import ru.vtosters.lite.encryption.EncryptProvider; import ru.vtosters.lite.encryption.base.IMProcessor; import ru.vtosters.lite.hooks.CryptImHook; import ru.vtosters.lite.ui.dialogs.Translate; -import ru.vtosters.lite.utils.AndroidUtils; public class DNRInjector { public static void inject(Dialog dialog, List list) { diff --git a/app/src/main/java/ru/vtosters/lite/dnr/DNRModule.java b/app/src/main/java/ru/vtosters/lite/dnr/DNRModule.java index 3b3564fb1..98ca1f94e 100644 --- a/app/src/main/java/ru/vtosters/lite/dnr/DNRModule.java +++ b/app/src/main/java/ru/vtosters/lite/dnr/DNRModule.java @@ -1,8 +1,8 @@ package ru.vtosters.lite.dnr; import static ru.vtosters.lite.net.Request.makeRequest; -import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; import static ru.vtosters.lite.proxy.ProxyUtils.getApi; +import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; import android.util.Log; diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java index f7f405936..d548482e2 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java @@ -2,7 +2,6 @@ package ru.vtosters.lite.downloaders; import static ru.vtosters.lite.utils.Preferences.getMusicDir; -import android.os.Environment; import android.util.Log; import androidx.core.app.NotificationCompat; diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java index 287374997..54d81bae1 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java @@ -7,12 +7,10 @@ import static ru.vtosters.lite.utils.Preferences.getPhotosDir; import android.app.DownloadManager; import android.content.Context; import android.net.Uri; -import android.os.Environment; import com.vk.dto.common.ImageSize; import com.vk.dto.stories.model.StoryEntry; -import java.io.File; import java.util.List; public class StoryDownloader { diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java index d5a001773..429e903cb 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java @@ -8,12 +8,10 @@ import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getString; import static ru.vtosters.lite.utils.Preferences.getVideosDir; -import android.app.AlertDialog; import android.app.DownloadManager; import android.app.ProgressDialog; import android.content.Context; import android.net.Uri; -import android.os.Environment; import android.widget.Toast; import com.vk.core.dialogs.alert.VkAlertDialog; diff --git a/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java b/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java index 3c0d767f4..94ee315ce 100644 --- a/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java +++ b/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java @@ -2,11 +2,11 @@ package ru.vtosters.lite.foaf; import static android.widget.Toast.LENGTH_SHORT; import static android.widget.Toast.makeText; +import static ru.vtosters.lite.proxy.ProxyUtils.getApi; +import static ru.vtosters.lite.proxy.ProxyUtils.isAnyProxyEnabled; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getString; -import static ru.vtosters.lite.proxy.ProxyUtils.isApiProxyEnabled; -import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import android.annotation.SuppressLint; import android.app.ProgressDialog; @@ -35,7 +35,6 @@ import java.util.regex.Pattern; import okhttp3.Headers; import okhttp3.OkHttpClient; import ru.vtosters.lite.net.Request; -import ru.vtosters.lite.utils.AccountManagerUtils; public class FoafBase { private static final Pattern FOAF_REGEX = Pattern.compile(""); @@ -115,7 +114,7 @@ public class FoafBase { private static String getLink(int i) { String str; StringBuilder sb; - if (isApiProxyEnabled()) { + if (isAnyProxyEnabled()) { sb = new StringBuilder(); str = "https://" + getApi() + "/_/vk.ru/foaf.php?id="; } else { diff --git a/app/src/main/java/ru/vtosters/lite/hooks/DeviceInfoHook.java b/app/src/main/java/ru/vtosters/lite/hooks/DeviceInfoHook.java index 0e781bc94..f259a4c4e 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/DeviceInfoHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/DeviceInfoHook.java @@ -4,13 +4,10 @@ import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.Preferences.getBoolValue; import android.annotation.SuppressLint; -import android.content.Context; import android.os.Build; import android.provider.Settings; import android.util.Log; -import java.util.Random; - public class DeviceInfoHook{ public static String getDeviceInfo(String input) { Log.d("DeviceInfoHook", "getDeviceInfo: " + input); diff --git a/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java b/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java index f00a6e004..658494520 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java @@ -35,7 +35,6 @@ import com.vk.core.fragments.FragmentImpl; import com.vk.core.util.StringUtils; import com.vk.navigation.right.RightMenu; import com.vtosters.lite.MenuCountersState; -import com.vtosters.lite.fragments.ProfileFragment; import com.vtosters.lite.ui.bottomnavigation.BottomNavigationMenuView; import com.vtosters.lite.ui.bottomnavigation.BottomNavigationView; diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index 2b8b607d4..6874be0e7 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -1,8 +1,8 @@ package ru.vtosters.lite.hooks; import static ru.vtosters.lite.foaf.FoafBase.getBypassedOnlineInfo; -import static ru.vtosters.lite.hooks.OnlineFormatterHook.onlineHookProfiles; import static ru.vtosters.lite.hooks.DateHook.getLocale; +import static ru.vtosters.lite.hooks.OnlineFormatterHook.onlineHookProfiles; import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import static ru.vtosters.lite.proxy.ProxyUtils.getStatic; import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; diff --git a/app/src/main/java/ru/vtosters/lite/hooks/MessagesHook.java b/app/src/main/java/ru/vtosters/lite/hooks/MessagesHook.java index 59eb29a4a..2fb860edb 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/MessagesHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/MessagesHook.java @@ -12,11 +12,10 @@ import android.view.View; import com.vk.api.internal.MethodCall; -import ru.vtosters.lite.translators.BaseTranslator; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; import java.util.ArrayList; +import java.util.regex.Pattern; + +import ru.vtosters.lite.translators.BaseTranslator; public class MessagesHook { public static String injectOwnText(String oldText) { diff --git a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java index 018054dbb..a529c43a2 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java @@ -1,7 +1,7 @@ package ru.vtosters.lite.hooks; import static java.lang.Long.MAX_VALUE; -import static ru.vtosters.lite.utils.AndroidUtils.*; +import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCaption; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCopyright; @@ -20,7 +20,6 @@ import static ru.vtosters.lite.utils.Preferences.adsslider; import static ru.vtosters.lite.utils.Preferences.authorsrecomm; import static ru.vtosters.lite.utils.Preferences.friendsrecomm; import static ru.vtosters.lite.utils.Preferences.getBoolValue; -import static ru.vtosters.lite.utils.Preferences.milkshake; import static ru.vtosters.lite.utils.Preferences.vkme; import com.vk.core.preference.Preference; @@ -36,7 +35,6 @@ import java.util.LinkedHashSet; import java.util.List; import ru.vtosters.lite.utils.AccountManagerUtils; -import ru.vtosters.lite.utils.AndroidUtils; public class NewsfeedHook { public static boolean injectFilters(JSONObject obj) throws JSONException { diff --git a/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java b/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java index 549bceb5c..55c42093f 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java @@ -3,13 +3,13 @@ package ru.vtosters.lite.hooks; import static ru.vtosters.lite.hooks.JsonInjectors.setOnlineInfo; import static ru.vtosters.lite.hooks.JsonInjectors.setOnlineInfoUsers; import static ru.vtosters.lite.net.Request.makeRequest; +import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; import static ru.vtosters.lite.utils.AndroidUtils.getString; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.Preferences.dev; import static ru.vtosters.lite.utils.Preferences.getBoolValue; import static ru.vtosters.lite.utils.Preferences.getPrefsFromFile; -import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import android.util.Log; diff --git a/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java b/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java index 773c3392d..97840b7dc 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java @@ -1,8 +1,8 @@ package ru.vtosters.lite.hooks; -import static ru.vtosters.lite.utils.AndroidUtils.getString; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; +import static ru.vtosters.lite.utils.AndroidUtils.getString; import android.annotation.SuppressLint; import android.content.ClipData; diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java index 37fa023c1..712d680af 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java @@ -1,11 +1,11 @@ package ru.vtosters.lite.hooks; +import static ru.vtosters.lite.proxy.ProxyUtils.isRandomProxyEnabled; import static ru.vtosters.lite.proxy.ProxyUtils.isVikaProxyEnabled; +import static ru.vtosters.lite.proxy.ProxyUtils.isZaboronaEnabled; import static ru.vtosters.lite.utils.AndroidUtils.dp2px; import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.LifecycleUtils.restartApplication; -import static ru.vtosters.lite.proxy.ProxyUtils.isRandomProxyEnabled; -import static ru.vtosters.lite.proxy.ProxyUtils.isZaboronaEnabled; import static ru.vtosters.lite.utils.ThemesUtils.getAccentColor; import static ru.vtosters.lite.utils.ThemesUtils.getAlertStyle; import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr; diff --git a/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java b/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java index 9eb84fbc7..079d3b1c3 100644 --- a/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java +++ b/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java @@ -6,7 +6,6 @@ import static ru.vtosters.lite.utils.Preferences.getMusicDir; import android.app.DownloadManager; import android.net.Uri; import android.os.Build; -import android.os.Environment; import android.util.Log; import android.widget.Toast; diff --git a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java index b7bbfe80e..08c2bb551 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java @@ -1,6 +1,9 @@ package ru.vtosters.lite.proxy; import static java.lang.System.clearProperty; +import static ru.vtosters.lite.proxy.api.VikaMobile.getApiHost; +import static ru.vtosters.lite.proxy.api.VikaMobile.getOauthHost; +import static ru.vtosters.lite.proxy.api.VikaMobile.getStaticHost; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; @@ -23,7 +26,11 @@ public class ProxyUtils{ public static String getApi(){ var proxyapi = getPrefsValue("proxyapi"); - if (isApiProxyEnabled() & !proxyapi.isEmpty()) { + if (isVikaProxyEnabled()) { + proxyapi = getApiHost(); + } + + if (isAnyProxyEnabled() & !proxyapi.isEmpty()) { return proxyapi; } @@ -33,7 +40,11 @@ public class ProxyUtils{ public static String getOauth(){ var oauth = getPrefsValue("proxyoauth"); - if (isApiProxyEnabled() & !oauth.isEmpty()) { + if (isVikaProxyEnabled()) { + oauth = getOauthHost(); + } + + if (isAnyProxyEnabled() & !oauth.isEmpty()) { return oauth; } @@ -41,15 +52,23 @@ public class ProxyUtils{ } public static String getStatic(){ - var oauth = getPrefsValue("proxystatic"); + var staticapi = getPrefsValue("proxystatic"); - if (isApiProxyEnabled() & !oauth.isEmpty()) { - return oauth; + if (isVikaProxyEnabled()) { + staticapi = getStaticHost(); + } + + if (isAnyProxyEnabled() & !staticapi.isEmpty()) { + return staticapi; } return "static.vk.ru"; } + public static Boolean isAnyProxyEnabled(){ + return isApiProxyEnabled() || isVikaProxyEnabled(); + } + public static Boolean isZaboronaEnabled(){ return getPrefsValue("proxy").equals("zaborona"); } @@ -59,7 +78,7 @@ public class ProxyUtils{ } public static Boolean isApiProxyEnabled(){ - return getPrefsValue("proxy").equals("apiproxy") || getPrefsValue("proxy").equals("vika"); + return getPrefsValue("proxy").equals("apiproxy"); } public static Boolean isVikaProxyEnabled(){ diff --git a/app/src/main/java/ru/vtosters/lite/proxy/RandomProxy.java b/app/src/main/java/ru/vtosters/lite/proxy/RandomProxy.java index ac5d25d1f..d01847cc6 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/RandomProxy.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/RandomProxy.java @@ -2,7 +2,6 @@ package ru.vtosters.lite.proxy; import static ru.vtosters.lite.proxy.ProxyUtils.forceProxyApplying; import static ru.vtosters.lite.proxy.ProxyUtils.resetProxy; import static ru.vtosters.lite.utils.AndroidUtils.edit; -import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.Preferences.preferences; import java.io.IOException; diff --git a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java index a4227ef86..a312b5ba8 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java @@ -1,5 +1,5 @@ package ru.vtosters.lite.proxy.api; -import static ru.vtosters.lite.proxy.ProxyUtils.isApiProxyEnabled; +import static ru.vtosters.lite.proxy.ProxyUtils.isAnyProxyEnabled; import static ru.vtosters.lite.proxy.ProxyUtils.isVikaProxyEnabled; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; @@ -24,7 +24,7 @@ public class ApiProxy{ proxystatic = VikaMobile.getStaticHost(); } - if ((!isApiProxyEnabled() || !isVikaProxyEnabled()) || link.isEmpty()) { + if (!isAnyProxyEnabled() || link.isEmpty()) { return link; } @@ -67,15 +67,21 @@ public class ApiProxy{ string = VikaMobile.getStaticHost(); } - if ((isApiProxyEnabled() || isVikaProxyEnabled()) && string.isEmpty()) return str; + if (isAnyProxyEnabled() && !string.isEmpty()) { + return str.replaceAll(string, "static.vk.ru"); + } - return str.replaceAll(string, "static.vk.ru"); + return str; } public static String getAwayPhpCom(){ var proxyapi = getPrefsValue("proxyapi"); - if ((isApiProxyEnabled() || isVikaProxyEnabled()) & !proxyapi.isEmpty()) { + if (isVikaProxyEnabled()) { + proxyapi = VikaMobile.getApiHost(); + } + + if (isAnyProxyEnabled() && !proxyapi.isEmpty()) { return proxyapi; } diff --git a/app/src/main/java/ru/vtosters/lite/ui/components/SuperAppEditorManager.java b/app/src/main/java/ru/vtosters/lite/ui/components/SuperAppEditorManager.java index 1801238b0..72ee058e1 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/components/SuperAppEditorManager.java +++ b/app/src/main/java/ru/vtosters/lite/ui/components/SuperAppEditorManager.java @@ -9,7 +9,6 @@ import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; -import ru.vtosters.lite.ui.items.DockBarTab; import ru.vtosters.lite.ui.items.SuperAppItem; import ru.vtosters.lite.utils.AndroidUtils; diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/RoundingSeekbarDialog.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/RoundingSeekbarDialog.java index a57ae65da..9522b5cc6 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/RoundingSeekbarDialog.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/RoundingSeekbarDialog.java @@ -8,7 +8,6 @@ import android.content.Context; import android.widget.LinearLayout; import android.widget.SeekBar; - import com.vk.core.dialogs.alert.VkAlertDialog; import ru.vtosters.lite.utils.AndroidUtils; diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java index 4712c52ff..7ce6e6add 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java @@ -1,7 +1,7 @@ package ru.vtosters.lite.ui.dialogs; import static ru.vtosters.lite.proxy.ProxyUtils.getApi; -import static ru.vtosters.lite.proxy.ProxyUtils.isApiProxyEnabled; +import static ru.vtosters.lite.proxy.ProxyUtils.isAnyProxyEnabled; import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getString; import static ru.vtosters.lite.utils.Preferences.getBoolValue; @@ -25,7 +25,7 @@ public class VKIDProtection { // android.content.DialogInterface.OnClickListener builder.setNeutralButton(getString("vkiddisable"), (dialogInterface, i) -> { edit().putBoolean("showAlertVkId", false).apply(); - VKUIwrapper.setLink((isApiProxyEnabled() ? "https://id.vk.ru/account" : "https://" + getApi() + "/_/id.vk.ru/account")); + VKUIwrapper.setLink((isAnyProxyEnabled() ? "https://id.vk.ru/account" : "https://" + getApi() + "/_/id.vk.ru/account")); Intent a2 = new Navigator(VKUIwrapper.class).b(activity); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); activity.startActivity(a2); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/DockBarEditorFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/DockBarEditorFragment.java index e976596b1..cda4ee458 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/DockBarEditorFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/DockBarEditorFragment.java @@ -22,8 +22,6 @@ import androidx.recyclerview.widget.RecyclerView; import com.vtosters.lite.R; -import java.util.Objects; - import ru.vtosters.lite.ui.adapters.CategorizedAdapter; import ru.vtosters.lite.ui.components.DockBarEditorManager; import ru.vtosters.lite.ui.components.ItemMovingCallback; diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java index 117c12629..24889bf6f 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java @@ -2,13 +2,10 @@ package ru.vtosters.lite.ui.fragments; import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; -import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; -import static ru.vtosters.lite.utils.AndroidUtils.getString; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.Preferences.copyright_post; -import static ru.vtosters.lite.utils.Preferences.getBoolValue; import android.content.Context; import android.content.Intent; diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java index eb66769f5..5a997fb0d 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java @@ -1,12 +1,12 @@ package ru.vtosters.lite.ui.fragments; -import static ru.vtosters.lite.utils.AndroidUtils.*; +import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; import static ru.vtosters.lite.utils.Preferences.autoalltranslate; import static ru.vtosters.lite.utils.Preferences.vkme; -import static ru.vtosters.lite.utils.ThemesUtils.*; +import static ru.vtosters.lite.utils.ThemesUtils.recolorDrawable; import android.annotation.SuppressLint; import android.content.Context; @@ -22,12 +22,9 @@ import com.vk.navigation.Navigator; import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; import java.util.Arrays; -import java.util.Objects; import ru.vtosters.lite.ui.adapters.ImagineArrayAdapter; import ru.vtosters.lite.ui.wallpapers.WallpaperMenuFragment; -import ru.vtosters.lite.utils.AndroidUtils; -import ru.vtosters.lite.utils.ThemesUtils; public class MessagesFragment extends MaterialPreferenceToolbarFragment { @Override diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java index 3bb30b6bd..edd9fc6a1 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java @@ -12,7 +12,6 @@ import static ru.vtosters.lite.utils.AndroidUtils.dp2px; import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; -import static ru.vtosters.lite.utils.CacheUtils.deleteCache; import static ru.vtosters.lite.utils.LifecycleUtils.restartApplication; import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr; diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/ProxySettingsFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/ProxySettingsFragment.java index be2a48007..7dfba5db5 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/ProxySettingsFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/ProxySettingsFragment.java @@ -1,7 +1,6 @@ package ru.vtosters.lite.ui.fragments; import static ru.vtosters.lite.proxy.RandomProxy.setupNewProxy; -import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; @@ -11,7 +10,6 @@ import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; import java.io.IOException; -import ru.vtosters.lite.proxy.RandomProxy; import ru.vtosters.lite.utils.AndroidUtils; public class ProxySettingsFragment extends MaterialPreferenceToolbarFragment { diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersFragment.java index fecab7839..3ad52847c 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/tgstickers/StickersFragment.java @@ -40,7 +40,6 @@ import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.vk.navigation.Navigator; import java.io.File; -import java.util.Objects; import ru.vtosters.lite.tgs.TGPref; import ru.vtosters.lite.ui.adapters.StickerPackAdapter; diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperMenuFragment.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperMenuFragment.java index 4a9e61689..d177fcf23 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperMenuFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperMenuFragment.java @@ -8,7 +8,6 @@ import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.removeWallpaper; import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.requestUpdateWallpaper; import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; -import static ru.vtosters.lite.utils.CacheUtils.deleteCache; import static ru.vtosters.lite.utils.Preferences.getBoolValue; import static ru.vtosters.lite.utils.Preferences.hasVerification; diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index 076136057..6dd452b06 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -22,8 +22,6 @@ import android.widget.ImageView; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; import ru.vtosters.lite.utils.AndroidUtils; import ru.vtosters.lite.utils.ThemesUtils; diff --git a/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java b/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java index e8d761f83..95fac9ccd 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java @@ -13,9 +13,7 @@ import com.vk.im.ui.providers.audiomsg.ImAudioMsgPlayerProvider; import com.vk.im.ui.providers.audiomsg.PlayerActionSources; import com.vk.imageloader.VKImageLoader; import com.vk.media.player.cache.AutoPlayCacheHolder; -import com.vk.mediastore.MediaStorage; import com.vk.stickers.Stickers; -import com.vtosters.lite.im.ImEngineProvider; import java.text.CharacterIterator; import java.text.StringCharacterIterator; diff --git a/app/src/main/java/ru/vtosters/lite/utils/ImageUtils.java b/app/src/main/java/ru/vtosters/lite/utils/ImageUtils.java index 32cdb5694..8c17e11a5 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/ImageUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/ImageUtils.java @@ -10,7 +10,6 @@ import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; -import android.graphics.Paint; import android.graphics.Path; import android.graphics.PorterDuff; import android.graphics.RectF; diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java index 1689dd3bd..5233ee5a6 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java @@ -1,15 +1,15 @@ package ru.vtosters.lite.utils; import static java.lang.Long.MAX_VALUE; +import static ru.vtosters.lite.proxy.ProxyUtils.setProxy; import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; -import static ru.vtosters.lite.utils.CacheUtils.*; import static ru.vtosters.lite.utils.CacheUtils.getInstance; +import static ru.vtosters.lite.utils.CacheUtils.needToDelete; import static ru.vtosters.lite.utils.DeletedMessagesHandler.reloadMessagesList; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters; -import static ru.vtosters.lite.proxy.ProxyUtils.setProxy; import static ru.vtosters.lite.utils.SignatureChecker.validateAppSignature; import static ru.vtosters.lite.utils.ThemesUtils.isDarkTheme; import static ru.vtosters.lite.utils.VTVerifications.isPrometheus; diff --git a/app/src/main/java/ru/vtosters/lite/utils/SSFSUtils.java b/app/src/main/java/ru/vtosters/lite/utils/SSFSUtils.java index d854fb575..8419217d3 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/SSFSUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/SSFSUtils.java @@ -1,11 +1,11 @@ package ru.vtosters.lite.utils; import static ru.vtosters.lite.hooks.DateHook.getLocale; +import static ru.vtosters.lite.proxy.ProxyUtils.isAnyProxyEnabled; import static ru.vtosters.lite.utils.About.getBuildNumber; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; import static ru.vtosters.lite.utils.Preferences.dev; import static ru.vtosters.lite.utils.Preferences.vksans; -import static ru.vtosters.lite.proxy.ProxyUtils.isApiProxyEnabled; import static ru.vtosters.lite.utils.ThemesUtils.isDarkTheme; public class SSFSUtils { @@ -39,7 +39,7 @@ public class SSFSUtils { } public static String getUserProxy() { - return isApiProxyEnabled() ? "1" : "0"; + return isAnyProxyEnabled() ? "1" : "0"; } public static String isVKSansEnabled() { From 9ec4e52ebae108f3a4f51994fc825e078047a3f8 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 26 Aug 2022 21:56:11 +0300 Subject: [PATCH 049/134] newsfeed improves --- .../java/ru/vtosters/lite/hooks/NewsfeedHook.java | 11 ++++++----- smali/res/xml/preferences_feed.xml | 5 +++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java index a529c43a2..37fe15d21 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java @@ -91,7 +91,7 @@ public class NewsfeedHook { params.add("photo"); params.add("photo_tag"); - if (!friendsrecomm()) { + if (!friendsrecomm() && !getBoolValue("donotgetads", false)) { params.add("friends_recomm"); } @@ -100,7 +100,7 @@ public class NewsfeedHook { params.add("promo_button"); } - if (!authorsrecomm()) { + if (!authorsrecomm() && !getBoolValue("donotgetads", false)) { params.add("authors_rec"); } @@ -148,14 +148,15 @@ public class NewsfeedHook { public static void adsParams(HashSet hashSet) { if (ads()) { hashSet.add("ads_disabled"); - hashSet.add("ads_app_slider"); - return; + if (getBoolValue("donotgetads", false)) { + return; + } } hashSet.add("ads_app"); hashSet.add("ads_site"); hashSet.add("ads_post"); - if (adsslider()) { + if (!adsslider()) { hashSet.add("ads_app_slider"); } hashSet.add("ads_site_slider"); diff --git a/smali/res/xml/preferences_feed.xml b/smali/res/xml/preferences_feed.xml index d48e23919..2186ee1ad 100644 --- a/smali/res/xml/preferences_feed.xml +++ b/smali/res/xml/preferences_feed.xml @@ -131,5 +131,10 @@ + From a4c6af8ace96319d48fe11eb92875d3794572572 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 26 Aug 2022 22:05:47 +0300 Subject: [PATCH 050/134] Update WallpapersHooks.java --- .../vtosters/lite/ui/wallpapers/WallpapersHooks.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index 6dd452b06..c78b68344 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -73,13 +73,19 @@ public class WallpapersHooks { File outPutFile = File.createTempFile("wallpaper_temp","image"); outPutFile.deleteOnExit(); FileOutputStream outputStream = new FileOutputStream(outPutFile); - selectedBitmap.compress(Bitmap.CompressFormat.PNG, 85 , outputStream); + + try { + selectedBitmap.compress(Bitmap.CompressFormat.PNG, 85 , outputStream); + } catch (Exception e) { + Log.e("WallpapersCompression", e.getMessage()); + } + outputStream.close(); return outPutFile; } catch (Exception e) { Log.d("Wallpapers", e.getMessage()); - return null; + return file; } } @@ -99,7 +105,7 @@ public class WallpapersHooks { var compressed = compress(file); if (compressed == null) { return "default"; - } else if (getBoolValue("compresswp", true) && compressed != null) { + } else if (getBoolValue("compresswp", true)) { return compressed.getAbsolutePath(); } else { return file.getAbsolutePath(); From 8ee29b4b83bb4ea6eef56b7e4ba6d4eba4ce74d7 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 26 Aug 2022 22:10:43 +0300 Subject: [PATCH 051/134] Update WallpapersHooks.java --- .../ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index c78b68344..dcfa5d7cd 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -102,11 +102,8 @@ public class WallpapersHooks { var file = getWallpaperFile(); if (file.exists() && eligibleWallpaperFile(file)) { - var compressed = compress(file); - if (compressed == null) { - return "default"; - } else if (getBoolValue("compresswp", true)) { - return compressed.getAbsolutePath(); + if (getBoolValue("compresswp", true)) { + return compress(file).getAbsolutePath(); } else { return file.getAbsolutePath(); } From f887648f48268b85dd678678aaa75e200fe42bd5 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 26 Aug 2022 23:03:35 +0300 Subject: [PATCH 052/134] I love NullPointerException NullPointerException NullPointerException NullPointerException NullPointerException NullPointerException --- .../lite/ui/wallpapers/ImageFilters.java | 99 +++++++++++++++++-- .../lite/ui/wallpapers/WallpapersHooks.java | 21 +++- 2 files changed, 111 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java index e771f9a59..92d3bc450 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java @@ -1,5 +1,6 @@ package ru.vtosters.lite.ui.wallpapers; +import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.removeWallpaper; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; import static ru.vtosters.lite.utils.AndroidUtils.getResources; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; @@ -13,6 +14,7 @@ import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; +import android.util.Log; import com.vk.medianative.MediaNative; @@ -28,7 +30,23 @@ public class ImageFilters { public static Drawable getFilteredDrawable(Drawable orig) { if (orig == null) return null; if (!(orig instanceof BitmapDrawable)) return orig; - Bitmap instance = ((BitmapDrawable) orig).getBitmap().copy(Bitmap.Config.ARGB_8888, true); + Bitmap bm = ((BitmapDrawable) orig).getBitmap(); + + if (bm == null) { + Log.d("Wallpaper", "bitmap null"); + sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); + removeWallpaper(); + return orig; + } + + Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true); + + if (instance == null) { + Log.d("Wallpaper", "bitmap null"); + sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); + removeWallpaper(); + return orig; + } if (getPreferences().getBoolean("msg_invert", false)) { instance = applyInvertEffect(instance); @@ -61,7 +79,24 @@ public class ImageFilters { try { if (orig == null) return null; if (!(orig instanceof BitmapDrawable)) return orig; // we need only BitmapDrawable - Bitmap instance = ((BitmapDrawable) orig).getBitmap().copy(Bitmap.Config.ARGB_8888, true); + Bitmap bm = ((BitmapDrawable) orig).getBitmap(); + + if (bm == null) { + Log.d("Wallpaper", "bitmap null"); + sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); + removeWallpaper(); + return orig; + } + + Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true); + + if (instance == null) { + Log.d("Wallpaper", "bitmap null"); + sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); + removeWallpaper(); + return orig; + } + MediaNative.blurBitmap(instance, radius); return new BitmapDrawable(getResources(), instance); } catch (Exception e) { @@ -75,7 +110,24 @@ public class ImageFilters { if (orig == null) return null; if (!(orig instanceof BitmapDrawable)) return orig; - Bitmap instance = ((BitmapDrawable) orig).getBitmap().copy(Bitmap.Config.ARGB_8888, true); + Bitmap bm = ((BitmapDrawable) orig).getBitmap(); + + if (bm == null) { + Log.d("Wallpaper", "bitmap null"); + sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); + removeWallpaper(); + return orig; + } + + Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true); + + if (instance == null) { + Log.d("Wallpaper", "bitmap null"); + sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); + removeWallpaper(); + return orig; + } + String radius = getPreferences().getString("msg_mosaic", "disabled"); switch (radius) { @@ -98,7 +150,24 @@ public class ImageFilters { public static Drawable getDimmed(Drawable orig) { if (orig == null) return null; if (!(orig instanceof BitmapDrawable)) return orig; - Bitmap instance = ((BitmapDrawable) orig).getBitmap().copy(Bitmap.Config.ARGB_8888, true); + Bitmap bm = ((BitmapDrawable) orig).getBitmap(); + + if (bm == null) { + Log.d("Wallpaper", "bitmap null"); + sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); + removeWallpaper(); + return orig; + } + + Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true); + + if (instance == null) { + Log.d("Wallpaper", "bitmap null"); + sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); + removeWallpaper(); + return orig; + } + String radius = getPreferences().getString("msg_dim", "disabled"); switch (radius) { case "dim_black": @@ -112,7 +181,23 @@ public class ImageFilters { public static Drawable getMonochrome(Drawable orig) { if (orig == null) return null; if (!(orig instanceof BitmapDrawable)) return orig; - Bitmap instance = ((BitmapDrawable) orig).getBitmap().copy(Bitmap.Config.ARGB_8888, true); + Bitmap bm = ((BitmapDrawable) orig).getBitmap(); + + if (bm == null) { + Log.d("Wallpaper", "bitmap null"); + sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); + removeWallpaper(); + return orig; + } + + Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true); + + if (instance == null) { + Log.d("Wallpaper", "bitmap null"); + sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); + removeWallpaper(); + return orig; + } Bitmap bwBitmap = Bitmap.createBitmap(instance.getWidth(), instance.getHeight(), Bitmap.Config.RGB_565); float[] hsv = new float[3]; @@ -138,7 +223,7 @@ public class ImageFilters { p.setColorFilter(filter); canvas.drawBitmap(bm, new Matrix(), p); } catch (Exception e) { - sendToast("Ошибка при работе затемнения обоев"); + Log.d("WallpaperD", e.getMessage()); } } @@ -150,7 +235,7 @@ public class ImageFilters { p.setColorFilter(filter); canvas.drawBitmap(bm, new Matrix(), p); } catch (Exception e) { - sendToast("Ошибка при работе осветления обоев"); + Log.d("WallpaperL", e.getMessage()); } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index dcfa5d7cd..c9062f294 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -14,13 +14,16 @@ import static ru.vtosters.lite.utils.Preferences.hasVerification; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; +import android.net.Uri; import android.util.Log; import android.view.View; import android.widget.ImageView; import java.io.File; import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import ru.vtosters.lite.utils.AndroidUtils; @@ -114,10 +117,24 @@ public class WallpapersHooks { public static Drawable getWallpaper() { if (mWallpaper == null || mUpdateWallpaperRequested) { + String url = getWallpaperUrl(); + + if (url.equals("default") || url.isEmpty()) { + return null; + } + + Drawable drawable = Drawable.createFromPath(getWallpaperUrl()); + + if (drawable == null || ((BitmapDrawable) drawable).getBitmap() == null) { + Log.d("Wallpaper", "drawable null"); + removeWallpaper(); + return null; + } + if (!getPreferences().getString("msg_blur_radius", "disabled").equals("disabled")) { - mWallpaper = getBlurredWallpaper(Drawable.createFromPath(getWallpaperUrl()), getRadius()); + mWallpaper = getBlurredWallpaper(drawable, getRadius()); } else { - mWallpaper = Drawable.createFromPath(getWallpaperUrl()); + mWallpaper = drawable; } if (!getPreferences().getString("msg_dim", "off").equals("off")) { mWallpaper = getDimmed(mWallpaper); From b2256d20e02342a54ef292a54d350b2039990774 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 27 Aug 2022 12:48:40 +0300 Subject: [PATCH 053/134] Revert "notif counter for newsfeed if enabled milk" This reverts commit c8c8678785461c2527fbcc361934dcedbe0c5c8f. --- app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java b/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java index 658494520..bdcbee9c5 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/DockBarInjector.java @@ -208,7 +208,6 @@ public class DockBarInjector { val = MenuCountersState.n(); break; case tab_feedback: - case tab_news: if (milkshake()) val = MenuCountersState.k(); break; From 74d4a5368ac45beb85dc2d4ad261d61af97d3952 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 27 Aug 2022 12:49:01 +0300 Subject: [PATCH 054/134] move slow tasks from MainActivityInjector to executors --- .../java/ru/vtosters/lite/hooks/MainActivityInjector.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java index 802494156..ecff5253d 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java @@ -2,7 +2,6 @@ package ru.vtosters.lite.hooks; import static ru.vtosters.lite.ui.dialogs.ServerDialog.sendRequest; import static ru.vtosters.lite.utils.CacheUtils.getInstance; -import static ru.vtosters.lite.utils.DeletedMessagesHandler.reloadMessagesList; import static ru.vtosters.lite.utils.Preferences.checkupdates; import static ru.vtosters.lite.utils.ThemesUtils.isDarkTheme; import static ru.vtosters.lite.utils.ThemesUtils.setNeededTheme; @@ -11,12 +10,15 @@ import android.app.Activity; import android.os.Build; import android.preference.PreferenceManager; +import com.vk.core.concurrent.VkExecutors; + import ru.vtosters.lite.downloaders.notifications.NotificationChannels; import ru.vtosters.lite.ui.dialogs.DisableBattery; import ru.vtosters.lite.ui.dialogs.InstallGMS; import ru.vtosters.lite.ui.dialogs.OTADialog; import ru.vtosters.lite.ui.dialogs.ServerDialog; import ru.vtosters.lite.ui.dialogs.Start; +import ru.vtosters.lite.utils.DeletedMessagesHandler; public class MainActivityInjector { @@ -25,7 +27,7 @@ public class MainActivityInjector { ServerDialog.activity = activity; sendRequest(); if (checkupdates()) OTADialog.checkUpdates(activity); - reloadMessagesList(); + VkExecutors.x.f().a(DeletedMessagesHandler::reloadMessagesList); // ioScheduler Start.alert(activity); InstallGMS.alert(activity); DisableBattery.alert(activity); @@ -33,7 +35,7 @@ public class MainActivityInjector { .edit() .putBoolean("isdark", isDarkTheme()) .commit(); - getInstance().autoCleaningCache(); + VkExecutors.x.q().a(() -> getInstance().autoCleaningCache()); // slowTasksScheduler if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannels.createChannels(); } From 34c6a7f8b1b89ea3b0c2402ad18cb79eed7c9698 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 27 Aug 2022 13:30:12 +0300 Subject: [PATCH 055/134] i hate my life --- README.md | 6 +++--- .../lite/downloaders/MessagesDownloader.java | 2 +- .../lite/downloaders/VideoDownloader.java | 4 ++-- .../java/ru/vtosters/lite/foaf/FoafBase.java | 4 ++-- .../ru/vtosters/lite/hooks/JsonInjectors.java | 8 ++++---- .../vtosters/lite/hooks/OnlineFormatterHook.java | 2 +- .../java/ru/vtosters/lite/proxy/ProxyUtils.java | 6 +++--- .../ru/vtosters/lite/proxy/api/ApiProxy.java | 10 +++++----- .../lite/ui/activities/VKAdminTokenActivity.java | 2 +- .../vtosters/lite/ui/dialogs/VKIDProtection.java | 2 +- .../lite/ui/fragments/VKPayFragment.java | 2 +- smali/AndroidManifest.xml | 16 ++++++++-------- smali/assets/CopyrightAds.txt | 2 +- smali/assets/wiki_template_article.htm | 6 +++--- smali/res/layout/group_admin_info.xml | 2 +- smali/res/layout/settings_domain.xml | 2 +- smali/res/values-es/strings.xml | 12 ++++++------ smali/res/values-kk/strings.xml | 12 ++++++------ smali/res/values-pt/strings.xml | 12 ++++++------ smali/res/values-ru/strings.xml | 12 ++++++------ smali/res/values-uk/strings.xml | 12 ++++++------ smali/res/values/strings.xml | 14 +++++++------- smali/res/xml/network_security_config_debug.xml | 4 ++-- smali/res/xml/preferences_debug.xml | 12 ++++++------ .../com/vk/about/AboutAppFragment$e.smali | 10 +++++----- .../com/vk/api/apps/AppsGetEmbeddedUrl.smali | 2 +- .../com/vk/api/apps/ExecuteGetServiceApp.smali | 2 +- .../com/vk/api/base/ApiConfig$a$a$a.smali | 4 ++-- .../com/vk/api/base/ApiConfig$a$b.smali | 2 +- .../com/vk/api/base/ApiRequest.smali | 2 +- .../com/vk/api/board/BoardComment.smali | 2 +- .../com/vk/api/internal/PingCall.smali | 2 +- .../com/vk/api/masks/MasksGetModel.smali | 2 +- .../com/vk/api/sdk/VKApiConfig$6.smali | 2 +- .../com/vk/api/sdk/auth/VKAuthParams$a.smali | 2 +- .../com/vk/api/sdk/auth/VKAuthParams.smali | 2 +- .../com/vk/api/sdk/okhttp/OkHttpExecutor.smali | 2 +- .../vk/api/sdk/ui/VKWebViewAuthActivity.smali | 2 +- .../com/vk/api/search/SearchAll.smali | 2 +- .../authorpage/ArticleAuthorPageHelper.smali | 2 +- .../vk/articles/preload/WebCachePreloader.smali | 2 +- .../vk/attachpicker/u/j/FiltersController.smali | 2 +- .../com/vk/auth/DefaultAuthModel.smali | 6 +++--- .../com/vk/auth/RestoreUtils.smali | 2 +- .../smali_classes2/com/vk/auth/VkAuthModel.smali | 2 +- .../com/vk/auth/api/VKAccount.smali | 4 ++-- .../com/vk/auth/y/b/UrlCheckFragment$b.smali | 2 +- .../com/vk/balance/BalancePresenter$c.smali | 2 +- .../com/vk/balance/BalancePresenter.smali | 2 +- .../com/vk/cameraui/CameraUIPresenter.smali | 4 ++-- .../com/vk/cameraui/QrScannerUi.smali | 2 +- .../vk/common/links/BrowserUtils$Companion.smali | 10 +++++----- .../com/vk/common/links/LinkParser.smali | 2 +- .../com/vk/common/links/LinkProcessor$a.smali | 2 +- .../com/vk/common/links/LinkProcessorKt.smali | 4 ++-- .../com/vk/common/links/OpenFunctionsKt$n.smali | 2 +- .../metrics/traffic/TrafficAccumulator.smali | 2 +- .../com/vk/core/network/proxy/NetworkProxy.smali | 8 ++++---- .../com/vk/core/network/proxy/ProxyHost.smali | 4 ++-- .../vk/dto/attachments/SnippetAttachment.smali | 2 +- .../com/vk/dto/money/MoneyTransfer.smali | 4 ++-- .../com/vk/dto/newsfeed/entries/Post$b.smali | 2 +- smali/smali_classes2/com/vk/emoji/Emoji.smali | 2 +- .../core/HttpRequestExecutorProvider.smali | 2 +- .../com/vk/im/engine/ImConfig.smali | 8 ++++---- .../internal/api_parsers/AttachApiParser.smali | 2 +- .../internal/api_parsers/CarouselParser.smali | 6 +++--- .../engine/models/attaches/AttachArticle.smali | 2 +- .../im/engine/models/attaches/AttachArtist.smali | 2 +- .../im/engine/models/attaches/AttachAudio.smali | 2 +- .../vk/im/engine/models/attaches/AttachDoc.smali | 2 +- .../im/engine/models/attaches/AttachEvent.smali | 2 +- .../models/attaches/AttachGiftSimple.smali | 2 +- .../attaches/AttachGiftStickersProduct.smali | 2 +- .../im/engine/models/attaches/AttachImage.smali | 2 +- .../im/engine/models/attaches/AttachMarket.smali | 2 +- .../engine/models/attaches/AttachMiniApp.smali | 2 +- .../engine/models/attaches/AttachNarrative.smali | 2 +- .../engine/models/attaches/AttachPlaylist.smali | 2 +- .../models/attaches/AttachPodcastEpisode.smali | 2 +- .../im/engine/models/attaches/AttachStory.smali | 2 +- .../im/engine/models/attaches/AttachVideo.smali | 2 +- .../im/engine/models/attaches/AttachWall.smali | 2 +- .../engine/models/attaches/AttachWallReply.smali | 2 +- .../msgparts/MsgPartLinkLargeHolder.smali | 2 +- .../msgparts/MsgPartLinkSmallHolder.smali | 2 +- .../msgparts/MsgPartNarrativeHolder.smali | 2 +- .../im/ui/formatters/MsgAttachFormatter$e.smali | 2 +- .../com/vk/im/ui/p/ImBridge$b1.smali | 2 +- .../im/ui/utils/shortcuts/ImShortcutHelper.smali | 2 +- .../com/vk/im/ui/views/avatars/AvatarView.smali | 2 +- .../com/vk/imageloader/VKCacheKeyFactory.smali | 4 ++-- .../com/vk/libvideo/VideoFileController.smali | 4 ++-- .../com/vk/libvideo/a0/h/EventsProcessor.smali | 2 +- .../libvideo/bottomsheet/VideoBottomSheet.smali | 2 +- .../views/menubutton/MenuButtonPresenter.smali | 2 +- .../market/orders/MarketOrdersFragment$c.smali | 2 +- .../holders/MarketCartCheckoutFooterHolder.smali | 4 ++-- .../com/vk/market/picker/GoodsPickerHelper.smali | 2 +- smali/smali_classes3/com/vk/menu/MenuUtils.smali | 2 +- .../menu/holders/SearchMenuVkPayHolder$a.smali | 2 +- .../menu/holders/SearchMenuVkPayHolder$b.smali | 2 +- .../menu/holders/SearchMenuVkPayHolder$c.smali | 2 +- .../menu/holders/SearchMenuVkPayHolder$d.smali | 2 +- .../com/vk/music/playlist/PlaylistsExt.smali | 2 +- .../episode/PodcastEpisodeFragment$i.smali | 2 +- .../d/PodcastEpisodeHeaderViewHolder.smali | 2 +- .../vk/music/podcasts/page/PodcastFragment.smali | 4 ++-- .../podcasts/page/g/PodcastHelpHintHolder.smali | 2 +- .../newsfeed/adapters/PostTopicsAdapter$b.smali | 2 +- .../newsfeed/controllers/PostsController.smali | 4 ++-- .../com/vk/newsfeed/holders/HeaderHolder.smali | 2 +- ...ngsFragment$subtitleSpannableString$2$b.smali | 2 +- .../views/poster/PosterTextDelegate.smali | 2 +- .../com/vk/polls/utils/PollUtils.smali | 4 ++-- .../CommunityDetailsItemsFactory$autor$1.smali | 2 +- ...CommunityDetailsItemsFactory$contacts$1.smali | 2 +- .../CommunityDetailsItemsFactory$mention$1.smali | 2 +- .../CommunityDetailsItemsFactory$wiki$1.smali | 2 +- ...ages$1$$special$$inlined$apply$lambda$1.smali | 2 +- .../UserDetailsItemsFactory$contacts$1$d.smali | 2 +- .../adapter/items/CommunityAppButtonItem$a.smali | 2 +- .../com/vk/profile/ui/BaseProfileFragment.smali | 4 ++-- .../ui/community/CommunityChatsFragment$c.smali | 2 +- .../ui/community/CommunityChatsFragment.smali | 2 +- .../profile/ui/community/CommunityFragment.smali | 2 +- .../community/adresses/FullAddressView$a.smali | 2 +- .../com/vk/profile/utils/CallToActionExtKt.smali | 2 +- .../com/vk/pushes/j/NotificationBuilder.smali | 2 +- .../notifications/im/MessageNotification$a.smali | 2 +- ...haringBottomSheet$$inlined$let$lambda$1.smali | 4 ++-- .../com/vk/sharing/attachment/Attachments.smali | 2 +- .../holders/SuperAppWidgetVkPayHolder$a.smali | 2 +- .../com/vk/utils/EntityLinkUtils.smali | 6 +++--- .../com/vk/video/d/VideoEmbedFragment.smali | 2 +- .../com/vk/video/d/VideoYoutubeFragment.smali | 4 ++-- .../com/vk/voip/VoipBottomSheetDialog$a$a.smali | 2 +- .../smali_classes4/com/vk/voip/VoipWrapper.smali | 2 +- .../com/vk/wall/post/CommentsListPresenter.smali | 2 +- .../vk/wall/thread/CommentThreadPresenter.smali | 2 +- .../com/vk/webapp/VkUiConnectFragment.smali | 2 +- .../com/vk/webapp/VkUiFragment$b.smali | 4 ++-- .../com/vk/webapp/VkUiFragment.smali | 4 ++-- .../com/vk/webapp/bridges/AndroidBridge.smali | 8 ++++---- .../vk/webapp/bridges/VkUiConnectBridge$a.smali | 6 +++--- .../vk/webapp/bridges/VkUiConnectBridge.smali | 2 +- .../com/vk/webapp/consts/WebAppScreenNames.smali | 2 +- .../impl/VkUiConnectFragmentDelegateImpl.smali | 2 +- .../com/vk/webapp/helpers/AppsHelper.smali | 2 +- .../com/vk/webapp/helpers/WebAppApiHelper.smali | 2 +- .../com/vtosters/lite/LinkSpan.smali | 2 +- .../com/vtosters/lite/PostPhotoActivity.smali | 2 +- .../com/vtosters/lite/SDKAuthActivity$d.smali | 2 +- .../com/vtosters/lite/SDKAuthActivity.smali | 4 ++-- .../com/vtosters/lite/SendActivity.smali | 6 +++--- .../vtosters/lite/ShortcutManagerWrapper.smali | 2 +- .../lite/VKApplication$initNetwork$1.smali | 2 +- .../com/vtosters/lite/ValidationActivity$a.smali | 8 ++++---- .../com/vtosters/lite/VideoUploadDialog.smali | 2 +- ...$showAddProduct$$inlined$apply$lambda$1.smali | 2 +- .../actionlinks/c/a/e/AddPollPresenter.smali | 2 +- .../views/fragments/add/AddLinkPresenter.smali | 4 ++-- .../com/vtosters/lite/api/AppVKApiCallback.smali | 6 +++--- .../lite/api/execute/GetFullCommunity.smali | 6 +++--- .../lite/attachments/DocumentAttachment.smali | 2 +- .../lite/attachments/MiniAppAttachment.smali | 2 +- .../lite/attachments/PhotoAttachment.smali | 2 +- .../lite/audio/widgets/AudioPlayerWidget$a.smali | 6 +++--- .../lite/fragments/ProfileFragment.smali | 2 +- .../fragments/SettingsListFragment$f$b.smali | 2 +- .../lite/fragments/market/GoodFragment.smali | 4 ++-- .../fragments/money/MoneyWebViewFragment$a.smali | 4 ++-- .../lite/fragments/n2/DebugDomainsFilter.smali | 6 +++--- .../fragments/n2/SettingsDebugFragment.smali | 10 +++++----- .../fragments/o2/BoardTopicViewFragment.smali | 2 +- .../lite/fragments/o2/BoardTopicsFragment.smali | 2 +- .../fragments/p2/DocumentsViewFragment.smali | 2 +- .../fragments/SettingsDomainFragment.smali | 4 ++-- .../general/fragments/WebViewFragment$a.smali | 6 +++--- .../lite/general/fragments/WebViewFragment.smali | 6 +++--- .../general/fragments/WikiViewFragment$f.smali | 4 ++-- .../lite/fragments/y2/VideoAlbumsFragment.smali | 2 +- ...ngineProvider$getApiManager$apiConfig$1.smali | 2 +- .../com/vtosters/lite/utils/CookieHelper.smali | 2 +- 184 files changed, 312 insertions(+), 312 deletions(-) diff --git a/README.md b/README.md index 714de980c..86f19baf1 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ - + @@ -133,7 +133,7 @@ `android:debuggable="false"` ➝ `android:debuggable="true"` -Настройки, необходимые для **отладки** вне Android Studio, находятся по этой ссылке: [vk.ru/vt/debug](https://vk.ru/vt/debug) +Настройки, необходимые для **отладки** вне Android Studio, находятся по этой ссылке: [vk.com/vt/debug](https://vk.com/vt/debug) * Для дополнительной отладки ответов и логов необходимо включить **[Режим разработчика]** @@ -145,7 +145,7 @@ Сразу после нажатия на запись приложение начнет записывать **все ваши действия** по пути `/Download/VK/logs/com.vtosters.lite/` -При следующем открытии приложения оно автоматически сохранит логи и отправит вам в [**Документы** ВК](https://vk.ru/docs), откуда вы можете скачать архив логов и работать с ними. +При следующем открытии приложения оно автоматически сохранит логи и отправит вам в [**Документы** ВК](https://vk.com/docs), откуда вы можете скачать архив логов и работать с ними. ## Разработка diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java index 14132fd4a..88f0cb5ae 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/MessagesDownloader.java @@ -33,7 +33,7 @@ public class MessagesDownloader{ private static SparseArray usersArray; - private static final String VK_DOMAIN = "vk.ru"; + private static final String VK_DOMAIN = "vk.com"; public static String formatTime(long now){ return sdformat.format(new Date(now)); diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java index 429e903cb..d3f8e2cde 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java @@ -126,12 +126,12 @@ public class VideoDownloader { } public static void parseVideoLink(String url, Context ctx) { - if (url.contains("vk.ru/story") || url.contains("vk.com/story")) { + if (url.contains("vk.com/story") || url.contains("vk.com/story")) { ToastUtils.a(AndroidUtils.getString("video_dl_stories_not_supported")); return; } - if (!url.contains("vk.ru/video") || !url.contains("vk.com/video")) { + if (!url.contains("vk.com/video") || !url.contains("vk.com/video")) { ToastUtils.a(AndroidUtils.getString("video_dl_wrong_link")); return; } diff --git a/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java b/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java index 94ee315ce..01ff0092b 100644 --- a/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java +++ b/app/src/main/java/ru/vtosters/lite/foaf/FoafBase.java @@ -116,10 +116,10 @@ public class FoafBase { StringBuilder sb; if (isAnyProxyEnabled()) { sb = new StringBuilder(); - str = "https://" + getApi() + "/_/vk.ru/foaf.php?id="; + str = "https://" + getApi() + "/_/vk.com/foaf.php?id="; } else { sb = new StringBuilder(); - str = "https://vk.ru/foaf.php?id="; + str = "https://vk.com/foaf.php?id="; } sb.append(str); sb.append(i); diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index 6874be0e7..c4ea6c9e4 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -76,7 +76,7 @@ public class JsonInjectors { public static JSONObject donateRecomm() throws JSONException { var title = AndroidUtils.getString("donate_to_vtl"); - var link = "https://vk.ru/vtosters_official"; + var link = "https://vk.com/vtosters_official"; var text_color = "2D81E0"; var json = new JSONObject(); @@ -591,7 +591,7 @@ public class JsonInjectors { } } - var playlists = fetchCatalogId("https://vk.ru/audio?section=my_playlists"); + var playlists = fetchCatalogId("https://vk.com/audio?section=my_playlists"); if (playlists != null) { var catalogarr = playlists.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0); @@ -604,7 +604,7 @@ public class JsonInjectors { oldItems.put(new JSONObject().put("id", id).put("title", title).put("url", url)); } - var albums = fetchCatalogId("https://vk.ru/audio?section=albums"); + var albums = fetchCatalogId("https://vk.com/audio?section=albums"); if (albums != null) { var catalogarr = albums.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0); @@ -617,7 +617,7 @@ public class JsonInjectors { oldItems.put(new JSONObject().put("id", id).put("title", title).put("url", url)); } - var recent = fetchCatalogId("https://vk.ru/audio?section=recent"); + var recent = fetchCatalogId("https://vk.com/audio?section=recent"); if (recent != null) { var catalogarr = recent.optJSONObject("catalog").optJSONArray("sections").optJSONObject(0); diff --git a/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java b/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java index 55c42093f..f1ad5abd7 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java @@ -123,7 +123,7 @@ public class OnlineFormatterHook { case 5632485: return "SpaceVK"; case 6287487: - return "vk.ru"; + return "vk.com"; case 4542624: return "Black VK"; case 3917910: diff --git a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java index 08c2bb551..2ab5e2ab5 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java @@ -34,7 +34,7 @@ public class ProxyUtils{ return proxyapi; } - return "api.vk.ru"; + return "api.vk.com"; } public static String getOauth(){ @@ -48,7 +48,7 @@ public class ProxyUtils{ return oauth; } - return "oauth.vk.ru"; + return "oauth.vk.com"; } public static String getStatic(){ @@ -62,7 +62,7 @@ public class ProxyUtils{ return staticapi; } - return "static.vk.ru"; + return "static.vk.com"; } public static Boolean isAnyProxyEnabled(){ diff --git a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java index a312b5ba8..dee1f11c6 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java @@ -7,9 +7,9 @@ import android.util.Log; public class ApiProxy{ public static String linkReplacer(String link){ - var vkapi = "api.vk.ru"; - var oauth = "oauth.vk.ru"; - var vkstatic = "static.vk.ru"; + var vkapi = "api.vk.com"; + var oauth = "oauth.vk.com"; + var vkstatic = "static.vk.com"; var vkapiold = "api.vk.com"; var oauthold = "oauth.vk.com"; var vkstaticold = "static.vk.com"; @@ -68,7 +68,7 @@ public class ApiProxy{ } if (isAnyProxyEnabled() && !string.isEmpty()) { - return str.replaceAll(string, "static.vk.ru"); + return str.replaceAll(string, "static.vk.com"); } return str; @@ -85,6 +85,6 @@ public class ApiProxy{ return proxyapi; } - return "m.vk.ru"; + return "m.vk.com"; } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/activities/VKAdminTokenActivity.java b/app/src/main/java/ru/vtosters/lite/ui/activities/VKAdminTokenActivity.java index 75dd18c34..01a11523f 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/activities/VKAdminTokenActivity.java +++ b/app/src/main/java/ru/vtosters/lite/ui/activities/VKAdminTokenActivity.java @@ -22,7 +22,7 @@ import ru.vtosters.lite.utils.LayoutUtils; public class VKAdminTokenActivity extends AppCompatActivity { - private static final String URL = "https://" + getOauth() +"/authorize?client_id=6121396&scope=1073737727&redirect_uri=https://oauth.vk.ru/blank.html&display=page&response_type=token&revoke=1"; + private static final String URL = "https://" + getOauth() +"/authorize?client_id=6121396&scope=1073737727&redirect_uri=https://oauth.vk.com/blank.html&display=page&response_type=token&revoke=1"; @Override protected void onCreate(@Nullable Bundle bundle) { diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java index 7ce6e6add..4e22206b4 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/VKIDProtection.java @@ -25,7 +25,7 @@ public class VKIDProtection { // android.content.DialogInterface.OnClickListener builder.setNeutralButton(getString("vkiddisable"), (dialogInterface, i) -> { edit().putBoolean("showAlertVkId", false).apply(); - VKUIwrapper.setLink((isAnyProxyEnabled() ? "https://id.vk.ru/account" : "https://" + getApi() + "/_/id.vk.ru/account")); + VKUIwrapper.setLink((isAnyProxyEnabled() ? "https://id.vk.com/account" : "https://" + getApi() + "/_/id.vk.com/account")); Intent a2 = new Navigator(VKUIwrapper.class).b(activity); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); activity.startActivity(a2); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VKPayFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VKPayFragment.java index 3fd7b9601..d57f055ad 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VKPayFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VKPayFragment.java @@ -14,7 +14,7 @@ public class VKPayFragment extends FragmentImpl { } public void start() { - VKUIwrapper.setLink("https://vk.ru/vkpay"); + VKUIwrapper.setLink("https://vk.com/vkpay"); Intent a2 = new Navigator(VKUIwrapper.class).b(getActivity()); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(a2); diff --git a/smali/AndroidManifest.xml b/smali/AndroidManifest.xml index 5a3b6a819..cf2528e75 100644 --- a/smali/AndroidManifest.xml +++ b/smali/AndroidManifest.xml @@ -961,7 +961,7 @@ @@ -1005,7 +1005,7 @@ @@ -1016,7 +1016,7 @@ @@ -1038,7 +1038,7 @@ @@ -1131,7 +1131,7 @@ @@ -1143,7 +1143,7 @@ @@ -1178,7 +1178,7 @@ @@ -1189,7 +1189,7 @@ diff --git a/smali/assets/CopyrightAds.txt b/smali/assets/CopyrightAds.txt index 69f29ebb8..599f66613 100644 --- a/smali/assets/CopyrightAds.txt +++ b/smali/assets/CopyrightAds.txt @@ -1,7 +1,7 @@ appscent //t.me/ vk.com -vk.ru +vk.com apps-cent app-cent appcent diff --git a/smali/assets/wiki_template_article.htm b/smali/assets/wiki_template_article.htm index 98e5eea50..ba323e18f 100644 --- a/smali/assets/wiki_template_article.htm +++ b/smali/assets/wiki_template_article.htm @@ -394,12 +394,12 @@ function showPhotosBox(url, id, num, link){
diff --git a/smali/res/layout/group_admin_info.xml b/smali/res/layout/group_admin_info.xml index ec0efb62f..147ca38fd 100644 --- a/smali/res/layout/group_admin_info.xml +++ b/smali/res/layout/group_admin_info.xml @@ -85,7 +85,7 @@ android:layout_height="wrap_content" android:background="@null" android:padding="0.0dip" - android:text="https://vk.ru/" + android:text="https://vk.com/" android:textColor="#ffb8b8b8" /> diff --git a/smali/res/values-es/strings.xml b/smali/res/values-es/strings.xml index 97fb00226..311e070e5 100644 --- a/smali/res/values-es/strings.xml +++ b/smali/res/values-es/strings.xml @@ -454,7 +454,7 @@ resultados" Añadir a la transmisión en vivo Añadir a la transmisión en vivo Selecciona una publicación de tu muro que quieras compartir con tus espectadores  - https://vk.ru + https://vk.com Límite de enlaces alcanzado URL no compatible Lista de enlaces @@ -1086,7 +1086,7 @@ y organízalo con la ayuda de etiquetas" Gmail Invitar vía enlace Invitar - ¡Únete a mí en VK! http://vk.ru/join + ¡Únete a mí en VK! http://vk.com/join Para ver amigos cercanos, pídeles que abran esta pantalla en sus dispositivos OK Sois amigos @@ -1368,7 +1368,7 @@ menos frecuentemente" Dirección dirección Personalizado - Puede introducir tu información aquí para que las mini apps de [https://vk.ru/services|catalog] puedan usarla para configurar la entrega o contactarte + Puede introducir tu información aquí para que las mini apps de [https://vk.com/services|catalog] puedan usarla para configurar la entrega o contactarte Сorreo electrónico dirección de correo electrónico Categoría @@ -1398,7 +1398,7 @@ menos frecuentemente" Activar notificaciones Mis juegos Fecha de publicación no válida - ¡Vamos a conectar en VK! Únete aquí: http://vk.ru/join + ¡Vamos a conectar en VK! Únete aquí: http://vk.com/join Invitación rechazada. Tu invitación ha sido enviada. Invitar @@ -3268,7 +3268,7 @@ cámara VK" %1$s regresó a este chat "Este perfil sólo se usa para notificaciones personales. -Para ayuda o información, contacta con nuestro [https://vk.ru/support|Equipo de Soporte.]" +Para ayuda o información, contacta con nuestro [https://vk.com/support|Equipo de Soporte.]" Esta página se usa para proporcionar compatibilidad con versiones anteriores para comentarios de las comunidades. Este es el perfil oficial del soporte móvil VK. Activar @@ -5253,7 +5253,7 @@ con vídeo" Tu saldo Muro Todas las entradas - <font color=\"#aaaaaa\">Comentario para </font><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">entrada</a> + <font color=\"#aaaaaa\">Comentario para </font><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">entrada</a> Muro desactivado Aún no hay entradas aquí Aún no has publicado nada diff --git a/smali/res/values-kk/strings.xml b/smali/res/values-kk/strings.xml index 52d870ecc..1f332d12b 100644 --- a/smali/res/values-kk/strings.xml +++ b/smali/res/values-kk/strings.xml @@ -448,7 +448,7 @@ Трансляцияға бекіту Эфирге қосу Парақшаңыздан көрермендермен бөлісетін жазба таңдаңыз - https://vk.ru + https://vk.com Осыдан әрі сілтеме қосуға болмайды, сіз шекке жеттіңіз Сілтеме қолдаулы емес Сілтемелер тізімі @@ -1054,7 +1054,7 @@ Gmail Сілтеме бойынша шақыру Шақыру - VK-да дос болайық! http://vk.ru/join + VK-да дос болайық! http://vk.com/join Қасыңыздағы адамдарды көру үшін олардан өз құрылғыларынан осы экранға кіруді сұраңыз ОК Доссыздар @@ -1335,7 +1335,7 @@ Мекенжай мекенжай Өз категория - Сіз деректерді бір-ақ рет толтырып келесіде [https://vk.ru/services|топтамадағы] мини-қосымшаларға ол деректерді тез бере алатын боласыз + Сіз деректерді бір-ақ рет толтырып келесіде [https://vk.com/services|топтамадағы] мини-қосымшаларға ол деректерді тез бере алатын боласыз Электрондық пошта электрондық пошта мекенжайы Категория @@ -1365,7 +1365,7 @@ Бірлестік қосу Ойындарым Жариялау күні дұрыс емес - VK-да дос болайық! http://vk.ru/join + VK-да дос болайық! http://vk.com/join Шақыру қабылданбады. Шақыру жіберілді. Шақыру @@ -3221,7 +3221,7 @@ %1$s әңгімеге қайтып оралды "Профиль тек жеке мәлімдемелерге пайдаланылады. -Кез келген сұрықтарыңыз болса [https://vk.ru/support|Жәрдемге] жазыңыз." +Кез келген сұрықтарыңыз болса [https://vk.com/support|Жәрдемге] жазыңыз." Парақша пікірлер қызметінің кері үйлесімділік үшін пайдаланылады. VK мобильді жәрдемнің ресми парақшасы. Қосу @@ -5201,7 +5201,7 @@ https://vk.me" Теңгеріміңіз Қабырға Барлық жазбалар - <a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">жазбаға</a><font color=\"#aaaaaa\"> пікір</font> + <a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">жазбаға</a><font color=\"#aaaaaa\"> пікір</font> Қабырған өшірулі Әзірше жазба жоқ Әзірше жазба жоқ diff --git a/smali/res/values-pt/strings.xml b/smali/res/values-pt/strings.xml index dfbde7957..db980b83e 100644 --- a/smali/res/values-pt/strings.xml +++ b/smali/res/values-pt/strings.xml @@ -454,7 +454,7 @@ resultados" Anexar a transmissão Adicionar a transmissão Escolha o recado de sua página que deseja compartilhar com seus espectadores - https://vk.ru + https://vk.com Você atingiu o número máximo de links Link não suportado Lista de links @@ -1058,7 +1058,7 @@ e utilize as etiquetas para o sortear" Gmail Convidar por link Convidar - Vamos ser amigos no VK! http://vk.ru/join + Vamos ser amigos no VK! http://vk.com/join Para ver as pessoas que estão perto, peça-lhes para abrir a mesma tela no dispositivo deles OK Vocês são amigos @@ -1338,7 +1338,7 @@ menos frequência" Endereço endereço Minha categoria - Adicione suas informações para o preenchimento automático pelos mini apps do [https://vk.ru/services|catálogo] em caso da entrega de produtos ou para contatar você + Adicione suas informações para o preenchimento automático pelos mini apps do [https://vk.com/services|catálogo] em caso da entrega de produtos ou para contatar você Email email Categoria @@ -1368,7 +1368,7 @@ menos frequência" Conectar comunidade Meus jogos Data de publicação invalida - Vamos conectar ao VK! Participe aqui: http://vk.ru/join + Vamos conectar ao VK! Participe aqui: http://vk.com/join Convite recusado. Convite enviado. Convidar @@ -3236,7 +3236,7 @@ com a câmera do VK" %1$s voltou a este bate-papo "O perfil é usado somente para as notificações pessoais. -Para ajuda ou informações, contate nossa [https://vk.ru/support|equipe de Supporte.]" +Para ajuda ou informações, contate nossa [https://vk.com/support|equipe de Supporte.]" Esta página é utilizada para fornecer a compatibilidade para os comentários deixados em nome da comunidade. Este é o perfil oficial do Suporte móvel do VK. Habilitar @@ -5219,7 +5219,7 @@ com vídeo" Seu saldo Mural Todos os recados - <font color=\"#aaaaaa\">Comentar para </font><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">post</a> + <font color=\"#aaaaaa\">Comentar para </font><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">post</a> Mural desabilitado Ainda não há publicações aqui Ainda não tem recados diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml index 69d28f4ec..eaa435a49 100644 --- a/smali/res/values-ru/strings.xml +++ b/smali/res/values-ru/strings.xml @@ -462,7 +462,7 @@ Прикрепить к трансляции Добавить в эфир Выберите запись со своей страницы, которой Вы хотите поделиться со зрителями - https://vk.ru + https://vk.com Добавлено максимально возможное количество ссылок Ссылка не поддерживается Список ссылок @@ -1113,7 +1113,7 @@ Gmail Пригласить по ссылке Пригласить - Приглашаю дружить ВКонтакте! http://vk.ru/join + Приглашаю дружить ВКонтакте! http://vk.com/join Чтобы увидеть людей рядом, попросите их зайти на этот экран со своих устройств OK Вы друзья @@ -1395,7 +1395,7 @@ Адрес адрес Своя категория - Вы можете указать данные один раз и быстро предоставлять мини-приложениям из [https://vk.ru/services|каталога] — для доставки товаров или связи с Вами + Вы можете указать данные один раз и быстро предоставлять мини-приложениям из [https://vk.com/services|каталога] — для доставки товаров или связи с Вами Электронная почта адрес электронной почты Категория @@ -1425,7 +1425,7 @@ Подключить сообщество Мои игры Неверная дата публикации - Приглашаю дружить ВКонтакте! http://vk.ru/join + Приглашаю дружить ВКонтакте! http://vk.com/join Приглашение отклонено. Приглашение отправлено. Пригласить @@ -3310,7 +3310,7 @@ %1$s вернулся в беседу "Профиль используется только для персональных оповещений. -По любым вопросам пишите в [https://vk.ru/support|Поддержку.]" +По любым вопросам пишите в [https://vk.com/support|Поддержку.]" Страница используется для обратной совместимости сервиса комментариев от имени сообщества. Официальная страница мобильной поддержки ВКонтакте. Включить @@ -5300,7 +5300,7 @@ Ваш баланс Стена Все записи - <font color=#aaaaaa>Комментарий к </font><a href=vklink://view/?http://vk.ru/wall%1$d_%2$d>записи</a> + <font color=#aaaaaa>Комментарий к </font><a href=vklink://view/?http://vk.com/wall%1$d_%2$d>записи</a> Стена выключена Здесь пока нет записей У Вас пока нет записей diff --git a/smali/res/values-uk/strings.xml b/smali/res/values-uk/strings.xml index a7e0f5951..009536617 100644 --- a/smali/res/values-uk/strings.xml +++ b/smali/res/values-uk/strings.xml @@ -455,7 +455,7 @@ Прикріпити до трансляції Додати до ефіру Виберіть запис зі своєї сторінки, яким Ви хочете поділитися з глядачами - https://vk.ru + https://vk.com Додано максимально можливу кількість посилань Посилання не підтримується Список посилань @@ -1058,7 +1058,7 @@ Gmail Запросити за посиланням Запросити - Запрошую дружити VK! http://vk.ru/join + Запрошую дружити VK! http://vk.com/join Щоб побачити людей, що поруч, попросіть їх зайти на цей екран зі своїх пристроїв OK Ви друзі @@ -1340,7 +1340,7 @@ Адреса адреса Своя категорія - Ви можете вказати дані один раз і швидко надавати міні-додаткам з [https://vk.ru/services|каталогу] — для доставки товарів або зв‘язку з Вами + Ви можете вказати дані один раз і швидко надавати міні-додаткам з [https://vk.com/services|каталогу] — для доставки товарів або зв‘язку з Вами Електронна пошта адреса електронної пошти Категорія @@ -1370,7 +1370,7 @@ Підключити спільноту Мої ігри Невірна дата публікації - Запрошую дружити ВКонтакті! http://vk.ru/join + Запрошую дружити ВКонтакті! http://vk.com/join Запрошення відхилено. Запрошення надіслано. Запросити @@ -3242,7 +3242,7 @@ %1$s повернувся в бесіду "Профіль використовується лише для персональних сповіщень. -З будь-яких питань пишіть в [https://vk.ru/support|Підтримку.]" +З будь-яких питань пишіть в [https://vk.com/support|Підтримку.]" Сторінка використовується для забезпечення сумісності сервісу коментарів від імені спільноти. Офіційна сторінка мобільної підтримки VK. Увімкнути @@ -5228,7 +5228,7 @@ Ваш баланс Стіна Всі записи - <font color=\"#aaaaaa\">Коментар до </font><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">записи</a> + <font color=\"#aaaaaa\">Коментар до </font><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">записи</a> Стіну вимкнено Тут поки немає записів У Вас поки немає записів diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml index afd5c37f4..dc568c778 100644 --- a/smali/res/values/strings.xml +++ b/smali/res/values/strings.xml @@ -267,7 +267,7 @@ %s followers %s views Articles - [ { \"include\": \"https://vk.ru/.well-known/assetlinks.json\" }, { \"relation\":[ \"delegate_permission/common.handle_all_urls\" ], \"target\":{ \"namespace\":\"web\", \"site\":\"https://vk.ru\" } }, { \"relation\":[ \"delegate_permission/common.handle_all_urls\" ], \"target\":{ \"namespace\":\"web\", \"site\":\"https://m.vk.ru\" } } ] + [ { \"include\": \"https://vk.com/.well-known/assetlinks.json\" }, { \"relation\":[ \"delegate_permission/common.handle_all_urls\" ], \"target\":{ \"namespace\":\"web\", \"site\":\"https://vk.com\" } }, { \"relation\":[ \"delegate_permission/common.handle_all_urls\" ], \"target\":{ \"namespace\":\"web\", \"site\":\"https://m.vk.com\" } } ] Add Link added Album @@ -485,7 +485,7 @@ no results" Attach to live stream Add to live stream Select a post from your wall that you want to share with your viewers - https://vk.ru + https://vk.com Link limit reached URL not supported Link list @@ -1171,7 +1171,7 @@ and organize it with the help of tags" Gmail Invite by link Invite - Join me on VK! http://vk.ru/join + Join me on VK! http://vk.com/join To find friends nearby, ask them to open this screen on their devices OK You are friends @@ -1460,7 +1460,7 @@ less often." Address address Custom - You can enter your information here so that mini apps from the [https://vk.ru/services|catalog] can use it to set up delivery or contact you + You can enter your information here so that mini apps from the [https://vk.com/services|catalog] can use it to set up delivery or contact you Email email address Category @@ -1490,7 +1490,7 @@ less often." Add community My games Invalid posting date - Join me on VK! http://vk.ru/join + Join me on VK! http://vk.com/join Invitation declined. Your invitation has been sent. Invite @@ -3405,7 +3405,7 @@ the VK camera" %1$s returned to the chat "This profile is only used for personal notifications. -If you have any questions, please contact [https://vk.ru/support|Support.]" +If you have any questions, please contact [https://vk.com/support|Support.]" This page is used to provide backward compatibility for comments by communities. This is the official profile of VK Mobile Support. Enable @@ -5430,7 +5430,7 @@ with video" Your balance Wall All posts - <font color=\"#aaaaaa\">Comment on </font><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">post</a> + <font color=\"#aaaaaa\">Comment on </font><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">post</a> Wall disabled No posts here yet "You haven't posted anything yet" diff --git a/smali/res/xml/network_security_config_debug.xml b/smali/res/xml/network_security_config_debug.xml index 3c58a0579..2b2ae7d4a 100644 --- a/smali/res/xml/network_security_config_debug.xml +++ b/smali/res/xml/network_security_config_debug.xml @@ -14,7 +14,7 @@ - vk.ru + vk.com @@ -22,7 +22,7 @@ - api.vk.ru + api.vk.com diff --git a/smali/res/xml/preferences_debug.xml b/smali/res/xml/preferences_debug.xml index f19e120ee..22c654af4 100644 --- a/smali/res/xml/preferences_debug.xml +++ b/smali/res/xml/preferences_debug.xml @@ -99,23 +99,23 @@ android:key="domains" android:title="@string/debug_domains"> @@ -246,7 +246,7 @@ android:key="__dbg_test_crash" android:title="@string/debug_tests_crash" /> (Ljava/lang/String;)V @@ -184,7 +184,7 @@ .line 16 new-instance p1, Lcom/vtosters/lite/general/fragments/WebViewFragment$g; - const-string v0, "https://m.vk.ru/terms" + const-string v0, "https://m.vk.com/terms" invoke-direct {p1, v0}, Lcom/vtosters/lite/general/fragments/WebViewFragment$g;->(Ljava/lang/String;)V @@ -271,7 +271,7 @@ .line 27 new-instance p1, Lcom/vtosters/lite/general/fragments/WebViewFragment$g; - const-string v0, "https://m.vk.ru/privacy/cookies" + const-string v0, "https://m.vk.com/privacy/cookies" invoke-direct {p1, v0}, Lcom/vtosters/lite/general/fragments/WebViewFragment$g;->(Ljava/lang/String;)V @@ -315,7 +315,7 @@ .line 34 new-instance p1, Lcom/vtosters/lite/general/fragments/WebViewFragment$g; - const-string v0, "https://vk.ru/data_protection" + const-string v0, "https://vk.com/data_protection" invoke-direct {p1, v0}, Lcom/vtosters/lite/general/fragments/WebViewFragment$g;->(Ljava/lang/String;)V diff --git a/smali/smali_classes2/com/vk/api/apps/AppsGetEmbeddedUrl.smali b/smali/smali_classes2/com/vk/api/apps/AppsGetEmbeddedUrl.smali index 7d0754722..6143985d6 100644 --- a/smali/smali_classes2/com/vk/api/apps/AppsGetEmbeddedUrl.smali +++ b/smali/smali_classes2/com/vk/api/apps/AppsGetEmbeddedUrl.smali @@ -51,7 +51,7 @@ invoke-direct {p2}, Ljava/lang/StringBuilder;->()V - const-string p4, "https://vk.ru/app" + const-string p4, "https://vk.com/app" invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/api/apps/ExecuteGetServiceApp.smali b/smali/smali_classes2/com/vk/api/apps/ExecuteGetServiceApp.smali index fded965b2..b4652423a 100644 --- a/smali/smali_classes2/com/vk/api/apps/ExecuteGetServiceApp.smali +++ b/smali/smali_classes2/com/vk/api/apps/ExecuteGetServiceApp.smali @@ -38,7 +38,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/app" + const-string v1, "https://vk.com/app" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/api/base/ApiConfig$a$a$a.smali b/smali/smali_classes2/com/vk/api/base/ApiConfig$a$a$a.smali index 48a90ed4e..7ebfa7d71 100644 --- a/smali/smali_classes2/com/vk/api/base/ApiConfig$a$a$a.smali +++ b/smali/smali_classes2/com/vk/api/base/ApiConfig$a$a$a.smali @@ -101,7 +101,7 @@ .method public R1()Ljava/lang/String; .locals 1 - const-string v0, "api.vk.ru" + const-string v0, "api.vk.com" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -121,7 +121,7 @@ .method public T1()Ljava/lang/String; .locals 1 - const-string v0, "api.vk.ru" + const-string v0, "api.vk.com" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/api/base/ApiConfig$a$b.smali b/smali/smali_classes2/com/vk/api/base/ApiConfig$a$b.smali index 1a2ec2c13..7f281161b 100644 --- a/smali/smali_classes2/com/vk/api/base/ApiConfig$a$b.smali +++ b/smali/smali_classes2/com/vk/api/base/ApiConfig$a$b.smali @@ -18,7 +18,7 @@ .method public static a(Lcom/vk/api/base/ApiConfig$a;)Ljava/lang/String; .locals 0 - const-string p0, "http://vk.ru" + const-string p0, "http://vk.com" return-object p0 .end method diff --git a/smali/smali_classes2/com/vk/api/base/ApiRequest.smali b/smali/smali_classes2/com/vk/api/base/ApiRequest.smali index 26ed67eb3..c01e1be67 100644 --- a/smali/smali_classes2/com/vk/api/base/ApiRequest.smali +++ b/smali/smali_classes2/com/vk/api/base/ApiRequest.smali @@ -1265,7 +1265,7 @@ return-object v0 :cond_0 - const-string v0, "api.vk.ru" + const-string v0, "api.vk.com" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/api/board/BoardComment.smali b/smali/smali_classes2/com/vk/api/board/BoardComment.smali index 50083e0e4..de0d43842 100644 --- a/smali/smali_classes2/com/vk/api/board/BoardComment.smali +++ b/smali/smali_classes2/com/vk/api/board/BoardComment.smali @@ -1739,7 +1739,7 @@ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V - const-string v7, "vkontakte://vk.ru/" + const-string v7, "vkontakte://vk.com/" invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/api/internal/PingCall.smali b/smali/smali_classes2/com/vk/api/internal/PingCall.smali index 8aad318a3..3e5f84f66 100644 --- a/smali/smali_classes2/com/vk/api/internal/PingCall.smali +++ b/smali/smali_classes2/com/vk/api/internal/PingCall.smali @@ -18,7 +18,7 @@ iput-wide p1, p0, Lcom/vk/api/internal/PingCall;->b:J - const-string p1, "https://vk.ru/ping.txt" + const-string p1, "https://vk.com/ping.txt" .line 2 iput-object p1, p0, Lcom/vk/api/internal/PingCall;->a:Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/api/masks/MasksGetModel.smali b/smali/smali_classes2/com/vk/api/masks/MasksGetModel.smali index 914c996b8..4a387e885 100644 --- a/smali/smali_classes2/com/vk/api/masks/MasksGetModel.smali +++ b/smali/smali_classes2/com/vk/api/masks/MasksGetModel.smali @@ -32,7 +32,7 @@ const/4 v1, 0x1 - const-string v2, "https://vk.ru/source/masks/android_model.zip" + const-string v2, "https://vk.com/source/masks/android_model.zip" invoke-direct {v0, v1, v2}, Lcom/vk/api/masks/MasksGetModel$MasksGetModelResponse;->(ILjava/lang/String;)V diff --git a/smali/smali_classes2/com/vk/api/sdk/VKApiConfig$6.smali b/smali/smali_classes2/com/vk/api/sdk/VKApiConfig$6.smali index f0cadddf7..506c985e6 100644 --- a/smali/smali_classes2/com/vk/api/sdk/VKApiConfig$6.smali +++ b/smali/smali_classes2/com/vk/api/sdk/VKApiConfig$6.smali @@ -69,7 +69,7 @@ .method public final invoke()Ljava/lang/String; .locals 1 - const-string v0, "api.vk.ru" + const-string v0, "api.vk.com" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams$a.smali b/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams$a.smali index 164b1ef51..02c8fd670 100644 --- a/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams$a.smali +++ b/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams$a.smali @@ -112,7 +112,7 @@ :cond_2 const-string v1, "vk_app_redirect_url" - const-string v3, "https://oauth.vk.ru/blank.html" + const-string v3, "https://oauth.vk.com/blank.html" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams.smali b/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams.smali index f30b9a630..672b35c07 100644 --- a/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams.smali +++ b/smali/smali_classes2/com/vk/api/sdk/auth/VKAuthParams.smali @@ -84,7 +84,7 @@ :cond_0 new-instance p1, Ljava/lang/IllegalStateException; - const-string p2, "AppId is empty! Find out how to get your appId at https://vk.ru/dev/access_token" + const-string p2, "AppId is empty! Find out how to get your appId at https://vk.com/dev/access_token" invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V diff --git a/smali/smali_classes2/com/vk/api/sdk/okhttp/OkHttpExecutor.smali b/smali/smali_classes2/com/vk/api/sdk/okhttp/OkHttpExecutor.smali index 4e390074c..12040a51d 100644 --- a/smali/smali_classes2/com/vk/api/sdk/okhttp/OkHttpExecutor.smali +++ b/smali/smali_classes2/com/vk/api/sdk/okhttp/OkHttpExecutor.smali @@ -1041,7 +1041,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/?" + const-string v2, "https://vk.com/?" invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/api/sdk/ui/VKWebViewAuthActivity.smali b/smali/smali_classes2/com/vk/api/sdk/ui/VKWebViewAuthActivity.smali index dbae6cec9..a035c9a7a 100644 --- a/smali/smali_classes2/com/vk/api/sdk/ui/VKWebViewAuthActivity.smali +++ b/smali/smali_classes2/com/vk/api/sdk/ui/VKWebViewAuthActivity.smali @@ -200,7 +200,7 @@ goto :goto_1 :cond_0 - const-string v0, "https://oauth.vk.ru/authorize" + const-string v0, "https://oauth.vk.com/authorize" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/api/search/SearchAll.smali b/smali/smali_classes2/com/vk/api/search/SearchAll.smali index 8163b56d1..9db07dedd 100644 --- a/smali/smali_classes2/com/vk/api/search/SearchAll.smali +++ b/smali/smali_classes2/com/vk/api/search/SearchAll.smali @@ -145,7 +145,7 @@ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V - const-string v4, "vk.ru/" + const-string v4, "vk.com/" invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/articles/authorpage/ArticleAuthorPageHelper.smali b/smali/smali_classes2/com/vk/articles/authorpage/ArticleAuthorPageHelper.smali index 89b57c8c1..0d62bb319 100644 --- a/smali/smali_classes2/com/vk/articles/authorpage/ArticleAuthorPageHelper.smali +++ b/smali/smali_classes2/com/vk/articles/authorpage/ArticleAuthorPageHelper.smali @@ -55,7 +55,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/@" + const-string v1, "https://vk.com/@" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/articles/preload/WebCachePreloader.smali b/smali/smali_classes2/com/vk/articles/preload/WebCachePreloader.smali index f8a3b2e2f..9047e81df 100644 --- a/smali/smali_classes2/com/vk/articles/preload/WebCachePreloader.smali +++ b/smali/smali_classes2/com/vk/articles/preload/WebCachePreloader.smali @@ -125,7 +125,7 @@ const-string v2, "referer" - const-string v3, "https://vk.ru" + const-string v3, "https://vk.com" invoke-direct {v1, v2, v3}, Lkotlin/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V diff --git a/smali/smali_classes2/com/vk/attachpicker/u/j/FiltersController.smali b/smali/smali_classes2/com/vk/attachpicker/u/j/FiltersController.smali index 6dd7011e5..fd862a9ba 100644 --- a/smali/smali_classes2/com/vk/attachpicker/u/j/FiltersController.smali +++ b/smali/smali_classes2/com/vk/attachpicker/u/j/FiltersController.smali @@ -19,7 +19,7 @@ :try_start_0 new-instance v0, Lorg/json/JSONObject; - const-string v1, "{\"response\":{\"catalog_version\":11,\"filters\":{\"count\":9,\"items\":[{\"id\":\"snow\",\"app_version\":\"v2.0.0(14077)\",\"preset\":{\"col\":[{\"lumAdj\":0.036000,\"satAdj\":0.145000,\"sm\":0.350000,\"fG\":0.500000,\"fB\":0.500000,\"thr\":0.350000,\"fR\":0.500000,\"hue\":0},{\"lumAdj\":0.099000,\"satAdj\":0,\"sm\":0.350000,\"fG\":1,\"fB\":1,\"thr\":0.034000,\"fR\":1,\"hue\":0.567000},{\"lumAdj\":0.061000,\"satAdj\":0.860000,\"sm\":0.224000,\"fG\":0.451000,\"fB\":0.451000,\"thr\":0.069000,\"fR\":1,\"hue\":0.057000},{\"lumAdj\":0,\"satAdj\":0.224000,\"sm\":0.111000,\"fG\":0,\"fB\":0,\"thr\":0.051000,\"fR\":0.702000,\"hue\":0.018000},{\"lumAdj\":-0.038000,\"satAdj\":0.136000,\"sm\":0.332000,\"fG\":0,\"fB\":0,\"thr\":0.177000,\"fR\":1,\"hue\":0.018000},{\"lumAdj\":0.111000,\"satAdj\":0.864000,\"sm\":0.348000,\"fG\":1,\"fB\":1,\"thr\":0.071000,\"fR\":0,\"hue\":0.572000},{\"lumAdj\":-0.069000,\"satAdj\":0.178000,\"sm\":0.068000,\"fG\":0,\"fB\":0,\"thr\":0,\"fR\":0,\"hue\":0.949000}],\"red_curve\":[0,64,128,192,255],\"sat\":-0.025000,\"con\":-0.299000,\"green_curve\":[0,64,128,192,255],\"blue_curve\":[0,64,128,192,255],\"rgb_curve\":[0,57,132,194,255],\"br\":-0.102000,\"enh\":0.399000,\"tint\":-0.138000},\"name\":\"Snow\",\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/snow@2x.jpg?3\"},{\"id\":\"lake\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.018145,\"col\":[{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.441830,\"lumAdj\":-0.095000,\"satAdj\":0.311000,\"sm\":0.264000,\"thr\":0.185000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.021000,\"satAdj\":0.000000,\"sm\":0.350000,\"thr\":0.409000},{\"fB\":0.176000,\"fG\":0.192000,\"fR\":0.243000,\"hue\":0.662092,\"lumAdj\":-0.003000,\"satAdj\":0.122984,\"sm\":0.146000,\"thr\":0.026000},{\"fB\":0.251000,\"fG\":0.251000,\"fR\":0.251000,\"hue\":0.418954,\"lumAdj\":-0.035685,\"satAdj\":-0.012097,\"sm\":0.311000,\"thr\":0.120000},{\"fB\":0.600000,\"fG\":1.000000,\"fR\":0.992000,\"hue\":0.170000,\"lumAdj\":0.023000,\"satAdj\":-0.347000,\"sm\":0.271000,\"thr\":0.130000},{\"fB\":0.302000,\"fG\":0.302000,\"fR\":1.000000,\"hue\":0.022000,\"lumAdj\":0.021000,\"satAdj\":0.250000,\"sm\":0.255000,\"thr\":0.087000},{\"fB\":0.424000,\"fG\":0.525000,\"fR\":0.765000,\"hue\":0.069935,\"lumAdj\":0.040524,\"satAdj\":-0.177419,\"sm\":0.129486,\"thr\":0.038199},{\"fB\":0.188000,\"fG\":0.220000,\"fR\":0.329000,\"hue\":0.037000,\"lumAdj\":-0.016000,\"satAdj\":0.333000,\"sm\":0.097000,\"thr\":0.006000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":0.350980,\"lumAdj\":0.061000,\"satAdj\":0.052000,\"sm\":0.319000,\"thr\":0.009000}],\"con\":0.119000,\"localCurrentColor\":3,\"enh\":0.000000,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,71,134,192,255],\"sat\":0.370968,\"shar\":0.000000,\"tem\":-0.415000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Lake\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/lake@2x.jpg?3\"},{\"id\":\"dew\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.505000,\"lumAdj\":-0.041000,\"satAdj\":0.089000,\"sm\":0.194000,\"thr\":0.039000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.108000,\"lumAdj\":-0.031000,\"satAdj\":-0.084000,\"sm\":0.350000,\"thr\":0.096000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":1.000000,\"hue\":0.071895,\"lumAdj\":-0.031000,\"satAdj\":0.038000,\"sm\":0.172000,\"thr\":0.243000},{\"fB\":0.000000,\"fG\":0.549000,\"fR\":0.012000,\"hue\":0.506000,\"lumAdj\":-0.096000,\"satAdj\":1.000000,\"sm\":0.204000,\"thr\":0.096000},{\"fB\":0.451000,\"fG\":0.427000,\"fR\":0.467000,\"hue\":0.900000,\"lumAdj\":0.000000,\"satAdj\":0.190000,\"sm\":0.030000,\"thr\":0.000000},{\"fB\":0.431000,\"fG\":0.420000,\"fR\":0.392000,\"hue\":0.550000,\"lumAdj\":0.000000,\"satAdj\":0.482000,\"sm\":0.077000,\"thr\":0.002000},{\"fB\":0.780000,\"fG\":0.792000,\"fR\":0.745000,\"hue\":0.542000,\"lumAdj\":0.000000,\"satAdj\":-1.000000,\"sm\":0.297000,\"thr\":0.003000},{\"fB\":0.200000,\"fG\":0.200000,\"fR\":0.200000,\"hue\":0.966013,\"lumAdj\":-0.029032,\"satAdj\":0.098790,\"sm\":0.350000,\"thr\":0.023000},{\"fB\":0.337000,\"fG\":0.047000,\"fR\":0.035000,\"hue\":0.837908,\"lumAdj\":-0.001000,\"satAdj\":0.216000,\"sm\":0.117000,\"thr\":0.105000},{\"fB\":1.000000,\"fG\":0.835000,\"fR\":0.690000,\"hue\":0.480000,\"lumAdj\":-0.110000,\"satAdj\":0.201000,\"sm\":0.086000,\"thr\":0.002000},{\"fB\":0.490000,\"fG\":0.659000,\"fR\":0.698000,\"hue\":0.022000,\"lumAdj\":-0.002000,\"satAdj\":0.318000,\"sm\":0.307000,\"thr\":0.028000},{\"fB\":0.478000,\"fG\":0.592000,\"fR\":0.835000,\"hue\":0.053000,\"lumAdj\":0.108000,\"satAdj\":0.333000,\"sm\":0.221000,\"thr\":0.004000},{\"fB\":0.886000,\"fG\":0.612000,\"fR\":0.380000,\"hue\":0.476000,\"lumAdj\":-0.052000,\"satAdj\":0.571000,\"sm\":0.155000,\"thr\":0.010000}],\"con\":0.000000,\"localCurrentColor\":8,\"enh\":0.000000,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":0.000000,\"shar\":0.000000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.007000},\"isDisabled\":false,\"name\":\"Dew\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/dew@2x.jpg?3\"},{\"id\":\"ash\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":-0.027000,\"satAdj\":-0.636000,\"sm\":0.348000,\"thr\":0.018000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":0.032026,\"lumAdj\":-0.041129,\"satAdj\":0.100806,\"sm\":0.348000,\"thr\":0.138000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.167320,\"lumAdj\":-0.062298,\"satAdj\":0.062500,\"sm\":0.256000,\"thr\":0.000000},{\"fB\":0.561000,\"fG\":0.651000,\"fR\":0.745000,\"hue\":0.104000,\"lumAdj\":-0.025000,\"satAdj\":0.309000,\"sm\":0.092000,\"thr\":0.019000},{\"fB\":0.149000,\"fG\":0.149000,\"fR\":0.149000,\"hue\":0.986000,\"lumAdj\":-0.043000,\"satAdj\":0.206000,\"sm\":0.188000,\"thr\":0.008000},{\"fB\":0.961000,\"fG\":0.631000,\"fR\":0.412000,\"hue\":0.535294,\"lumAdj\":0.000000,\"satAdj\":0.989919,\"sm\":0.202000,\"thr\":0.000000}],\"con\":0.000000,\"localCurrentColor\":5,\"enh\":0.179000,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":0.000000,\"shar\":0.000000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Ash\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/ash@2x.jpg?3\"},{\"id\":\"fen\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.058000,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":-0.044000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":-0.032000,\"satAdj\":0.000000,\"sm\":0.344000,\"thr\":0.358000},{\"fB\":0.176000,\"fG\":0.196000,\"fR\":0.294000,\"hue\":0.030065,\"lumAdj\":-0.019000,\"satAdj\":0.336000,\"sm\":0.037000,\"thr\":0.000000},{\"fB\":0.200000,\"fG\":0.216000,\"fR\":0.235000,\"hue\":0.601307,\"lumAdj\":-0.047177,\"satAdj\":0.133065,\"sm\":0.095000,\"thr\":0.006000},{\"fB\":0.780000,\"fG\":0.471000,\"fR\":0.329000,\"hue\":0.437255,\"lumAdj\":0.000000,\"satAdj\":0.344758,\"sm\":0.150000,\"thr\":0.031000}],\"con\":-0.516000,\"localCurrentColor\":3,\"enh\":0.000000,\"fade\":0.163000,\"gr\":0.000000,\"green_curve\":[0,65,124,192,255],\"red_curve\":[0,65,126,192,255],\"rgb_curve\":[0,42,119,185,249],\"sat\":0.000000,\"shar\":0.000000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Fen\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/fen@2x.jpg?3\"},{\"id\":\"drama\",\"date\":0,\"preset\":{\"blue_curve\":[0,62,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.153000,\"fG\":0.180000,\"fR\":0.337000,\"hue\":0.025000,\"lumAdj\":0.000000,\"satAdj\":0.284000,\"sm\":0.103000,\"thr\":0.021000},{\"fB\":0.537000,\"fG\":0.565000,\"fR\":0.804000,\"hue\":0.016993,\"lumAdj\":0.037500,\"satAdj\":0.161290,\"sm\":0.108000,\"thr\":0.010000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":-0.031452,\"satAdj\":0.800403,\"sm\":0.338004,\"thr\":0.038588},{\"fB\":0.549000,\"fG\":0.631000,\"fR\":0.824000,\"hue\":1.000000,\"lumAdj\":0.058669,\"satAdj\":0.175403,\"sm\":0.155000,\"thr\":0.035000},{\"fB\":0.270588,\"fG\":0.270588,\"fR\":0.325490,\"hue\":1.000000,\"lumAdj\":0.059879,\"satAdj\":0.008065,\"sm\":0.083266,\"thr\":0.008340}],\"con\":0.054435,\"localCurrentColor\":6,\"enh\":0.163306,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,60,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,49,118,196,255],\"sat\":-0.514113,\"shar\":0.000000,\"tem\":-0.328000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Drama\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/drama@2x.jpg?3\"},{\"id\":\"sunset\",\"date\":1457719798,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.004032,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.533000,\"lumAdj\":-0.177000,\"satAdj\":-0.234000,\"sm\":0.350000,\"thr\":0.000000},{\"fB\":0.337000,\"fG\":0.047000,\"fR\":0.035000,\"hue\":0.570000,\"lumAdj\":-0.052000,\"satAdj\":0.201000,\"sm\":0.117000,\"thr\":0.105000},{\"fB\":0.514000,\"fG\":0.384000,\"fR\":0.361000,\"hue\":0.596078,\"lumAdj\":0.000000,\"satAdj\":0.252000,\"sm\":0.203000,\"thr\":0.025368},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.400000,\"hue\":0.985000,\"lumAdj\":-0.069000,\"satAdj\":0.276000,\"sm\":0.100000,\"thr\":0.057000},{\"fB\":0.400000,\"fG\":0.000000,\"fR\":0.008000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.108871,\"sm\":0.150000,\"thr\":0.100000},{\"fB\":0.043000,\"fG\":0.090000,\"fR\":0.153000,\"hue\":0.041000,\"lumAdj\":-0.036000,\"satAdj\":0.327000,\"sm\":0.059000,\"thr\":0.000000},{\"fB\":0.945000,\"fG\":0.961000,\"fR\":0.961000,\"hue\":0.580000,\"lumAdj\":0.119000,\"satAdj\":0.584000,\"sm\":0.114000,\"thr\":0.000000},{\"fB\":0.333000,\"fG\":0.506000,\"fR\":0.725000,\"hue\":0.083000,\"lumAdj\":0.018000,\"satAdj\":0.679000,\"sm\":0.173000,\"thr\":0.067000},{\"fB\":0.251000,\"fG\":0.251000,\"fR\":0.251000,\"hue\":1.000000,\"lumAdj\":-0.059000,\"satAdj\":0.163000,\"sm\":0.350000,\"thr\":0.000000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.619000,\"lumAdj\":-0.013000,\"satAdj\":0.000000,\"sm\":0.177000,\"thr\":0.053000}],\"con\":0.268145,\"localCurrentColor\":3,\"enh\":0.157258,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":-0.155000,\"shar\":0.250000,\"tem\":-0.488510,\"tint\":-0.186000,\"vig\":0.293000},\"isDisabled\":false,\"name\":\"Sunset\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/sunset@2x.jpg?3\"},{\"id\":\"downpour\",\"date\":1457719647,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.560131,\"lumAdj\":-0.047177,\"satAdj\":0.107000,\"sm\":0.157000,\"thr\":0.025368},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":1.000000,\"hue\":0.026797,\"lumAdj\":-0.034476,\"satAdj\":0.320564,\"sm\":0.200000,\"thr\":0.243000},{\"fB\":0.337000,\"fG\":0.047000,\"fR\":0.035000,\"hue\":0.466013,\"lumAdj\":-0.020565,\"satAdj\":0.092742,\"sm\":0.117000,\"thr\":0.105000},{\"fB\":0.247000,\"fG\":0.416000,\"fR\":0.580000,\"hue\":0.090196,\"lumAdj\":-0.035081,\"satAdj\":0.391129,\"sm\":0.186290,\"thr\":0.008739},{\"fB\":0.514000,\"fG\":0.384000,\"fR\":0.361000,\"hue\":0.549020,\"lumAdj\":-0.032661,\"satAdj\":0.252000,\"sm\":0.233216,\"thr\":0.003378},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.532680,\"lumAdj\":0.000000,\"satAdj\":-0.285000,\"sm\":0.200000,\"thr\":0.038000},{\"fB\":0.137255,\"fG\":0.133333,\"fR\":0.105882,\"hue\":1.000000,\"lumAdj\":-0.053831,\"satAdj\":0.308468,\"sm\":0.185585,\"thr\":0.000624},{\"fB\":0.470588,\"fG\":0.529412,\"fR\":0.639216,\"hue\":0.058170,\"lumAdj\":0.095565,\"satAdj\":0.118952,\"sm\":0.221573,\"thr\":0.018977}],\"con\":-0.143145,\"localCurrentColor\":8,\"enh\":0.146169,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,62,141,205,255],\"sat\":-0.348790,\"shar\":0.232000,\"tem\":-0.314516,\"tint\":-0.135000,\"vig\":0.008000},\"isDisabled\":false,\"name\":\"Downpour\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/downpour@2x.jpg?3\"},{\"id\":\"dark\",\"date\":1457715727,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":-0.107500,\"col\":[{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.211694,\"satAdj\":-0.629032,\"sm\":0.349647,\"thr\":0.761176},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.549000,\"hue\":1.000000,\"lumAdj\":0.168750,\"satAdj\":0.000000,\"sm\":0.325302,\"thr\":0.814856},{\"fB\":0.302000,\"fG\":0.302000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.091000,\"satAdj\":0.000000,\"sm\":0.163000,\"thr\":0.129000},{\"fB\":0.914000,\"fG\":0.761000,\"fR\":0.612000,\"hue\":0.584000,\"lumAdj\":-0.121000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.102000,\"fG\":0.102000,\"fR\":0.102000,\"hue\":1.000000,\"lumAdj\":0.052000,\"satAdj\":0.000000,\"sm\":0.287000,\"thr\":0.000000},{\"fB\":0.647059,\"fG\":0.745098,\"fR\":0.968627,\"hue\":0.050980,\"lumAdj\":0.137903,\"satAdj\":0.000000,\"sm\":0.340474,\"thr\":0.156163}],\"con\":0.295000,\"localCurrentColor\":7,\"enh\":0.212000,\"fade\":0.028000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":-1.000000,\"shar\":0.240000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Dark\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.ru\\/images\\/filters\\/chronicle\\/dark@2x.jpg?3\"}]},\"instagram_suffix\":\"\",\"instagram_fallback\":0}}" + const-string v1, "{\"response\":{\"catalog_version\":11,\"filters\":{\"count\":9,\"items\":[{\"id\":\"snow\",\"app_version\":\"v2.0.0(14077)\",\"preset\":{\"col\":[{\"lumAdj\":0.036000,\"satAdj\":0.145000,\"sm\":0.350000,\"fG\":0.500000,\"fB\":0.500000,\"thr\":0.350000,\"fR\":0.500000,\"hue\":0},{\"lumAdj\":0.099000,\"satAdj\":0,\"sm\":0.350000,\"fG\":1,\"fB\":1,\"thr\":0.034000,\"fR\":1,\"hue\":0.567000},{\"lumAdj\":0.061000,\"satAdj\":0.860000,\"sm\":0.224000,\"fG\":0.451000,\"fB\":0.451000,\"thr\":0.069000,\"fR\":1,\"hue\":0.057000},{\"lumAdj\":0,\"satAdj\":0.224000,\"sm\":0.111000,\"fG\":0,\"fB\":0,\"thr\":0.051000,\"fR\":0.702000,\"hue\":0.018000},{\"lumAdj\":-0.038000,\"satAdj\":0.136000,\"sm\":0.332000,\"fG\":0,\"fB\":0,\"thr\":0.177000,\"fR\":1,\"hue\":0.018000},{\"lumAdj\":0.111000,\"satAdj\":0.864000,\"sm\":0.348000,\"fG\":1,\"fB\":1,\"thr\":0.071000,\"fR\":0,\"hue\":0.572000},{\"lumAdj\":-0.069000,\"satAdj\":0.178000,\"sm\":0.068000,\"fG\":0,\"fB\":0,\"thr\":0,\"fR\":0,\"hue\":0.949000}],\"red_curve\":[0,64,128,192,255],\"sat\":-0.025000,\"con\":-0.299000,\"green_curve\":[0,64,128,192,255],\"blue_curve\":[0,64,128,192,255],\"rgb_curve\":[0,57,132,194,255],\"br\":-0.102000,\"enh\":0.399000,\"tint\":-0.138000},\"name\":\"Snow\",\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/snow@2x.jpg?3\"},{\"id\":\"lake\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.018145,\"col\":[{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.441830,\"lumAdj\":-0.095000,\"satAdj\":0.311000,\"sm\":0.264000,\"thr\":0.185000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.021000,\"satAdj\":0.000000,\"sm\":0.350000,\"thr\":0.409000},{\"fB\":0.176000,\"fG\":0.192000,\"fR\":0.243000,\"hue\":0.662092,\"lumAdj\":-0.003000,\"satAdj\":0.122984,\"sm\":0.146000,\"thr\":0.026000},{\"fB\":0.251000,\"fG\":0.251000,\"fR\":0.251000,\"hue\":0.418954,\"lumAdj\":-0.035685,\"satAdj\":-0.012097,\"sm\":0.311000,\"thr\":0.120000},{\"fB\":0.600000,\"fG\":1.000000,\"fR\":0.992000,\"hue\":0.170000,\"lumAdj\":0.023000,\"satAdj\":-0.347000,\"sm\":0.271000,\"thr\":0.130000},{\"fB\":0.302000,\"fG\":0.302000,\"fR\":1.000000,\"hue\":0.022000,\"lumAdj\":0.021000,\"satAdj\":0.250000,\"sm\":0.255000,\"thr\":0.087000},{\"fB\":0.424000,\"fG\":0.525000,\"fR\":0.765000,\"hue\":0.069935,\"lumAdj\":0.040524,\"satAdj\":-0.177419,\"sm\":0.129486,\"thr\":0.038199},{\"fB\":0.188000,\"fG\":0.220000,\"fR\":0.329000,\"hue\":0.037000,\"lumAdj\":-0.016000,\"satAdj\":0.333000,\"sm\":0.097000,\"thr\":0.006000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":0.350980,\"lumAdj\":0.061000,\"satAdj\":0.052000,\"sm\":0.319000,\"thr\":0.009000}],\"con\":0.119000,\"localCurrentColor\":3,\"enh\":0.000000,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,71,134,192,255],\"sat\":0.370968,\"shar\":0.000000,\"tem\":-0.415000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Lake\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/lake@2x.jpg?3\"},{\"id\":\"dew\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.505000,\"lumAdj\":-0.041000,\"satAdj\":0.089000,\"sm\":0.194000,\"thr\":0.039000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.108000,\"lumAdj\":-0.031000,\"satAdj\":-0.084000,\"sm\":0.350000,\"thr\":0.096000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":1.000000,\"hue\":0.071895,\"lumAdj\":-0.031000,\"satAdj\":0.038000,\"sm\":0.172000,\"thr\":0.243000},{\"fB\":0.000000,\"fG\":0.549000,\"fR\":0.012000,\"hue\":0.506000,\"lumAdj\":-0.096000,\"satAdj\":1.000000,\"sm\":0.204000,\"thr\":0.096000},{\"fB\":0.451000,\"fG\":0.427000,\"fR\":0.467000,\"hue\":0.900000,\"lumAdj\":0.000000,\"satAdj\":0.190000,\"sm\":0.030000,\"thr\":0.000000},{\"fB\":0.431000,\"fG\":0.420000,\"fR\":0.392000,\"hue\":0.550000,\"lumAdj\":0.000000,\"satAdj\":0.482000,\"sm\":0.077000,\"thr\":0.002000},{\"fB\":0.780000,\"fG\":0.792000,\"fR\":0.745000,\"hue\":0.542000,\"lumAdj\":0.000000,\"satAdj\":-1.000000,\"sm\":0.297000,\"thr\":0.003000},{\"fB\":0.200000,\"fG\":0.200000,\"fR\":0.200000,\"hue\":0.966013,\"lumAdj\":-0.029032,\"satAdj\":0.098790,\"sm\":0.350000,\"thr\":0.023000},{\"fB\":0.337000,\"fG\":0.047000,\"fR\":0.035000,\"hue\":0.837908,\"lumAdj\":-0.001000,\"satAdj\":0.216000,\"sm\":0.117000,\"thr\":0.105000},{\"fB\":1.000000,\"fG\":0.835000,\"fR\":0.690000,\"hue\":0.480000,\"lumAdj\":-0.110000,\"satAdj\":0.201000,\"sm\":0.086000,\"thr\":0.002000},{\"fB\":0.490000,\"fG\":0.659000,\"fR\":0.698000,\"hue\":0.022000,\"lumAdj\":-0.002000,\"satAdj\":0.318000,\"sm\":0.307000,\"thr\":0.028000},{\"fB\":0.478000,\"fG\":0.592000,\"fR\":0.835000,\"hue\":0.053000,\"lumAdj\":0.108000,\"satAdj\":0.333000,\"sm\":0.221000,\"thr\":0.004000},{\"fB\":0.886000,\"fG\":0.612000,\"fR\":0.380000,\"hue\":0.476000,\"lumAdj\":-0.052000,\"satAdj\":0.571000,\"sm\":0.155000,\"thr\":0.010000}],\"con\":0.000000,\"localCurrentColor\":8,\"enh\":0.000000,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":0.000000,\"shar\":0.000000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.007000},\"isDisabled\":false,\"name\":\"Dew\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/dew@2x.jpg?3\"},{\"id\":\"ash\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":-0.027000,\"satAdj\":-0.636000,\"sm\":0.348000,\"thr\":0.018000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":0.032026,\"lumAdj\":-0.041129,\"satAdj\":0.100806,\"sm\":0.348000,\"thr\":0.138000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.167320,\"lumAdj\":-0.062298,\"satAdj\":0.062500,\"sm\":0.256000,\"thr\":0.000000},{\"fB\":0.561000,\"fG\":0.651000,\"fR\":0.745000,\"hue\":0.104000,\"lumAdj\":-0.025000,\"satAdj\":0.309000,\"sm\":0.092000,\"thr\":0.019000},{\"fB\":0.149000,\"fG\":0.149000,\"fR\":0.149000,\"hue\":0.986000,\"lumAdj\":-0.043000,\"satAdj\":0.206000,\"sm\":0.188000,\"thr\":0.008000},{\"fB\":0.961000,\"fG\":0.631000,\"fR\":0.412000,\"hue\":0.535294,\"lumAdj\":0.000000,\"satAdj\":0.989919,\"sm\":0.202000,\"thr\":0.000000}],\"con\":0.000000,\"localCurrentColor\":5,\"enh\":0.179000,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":0.000000,\"shar\":0.000000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Ash\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/ash@2x.jpg?3\"},{\"id\":\"fen\",\"date\":0,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.058000,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":-0.044000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":-0.032000,\"satAdj\":0.000000,\"sm\":0.344000,\"thr\":0.358000},{\"fB\":0.176000,\"fG\":0.196000,\"fR\":0.294000,\"hue\":0.030065,\"lumAdj\":-0.019000,\"satAdj\":0.336000,\"sm\":0.037000,\"thr\":0.000000},{\"fB\":0.200000,\"fG\":0.216000,\"fR\":0.235000,\"hue\":0.601307,\"lumAdj\":-0.047177,\"satAdj\":0.133065,\"sm\":0.095000,\"thr\":0.006000},{\"fB\":0.780000,\"fG\":0.471000,\"fR\":0.329000,\"hue\":0.437255,\"lumAdj\":0.000000,\"satAdj\":0.344758,\"sm\":0.150000,\"thr\":0.031000}],\"con\":-0.516000,\"localCurrentColor\":3,\"enh\":0.000000,\"fade\":0.163000,\"gr\":0.000000,\"green_curve\":[0,65,124,192,255],\"red_curve\":[0,65,126,192,255],\"rgb_curve\":[0,42,119,185,249],\"sat\":0.000000,\"shar\":0.000000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Fen\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/fen@2x.jpg?3\"},{\"id\":\"drama\",\"date\":0,\"preset\":{\"blue_curve\":[0,62,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.153000,\"fG\":0.180000,\"fR\":0.337000,\"hue\":0.025000,\"lumAdj\":0.000000,\"satAdj\":0.284000,\"sm\":0.103000,\"thr\":0.021000},{\"fB\":0.537000,\"fG\":0.565000,\"fR\":0.804000,\"hue\":0.016993,\"lumAdj\":0.037500,\"satAdj\":0.161290,\"sm\":0.108000,\"thr\":0.010000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":-0.031452,\"satAdj\":0.800403,\"sm\":0.338004,\"thr\":0.038588},{\"fB\":0.549000,\"fG\":0.631000,\"fR\":0.824000,\"hue\":1.000000,\"lumAdj\":0.058669,\"satAdj\":0.175403,\"sm\":0.155000,\"thr\":0.035000},{\"fB\":0.270588,\"fG\":0.270588,\"fR\":0.325490,\"hue\":1.000000,\"lumAdj\":0.059879,\"satAdj\":0.008065,\"sm\":0.083266,\"thr\":0.008340}],\"con\":0.054435,\"localCurrentColor\":6,\"enh\":0.163306,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,60,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,49,118,196,255],\"sat\":-0.514113,\"shar\":0.000000,\"tem\":-0.328000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Drama\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/drama@2x.jpg?3\"},{\"id\":\"sunset\",\"date\":1457719798,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.004032,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.533000,\"lumAdj\":-0.177000,\"satAdj\":-0.234000,\"sm\":0.350000,\"thr\":0.000000},{\"fB\":0.337000,\"fG\":0.047000,\"fR\":0.035000,\"hue\":0.570000,\"lumAdj\":-0.052000,\"satAdj\":0.201000,\"sm\":0.117000,\"thr\":0.105000},{\"fB\":0.514000,\"fG\":0.384000,\"fR\":0.361000,\"hue\":0.596078,\"lumAdj\":0.000000,\"satAdj\":0.252000,\"sm\":0.203000,\"thr\":0.025368},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.400000,\"hue\":0.985000,\"lumAdj\":-0.069000,\"satAdj\":0.276000,\"sm\":0.100000,\"thr\":0.057000},{\"fB\":0.400000,\"fG\":0.000000,\"fR\":0.008000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.108871,\"sm\":0.150000,\"thr\":0.100000},{\"fB\":0.043000,\"fG\":0.090000,\"fR\":0.153000,\"hue\":0.041000,\"lumAdj\":-0.036000,\"satAdj\":0.327000,\"sm\":0.059000,\"thr\":0.000000},{\"fB\":0.945000,\"fG\":0.961000,\"fR\":0.961000,\"hue\":0.580000,\"lumAdj\":0.119000,\"satAdj\":0.584000,\"sm\":0.114000,\"thr\":0.000000},{\"fB\":0.333000,\"fG\":0.506000,\"fR\":0.725000,\"hue\":0.083000,\"lumAdj\":0.018000,\"satAdj\":0.679000,\"sm\":0.173000,\"thr\":0.067000},{\"fB\":0.251000,\"fG\":0.251000,\"fR\":0.251000,\"hue\":1.000000,\"lumAdj\":-0.059000,\"satAdj\":0.163000,\"sm\":0.350000,\"thr\":0.000000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.619000,\"lumAdj\":-0.013000,\"satAdj\":0.000000,\"sm\":0.177000,\"thr\":0.053000}],\"con\":0.268145,\"localCurrentColor\":3,\"enh\":0.157258,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":-0.155000,\"shar\":0.250000,\"tem\":-0.488510,\"tint\":-0.186000,\"vig\":0.293000},\"isDisabled\":false,\"name\":\"Sunset\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/sunset@2x.jpg?3\"},{\"id\":\"downpour\",\"date\":1457719647,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":0.000000,\"col\":[{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":0.560131,\"lumAdj\":-0.047177,\"satAdj\":0.107000,\"sm\":0.157000,\"thr\":0.025368},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":1.000000,\"hue\":0.026797,\"lumAdj\":-0.034476,\"satAdj\":0.320564,\"sm\":0.200000,\"thr\":0.243000},{\"fB\":0.337000,\"fG\":0.047000,\"fR\":0.035000,\"hue\":0.466013,\"lumAdj\":-0.020565,\"satAdj\":0.092742,\"sm\":0.117000,\"thr\":0.105000},{\"fB\":0.247000,\"fG\":0.416000,\"fR\":0.580000,\"hue\":0.090196,\"lumAdj\":-0.035081,\"satAdj\":0.391129,\"sm\":0.186290,\"thr\":0.008739},{\"fB\":0.514000,\"fG\":0.384000,\"fR\":0.361000,\"hue\":0.549020,\"lumAdj\":-0.032661,\"satAdj\":0.252000,\"sm\":0.233216,\"thr\":0.003378},{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":0.532680,\"lumAdj\":0.000000,\"satAdj\":-0.285000,\"sm\":0.200000,\"thr\":0.038000},{\"fB\":0.137255,\"fG\":0.133333,\"fR\":0.105882,\"hue\":1.000000,\"lumAdj\":-0.053831,\"satAdj\":0.308468,\"sm\":0.185585,\"thr\":0.000624},{\"fB\":0.470588,\"fG\":0.529412,\"fR\":0.639216,\"hue\":0.058170,\"lumAdj\":0.095565,\"satAdj\":0.118952,\"sm\":0.221573,\"thr\":0.018977}],\"con\":-0.143145,\"localCurrentColor\":8,\"enh\":0.146169,\"fade\":0.000000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,62,141,205,255],\"sat\":-0.348790,\"shar\":0.232000,\"tem\":-0.314516,\"tint\":-0.135000,\"vig\":0.008000},\"isDisabled\":false,\"name\":\"Downpour\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/downpour@2x.jpg?3\"},{\"id\":\"dark\",\"date\":1457715727,\"preset\":{\"blue_curve\":[0,64,128,192,255],\"br\":-0.107500,\"col\":[{\"fB\":1.000000,\"fG\":1.000000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.500000,\"fG\":0.500000,\"fR\":0.500000,\"hue\":1.000000,\"lumAdj\":0.211694,\"satAdj\":-0.629032,\"sm\":0.349647,\"thr\":0.761176},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.000000,\"hue\":1.000000,\"lumAdj\":0.000000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.000000,\"fG\":0.000000,\"fR\":0.549000,\"hue\":1.000000,\"lumAdj\":0.168750,\"satAdj\":0.000000,\"sm\":0.325302,\"thr\":0.814856},{\"fB\":0.302000,\"fG\":0.302000,\"fR\":1.000000,\"hue\":1.000000,\"lumAdj\":0.091000,\"satAdj\":0.000000,\"sm\":0.163000,\"thr\":0.129000},{\"fB\":0.914000,\"fG\":0.761000,\"fR\":0.612000,\"hue\":0.584000,\"lumAdj\":-0.121000,\"satAdj\":0.000000,\"sm\":0.120000,\"thr\":0.060000},{\"fB\":0.102000,\"fG\":0.102000,\"fR\":0.102000,\"hue\":1.000000,\"lumAdj\":0.052000,\"satAdj\":0.000000,\"sm\":0.287000,\"thr\":0.000000},{\"fB\":0.647059,\"fG\":0.745098,\"fR\":0.968627,\"hue\":0.050980,\"lumAdj\":0.137903,\"satAdj\":0.000000,\"sm\":0.340474,\"thr\":0.156163}],\"con\":0.295000,\"localCurrentColor\":7,\"enh\":0.212000,\"fade\":0.028000,\"gr\":0.000000,\"green_curve\":[0,64,128,192,255],\"red_curve\":[0,64,128,192,255],\"rgb_curve\":[0,64,128,192,255],\"sat\":-1.000000,\"shar\":0.240000,\"tem\":0.000000,\"tint\":0.000000,\"vig\":0.000000},\"isDisabled\":false,\"name\":\"Dark\",\"uploadedToServer\":false,\"v\":2,\"image_url\":\"https:\\/\\/api.vk.com\\/images\\/filters\\/chronicle\\/dark@2x.jpg?3\"}]},\"instagram_suffix\":\"\",\"instagram_fallback\":0}}" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/auth/DefaultAuthModel.smali b/smali/smali_classes2/com/vk/auth/DefaultAuthModel.smali index 1a1d4063e..9de69b965 100644 --- a/smali/smali_classes2/com/vk/auth/DefaultAuthModel.smali +++ b/smali/smali_classes2/com/vk/auth/DefaultAuthModel.smali @@ -136,7 +136,7 @@ invoke-direct {v1, v2}, Lcom/vk/auth/api/VKAuthApiManager;->(Lcom/vk/api/sdk/VKApiConfig;)V - const-string v1, "support@vk.ru" + const-string v1, "support@vk.com" .line 9 iput-object v1, v0, Lcom/vk/auth/DefaultAuthModel;->b:Ljava/lang/String; @@ -276,7 +276,7 @@ move-result-object p1 - const-string v0, "https://m.vk.ru/terms?api_view=1&cc=%s&lang=%s" + const-string v0, "https://m.vk.com/terms?api_view=1&cc=%s&lang=%s" invoke-static {v0, p1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; @@ -328,7 +328,7 @@ move-result-object p1 - const-string v0, "https://m.vk.ru/privacy?api_view=1&cc=%s&lang=%s" + const-string v0, "https://m.vk.com/privacy?api_view=1&cc=%s&lang=%s" invoke-static {v0, p1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/auth/RestoreUtils.smali b/smali/smali_classes2/com/vk/auth/RestoreUtils.smali index 7cc1b3c65..2f3540322 100644 --- a/smali/smali_classes2/com/vk/auth/RestoreUtils.smali +++ b/smali/smali_classes2/com/vk/auth/RestoreUtils.smali @@ -45,7 +45,7 @@ move-result-object v0 - const-string v1, "static.vk.ru/restore" + const-string v1, "static.vk.com/restore" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/auth/VkAuthModel.smali b/smali/smali_classes2/com/vk/auth/VkAuthModel.smali index 6b96fe652..a27f19b06 100644 --- a/smali/smali_classes2/com/vk/auth/VkAuthModel.smali +++ b/smali/smali_classes2/com/vk/auth/VkAuthModel.smali @@ -648,7 +648,7 @@ move-result-object v0 - const-string v1, "oauth.vk.ru" + const-string v1, "oauth.vk.com" const-string v2, "oauthHost" diff --git a/smali/smali_classes2/com/vk/auth/api/VKAccount.smali b/smali/smali_classes2/com/vk/auth/api/VKAccount.smali index 18e0c0758..4550e209a 100644 --- a/smali/smali_classes2/com/vk/auth/api/VKAccount.smali +++ b/smali/smali_classes2/com/vk/auth/api/VKAccount.smali @@ -3281,14 +3281,14 @@ const-string v7, "invite_link" - const-string v8, "https://vk.ru/join" + const-string v8, "https://vk.com/join" .line 51 invoke-virtual {v2, v7, v8}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v7 - const-string v8, "it.optString(\"invite_link\", \"https://vk.ru/join\")" + const-string v8, "it.optString(\"invite_link\", \"https://vk.com/join\")" invoke-static {v7, v8}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V diff --git a/smali/smali_classes2/com/vk/auth/y/b/UrlCheckFragment$b.smali b/smali/smali_classes2/com/vk/auth/y/b/UrlCheckFragment$b.smali index 3a4163bcb..a1c3ad44b 100644 --- a/smali/smali_classes2/com/vk/auth/y/b/UrlCheckFragment$b.smali +++ b/smali/smali_classes2/com/vk/auth/y/b/UrlCheckFragment$b.smali @@ -54,7 +54,7 @@ move-result-object p2 - const-string v0, "oauth.vk.ru" + const-string v0, "oauth.vk.com" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/balance/BalancePresenter$c.smali b/smali/smali_classes2/com/vk/balance/BalancePresenter$c.smali index f7b38d118..1f9968303 100644 --- a/smali/smali_classes2/com/vk/balance/BalancePresenter$c.smali +++ b/smali/smali_classes2/com/vk/balance/BalancePresenter$c.smali @@ -83,7 +83,7 @@ const-string v1, "validation_url" - const-string v3, "https://m.vk.ru/payments?act=buy_votes" + const-string v3, "https://m.vk.com/payments?act=buy_votes" invoke-virtual {v0, v1, v3}, Landroid/os/Bundle;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/balance/BalancePresenter.smali b/smali/smali_classes2/com/vk/balance/BalancePresenter.smali index 5337d5387..6d3f3a30c 100644 --- a/smali/smali_classes2/com/vk/balance/BalancePresenter.smali +++ b/smali/smali_classes2/com/vk/balance/BalancePresenter.smali @@ -164,7 +164,7 @@ const/4 v1, 0x0 - const-string v2, "https://static.vk.ru/promo_codes/" + const-string v2, "https://static.vk.com/promo_codes/" invoke-static {v2}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/cameraui/CameraUIPresenter.smali b/smali/smali_classes2/com/vk/cameraui/CameraUIPresenter.smali index 8ebb0c000..0eadee998 100644 --- a/smali/smali_classes2/com/vk/cameraui/CameraUIPresenter.smali +++ b/smali/smali_classes2/com/vk/cameraui/CameraUIPresenter.smali @@ -10336,13 +10336,13 @@ invoke-static {v1, v2}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - const-string v2, "https://vk.ru/vkapps_qr" + const-string v2, "https://vk.com/vkapps_qr" invoke-static {v2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; move-result-object v2 - const-string v3, "Uri.parse(\"https://vk.ru/vkapps_qr\")" + const-string v3, "Uri.parse(\"https://vk.com/vkapps_qr\")" invoke-static {v2, v3}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V diff --git a/smali/smali_classes2/com/vk/cameraui/QrScannerUi.smali b/smali/smali_classes2/com/vk/cameraui/QrScannerUi.smali index ad589eeaa..6eeb3d946 100644 --- a/smali/smali_classes2/com/vk/cameraui/QrScannerUi.smali +++ b/smali/smali_classes2/com/vk/cameraui/QrScannerUi.smali @@ -386,7 +386,7 @@ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V - const-string v5, "https://vk.ru/id" + const-string v5, "https://vk.com/id" invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/common/links/BrowserUtils$Companion.smali b/smali/smali_classes2/com/vk/common/links/BrowserUtils$Companion.smali index edc042c54..59536881f 100644 --- a/smali/smali_classes2/com/vk/common/links/BrowserUtils$Companion.smali +++ b/smali/smali_classes2/com/vk/common/links/BrowserUtils$Companion.smali @@ -206,7 +206,7 @@ if-eqz v6, :cond_6 - const-string v8, ".vk.ru" + const-string v8, ".vk.com" invoke-static {v6, v8, v2, v7, v3}, Lkotlin/text/l;->a(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z @@ -239,7 +239,7 @@ if-eqz v6, :cond_a - const-string v8, "vk.ru" + const-string v8, "vk.com" .line 61 invoke-static {v6, v8, v4}, Lkotlin/text/l;->b(Ljava/lang/String;Ljava/lang/String;Z)Z @@ -890,12 +890,12 @@ if-eqz v0, :cond_0 - const-string v0, "away.vk.ru" + const-string v0, "away.vk.com" goto :goto_0 :cond_0 - const-string v0, "m.vk.ru" + const-string v0, "m.vk.com" :goto_0 return-object v0 @@ -1548,7 +1548,7 @@ move-result-object v1 - const-string v2, "m.vk.ru" + const-string v2, "m.vk.com" invoke-static {v2, v1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/Object;)Z diff --git a/smali/smali_classes2/com/vk/common/links/LinkParser.smali b/smali/smali_classes2/com/vk/common/links/LinkParser.smali index 73c4d7bf5..986a7cdd4 100644 --- a/smali/smali_classes2/com/vk/common/links/LinkParser.smali +++ b/smali/smali_classes2/com/vk/common/links/LinkParser.smali @@ -359,7 +359,7 @@ :cond_4 and-int/lit8 v7, v2, 0x4 - const-string v8, "vkontakte://vk.ru/" + const-string v8, "vkontakte://vk.com/" if-lez v7, :cond_8 diff --git a/smali/smali_classes2/com/vk/common/links/LinkProcessor$a.smali b/smali/smali_classes2/com/vk/common/links/LinkProcessor$a.smali index 6a19a1b96..35ffd40c5 100644 --- a/smali/smali_classes2/com/vk/common/links/LinkProcessor$a.smali +++ b/smali/smali_classes2/com/vk/common/links/LinkProcessor$a.smali @@ -695,7 +695,7 @@ const/4 v2, 0x2 - const-string v3, "vk.ru/" + const-string v3, "vk.com/" .line 2 invoke-static {p1, v3, v0, v2, v1}, Lkotlin/text/l;->c(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z diff --git a/smali/smali_classes2/com/vk/common/links/LinkProcessorKt.smali b/smali/smali_classes2/com/vk/common/links/LinkProcessorKt.smali index 78afa7107..0b9e42d40 100644 --- a/smali/smali_classes2/com/vk/common/links/LinkProcessorKt.smali +++ b/smali/smali_classes2/com/vk/common/links/LinkProcessorKt.smali @@ -478,7 +478,7 @@ .line 52 sget-object v1, Lcom/vk/common/links/LinkProcessor;->p:Lcom/vk/common/links/LinkProcessor$a; - const-string v3, "m.vk.ru/up" + const-string v3, "m.vk.com/up" move-object v2, p0 @@ -5262,7 +5262,7 @@ if-eqz v11, :cond_73 - const-string v0, "https://vk.ru/support" + const-string v0, "https://vk.com/support" .line 176 invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/smali/smali_classes2/com/vk/common/links/OpenFunctionsKt$n.smali b/smali/smali_classes2/com/vk/common/links/OpenFunctionsKt$n.smali index d3a423c25..733800817 100644 --- a/smali/smali_classes2/com/vk/common/links/OpenFunctionsKt$n.smali +++ b/smali/smali_classes2/com/vk/common/links/OpenFunctionsKt$n.smali @@ -64,7 +64,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://m.vk.ru/mail?community=" + const-string v2, "https://m.vk.com/mail?community=" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/core/network/metrics/traffic/TrafficAccumulator.smali b/smali/smali_classes2/com/vk/core/network/metrics/traffic/TrafficAccumulator.smali index 659e26be1..20d2b9924 100644 --- a/smali/smali_classes2/com/vk/core/network/metrics/traffic/TrafficAccumulator.smali +++ b/smali/smali_classes2/com/vk/core/network/metrics/traffic/TrafficAccumulator.smali @@ -185,7 +185,7 @@ const/4 v2, 0x0 - const-string v3, "https://api.vk.ru/method/execute" + const-string v3, "https://api.vk.com/method/execute" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/core/network/proxy/NetworkProxy.smali b/smali/smali_classes2/com/vk/core/network/proxy/NetworkProxy.smali index 8152b6b89..05aa4ce90 100644 --- a/smali/smali_classes2/com/vk/core/network/proxy/NetworkProxy.smali +++ b/smali/smali_classes2/com/vk/core/network/proxy/NetworkProxy.smali @@ -564,7 +564,7 @@ .line 4 new-instance v2, Lcom/vk/core/network/proxy/ProxyHostChecker; - const-string v3, "https://vk.ru/ping.txt" + const-string v3, "https://vk.com/ping.txt" invoke-direct {v2, v3, p0}, Lcom/vk/core/network/proxy/ProxyHostChecker;->(Ljava/lang/String;Lcom/vk/core/network/proxy/NetworkProxy;)V @@ -573,7 +573,7 @@ .line 5 new-instance v2, Lcom/vk/core/network/proxy/ProxyHostChecker; - const-string v3, "https://m.vk.ru/ping.txt" + const-string v3, "https://m.vk.com/ping.txt" invoke-direct {v2, v3, p0}, Lcom/vk/core/network/proxy/ProxyHostChecker;->(Ljava/lang/String;Lcom/vk/core/network/proxy/NetworkProxy;)V @@ -730,7 +730,7 @@ invoke-virtual {v0, v1}, Lcom/vk/core/network/proxy/ProxyHost;->b(Z)V - const-string v0, "https://vk.ru/ping.txt" + const-string v0, "https://vk.com/ping.txt" .line 3 invoke-direct {p0, v0}, Lcom/vk/core/network/proxy/NetworkProxy;->d(Ljava/lang/String;)Z @@ -739,7 +739,7 @@ if-nez v0, :cond_2 - const-string v0, "https://m.vk.ru/ping.txt" + const-string v0, "https://m.vk.com/ping.txt" invoke-direct {p0, v0}, Lcom/vk/core/network/proxy/NetworkProxy;->d(Ljava/lang/String;)Z diff --git a/smali/smali_classes2/com/vk/core/network/proxy/ProxyHost.smali b/smali/smali_classes2/com/vk/core/network/proxy/ProxyHost.smali index d8d037a55..adad5e445 100644 --- a/smali/smali_classes2/com/vk/core/network/proxy/ProxyHost.smali +++ b/smali/smali_classes2/com/vk/core/network/proxy/ProxyHost.smali @@ -230,7 +230,7 @@ move-result-object p1 - const-string v0, "https://vk.ru/ping.txt" + const-string v0, "https://vk.com/ping.txt" .line 20 invoke-virtual {p1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z @@ -239,7 +239,7 @@ if-nez v0, :cond_3 - const-string v0, "https://m.vk.ru/ping.txt" + const-string v0, "https://m.vk.com/ping.txt" .line 21 invoke-virtual {p1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z diff --git a/smali/smali_classes2/com/vk/dto/attachments/SnippetAttachment.smali b/smali/smali_classes2/com/vk/dto/attachments/SnippetAttachment.smali index 8a50ede62..c5cccafaa 100644 --- a/smali/smali_classes2/com/vk/dto/attachments/SnippetAttachment.smali +++ b/smali/smali_classes2/com/vk/dto/attachments/SnippetAttachment.smali @@ -974,7 +974,7 @@ if-nez v1, :cond_0 - const-string v1, "https://vk.ru/story" + const-string v1, "https://vk.com/story" invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z diff --git a/smali/smali_classes2/com/vk/dto/money/MoneyTransfer.smali b/smali/smali_classes2/com/vk/dto/money/MoneyTransfer.smali index bf1eb83f9..47263d600 100644 --- a/smali/smali_classes2/com/vk/dto/money/MoneyTransfer.smali +++ b/smali/smali_classes2/com/vk/dto/money/MoneyTransfer.smali @@ -591,7 +591,7 @@ .method public static Q()Ljava/lang/String; .locals 1 - const-string v0, "https://vk.ru/support?act=faqs_pay&c=1" + const-string v0, "https://vk.com/support?act=faqs_pay&c=1" return-object v0 .end method @@ -635,7 +635,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://m.vk.ru/landings/moneysend?lang=" + const-string v1, "https://m.vk.com/landings/moneysend?lang=" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/dto/newsfeed/entries/Post$b.smali b/smali/smali_classes2/com/vk/dto/newsfeed/entries/Post$b.smali index ec86ff540..68d807beb 100644 --- a/smali/smali_classes2/com/vk/dto/newsfeed/entries/Post$b.smali +++ b/smali/smali_classes2/com/vk/dto/newsfeed/entries/Post$b.smali @@ -1455,7 +1455,7 @@ invoke-direct {v11}, Ljava/lang/StringBuilder;->()V - const-string v12, "https://vk.ru/wall" + const-string v12, "https://vk.com/wall" invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/emoji/Emoji.smali b/smali/smali_classes2/com/vk/emoji/Emoji.smali index 391ab6d75..2e955ffe5 100644 --- a/smali/smali_classes2/com/vk/emoji/Emoji.smali +++ b/smali/smali_classes2/com/vk/emoji/Emoji.smali @@ -373,7 +373,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/images/all_emoji/images_" + const-string v1, "https://vk.com/images/all_emoji/images_" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes2/com/vk/httpexecutor/core/HttpRequestExecutorProvider.smali b/smali/smali_classes2/com/vk/httpexecutor/core/HttpRequestExecutorProvider.smali index a7ab10a3a..ffb511dc6 100644 --- a/smali/smali_classes2/com/vk/httpexecutor/core/HttpRequestExecutorProvider.smali +++ b/smali/smali_classes2/com/vk/httpexecutor/core/HttpRequestExecutorProvider.smali @@ -273,7 +273,7 @@ new-array v0, v0, [Lkotlin/Pair; - const-string v3, "api.vk.ru" + const-string v3, "api.vk.com" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes2/com/vk/im/engine/ImConfig.smali b/smali/smali_classes2/com/vk/im/engine/ImConfig.smali index b1802e235..f2b59d0e4 100644 --- a/smali/smali_classes2/com/vk/im/engine/ImConfig.smali +++ b/smali/smali_classes2/com/vk/im/engine/ImConfig.smali @@ -891,13 +891,13 @@ const-string v15, "vk.me/join" - const-string v8, "vk.ru/settings?act=transfers" + const-string v8, "vk.com/settings?act=transfers" - const-string v12, "vk.ru/story" + const-string v12, "vk.com/story" - const-string v9, "vk.ru/settings?act=request_history" + const-string v9, "vk.com/settings?act=request_history" - const-string v7, "vk.ru/narrative" + const-string v7, "vk.com/narrative" .line 11 filled-new-array {v15, v8, v12, v9, v7}, [Ljava/lang/String; diff --git a/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/AttachApiParser.smali b/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/AttachApiParser.smali index 3b4b2f107..14d6e4c53 100644 --- a/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/AttachApiParser.smali +++ b/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/AttachApiParser.smali @@ -4484,7 +4484,7 @@ const/16 v2, 0x190 - const-string v5, "https://vk.ru/images/camera_400.png" + const-string v5, "https://vk.com/images/camera_400.png" invoke-virtual {v1, v5, v2, v2}, Lcom/vk/im/engine/models/ImageList$b;->a(Ljava/lang/String;II)Lcom/vk/im/engine/models/ImageList; diff --git a/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/CarouselParser.smali b/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/CarouselParser.smali index 679497898..454baa798 100644 --- a/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/CarouselParser.smali +++ b/smali/smali_classes3/com/vk/im/engine/internal/api_parsers/CarouselParser.smali @@ -153,7 +153,7 @@ const-string v9, "But some stupid with a flare gun " - const-string v10, "https://vk.ru" + const-string v10, "https://vk.com" move-object v7, v2 @@ -185,7 +185,7 @@ const-string v18, "We all came out to Montreux On the Lake Geneva shoreline To make records with a mobile We didn\'t have much time" - const-string v19, "https://vk.ru" + const-string v19, "https://vk.com" move-object/from16 v16, v2 @@ -213,7 +213,7 @@ const-string v9, "Frank Zappa and the Mothers Were at the best place around" - const-string v10, "https://vk.ru" + const-string v10, "https://vk.com" move-object v7, v2 diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArticle.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArticle.smali index 6249877f9..34763a78e 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArticle.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArticle.smali @@ -80,7 +80,7 @@ .line 2 sput-object v0, Lcom/vk/im/engine/models/attaches/AttachArticle;->CREATOR:Lcom/vk/core/serialize/Serializer$c; - const-string v0, "https?://([a-z0-9.-]+)?vk.ru/@[a-zA-Z0-9-_]+(\\?[a-zA-Z0-9=-_&]+)?" + const-string v0, "https?://([a-z0-9.-]+)?vk.com/@[a-zA-Z0-9-_]+(\\?[a-zA-Z0-9=-_&]+)?" .line 3 invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArtist.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArtist.smali index 2c4cac355..c95a60de6 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArtist.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachArtist.smali @@ -448,7 +448,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/artist/" + const-string v1, "https://vk.com/artist/" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachAudio.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachAudio.smali index 5a16bdff8..7f9e204e3 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachAudio.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachAudio.smali @@ -376,7 +376,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/audio" + const-string v1, "https://vk.com/audio" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachDoc.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachDoc.smali index f0c04e59d..93fea2cf7 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachDoc.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachDoc.smali @@ -1101,7 +1101,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/doc" + const-string v1, "https://vk.com/doc" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachEvent.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachEvent.smali index 0915883ca..918b06111 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachEvent.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachEvent.smali @@ -375,7 +375,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/event" + const-string v1, "https://vk.com/event" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftSimple.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftSimple.smali index 660c9d5e4..7d14c64de 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftSimple.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftSimple.smali @@ -350,7 +350,7 @@ .method public c()Ljava/lang/String; .locals 1 - const-string v0, "https://vk.ru/gifts" + const-string v0, "https://vk.com/gifts" return-object v0 .end method diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftStickersProduct.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftStickersProduct.smali index 6d3394cef..db985924b 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftStickersProduct.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachGiftStickersProduct.smali @@ -346,7 +346,7 @@ .method public c()Ljava/lang/String; .locals 1 - const-string v0, "https://vk.ru" + const-string v0, "https://vk.com" return-object v0 .end method diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachImage.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachImage.smali index 380ab43e6..5fd81192f 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachImage.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachImage.smali @@ -613,7 +613,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/photo" + const-string v1, "https://vk.com/photo" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMarket.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMarket.smali index 900638ff9..23c03aa9c 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMarket.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMarket.smali @@ -630,7 +630,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/market?w=product" + const-string v1, "https://vk.com/market?w=product" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMiniApp.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMiniApp.smali index 3f4c3a43f..fad7392a4 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMiniApp.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachMiniApp.smali @@ -438,7 +438,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/app" + const-string v1, "https://vk.com/app" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachNarrative.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachNarrative.smali index 728f5028b..b3a5ec4aa 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachNarrative.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachNarrative.smali @@ -638,7 +638,7 @@ const/4 v0, 0x1 :goto_1 - const-string v1, "vk.ru/story" + const-string v1, "vk.com/story" const/16 v2, 0x5f diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPlaylist.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPlaylist.smali index d68683fc3..5dced3601 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPlaylist.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPlaylist.smali @@ -324,7 +324,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/audios" + const-string v1, "https://vk.com/audios" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPodcastEpisode.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPodcastEpisode.smali index 3366fbdf4..95d855482 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPodcastEpisode.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachPodcastEpisode.smali @@ -220,7 +220,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/podcast" + const-string v1, "https://vk.com/podcast" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachStory.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachStory.smali index 4806f2d9b..b4c19ec4e 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachStory.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachStory.smali @@ -951,7 +951,7 @@ :goto_1 const/16 v1, 0x5f - const-string v2, "https://vk.ru/story" + const-string v2, "https://vk.com/story" if-eqz v0, :cond_2 diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachVideo.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachVideo.smali index 286d76133..f6db8edce 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachVideo.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachVideo.smali @@ -845,7 +845,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/video" + const-string v1, "https://vk.com/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWall.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWall.smali index cfe986f4b..1eff768e2 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWall.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWall.smali @@ -673,7 +673,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/wall" + const-string v1, "https://vk.com/wall" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWallReply.smali b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWallReply.smali index 5562ee2f7..26350feb8 100644 --- a/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWallReply.smali +++ b/smali/smali_classes3/com/vk/im/engine/models/attaches/AttachWallReply.smali @@ -499,7 +499,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/wall" + const-string v1, "https://vk.com/wall" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkLargeHolder.smali b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkLargeHolder.smali index 1dbab9e80..8339e6f0e 100644 --- a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkLargeHolder.smali +++ b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkLargeHolder.smali @@ -393,7 +393,7 @@ move-result-object p1 - const-string v0, "https://vk.ru/story" + const-string v0, "https://vk.com/story" const/4 v1, 0x0 diff --git a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkSmallHolder.smali b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkSmallHolder.smali index 152c9cb2f..b825ef23c 100644 --- a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkSmallHolder.smali +++ b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartLinkSmallHolder.smali @@ -242,7 +242,7 @@ move-result-object v0 - const-string v1, "https://vk.ru/story" + const-string v1, "https://vk.com/story" invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z diff --git a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartNarrativeHolder.smali b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartNarrativeHolder.smali index 1247236a5..a95bc982a 100644 --- a/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartNarrativeHolder.smali +++ b/smali/smali_classes3/com/vk/im/ui/components/viewcontrollers/msg_list/adapter/msgparts/MsgPartNarrativeHolder.smali @@ -494,7 +494,7 @@ if-eqz v2, :cond_7 - const-string v3, "vk.ru" + const-string v3, "vk.com" invoke-virtual {v2, v3}, Lcom/vk/im/ui/views/msg/MsgPartSnippetView;->setCaptionText(Ljava/lang/CharSequence;)V diff --git a/smali/smali_classes3/com/vk/im/ui/formatters/MsgAttachFormatter$e.smali b/smali/smali_classes3/com/vk/im/ui/formatters/MsgAttachFormatter$e.smali index 2b8ac8bf0..6110b51b6 100644 --- a/smali/smali_classes3/com/vk/im/ui/formatters/MsgAttachFormatter$e.smali +++ b/smali/smali_classes3/com/vk/im/ui/formatters/MsgAttachFormatter$e.smali @@ -95,7 +95,7 @@ move-result-object v6 - const-string v7, "vk.ru" + const-string v7, "vk.com" invoke-static {v6, v7, v4}, Lkotlin/text/l;->a(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Z diff --git a/smali/smali_classes3/com/vk/im/ui/p/ImBridge$b1.smali b/smali/smali_classes3/com/vk/im/ui/p/ImBridge$b1.smali index 932686178..54e3afeaa 100644 --- a/smali/smali_classes3/com/vk/im/ui/p/ImBridge$b1.smali +++ b/smali/smali_classes3/com/vk/im/ui/p/ImBridge$b1.smali @@ -775,7 +775,7 @@ .method public static a(Lcom/vk/im/ui/p/ImBridge11;Ljava/lang/String;)Ljava/lang/String; .locals 1 - const-string p0, "https://vk.ru/business_notify" + const-string p0, "https://vk.com/business_notify" .line 85 invoke-static {p0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/smali/smali_classes3/com/vk/im/ui/utils/shortcuts/ImShortcutHelper.smali b/smali/smali_classes3/com/vk/im/ui/utils/shortcuts/ImShortcutHelper.smali index e6a4cb3d8..bc670a08f 100644 --- a/smali/smali_classes3/com/vk/im/ui/utils/shortcuts/ImShortcutHelper.smali +++ b/smali/smali_classes3/com/vk/im/ui/utils/shortcuts/ImShortcutHelper.smali @@ -264,7 +264,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/write" + const-string v2, "https://vk.com/write" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/im/ui/views/avatars/AvatarView.smali b/smali/smali_classes3/com/vk/im/ui/views/avatars/AvatarView.smali index eb115bef2..002912422 100644 --- a/smali/smali_classes3/com/vk/im/ui/views/avatars/AvatarView.smali +++ b/smali/smali_classes3/com/vk/im/ui/views/avatars/AvatarView.smali @@ -117,7 +117,7 @@ const/16 v1, 0x190 - const-string v2, "https://vk.ru/images/camera_400.png" + const-string v2, "https://vk.com/images/camera_400.png" invoke-direct {v0, v1, v1, v2}, Lcom/vk/im/engine/models/Image;->(IILjava/lang/String;)V diff --git a/smali/smali_classes3/com/vk/imageloader/VKCacheKeyFactory.smali b/smali/smali_classes3/com/vk/imageloader/VKCacheKeyFactory.smali index c1c5968f8..7113138fd 100644 --- a/smali/smali_classes3/com/vk/imageloader/VKCacheKeyFactory.smali +++ b/smali/smali_classes3/com/vk/imageloader/VKCacheKeyFactory.smali @@ -164,7 +164,7 @@ .method private b(Ljava/lang/String;)Z .locals 1 - const-string v0, "https://vk.ru/doc" + const-string v0, "https://vk.com/doc" .line 9 invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z @@ -173,7 +173,7 @@ if-nez v0, :cond_0 - const-string v0, "http://vk.ru/doc" + const-string v0, "http://vk.com/doc" invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z diff --git a/smali/smali_classes3/com/vk/libvideo/VideoFileController.smali b/smali/smali_classes3/com/vk/libvideo/VideoFileController.smali index 1797064b4..a7782c696 100644 --- a/smali/smali_classes3/com/vk/libvideo/VideoFileController.smali +++ b/smali/smali_classes3/com/vk/libvideo/VideoFileController.smali @@ -894,7 +894,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/video" + const-string v1, "https://vk.com/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -1362,7 +1362,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/video" + const-string v1, "https://vk.com/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/libvideo/a0/h/EventsProcessor.smali b/smali/smali_classes3/com/vk/libvideo/a0/h/EventsProcessor.smali index 620a23adf..cfc30461c 100644 --- a/smali/smali_classes3/com/vk/libvideo/a0/h/EventsProcessor.smali +++ b/smali/smali_classes3/com/vk/libvideo/a0/h/EventsProcessor.smali @@ -213,7 +213,7 @@ aput-object p1, v0, v1 - const-string p1, "https://vk.ru/images/stickers/%s/256b.png#stick" + const-string p1, "https://vk.com/images/stickers/%s/256b.png#stick" invoke-static {p1, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; diff --git a/smali/smali_classes3/com/vk/libvideo/bottomsheet/VideoBottomSheet.smali b/smali/smali_classes3/com/vk/libvideo/bottomsheet/VideoBottomSheet.smali index dd45628fc..9d6c85726 100644 --- a/smali/smali_classes3/com/vk/libvideo/bottomsheet/VideoBottomSheet.smali +++ b/smali/smali_classes3/com/vk/libvideo/bottomsheet/VideoBottomSheet.smali @@ -1296,7 +1296,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/video" + const-string v1, "https://vk.com/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/libvideo/live/views/menubutton/MenuButtonPresenter.smali b/smali/smali_classes3/com/vk/libvideo/live/views/menubutton/MenuButtonPresenter.smali index b10e9dccd..0662f7747 100644 --- a/smali/smali_classes3/com/vk/libvideo/live/views/menubutton/MenuButtonPresenter.smali +++ b/smali/smali_classes3/com/vk/libvideo/live/views/menubutton/MenuButtonPresenter.smali @@ -257,7 +257,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/video" + const-string v1, "https://vk.com/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/market/orders/MarketOrdersFragment$c.smali b/smali/smali_classes3/com/vk/market/orders/MarketOrdersFragment$c.smali index e4947c548..3fcf526e2 100644 --- a/smali/smali_classes3/com/vk/market/orders/MarketOrdersFragment$c.smali +++ b/smali/smali_classes3/com/vk/market/orders/MarketOrdersFragment$c.smali @@ -50,7 +50,7 @@ if-eqz v1, :cond_0 - const-string p1, "https://vk.ru/support?act=faqs_market" + const-string p1, "https://vk.com/support?act=faqs_market" invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/smali/smali_classes3/com/vk/market/orders/adapter/holders/MarketCartCheckoutFooterHolder.smali b/smali/smali_classes3/com/vk/market/orders/adapter/holders/MarketCartCheckoutFooterHolder.smali index ef739513f..66757c699 100644 --- a/smali/smali_classes3/com/vk/market/orders/adapter/holders/MarketCartCheckoutFooterHolder.smali +++ b/smali/smali_classes3/com/vk/market/orders/adapter/holders/MarketCartCheckoutFooterHolder.smali @@ -224,7 +224,7 @@ :cond_0 new-instance p1, Lcom/vtosters/lite/LinkSpan; - const-string v0, "https://vk.ru/terms/market_contract" + const-string v0, "https://vk.com/terms/market_contract" invoke-direct {p1, v0}, Lcom/vtosters/lite/LinkSpan;->(Ljava/lang/String;)V @@ -234,7 +234,7 @@ :cond_1 new-instance p1, Lcom/vtosters/lite/LinkSpan; - const-string v0, "https://vk.ru/terms/market_agreement" + const-string v0, "https://vk.com/terms/market_agreement" invoke-direct {p1, v0}, Lcom/vtosters/lite/LinkSpan;->(Ljava/lang/String;)V diff --git a/smali/smali_classes3/com/vk/market/picker/GoodsPickerHelper.smali b/smali/smali_classes3/com/vk/market/picker/GoodsPickerHelper.smali index 7f1ab3ed7..e40c4f930 100644 --- a/smali/smali_classes3/com/vk/market/picker/GoodsPickerHelper.smali +++ b/smali/smali_classes3/com/vk/market/picker/GoodsPickerHelper.smali @@ -20,7 +20,7 @@ sput-object v0, Lcom/vk/market/picker/GoodsPickerHelper;->b:Lcom/vk/market/picker/GoodsPickerHelper; - const-string v0, "vk.ru/ae_app#selection-list" + const-string v0, "vk.com/ae_app#selection-list" .line 2 invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/smali/smali_classes3/com/vk/menu/MenuUtils.smali b/smali/smali_classes3/com/vk/menu/MenuUtils.smali index 83ef9c40e..b26221f4a 100644 --- a/smali/smali_classes3/com/vk/menu/MenuUtils.smali +++ b/smali/smali_classes3/com/vk/menu/MenuUtils.smali @@ -1204,7 +1204,7 @@ move-result-object p1 - const-string p2, "https://vk.ru/memories" + const-string p2, "https://vk.com/memories" invoke-static {p1, p2}, Lcom/vk/common/links/LinkUtils;->c(Landroid/content/Context;Ljava/lang/String;)V diff --git a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$a.smali b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$a.smali index 2babeb683..c618da6c9 100644 --- a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$a.smali +++ b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$a.smali @@ -46,7 +46,7 @@ invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - const-string v2, "https://vk.ru/vkpay#action=refill&utm_source=android&utm_campaign=vk_2thtab&utm_content=button" + const-string v2, "https://vk.com/vkpay#action=refill&utm_source=android&utm_campaign=vk_2thtab&utm_content=button" const/4 v3, 0x0 diff --git a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$b.smali b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$b.smali index 26ccb38d3..3549cb672 100644 --- a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$b.smali +++ b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$b.smali @@ -46,7 +46,7 @@ invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - const-string v2, "https://vk.ru/vkpay#action=money-request&utm_source=android&utm_campaign=vk_2thtab&utm_content=button" + const-string v2, "https://vk.com/vkpay#action=money-request&utm_source=android&utm_campaign=vk_2thtab&utm_content=button" const/4 v3, 0x0 diff --git a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$c.smali b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$c.smali index 61167656f..6e9080232 100644 --- a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$c.smali +++ b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$c.smali @@ -46,7 +46,7 @@ invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - const-string v2, "https://vk.ru/vkpay#action=transfer-friend&utm_source=android&utm_campaign=vk_2thtab&utm_content=button" + const-string v2, "https://vk.com/vkpay#action=transfer-friend&utm_source=android&utm_campaign=vk_2thtab&utm_content=button" const/4 v3, 0x0 diff --git a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$d.smali b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$d.smali index 5cc7d3be1..4dd7ed1c6 100644 --- a/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$d.smali +++ b/smali/smali_classes3/com/vk/menu/holders/SearchMenuVkPayHolder$d.smali @@ -46,7 +46,7 @@ invoke-static {v1, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V - const-string v2, "https://vk.ru/vkpay#utm_source=android&utm_campaign=vk_2thtab&utm_content=button" + const-string v2, "https://vk.com/vkpay#utm_source=android&utm_campaign=vk_2thtab&utm_content=button" const/4 v3, 0x0 diff --git a/smali/smali_classes3/com/vk/music/playlist/PlaylistsExt.smali b/smali/smali_classes3/com/vk/music/playlist/PlaylistsExt.smali index 3508ed73d..80920d69f 100644 --- a/smali/smali_classes3/com/vk/music/playlist/PlaylistsExt.smali +++ b/smali/smali_classes3/com/vk/music/playlist/PlaylistsExt.smali @@ -418,7 +418,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/music?z=audio_playlist" + const-string v1, "https://vk.com/music?z=audio_playlist" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/music/podcasts/episode/PodcastEpisodeFragment$i.smali b/smali/smali_classes3/com/vk/music/podcasts/episode/PodcastEpisodeFragment$i.smali index a18ca8508..80795330d 100644 --- a/smali/smali_classes3/com/vk/music/podcasts/episode/PodcastEpisodeFragment$i.smali +++ b/smali/smali_classes3/com/vk/music/podcasts/episode/PodcastEpisodeFragment$i.smali @@ -74,7 +74,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/podcast" + const-string v2, "https://vk.com/podcast" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/music/podcasts/episode/d/PodcastEpisodeHeaderViewHolder.smali b/smali/smali_classes3/com/vk/music/podcasts/episode/d/PodcastEpisodeHeaderViewHolder.smali index bc5f6d55b..22557ee80 100644 --- a/smali/smali_classes3/com/vk/music/podcasts/episode/d/PodcastEpisodeHeaderViewHolder.smali +++ b/smali/smali_classes3/com/vk/music/podcasts/episode/d/PodcastEpisodeHeaderViewHolder.smali @@ -627,7 +627,7 @@ const/4 v7, 0x0 - const-string v4, "https://vk.ru/podcasts" + const-string v4, "https://vk.com/podcasts" invoke-static/range {v2 .. v7}, Lcom/vk/common/links/LinkProcessor$a;->a(Lcom/vk/common/links/LinkProcessor$a;Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/Object;)V diff --git a/smali/smali_classes3/com/vk/music/podcasts/page/PodcastFragment.smali b/smali/smali_classes3/com/vk/music/podcasts/page/PodcastFragment.smali index a954a343e..2161f6ada 100644 --- a/smali/smali_classes3/com/vk/music/podcasts/page/PodcastFragment.smali +++ b/smali/smali_classes3/com/vk/music/podcasts/page/PodcastFragment.smali @@ -432,7 +432,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/podcasts" + const-string v2, "https://vk.com/podcasts" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -514,7 +514,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/podcasts" + const-string v2, "https://vk.com/podcasts" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/music/podcasts/page/g/PodcastHelpHintHolder.smali b/smali/smali_classes3/com/vk/music/podcasts/page/g/PodcastHelpHintHolder.smali index 894f0b429..5de851883 100644 --- a/smali/smali_classes3/com/vk/music/podcasts/page/g/PodcastHelpHintHolder.smali +++ b/smali/smali_classes3/com/vk/music/podcasts/page/g/PodcastHelpHintHolder.smali @@ -93,7 +93,7 @@ const/4 v7, 0x0 - const-string v4, "https://vk.ru/podcasts" + const-string v4, "https://vk.com/podcasts" invoke-static/range {v2 .. v7}, Lcom/vk/common/links/LinkProcessor$a;->a(Lcom/vk/common/links/LinkProcessor$a;Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/Object;)V diff --git a/smali/smali_classes3/com/vk/newsfeed/adapters/PostTopicsAdapter$b.smali b/smali/smali_classes3/com/vk/newsfeed/adapters/PostTopicsAdapter$b.smali index 4a541ceee..0beff0775 100644 --- a/smali/smali_classes3/com/vk/newsfeed/adapters/PostTopicsAdapter$b.smali +++ b/smali/smali_classes3/com/vk/newsfeed/adapters/PostTopicsAdapter$b.smali @@ -100,7 +100,7 @@ .line 10 new-instance p1, Lcom/vtosters/lite/LinkSpan; - const-string v3, "https://vk.ru/@-182611749-faq-eksperty-vkontakte" + const-string v3, "https://vk.com/@-182611749-faq-eksperty-vkontakte" invoke-direct {p1, v3}, Lcom/vtosters/lite/LinkSpan;->(Ljava/lang/String;)V diff --git a/smali/smali_classes3/com/vk/newsfeed/controllers/PostsController.smali b/smali/smali_classes3/com/vk/newsfeed/controllers/PostsController.smali index f627459fd..1c5f5ef7a 100644 --- a/smali/smali_classes3/com/vk/newsfeed/controllers/PostsController.smali +++ b/smali/smali_classes3/com/vk/newsfeed/controllers/PostsController.smali @@ -2472,7 +2472,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v3, "https://vk.ru/" + const-string v3, "https://vk.com/" invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -2981,7 +2981,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://m.vk.ru/" + const-string v1, "https://m.vk.com/" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/newsfeed/holders/HeaderHolder.smali b/smali/smali_classes3/com/vk/newsfeed/holders/HeaderHolder.smali index 5887d7f3e..4a4b11a37 100644 --- a/smali/smali_classes3/com/vk/newsfeed/holders/HeaderHolder.smali +++ b/smali/smali_classes3/com/vk/newsfeed/holders/HeaderHolder.smali @@ -413,7 +413,7 @@ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V - const-string v3, "vkontakte://vk.ru/club" + const-string v3, "vkontakte://vk.com/club" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes3/com/vk/newsfeed/posting/settings/PostingSettingsFragment$subtitleSpannableString$2$b.smali b/smali/smali_classes3/com/vk/newsfeed/posting/settings/PostingSettingsFragment$subtitleSpannableString$2$b.smali index af3cbfda7..38fbb0167 100644 --- a/smali/smali_classes3/com/vk/newsfeed/posting/settings/PostingSettingsFragment$subtitleSpannableString$2$b.smali +++ b/smali/smali_classes3/com/vk/newsfeed/posting/settings/PostingSettingsFragment$subtitleSpannableString$2$b.smali @@ -54,7 +54,7 @@ invoke-static {}, Lcom/vk/newsfeed/posting/settings/PostingSettingsFragment;->P4()Lcom/vk/newsfeed/posting/settings/PostingSettingsFragment$a; - const-string v2, "https://vk.ru/@adminsclub-citation" + const-string v2, "https://vk.com/@adminsclub-citation" const/4 v3, 0x0 diff --git a/smali/smali_classes3/com/vk/newsfeed/views/poster/PosterTextDelegate.smali b/smali/smali_classes3/com/vk/newsfeed/views/poster/PosterTextDelegate.smali index e70307fab..5697cc9ea 100644 --- a/smali/smali_classes3/com/vk/newsfeed/views/poster/PosterTextDelegate.smali +++ b/smali/smali_classes3/com/vk/newsfeed/views/poster/PosterTextDelegate.smali @@ -196,7 +196,7 @@ const/4 v8, 0x0 :goto_2 - const-string v9, "vkontakte://vk.ru/" + const-string v9, "vkontakte://vk.com/" const/4 v10, 0x1 diff --git a/smali/smali_classes4/com/vk/polls/utils/PollUtils.smali b/smali/smali_classes4/com/vk/polls/utils/PollUtils.smali index 01b2f2036..9a73c99f5 100644 --- a/smali/smali_classes4/com/vk/polls/utils/PollUtils.smali +++ b/smali/smali_classes4/com/vk/polls/utils/PollUtils.smali @@ -746,12 +746,12 @@ if-nez p3, :cond_0 - const-string p3, "https://vk.ru/poll%d_%d" + const-string p3, "https://vk.com/poll%d_%d" goto :goto_0 :cond_0 - const-string p3, "https://vk.ru/board_poll%d_%d" + const-string p3, "https://vk.com/board_poll%d_%d" .line 7 :goto_0 diff --git a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$autor$1.smali b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$autor$1.smali index a25691254..a169c0586 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$autor$1.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$autor$1.smali @@ -156,7 +156,7 @@ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V - const-string v3, "https://vk.ru/id" + const-string v3, "https://vk.com/id" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$contacts$1.smali b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$contacts$1.smali index 99f0836eb..83566d674 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$contacts$1.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$contacts$1.smali @@ -173,7 +173,7 @@ invoke-direct {v7}, Ljava/lang/StringBuilder;->()V - const-string v9, "https://vk.ru/id" + const-string v9, "https://vk.com/id" invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$mention$1.smali b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$mention$1.smali index f82a020bc..fd6d68fa7 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$mention$1.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$mention$1.smali @@ -83,7 +83,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/" + const-string v2, "https://vk.com/" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$wiki$1.smali b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$wiki$1.smali index 42c4c9748..090b551ad 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$wiki$1.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/factory/details/CommunityDetailsItemsFactory$wiki$1.smali @@ -103,7 +103,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/pages?oid=" + const-string v2, "https://vk.com/pages?oid=" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/CommunityHeaderItemsFactory$unreadMessages$1$$special$$inlined$apply$lambda$1.smali b/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/CommunityHeaderItemsFactory$unreadMessages$1$$special$$inlined$apply$lambda$1.smali index d8d0e5abd..a16e8ce9b 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/CommunityHeaderItemsFactory$unreadMessages$1$$special$$inlined$apply$lambda$1.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/CommunityHeaderItemsFactory$unreadMessages$1$$special$$inlined$apply$lambda$1.smali @@ -70,7 +70,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://m.vk.ru/mail?community=" + const-string v2, "https://m.vk.com/mail?community=" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/UserDetailsItemsFactory$contacts$1$d.smali b/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/UserDetailsItemsFactory$contacts$1$d.smali index 474e1ad26..6f35546ae 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/UserDetailsItemsFactory$contacts$1$d.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/factory/info_items/UserDetailsItemsFactory$contacts$1$d.smali @@ -52,7 +52,7 @@ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V - const-string v3, "http://vk.ru/" + const-string v3, "http://vk.com/" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/adapter/items/CommunityAppButtonItem$a.smali b/smali/smali_classes4/com/vk/profile/adapter/items/CommunityAppButtonItem$a.smali index 1f0448ed3..0db342d14 100644 --- a/smali/smali_classes4/com/vk/profile/adapter/items/CommunityAppButtonItem$a.smali +++ b/smali/smali_classes4/com/vk/profile/adapter/items/CommunityAppButtonItem$a.smali @@ -171,7 +171,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/app" + const-string v1, "https://vk.com/app" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/ui/BaseProfileFragment.smali b/smali/smali_classes4/com/vk/profile/ui/BaseProfileFragment.smali index 5b476703f..fed2a2c28 100644 --- a/smali/smali_classes4/com/vk/profile/ui/BaseProfileFragment.smali +++ b/smali/smali_classes4/com/vk/profile/ui/BaseProfileFragment.smali @@ -3034,14 +3034,14 @@ invoke-virtual {v0}, Lcom/google/android/gms/common/api/d;->c()V - const-string v0, "android-app://com.vtosters.lite/vkontakte/m.vk.ru/" + const-string v0, "android-app://com.vtosters.lite/vkontakte/m.vk.com/" .line 4 invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; move-result-object v0 - const-string v1, "https://vk.ru/" + const-string v1, "https://vk.com/" .line 5 invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment$c.smali b/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment$c.smali index 9f9af7a08..39a7c4b94 100644 --- a/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment$c.smali +++ b/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment$c.smali @@ -54,7 +54,7 @@ const-string v3, "chats" - const-string v4, "static.vk.ru" + const-string v4, "static.vk.com" invoke-static {v4}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment.smali b/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment.smali index f3b5bd08b..471cde468 100644 --- a/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment.smali +++ b/smali/smali_classes4/com/vk/profile/ui/community/CommunityChatsFragment.smali @@ -82,7 +82,7 @@ const-string v3, "chat-create" - const-string v4, "static.vk.ru" + const-string v4, "static.vk.com" invoke-static {v4}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vk/profile/ui/community/CommunityFragment.smali b/smali/smali_classes4/com/vk/profile/ui/community/CommunityFragment.smali index 1bb3594c8..27daff7c0 100644 --- a/smali/smali_classes4/com/vk/profile/ui/community/CommunityFragment.smali +++ b/smali/smali_classes4/com/vk/profile/ui/community/CommunityFragment.smali @@ -1270,7 +1270,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/" + const-string v1, "https://vk.com/" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/profile/ui/community/adresses/FullAddressView$a.smali b/smali/smali_classes4/com/vk/profile/ui/community/adresses/FullAddressView$a.smali index bd6c98f0b..125de3803 100644 --- a/smali/smali_classes4/com/vk/profile/ui/community/adresses/FullAddressView$a.smali +++ b/smali/smali_classes4/com/vk/profile/ui/community/adresses/FullAddressView$a.smali @@ -53,7 +53,7 @@ .line 2 new-instance p1, Ljava/lang/StringBuilder; - const-string v0, "https://vk.ru/taxi#screen=route&" + const-string v0, "https://vk.com/taxi#screen=route&" invoke-direct {p1, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vk/profile/utils/CallToActionExtKt.smali b/smali/smali_classes4/com/vk/profile/utils/CallToActionExtKt.smali index eb122634b..38468d831 100644 --- a/smali/smali_classes4/com/vk/profile/utils/CallToActionExtKt.smali +++ b/smali/smali_classes4/com/vk/profile/utils/CallToActionExtKt.smali @@ -161,7 +161,7 @@ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V - const-string v4, "https://vk.ru/app" + const-string v4, "https://vk.com/app" invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/pushes/j/NotificationBuilder.smali b/smali/smali_classes4/com/vk/pushes/j/NotificationBuilder.smali index 5a6d09e8f..91c5968c6 100644 --- a/smali/smali_classes4/com/vk/pushes/j/NotificationBuilder.smali +++ b/smali/smali_classes4/com/vk/pushes/j/NotificationBuilder.smali @@ -601,7 +601,7 @@ const/4 v3, 0x2 - const-string v4, "vk://vk.ru/mail?community=" + const-string v4, "vk://vk.com/mail?community=" .line 3 invoke-static {v0, v4, v2, v3, v1}, Lkotlin/text/l;->c(Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z diff --git a/smali/smali_classes4/com/vk/pushes/notifications/im/MessageNotification$a.smali b/smali/smali_classes4/com/vk/pushes/notifications/im/MessageNotification$a.smali index 91bd6e9a2..5c7399655 100644 --- a/smali/smali_classes4/com/vk/pushes/notifications/im/MessageNotification$a.smali +++ b/smali/smali_classes4/com/vk/pushes/notifications/im/MessageNotification$a.smali @@ -65,7 +65,7 @@ move-result-object p1 - const-string p2, "https://vk.ru/im?sel=%d&msgid=%d" + const-string p2, "https://vk.com/im?sel=%d&msgid=%d" invoke-static {p2, p1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vk/qrcode/QRViewUtils$showSharingBottomSheet$$inlined$let$lambda$1.smali b/smali/smali_classes4/com/vk/qrcode/QRViewUtils$showSharingBottomSheet$$inlined$let$lambda$1.smali index 5a7aa2611..bf18e1f46 100644 --- a/smali/smali_classes4/com/vk/qrcode/QRViewUtils$showSharingBottomSheet$$inlined$let$lambda$1.smali +++ b/smali/smali_classes4/com/vk/qrcode/QRViewUtils$showSharingBottomSheet$$inlined$let$lambda$1.smali @@ -72,13 +72,13 @@ iget-object v1, p0, Lcom/vk/qrcode/QRViewUtils$showSharingBottomSheet$$inlined$let$lambda$1;->$context$inlined:Landroid/content/Context; - const-string p1, "https://vk.ru/vkapps_qr" + const-string p1, "https://vk.com/vkapps_qr" invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; move-result-object v2 - const-string p1, "Uri.parse(\"https://vk.ru/vkapps_qr\")" + const-string p1, "Uri.parse(\"https://vk.com/vkapps_qr\")" invoke-static {v2, p1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vk/sharing/attachment/Attachments.smali b/smali/smali_classes4/com/vk/sharing/attachment/Attachments.smali index 3abfaa361..b76cf9b42 100644 --- a/smali/smali_classes4/com/vk/sharing/attachment/Attachments.smali +++ b/smali/smali_classes4/com/vk/sharing/attachment/Attachments.smali @@ -1606,7 +1606,7 @@ .line 114 new-instance p1, Ljava/lang/StringBuilder; - const-string v0, "https://vk.ru/" + const-string v0, "https://vk.com/" invoke-direct {p1, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vk/superapp/holders/SuperAppWidgetVkPayHolder$a.smali b/smali/smali_classes4/com/vk/superapp/holders/SuperAppWidgetVkPayHolder$a.smali index d284d61d3..ef3b1acd8 100644 --- a/smali/smali_classes4/com/vk/superapp/holders/SuperAppWidgetVkPayHolder$a.smali +++ b/smali/smali_classes4/com/vk/superapp/holders/SuperAppWidgetVkPayHolder$a.smali @@ -66,7 +66,7 @@ move-result-object v2 - const-string v3, "https://vk.ru/vkpay" + const-string v3, "https://vk.com/vkpay" invoke-interface {p1, v0, v1, v3, v2}, Lcom/vk/superapp/holders/SuperAppClickListener;->a(Landroid/content/Context;Lcom/vk/superapp/g/SuperAppItems;Ljava/lang/String;Ljava/lang/Integer;)V diff --git a/smali/smali_classes4/com/vk/utils/EntityLinkUtils.smali b/smali/smali_classes4/com/vk/utils/EntityLinkUtils.smali index 2b3527344..51a894ecd 100644 --- a/smali/smali_classes4/com/vk/utils/EntityLinkUtils.smali +++ b/smali/smali_classes4/com/vk/utils/EntityLinkUtils.smali @@ -153,7 +153,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/album" + const-string v2, "https://vk.com/album" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -179,7 +179,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/tag" + const-string v1, "https://vk.com/tag" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -222,7 +222,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/" + const-string v1, "https://vk.com/" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/video/d/VideoEmbedFragment.smali b/smali/smali_classes4/com/vk/video/d/VideoEmbedFragment.smali index b4afb5e8e..6e62016ca 100644 --- a/smali/smali_classes4/com/vk/video/d/VideoEmbedFragment.smali +++ b/smali/smali_classes4/com/vk/video/d/VideoEmbedFragment.smali @@ -425,7 +425,7 @@ if-eqz v3, :cond_7 - const-string v1, "https://vk.ru/images/blank.gif" + const-string v1, "https://vk.com/images/blank.gif" .line 19 :cond_7 diff --git a/smali/smali_classes4/com/vk/video/d/VideoYoutubeFragment.smali b/smali/smali_classes4/com/vk/video/d/VideoYoutubeFragment.smali index 5901c9923..d56edbc01 100644 --- a/smali/smali_classes4/com/vk/video/d/VideoYoutubeFragment.smali +++ b/smali/smali_classes4/com/vk/video/d/VideoYoutubeFragment.smali @@ -265,7 +265,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/video" + const-string v1, "https://vk.com/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -496,7 +496,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/video" + const-string v1, "https://vk.com/video" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/voip/VoipBottomSheetDialog$a$a.smali b/smali/smali_classes4/com/vk/voip/VoipBottomSheetDialog$a$a.smali index 8870e7cd7..57cfbfd87 100644 --- a/smali/smali_classes4/com/vk/voip/VoipBottomSheetDialog$a$a.smali +++ b/smali/smali_classes4/com/vk/voip/VoipBottomSheetDialog$a$a.smali @@ -138,7 +138,7 @@ invoke-direct {v2}, Ljava/lang/StringBuilder;->()V - const-string v3, "vk.ru/calls?page=security&web_view=1&lang=" + const-string v3, "vk.com/calls?page=security&web_view=1&lang=" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/voip/VoipWrapper.smali b/smali/smali_classes4/com/vk/voip/VoipWrapper.smali index 71809c549..c98c2443f 100644 --- a/smali/smali_classes4/com/vk/voip/VoipWrapper.smali +++ b/smali/smali_classes4/com/vk/voip/VoipWrapper.smali @@ -2523,7 +2523,7 @@ move-result-wide v4 - const-string v2, "calls.vk.ru" + const-string v2, "calls.vk.com" .line 5 sget-object v6, Lcom/vk/voip/VoipWrapper;->j0:Lcom/vk/voip/VoipWrapper; diff --git a/smali/smali_classes4/com/vk/wall/post/CommentsListPresenter.smali b/smali/smali_classes4/com/vk/wall/post/CommentsListPresenter.smali index 7f26a7d05..97ceb585f 100644 --- a/smali/smali_classes4/com/vk/wall/post/CommentsListPresenter.smali +++ b/smali/smali_classes4/com/vk/wall/post/CommentsListPresenter.smali @@ -2056,7 +2056,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v3, "https://vk.ru/" + const-string v3, "https://vk.com/" invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/wall/thread/CommentThreadPresenter.smali b/smali/smali_classes4/com/vk/wall/thread/CommentThreadPresenter.smali index 376490124..e0a594fe7 100644 --- a/smali/smali_classes4/com/vk/wall/thread/CommentThreadPresenter.smali +++ b/smali/smali_classes4/com/vk/wall/thread/CommentThreadPresenter.smali @@ -3564,7 +3564,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/" + const-string v2, "https://vk.com/" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/webapp/VkUiConnectFragment.smali b/smali/smali_classes4/com/vk/webapp/VkUiConnectFragment.smali index 6753a0aa4..5b288859c 100644 --- a/smali/smali_classes4/com/vk/webapp/VkUiConnectFragment.smali +++ b/smali/smali_classes4/com/vk/webapp/VkUiConnectFragment.smali @@ -889,7 +889,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/app" + const-string v1, "https://vk.com/app" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/webapp/VkUiFragment$b.smali b/smali/smali_classes4/com/vk/webapp/VkUiFragment$b.smali index c5130610c..30a60d009 100644 --- a/smali/smali_classes4/com/vk/webapp/VkUiFragment$b.smali +++ b/smali/smali_classes4/com/vk/webapp/VkUiFragment$b.smali @@ -125,7 +125,7 @@ const-string v1, "vkUiHostUri" - const-string v2, "static.vk.ru" + const-string v2, "static.vk.com" .line 3 invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; @@ -189,7 +189,7 @@ const-string v1, "spaUri" - const-string v2, "https://vk.ru/spa" + const-string v2, "https://vk.com/spa" .line 2 invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vk/webapp/VkUiFragment.smali b/smali/smali_classes4/com/vk/webapp/VkUiFragment.smali index 62ff68fa0..34c5d6d33 100644 --- a/smali/smali_classes4/com/vk/webapp/VkUiFragment.smali +++ b/smali/smali_classes4/com/vk/webapp/VkUiFragment.smali @@ -1215,7 +1215,7 @@ const/4 v2, 0x0 - const-string v3, "static.vk.ru" + const-string v3, "static.vk.com" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -1960,7 +1960,7 @@ move-result-object v1 - const-string v3, "api.vk.ru" + const-string v3, "api.vk.com" const-string v4, "apiHost" diff --git a/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali b/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali index 91ed4affe..987a71f57 100644 --- a/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali +++ b/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali @@ -546,7 +546,7 @@ move-result-object v2 - const-string v3, "https://oauth.vk.ru/blank.html" + const-string v3, "https://oauth.vk.com/blank.html" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -1475,7 +1475,7 @@ const-string p1, "redirect_uri" - const-string p3, "https://oauth.vk.ru/blank.html" + const-string p3, "https://oauth.vk.com/blank.html" .line 35 invoke-static {p1, p3}, Lkotlin/Tuples;->a(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; @@ -1587,7 +1587,7 @@ move-result-object p1 - const-string p3, "https://oauth.vk.ru/authorize" + const-string p3, "https://oauth.vk.com/authorize" invoke-static {p3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -2143,7 +2143,7 @@ const-string v2, "redirect_url" - const-string v3, "https://oauth.vk.ru/blank.html" + const-string v3, "https://oauth.vk.com/blank.html" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali index 5aeca7377..22cfda700 100644 --- a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali +++ b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali @@ -121,7 +121,7 @@ const-string p1, "redirect_uri" - const-string v1, "https://oauth.vk.ru/blank.html" + const-string v1, "https://oauth.vk.com/blank.html" .line 4 invoke-static {p1, v1}, Lkotlin/Tuples;->a(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair; @@ -235,7 +235,7 @@ move-result-object p3 - const-string p4, "oauth.vk.ru" + const-string p4, "oauth.vk.com" const-string p6, "oauthHost" @@ -256,7 +256,7 @@ move-object p3, p4 :goto_0 - const-string p4, "PreferenceManager\n \u2026k.com\") ?: \"oauth.vk.ru\"" + const-string p4, "PreferenceManager\n \u2026k.com\") ?: \"oauth.vk.com\"" invoke-static {p3, p4}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge.smali b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge.smali index e14e4f50c..bfb2152df 100644 --- a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge.smali +++ b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge.smali @@ -2782,7 +2782,7 @@ invoke-direct {v4}, Ljava/lang/StringBuilder;->()V - const-string v5, "https://vk.ru/app" + const-string v5, "https://vk.com/app" invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/webapp/consts/WebAppScreenNames.smali b/smali/smali_classes4/com/vk/webapp/consts/WebAppScreenNames.smali index 3dc23c28c..20aa78af0 100644 --- a/smali/smali_classes4/com/vk/webapp/consts/WebAppScreenNames.smali +++ b/smali/smali_classes4/com/vk/webapp/consts/WebAppScreenNames.smali @@ -49,7 +49,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/" + const-string v1, "https://vk.com/" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/webapp/delegates/impl/VkUiConnectFragmentDelegateImpl.smali b/smali/smali_classes4/com/vk/webapp/delegates/impl/VkUiConnectFragmentDelegateImpl.smali index b06f12bc3..590468fbf 100644 --- a/smali/smali_classes4/com/vk/webapp/delegates/impl/VkUiConnectFragmentDelegateImpl.smali +++ b/smali/smali_classes4/com/vk/webapp/delegates/impl/VkUiConnectFragmentDelegateImpl.smali @@ -682,7 +682,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/app" + const-string v1, "https://vk.com/app" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/webapp/helpers/AppsHelper.smali b/smali/smali_classes4/com/vk/webapp/helpers/AppsHelper.smali index 7de4402f1..f0658c575 100644 --- a/smali/smali_classes4/com/vk/webapp/helpers/AppsHelper.smali +++ b/smali/smali_classes4/com/vk/webapp/helpers/AppsHelper.smali @@ -504,7 +504,7 @@ invoke-direct {p3}, Ljava/lang/StringBuilder;->()V - const-string p4, "https://vk.ru/app" + const-string p4, "https://vk.com/app" invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vk/webapp/helpers/WebAppApiHelper.smali b/smali/smali_classes4/com/vk/webapp/helpers/WebAppApiHelper.smali index e627ace56..0cb474484 100644 --- a/smali/smali_classes4/com/vk/webapp/helpers/WebAppApiHelper.smali +++ b/smali/smali_classes4/com/vk/webapp/helpers/WebAppApiHelper.smali @@ -178,7 +178,7 @@ goto :goto_0 :cond_0 - const-string v0, "api.vk.ru" + const-string v0, "api.vk.com" .line 16 :goto_0 diff --git a/smali/smali_classes4/com/vtosters/lite/LinkSpan.smali b/smali/smali_classes4/com/vtosters/lite/LinkSpan.smali index 69258aaa4..bd032db49 100644 --- a/smali/smali_classes4/com/vtosters/lite/LinkSpan.smali +++ b/smali/smali_classes4/com/vtosters/lite/LinkSpan.smali @@ -242,7 +242,7 @@ if-nez v2, :cond_1 - const-string v2, "vk.ru" + const-string v2, "vk.com" invoke-virtual {v0, v2}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z diff --git a/smali/smali_classes4/com/vtosters/lite/PostPhotoActivity.smali b/smali/smali_classes4/com/vtosters/lite/PostPhotoActivity.smali index 7397553b0..c33e9128f 100644 --- a/smali/smali_classes4/com/vtosters/lite/PostPhotoActivity.smali +++ b/smali/smali_classes4/com/vtosters/lite/PostPhotoActivity.smali @@ -567,7 +567,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "vkontakte://vk.ru/album" + const-string v1, "vkontakte://vk.com/album" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity$d.smali b/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity$d.smali index 8da3aedde..a5b889827 100644 --- a/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity$d.smali +++ b/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity$d.smali @@ -95,7 +95,7 @@ move-result-object v3 - const-string v4, "oauth.vk.ru" + const-string v4, "oauth.vk.com" invoke-static {v4}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity.smali b/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity.smali index 17368b5b2..3c47b06d8 100644 --- a/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity.smali +++ b/smali/smali_classes4/com/vtosters/lite/SDKAuthActivity.smali @@ -205,7 +205,7 @@ const-string v2, "redirect_uri" - const-string v4, "https://oauth.vk.ru/blank.html" + const-string v4, "https://oauth.vk.com/blank.html" invoke-static {v4}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -294,7 +294,7 @@ move-result-object v0 - const-string v1, "oauth.vk.ru" + const-string v1, "oauth.vk.com" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/SendActivity.smali b/smali/smali_classes4/com/vtosters/lite/SendActivity.smali index 085010bb3..8e5ff5143 100644 --- a/smali/smali_classes4/com/vtosters/lite/SendActivity.smali +++ b/smali/smali_classes4/com/vtosters/lite/SendActivity.smali @@ -951,7 +951,7 @@ invoke-direct {p2}, Ljava/lang/StringBuilder;->()V - const-string v0, "vkontakte://vk.ru/album" + const-string v0, "vkontakte://vk.com/album" invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -1361,7 +1361,7 @@ invoke-direct {p1}, Ljava/lang/StringBuilder;->()V - const-string v0, "vkontakte://vk.ru/docs" + const-string v0, "vkontakte://vk.com/docs" invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -1517,7 +1517,7 @@ invoke-direct {p1}, Ljava/lang/StringBuilder;->()V - const-string v1, "vkontakte://vk.ru/videos" + const-string v1, "vkontakte://vk.com/videos" invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/ShortcutManagerWrapper.smali b/smali/smali_classes4/com/vtosters/lite/ShortcutManagerWrapper.smali index f1a28c4d5..edea5c958 100644 --- a/smali/smali_classes4/com/vtosters/lite/ShortcutManagerWrapper.smali +++ b/smali/smali_classes4/com/vtosters/lite/ShortcutManagerWrapper.smali @@ -66,7 +66,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/write" + const-string v2, "https://vk.com/write" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/VKApplication$initNetwork$1.smali b/smali/smali_classes4/com/vtosters/lite/VKApplication$initNetwork$1.smali index 1de086117..bc24c3d63 100644 --- a/smali/smali_classes4/com/vtosters/lite/VKApplication$initNetwork$1.smali +++ b/smali/smali_classes4/com/vtosters/lite/VKApplication$initNetwork$1.smali @@ -78,7 +78,7 @@ goto :goto_0 :cond_0 - const-string v0, "api.vk.ru" + const-string v0, "api.vk.com" .line 3 :goto_0 diff --git a/smali/smali_classes4/com/vtosters/lite/ValidationActivity$a.smali b/smali/smali_classes4/com/vtosters/lite/ValidationActivity$a.smali index 6ae913c2c..fa3b5c744 100644 --- a/smali/smali_classes4/com/vtosters/lite/ValidationActivity$a.smali +++ b/smali/smali_classes4/com/vtosters/lite/ValidationActivity$a.smali @@ -107,7 +107,7 @@ move-result-object p2 - const-string v1, "m.vk.ru" + const-string v1, "m.vk.com" invoke-virtual {v1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z @@ -324,7 +324,7 @@ move-result-object v1 - const-string v3, "oauth.vk.ru" + const-string v3, "oauth.vk.com" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -810,7 +810,7 @@ goto :goto_2 :cond_c - const-string v0, "vk.ru/support" + const-string v0, "vk.com/support" .line 61 invoke-virtual {p2, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z @@ -862,7 +862,7 @@ goto :goto_2 :cond_d - const-string v0, "vk.ru/settings" + const-string v0, "vk.com/settings" .line 64 invoke-virtual {p2, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z diff --git a/smali/smali_classes4/com/vtosters/lite/VideoUploadDialog.smali b/smali/smali_classes4/com/vtosters/lite/VideoUploadDialog.smali index 9804569a7..030b94336 100644 --- a/smali/smali_classes4/com/vtosters/lite/VideoUploadDialog.smali +++ b/smali/smali_classes4/com/vtosters/lite/VideoUploadDialog.smali @@ -115,7 +115,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "vkontakte://vk.ru/videos" + const-string v2, "vkontakte://vk.com/videos" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/actionlinks/AL$Companion$showAddProduct$$inlined$apply$lambda$1.smali b/smali/smali_classes4/com/vtosters/lite/actionlinks/AL$Companion$showAddProduct$$inlined$apply$lambda$1.smali index 926c9d506..91fd4de26 100644 --- a/smali/smali_classes4/com/vtosters/lite/actionlinks/AL$Companion$showAddProduct$$inlined$apply$lambda$1.smali +++ b/smali/smali_classes4/com/vtosters/lite/actionlinks/AL$Companion$showAddProduct$$inlined$apply$lambda$1.smali @@ -78,7 +78,7 @@ .line 2 new-instance v0, Lcom/vtosters/lite/general/fragments/WebViewFragment$g; - const-string v1, "https://vk.ru/@vklive_app-add-market" + const-string v1, "https://vk.com/@vklive_app-add-market" invoke-direct {v0, v1}, Lcom/vtosters/lite/general/fragments/WebViewFragment$g;->(Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vtosters/lite/actionlinks/c/a/e/AddPollPresenter.smali b/smali/smali_classes4/com/vtosters/lite/actionlinks/c/a/e/AddPollPresenter.smali index fb08d15b5..948472fc4 100644 --- a/smali/smali_classes4/com/vtosters/lite/actionlinks/c/a/e/AddPollPresenter.smali +++ b/smali/smali_classes4/com/vtosters/lite/actionlinks/c/a/e/AddPollPresenter.smali @@ -80,7 +80,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/poll" + const-string v2, "https://vk.com/poll" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/actionlinks/views/fragments/add/AddLinkPresenter.smali b/smali/smali_classes4/com/vtosters/lite/actionlinks/views/fragments/add/AddLinkPresenter.smali index 42699f842..c6f07dcd4 100644 --- a/smali/smali_classes4/com/vtosters/lite/actionlinks/views/fragments/add/AddLinkPresenter.smali +++ b/smali/smali_classes4/com/vtosters/lite/actionlinks/views/fragments/add/AddLinkPresenter.smali @@ -126,7 +126,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/id" + const-string v1, "https://vk.com/id" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -158,7 +158,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/club" + const-string v1, "https://vk.com/club" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/api/AppVKApiCallback.smali b/smali/smali_classes4/com/vtosters/lite/api/AppVKApiCallback.smali index 13aa5bc99..65086030b 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/AppVKApiCallback.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/AppVKApiCallback.smali @@ -147,7 +147,7 @@ move-result-object v0 - const-string v1, "vk.ru" + const-string v1, "vk.com" const-string v2, "apiHost" @@ -206,7 +206,7 @@ .method public T1()Ljava/lang/String; .locals 1 - const-string v0, "api.vk.ru" + const-string v0, "api.vk.com" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -303,7 +303,7 @@ move-result-object v0 - const-string v3, "api.vk.ru" + const-string v3, "api.vk.com" invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullCommunity.smali b/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullCommunity.smali index c7d78b4a5..acd42e317 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullCommunity.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullCommunity.smali @@ -1059,7 +1059,7 @@ :goto_b iget-object v9, v15, Lcom/vtosters/lite/api/ExtendedUserProfile$Link;->a:Ljava/lang/String; - const-string v14, "//vk.ru/" + const-string v14, "//vk.com/" invoke-virtual {v9, v14}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z @@ -1071,7 +1071,7 @@ invoke-direct {v9}, Ljava/lang/StringBuilder;->()V - const-string v14, "https://vk.ru/images/lnkinner" + const-string v14, "https://vk.com/images/lnkinner" goto :goto_c @@ -1080,7 +1080,7 @@ invoke-direct {v9}, Ljava/lang/StringBuilder;->()V - const-string v14, "https://vk.ru/images/lnkouter" + const-string v14, "https://vk.com/images/lnkouter" :goto_c invoke-virtual {v9, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/attachments/DocumentAttachment.smali b/smali/smali_classes4/com/vtosters/lite/attachments/DocumentAttachment.smali index 2d17c6ce0..b5cd4ab67 100644 --- a/smali/smali_classes4/com/vtosters/lite/attachments/DocumentAttachment.smali +++ b/smali/smali_classes4/com/vtosters/lite/attachments/DocumentAttachment.smali @@ -1015,7 +1015,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/doc" + const-string v1, "https://vk.com/doc" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/attachments/MiniAppAttachment.smali b/smali/smali_classes4/com/vtosters/lite/attachments/MiniAppAttachment.smali index 789238d98..cc5033a18 100644 --- a/smali/smali_classes4/com/vtosters/lite/attachments/MiniAppAttachment.smali +++ b/smali/smali_classes4/com/vtosters/lite/attachments/MiniAppAttachment.smali @@ -165,7 +165,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/app" + const-string v1, "https://vk.com/app" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/attachments/PhotoAttachment.smali b/smali/smali_classes4/com/vtosters/lite/attachments/PhotoAttachment.smali index 038763d2d..dea5a65d8 100644 --- a/smali/smali_classes4/com/vtosters/lite/attachments/PhotoAttachment.smali +++ b/smali/smali_classes4/com/vtosters/lite/attachments/PhotoAttachment.smali @@ -736,7 +736,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/photo" + const-string v1, "https://vk.com/photo" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/audio/widgets/AudioPlayerWidget$a.smali b/smali/smali_classes4/com/vtosters/lite/audio/widgets/AudioPlayerWidget$a.smali index 0bb9c45cc..27e91b57d 100644 --- a/smali/smali_classes4/com/vtosters/lite/audio/widgets/AudioPlayerWidget$a.smali +++ b/smali/smali_classes4/com/vtosters/lite/audio/widgets/AudioPlayerWidget$a.smali @@ -71,7 +71,7 @@ .line 9 new-instance v0, Landroid/content/Intent; - const-string v1, "https://www.vk.ru/popup?act=buy_music_subscription" + const-string v1, "https://www.vk.com/popup?act=buy_music_subscription" invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; @@ -433,7 +433,7 @@ .line 1 new-instance v0, Landroid/content/Intent; - const-string v1, "https://www.vk.ru/audio" + const-string v1, "https://www.vk.com/audio" invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; @@ -477,7 +477,7 @@ .line 1 new-instance v0, Landroid/content/Intent; - const-string v1, "https://www.vk.ru/audioplayer" + const-string v1, "https://www.vk.com/audioplayer" invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/ProfileFragment.smali b/smali/smali_classes4/com/vtosters/lite/fragments/ProfileFragment.smali index 9e4a2900b..c32618625 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/ProfileFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/ProfileFragment.smali @@ -761,7 +761,7 @@ move-result-object v0 - const-string v1, "https://vk.ru/memories" + const-string v1, "https://vk.com/memories" invoke-static {v0, v1}, Lcom/vk/common/links/LinkUtils;->c(Landroid/content/Context;Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/SettingsListFragment$f$b.smali b/smali/smali_classes4/com/vtosters/lite/fragments/SettingsListFragment$f$b.smali index 1a8126d5e..48fe812fc 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/SettingsListFragment$f$b.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/SettingsListFragment$f$b.smali @@ -56,7 +56,7 @@ move-result-object v0 - const-string v1, "https://vk.ru/jobs?w=job38" + const-string v1, "https://vk.com/jobs?w=job38" invoke-static {v0, v1}, Lcom/vk/common/links/LinkProcessor;->a(Landroid/content/Context;Ljava/lang/String;)V diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/market/GoodFragment.smali b/smali/smali_classes4/com/vtosters/lite/fragments/market/GoodFragment.smali index d823548fb..d1761361b 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/market/GoodFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/market/GoodFragment.smali @@ -2242,7 +2242,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v1, "https://vk.ru/app6468267_" + const-string v1, "https://vk.com/app6468267_" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -6029,7 +6029,7 @@ invoke-direct {v0}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/market" + const-string v2, "https://vk.com/market" invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/money/MoneyWebViewFragment$a.smali b/smali/smali_classes4/com/vtosters/lite/fragments/money/MoneyWebViewFragment$a.smali index be6628ff2..ac46576dd 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/money/MoneyWebViewFragment$a.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/money/MoneyWebViewFragment$a.smali @@ -66,7 +66,7 @@ move-result-object v0 - const-string v1, "oauth.vk.ru" + const-string v1, "oauth.vk.com" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -157,7 +157,7 @@ return v1 :cond_2 - const-string p1, "vk.ru/support" + const-string p1, "vk.com/support" .line 8 invoke-virtual {p2, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/n2/DebugDomainsFilter.smali b/smali/smali_classes4/com/vtosters/lite/fragments/n2/DebugDomainsFilter.smali index a602f25c8..fac1a3cc0 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/n2/DebugDomainsFilter.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/n2/DebugDomainsFilter.smali @@ -181,7 +181,7 @@ const/4 v3, 0x0 - const-string v4, "vk.ru" + const-string v4, "vk.com" .line 6 invoke-static {p2, v4, v2, v1, v3}, Lkotlin/text/l;->a(Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZILjava/lang/Object;)Z @@ -200,7 +200,7 @@ move-result p2 - const-string v1, ".api.cs7777.vk.ru" + const-string v1, ".api.cs7777.vk.com" if-eqz p2, :cond_8 @@ -303,7 +303,7 @@ :cond_9 :goto_5 - const-string p2, "api.vk.ru" + const-string p2, "api.vk.com" invoke-static {p2}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/n2/SettingsDebugFragment.smali b/smali/smali_classes4/com/vtosters/lite/fragments/n2/SettingsDebugFragment.smali index 17c236e70..26f461a7a 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/n2/SettingsDebugFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/n2/SettingsDebugFragment.smali @@ -1950,7 +1950,7 @@ .line 2 new-instance v0, Lcom/vtosters/lite/fragments/n2/SettingsDebugFragment$n; - const-string v1, "m.vk.ru" + const-string v1, "m.vk.com" const-string v2, "previous_away_php" @@ -1972,7 +1972,7 @@ :cond_2 new-instance v0, Lcom/vtosters/lite/fragments/n2/SettingsDebugFragment$n; - const-string v1, "vk.ru/spa" + const-string v1, "vk.com/spa" const-string v2, "previous_spa" @@ -1984,7 +1984,7 @@ :cond_3 new-instance v0, Lcom/vtosters/lite/fragments/n2/SettingsDebugFragment$n; - const-string v1, "static.vk.ru" + const-string v1, "static.vk.com" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -2000,7 +2000,7 @@ :cond_4 new-instance v0, Lcom/vtosters/lite/fragments/n2/SettingsDebugFragment$n; - const-string v1, "oauth.vk.ru" + const-string v1, "oauth.vk.com" const-string v2, "previous_oauth" @@ -2016,7 +2016,7 @@ :cond_5 new-instance v0, Lcom/vtosters/lite/fragments/n2/SettingsDebugFragment$n; - const-string v1, "api.vk.ru" + const-string v1, "api.vk.com" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicViewFragment.smali b/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicViewFragment.smali index b78f9c290..35c5acbff 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicViewFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicViewFragment.smali @@ -192,7 +192,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/topic" + const-string v2, "https://vk.com/topic" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicsFragment.smali b/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicsFragment.smali index 3940bcb7a..d9e31bbdb 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicsFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/o2/BoardTopicsFragment.smali @@ -201,7 +201,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/topic" + const-string v2, "https://vk.com/topic" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/fragments/p2/DocumentsViewFragment.smali b/smali/smali_classes4/com/vtosters/lite/fragments/p2/DocumentsViewFragment.smali index 9d4e006cc..5dd2192c5 100644 --- a/smali/smali_classes4/com/vtosters/lite/fragments/p2/DocumentsViewFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/fragments/p2/DocumentsViewFragment.smali @@ -457,7 +457,7 @@ invoke-direct {v5}, Ljava/lang/StringBuilder;->()V - const-string v6, "vkontakte://vk.ru/docs" + const-string v6, "vkontakte://vk.com/docs" invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/general/fragments/SettingsDomainFragment.smali b/smali/smali_classes4/com/vtosters/lite/general/fragments/SettingsDomainFragment.smali index abef6ee16..710ebc37d 100644 --- a/smali/smali_classes4/com/vtosters/lite/general/fragments/SettingsDomainFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/general/fragments/SettingsDomainFragment.smali @@ -416,7 +416,7 @@ invoke-direct {p2}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/" + const-string v2, "https://vk.com/" invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; @@ -672,7 +672,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/" + const-string v2, "https://vk.com/" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment$a.smali b/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment$a.smali index d2d06b56e..58206f0cb 100644 --- a/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment$a.smali +++ b/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment$a.smali @@ -38,7 +38,7 @@ move-result-object v0 - const-string v1, "oauth.vk.ru" + const-string v1, "oauth.vk.com" invoke-static {v1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -180,7 +180,7 @@ invoke-static {v0}, Lcom/vk/log/L;->a([Ljava/lang/Object;)V - const-string v0, "https://oauth.vk.ru/blank.html#state=webview_refresh_access_token" + const-string v0, "https://oauth.vk.com/blank.html#state=webview_refresh_access_token" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -214,7 +214,7 @@ return v3 :cond_0 - const-string v0, "https://vk.ru/client_auth?refresh_token=1" + const-string v0, "https://vk.com/client_auth?refresh_token=1" .line 5 invoke-virtual {p2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z diff --git a/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment.smali b/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment.smali index ea02b4f14..9476e7fd2 100644 --- a/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment.smali +++ b/smali/smali_classes4/com/vtosters/lite/general/fragments/WebViewFragment.smali @@ -986,7 +986,7 @@ .line 40 iget-object v0, p0, Lcom/vtosters/lite/general/fragments/WebViewFragment;->Y:Landroid/webkit/WebView; - const-string v1, "https://vk.ru/client_auth" + const-string v1, "https://vk.com/client_auth" invoke-virtual {v0, v1, p1}, Landroid/webkit/WebView;->postUrl(Ljava/lang/String;[B)V @@ -1010,7 +1010,7 @@ move-result-object v1 - const-string v2, "https://oauth.vk.ru/webview_token" + const-string v2, "https://oauth.vk.com/webview_token" invoke-static {v2}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; @@ -1200,7 +1200,7 @@ .method private c5()Ljava/lang/String; .locals 3 - const-string v0, "https://oauth.vk.ru/webview_token" + const-string v0, "https://oauth.vk.com/webview_token" invoke-static {v0}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/general/fragments/WikiViewFragment$f.smali b/smali/smali_classes4/com/vtosters/lite/general/fragments/WikiViewFragment$f.smali index 02f65444f..360420233 100644 --- a/smali/smali_classes4/com/vtosters/lite/general/fragments/WikiViewFragment$f.smali +++ b/smali/smali_classes4/com/vtosters/lite/general/fragments/WikiViewFragment$f.smali @@ -85,7 +85,7 @@ if-nez v1, :cond_0 - const-string v1, "vk.ru" + const-string v1, "vk.com" invoke-virtual {v0}, Landroid/net/Uri;->getHost()Ljava/lang/String; @@ -97,7 +97,7 @@ if-nez v1, :cond_0 - const-string v1, "m.vk.ru" + const-string v1, "m.vk.com" invoke-virtual {v0}, Landroid/net/Uri;->getHost()Ljava/lang/String; diff --git a/smali/smali_classes5/com/vtosters/lite/fragments/y2/VideoAlbumsFragment.smali b/smali/smali_classes5/com/vtosters/lite/fragments/y2/VideoAlbumsFragment.smali index 719af5f68..9e7ca966c 100644 --- a/smali/smali_classes5/com/vtosters/lite/fragments/y2/VideoAlbumsFragment.smali +++ b/smali/smali_classes5/com/vtosters/lite/fragments/y2/VideoAlbumsFragment.smali @@ -159,7 +159,7 @@ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V - const-string v2, "https://vk.ru/videos" + const-string v2, "https://vk.com/videos" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; diff --git a/smali/smali_classes5/com/vtosters/lite/im/ImEngineProvider$getApiManager$apiConfig$1.smali b/smali/smali_classes5/com/vtosters/lite/im/ImEngineProvider$getApiManager$apiConfig$1.smali index 1f12333f7..bbd7a5995 100644 --- a/smali/smali_classes5/com/vtosters/lite/im/ImEngineProvider$getApiManager$apiConfig$1.smali +++ b/smali/smali_classes5/com/vtosters/lite/im/ImEngineProvider$getApiManager$apiConfig$1.smali @@ -64,7 +64,7 @@ const-string v1, "apiHost" - const-string v2, "api.vk.ru" + const-string v2, "api.vk.com" invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes5/com/vtosters/lite/utils/CookieHelper.smali b/smali/smali_classes5/com/vtosters/lite/utils/CookieHelper.smali index b465e609f..1673058a7 100644 --- a/smali/smali_classes5/com/vtosters/lite/utils/CookieHelper.smali +++ b/smali/smali_classes5/com/vtosters/lite/utils/CookieHelper.smali @@ -20,7 +20,7 @@ sput-object v0, Lcom/vtosters/lite/utils/CookieHelper;->b:Lcom/vtosters/lite/utils/CookieHelper; - const-string v0, ".vk.ru" + const-string v0, ".vk.com" const-string v1, "vk.me" From c9b8dbc8ddb26fe76a37e00c5495b61f0b48fbd7 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 27 Aug 2022 13:34:03 +0300 Subject: [PATCH 056/134] support vk.ru at opening links --- .../ru/vtosters/lite/proxy/api/ApiProxy.java | 6 +++--- smali/AndroidManifest.xml | 16 ++++++++-------- smali/assets/CopyrightAds.txt | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java index dee1f11c6..d6c24610a 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java @@ -7,9 +7,9 @@ import android.util.Log; public class ApiProxy{ public static String linkReplacer(String link){ - var vkapi = "api.vk.com"; - var oauth = "oauth.vk.com"; - var vkstatic = "static.vk.com"; + var vkapi = "api.vk.ru"; + var oauth = "oauth.vk.ru"; + var vkstatic = "static.vk.ru"; var vkapiold = "api.vk.com"; var oauthold = "oauth.vk.com"; var vkstaticold = "static.vk.com"; diff --git a/smali/AndroidManifest.xml b/smali/AndroidManifest.xml index cf2528e75..5a3b6a819 100644 --- a/smali/AndroidManifest.xml +++ b/smali/AndroidManifest.xml @@ -961,7 +961,7 @@ @@ -1005,7 +1005,7 @@ @@ -1016,7 +1016,7 @@ @@ -1038,7 +1038,7 @@ @@ -1131,7 +1131,7 @@ @@ -1143,7 +1143,7 @@ @@ -1178,7 +1178,7 @@ @@ -1189,7 +1189,7 @@ diff --git a/smali/assets/CopyrightAds.txt b/smali/assets/CopyrightAds.txt index 599f66613..69f29ebb8 100644 --- a/smali/assets/CopyrightAds.txt +++ b/smali/assets/CopyrightAds.txt @@ -1,7 +1,7 @@ appscent //t.me/ vk.com -vk.com +vk.ru apps-cent app-cent appcent From c63457674d60188f05d95df591a719da33611d9e Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 27 Aug 2022 13:36:01 +0300 Subject: [PATCH 057/134] Update ApiProxy.java --- .../java/ru/vtosters/lite/proxy/api/ApiProxy.java | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java index d6c24610a..0c895d1e6 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java @@ -10,9 +10,6 @@ public class ApiProxy{ var vkapi = "api.vk.ru"; var oauth = "oauth.vk.ru"; var vkstatic = "static.vk.ru"; - var vkapiold = "api.vk.com"; - var oauthold = "oauth.vk.com"; - var vkstaticold = "static.vk.com"; var proxyapi = getPrefsValue("proxyapi"); var proxyoauth = getPrefsValue("proxyoauth"); @@ -45,18 +42,6 @@ public class ApiProxy{ return link.replaceAll(vkstatic, proxystatic); } - if (link.contains(vkapiold)) { - return link.replaceAll(vkapiold, proxyapi); - } - - if (link.contains(oauthold)) { - return link.replaceAll(vkapiold, proxyoauth); - } - - if (link.contains(vkstaticold)) { - return link.replaceAll(vkapiold, proxystatic); - } - return link; } From 05e118ff31c1e72eb1d16de0cb3116fa6c328715 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 27 Aug 2022 13:36:31 +0300 Subject: [PATCH 058/134] Update ApiProxy.java --- app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java index 0c895d1e6..ce26ef73e 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java @@ -7,9 +7,9 @@ import android.util.Log; public class ApiProxy{ public static String linkReplacer(String link){ - var vkapi = "api.vk.ru"; - var oauth = "oauth.vk.ru"; - var vkstatic = "static.vk.ru"; + var vkapi = "api.vk.com"; + var oauth = "oauth.vk.com"; + var vkstatic = "static.vk.com"; var proxyapi = getPrefsValue("proxyapi"); var proxyoauth = getPrefsValue("proxyoauth"); From 652f5e665f9acf7ac949b92535072a4c17b25545 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 27 Aug 2022 15:53:56 +0300 Subject: [PATCH 059/134] wp disabled --- .../lite/ui/fragments/MessagesFragment.java | 10 +- .../lite/ui/wallpapers/ImageFilters.java | 64 ---------- .../lite/ui/wallpapers/WallpapersHooks.java | 114 +++++++++--------- 3 files changed, 63 insertions(+), 125 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java index 5a997fb0d..80bbe047b 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java @@ -3,6 +3,7 @@ package ru.vtosters.lite.ui.fragments; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; +import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; import static ru.vtosters.lite.utils.Preferences.autoalltranslate; import static ru.vtosters.lite.utils.Preferences.vkme; @@ -100,10 +101,11 @@ public class MessagesFragment extends MaterialPreferenceToolbarFragment { public class openwp implements Preference.OnPreferenceClickListener { @Override public boolean onPreferenceClick(Preference preference) { - Context context = getContext(); - Intent a2 = new Navigator(WallpaperMenuFragment.class).b(context); - a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(a2); +// Context context = getContext(); +// Intent a2 = new Navigator(WallpaperMenuFragment.class).b(context); +// a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); +// context.startActivity(a2); + sendToast("Обои временно недоступны. Следите за новостями на @vtosters в Telegram"); return true; } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java index 92d3bc450..d8fc96a2b 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java @@ -32,21 +32,9 @@ public class ImageFilters { if (!(orig instanceof BitmapDrawable)) return orig; Bitmap bm = ((BitmapDrawable) orig).getBitmap(); - if (bm == null) { - Log.d("Wallpaper", "bitmap null"); - sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); - removeWallpaper(); - return orig; - } Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true); - if (instance == null) { - Log.d("Wallpaper", "bitmap null"); - sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); - removeWallpaper(); - return orig; - } if (getPreferences().getBoolean("msg_invert", false)) { instance = applyInvertEffect(instance); @@ -81,22 +69,8 @@ public class ImageFilters { if (!(orig instanceof BitmapDrawable)) return orig; // we need only BitmapDrawable Bitmap bm = ((BitmapDrawable) orig).getBitmap(); - if (bm == null) { - Log.d("Wallpaper", "bitmap null"); - sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); - removeWallpaper(); - return orig; - } - Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true); - if (instance == null) { - Log.d("Wallpaper", "bitmap null"); - sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); - removeWallpaper(); - return orig; - } - MediaNative.blurBitmap(instance, radius); return new BitmapDrawable(getResources(), instance); } catch (Exception e) { @@ -112,21 +86,9 @@ public class ImageFilters { if (!(orig instanceof BitmapDrawable)) return orig; Bitmap bm = ((BitmapDrawable) orig).getBitmap(); - if (bm == null) { - Log.d("Wallpaper", "bitmap null"); - sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); - removeWallpaper(); - return orig; - } Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true); - if (instance == null) { - Log.d("Wallpaper", "bitmap null"); - sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); - removeWallpaper(); - return orig; - } String radius = getPreferences().getString("msg_mosaic", "disabled"); @@ -152,21 +114,9 @@ public class ImageFilters { if (!(orig instanceof BitmapDrawable)) return orig; Bitmap bm = ((BitmapDrawable) orig).getBitmap(); - if (bm == null) { - Log.d("Wallpaper", "bitmap null"); - sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); - removeWallpaper(); - return orig; - } Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true); - if (instance == null) { - Log.d("Wallpaper", "bitmap null"); - sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); - removeWallpaper(); - return orig; - } String radius = getPreferences().getString("msg_dim", "disabled"); switch (radius) { @@ -183,22 +133,8 @@ public class ImageFilters { if (!(orig instanceof BitmapDrawable)) return orig; Bitmap bm = ((BitmapDrawable) orig).getBitmap(); - if (bm == null) { - Log.d("Wallpaper", "bitmap null"); - sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); - removeWallpaper(); - return orig; - } - Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true); - if (instance == null) { - Log.d("Wallpaper", "bitmap null"); - sendToast("Ошибка при установке фильтра. Сбрасываем настройки на по умолчанию"); - removeWallpaper(); - return orig; - } - Bitmap bwBitmap = Bitmap.createBitmap(instance.getWidth(), instance.getHeight(), Bitmap.Config.RGB_565); float[] hsv = new float[3]; for (int col = 0; col < instance.getWidth(); col++) { diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index c9062f294..08cc44fd5 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -31,12 +31,17 @@ import ru.vtosters.lite.utils.ThemesUtils; public class WallpapersHooks { private static File mWallpaperFile; + private static File mWallpaperFilteredFile; // TODO private static Drawable mWallpaper; private static boolean mUpdateWallpaperRequested = true; public static File getWallpaperFile() { - return mWallpaperFile == null ? mWallpaperFile = new File(getGlobalContext().getFilesDir(), "wallpaper.png") : mWallpaperFile; + if (mWallpaperFile == null) { + return mWallpaperFile = new File(getGlobalContext().getFilesDir(), "wallpaper.png"); + } + + return mWallpaperFile; } private static Boolean eligibleWallpaperFile(File file) { @@ -50,67 +55,64 @@ public class WallpapersHooks { } public static File compress(File file){ - try { - BitmapFactory.Options o = new BitmapFactory.Options(); - o.inJustDecodeBounds = true; - o.inSampleSize = 6; - - FileInputStream inputStream = new FileInputStream(file); - BitmapFactory.decodeStream(inputStream, null, o); - inputStream.close(); - - final int REQUIRED_SIZE=200; - - int scale = 1; - while(o.outWidth / scale / 2 >= REQUIRED_SIZE && o.outHeight / scale / 2 >= REQUIRED_SIZE) { - scale *= 2; - } - - BitmapFactory.Options o2 = new BitmapFactory.Options(); - o2.inSampleSize = scale; - inputStream = new FileInputStream(file); - - Bitmap selectedBitmap = BitmapFactory.decodeStream(inputStream, null, o2); - inputStream.close(); - - File outPutFile = File.createTempFile("wallpaper_temp","image"); - outPutFile.deleteOnExit(); - FileOutputStream outputStream = new FileOutputStream(outPutFile); - - try { - selectedBitmap.compress(Bitmap.CompressFormat.PNG, 85 , outputStream); - } catch (Exception e) { - Log.e("WallpapersCompression", e.getMessage()); - } - - outputStream.close(); - - return outPutFile; - } catch (Exception e) { - Log.d("Wallpapers", e.getMessage()); - return file; - } + return file; +// try { +// BitmapFactory.Options o = new BitmapFactory.Options(); +// o.inJustDecodeBounds = true; +// o.inSampleSize = 6; +// +// FileInputStream inputStream = new FileInputStream(file); +// BitmapFactory.decodeStream(inputStream, null, o); +// inputStream.close(); +// +// final int REQUIRED_SIZE=200; +// +// int scale = 1; +// while(o.outWidth / scale / 2 >= REQUIRED_SIZE && o.outHeight / scale / 2 >= REQUIRED_SIZE) { +// scale *= 2; +// } +// +// BitmapFactory.Options o2 = new BitmapFactory.Options(); +// o2.inSampleSize = scale; +// inputStream = new FileInputStream(file); +// +// Bitmap selectedBitmap = BitmapFactory.decodeStream(inputStream, null, o2); +// inputStream.close(); +// +// File outPutFile = File.createTempFile("wallpaper_temp","image"); +// +// FileOutputStream outputStream = new FileOutputStream(outPutFile); +// +// selectedBitmap.compress(Bitmap.CompressFormat.PNG, 85 , outputStream); +// +// outputStream.close(); +// +// return outPutFile; +// } catch (Exception e) { +// Log.d("Wallpapers", e.getMessage()); +// return file; +// } } public static void setBg(View view) { - if (getWallpaper() != null) { - ((ImageView) view).setImageDrawable(getWallpaper()); // set picture to background - return; - } +// if (getWallpaper() != null) { +// ((ImageView) view).setImageDrawable(getWallpaper()); // set picture to background +// return; +// } view.setBackgroundColor(ThemesUtils.getColorFromAttr(im_bg_chat)); // set default bg color } public static String getWallpaperUrl() { - var file = getWallpaperFile(); - - if (file.exists() && eligibleWallpaperFile(file)) { - if (getBoolValue("compresswp", true)) { - return compress(file).getAbsolutePath(); - } else { - return file.getAbsolutePath(); - } - } +// var file = getWallpaperFile(); +// +// if (file.exists() && eligibleWallpaperFile(file)) { +// if (getBoolValue("compresswp", true)) { +// return compress(file).getAbsolutePath(); +// } else { +// return file.getAbsolutePath(); +// } +// } return "default"; } @@ -125,9 +127,7 @@ public class WallpapersHooks { Drawable drawable = Drawable.createFromPath(getWallpaperUrl()); - if (drawable == null || ((BitmapDrawable) drawable).getBitmap() == null) { - Log.d("Wallpaper", "drawable null"); - removeWallpaper(); + if (drawable == null) { return null; } From 4bded5c5659ba6cf08bdeb8ebaeed56e59376ac7 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 27 Aug 2022 16:09:25 +0300 Subject: [PATCH 060/134] nigg --- .../ru/vtosters/lite/ui/fragments/MessagesFragment.java | 2 ++ app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java | 3 +-- app/src/main/java/ru/vtosters/lite/utils/Preferences.java | 7 ------- .../com/vtosters/lite/sync/online/GetPingUrlDaemon$b.smali | 2 -- 4 files changed, 3 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java index 80bbe047b..664f3d37d 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java @@ -1,5 +1,6 @@ package ru.vtosters.lite.ui.fragments; +import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.removeWallpaper; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; @@ -106,6 +107,7 @@ public class MessagesFragment extends MaterialPreferenceToolbarFragment { // a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // context.startActivity(a2); sendToast("Обои временно недоступны. Следите за новостями на @vtosters в Telegram"); + removeWallpaper(); return true; } } diff --git a/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java b/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java index 95fac9ccd..4c6b831a8 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java @@ -23,7 +23,6 @@ import b.h.g.m.FileUtils; public class CacheUtils { private static CacheUtils sInstance = new CacheUtils(); public long size = 0; - public static boolean needToDelete = false; public static CacheUtils getInstance() { if (sInstance == null) @@ -54,7 +53,7 @@ public class CacheUtils { public void autoCleaningCache() { size = IOUtils.getDirSize(getGlobalContext().getCacheDir()); - if (size >= getSizeForDelete() && needToDelete) { + if (size >= getSizeForDelete()) { if (dev()) sendToast(AndroidUtils.getString("cache_cleaned")); VKImageLoader.e(); ImAudioMsgPlayerProvider.b().e(PlayerActionSources.a); diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java index 5233ee5a6..79f73c7dd 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java @@ -7,7 +7,6 @@ import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; import static ru.vtosters.lite.utils.CacheUtils.getInstance; -import static ru.vtosters.lite.utils.CacheUtils.needToDelete; import static ru.vtosters.lite.utils.DeletedMessagesHandler.reloadMessagesList; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters; import static ru.vtosters.lite.utils.SignatureChecker.validateAppSignature; @@ -363,22 +362,16 @@ public class Preferences { public static long getSizeForDelete() { switch (getPrefsValue("clearcache")) { case "100mb": - needToDelete = true; return 104857600L; case "500mb": - needToDelete = true; return 524288000L; case "1gb": - needToDelete = true; return 1073741824L; case "2gb": - needToDelete = true; return 2147483648L; case "5gb": - needToDelete = true; return 5368709120L; default: - needToDelete = false; return MAX_VALUE; } } diff --git a/smali/smali_classes5/com/vtosters/lite/sync/online/GetPingUrlDaemon$b.smali b/smali/smali_classes5/com/vtosters/lite/sync/online/GetPingUrlDaemon$b.smali index 31ea75c96..f9cdc6d78 100644 --- a/smali/smali_classes5/com/vtosters/lite/sync/online/GetPingUrlDaemon$b.smali +++ b/smali/smali_classes5/com/vtosters/lite/sync/online/GetPingUrlDaemon$b.smali @@ -39,8 +39,6 @@ .method private b()V .locals 2 - return-void - .line 1 new-instance v0, Lcom/vk/api/account/AccountGetPingUrl; From 41ac03a7e1653bf23e79bb81db6895df1fe5e300 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 27 Aug 2022 16:30:45 +0300 Subject: [PATCH 061/134] speedup setupfilters and cache --- .../lite/hooks/MainActivityInjector.java | 17 ++++++++++++++++- .../lite/ui/fragments/MessagesFragment.java | 1 - .../ru/vtosters/lite/utils/Preferences.java | 5 ----- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java index ecff5253d..0a08451eb 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java @@ -1,8 +1,12 @@ package ru.vtosters.lite.hooks; import static ru.vtosters.lite.ui.dialogs.ServerDialog.sendRequest; +import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.removeWallpaper; import static ru.vtosters.lite.utils.CacheUtils.getInstance; +import static ru.vtosters.lite.utils.DeletedMessagesHandler.reloadMessagesList; +import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters; import static ru.vtosters.lite.utils.Preferences.checkupdates; +import static ru.vtosters.lite.utils.Preferences.preferences; import static ru.vtosters.lite.utils.ThemesUtils.isDarkTheme; import static ru.vtosters.lite.utils.ThemesUtils.setNeededTheme; @@ -35,7 +39,18 @@ public class MainActivityInjector { .edit() .putBoolean("isdark", isDarkTheme()) .commit(); - VkExecutors.x.q().a(() -> getInstance().autoCleaningCache()); // slowTasksScheduler + + VkExecutors.x.q().a(() -> { + if (preferences.getString("clearcache", "").isEmpty()) { + preferences.edit().putString("clearcache", "100mb").apply(); + } // temp shit fix + removeWallpaper(); // temp fix + + + getInstance().autoCleaningCache(); + setupFilters(); + }); // slowTasksScheduler + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannels.createChannels(); } diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java index 664f3d37d..b6810d6ca 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java @@ -107,7 +107,6 @@ public class MessagesFragment extends MaterialPreferenceToolbarFragment { // a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // context.startActivity(a2); sendToast("Обои временно недоступны. Следите за новостями на @vtosters в Telegram"); - removeWallpaper(); return true; } } diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java index 79f73c7dd..284d88364 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java @@ -34,17 +34,12 @@ public class Preferences { public static String VERSIONNAME = "Beta"; public static void init(Application application) throws Exception { - setupFilters(); GmsUtils.fixGapps(); setProxy(); - reloadMessagesList(); LifecycleUtils.registerActivities(application); - getInstance().autoCleaningCache(); } // VK Init public static void forceOffline() { - setupFilters(); - getInstance().autoCleaningCache(); edit().putBoolean("isdark", isDarkTheme()).commit(); if (setoffline() && offline()) { From ae9d89c6c6863ac2776eb3f461e8fa7260d23429 Mon Sep 17 00:00:00 2001 From: k1zn <46452865+k1zn@users.noreply.github.com> Date: Sun, 28 Aug 2022 21:20:34 +0500 Subject: [PATCH 062/134] update README.md to v0.4.12-beta --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 86f19baf1..123cb1805 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,7 @@ * Лента * Блокировка рекламы в ленте * Блокировка постов через фильтры + * Возможность добавлять в вайтлист фильтров группы, чтобы в них не удалялись посты * Возможность отключить рекомендации от ВК * Редактор докбара * Редактор элементов Superapp @@ -69,26 +70,28 @@ * Возможность указывать папку для загрузки фото/видео/музыки/всего * Интеграция с LAST.FM (а также возможность скробблинга) * Новый раздел музыки - * Возможность скачивать видео + * Возможность скачивать видео, очищать историю просмотра видео * Возможность найти фотографию через поисковые системы * Интеграция с VK X * Сообщения - * Обои в сообщениях + * ~Обои в сообщениях~ (временно недоступно из-за проблем с производительностью) * Возможность выключения кнопки записи голосовых сообщений * Возможность скрыть блок рекомендаций в сообщениях * Режим **VK Me** - * Возможность вернуть вкладку уведомлений + * Возможность вернуть вкладку уведомлений для режима VK Me * Встроенный переводчик текста для сообщений * Возможность выбрать язык перевода - * Автоматический перевод ваших сообщений на выбранный язык + * Автоматический перевод ваших сообщений на выбранный язык * Альтернативный дизайн эмодзи меню * Возможность использовать системные эмодзи + * Возможнсть использовать Enter с аппаратной клавиатуры * Активность * Возможность видеть удаленные сообщения * Функционал, позволяющий оставаться в «оффлайне» (принудительный оффлайн/не отправлять статус онлайна и т.п.) * Нечиталка/неписалка для ЛС/бесед/ботов/групп * Возможность отключить информацию о том, что вы просмотрели историю/прослушали голосовое сообщение * Возможность видеть онлайн пользователей, если у вас скрыт онлайн через VK Messenger + * Возможность сохранять настройки бесшумных сообщений/сообщений-бомбочек * Отключить уведомление о том, что вы сделали скриншот в беседе * Отключение редиректа через away.php * Отключение отправки метрики @@ -115,6 +118,7 @@ * Возможность скрыть блок рекомендаций друзей в разделе «Друзья» * Возможность скрыть подписи в настройках * Прокси + * Поддержка сторонних прокси, таких как: Zaborona, VikaMobile, рандомные прокси и прочие * Возможность использовать **HTTP/HTTPS/SOCKS** прокси, менять домены **API/OAuth/Static** * Другое * Очистка кеша приложения (**всё/стикеры/изображения/видео/сообщения/WebView**) From 58905bbc593a988e955ffa2fcd8b1195987aa6df Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Tue, 30 Aug 2022 00:45:51 +0500 Subject: [PATCH 063/134] fix default filters value MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit все фильтры из mFilters при первом запуске VTLite работали и удаляли посты, даже если фильтры не были включены --- .../main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java b/app/src/main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java index d75401571..2f836783c 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java @@ -58,7 +58,7 @@ public class NewsFeedFiltersUtils { } public static void getFilter(String boolname, String filename, List list) { - if (getBoolValue(boolname, true)) { + if (getBoolValue(boolname, false)) { try { var scanner = new Scanner(getGlobalContext().getAssets().open(filename)); while (scanner.hasNextLine()) { From e75eb4caa5da406e842c556b64aecedb5eb66524 Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Tue, 30 Aug 2022 01:02:14 +0500 Subject: [PATCH 064/134] remove adblock from create new post MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit пост все равно создается, а фрагмент создания новой записи не закрывается, так что удалим отсюда фильтрацию --- smali/smali_classes2/b/h/c/w/NewPostRequest.smali | 4 ---- 1 file changed, 4 deletions(-) diff --git a/smali/smali_classes2/b/h/c/w/NewPostRequest.smali b/smali/smali_classes2/b/h/c/w/NewPostRequest.smali index dca52f5ba..68cf0bff2 100644 --- a/smali/smali_classes2/b/h/c/w/NewPostRequest.smali +++ b/smali/smali_classes2/b/h/c/w/NewPostRequest.smali @@ -539,10 +539,6 @@ move-result-object p1 - invoke-static {p1}, Lru/vtosters/lite/hooks/JsonInjectors;->newsfeedadtest(Lorg/json/JSONArray;)Lorg/json/JSONArray; - - move-result-object p1 - const/4 v0, 0x0 if-eqz p1, :cond_7 From 2e8f168d9f3cf02369e8c978861fb96a728ba9f1 Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Tue, 30 Aug 2022 13:49:30 +0500 Subject: [PATCH 065/134] Update Preferences.java --- app/src/main/java/ru/vtosters/lite/utils/Preferences.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java index 284d88364..54c9a1e28 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java @@ -21,6 +21,7 @@ import android.content.pm.PackageManager; import android.os.Environment; import android.preference.PreferenceManager; +import com.vk.core.concurrent.VkExecutors; import com.vtosters.lite.data.Users; import com.vtosters.lite.fragments.SettingsListFragment; @@ -40,6 +41,11 @@ public class Preferences { } // VK Init public static void forceOffline() { + VkExecutors.x.q().a(() -> { + getInstance().autoCleaningCache(); + setupFilters(); + }); // slowTasksScheduler + edit().putBoolean("isdark", isDarkTheme()).commit(); if (setoffline() && offline()) { From e231e4a2b4ecc4aa4bc8e66e3bf55421940b5e76 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Tue, 30 Aug 2022 12:07:43 +0300 Subject: [PATCH 066/134] Revert "Update Preferences.java" This reverts commit 2e8f168d9f3cf02369e8c978861fb96a728ba9f1. --- app/src/main/java/ru/vtosters/lite/utils/Preferences.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java index 54c9a1e28..284d88364 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java @@ -21,7 +21,6 @@ import android.content.pm.PackageManager; import android.os.Environment; import android.preference.PreferenceManager; -import com.vk.core.concurrent.VkExecutors; import com.vtosters.lite.data.Users; import com.vtosters.lite.fragments.SettingsListFragment; @@ -41,11 +40,6 @@ public class Preferences { } // VK Init public static void forceOffline() { - VkExecutors.x.q().a(() -> { - getInstance().autoCleaningCache(); - setupFilters(); - }); // slowTasksScheduler - edit().putBoolean("isdark", isDarkTheme()).commit(); if (setoffline() && offline()) { From e709f6ac68ac66732ee8b9ef373f0afe284b3d13 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Tue, 30 Aug 2022 13:45:54 +0300 Subject: [PATCH 067/134] some fixes force updates + setup filters fixes --- .../lite/hooks/MainActivityInjector.java | 13 ++----- .../lite/ui/dialogs/ServerDialog.java | 4 ++- .../lite/ui/fragments/FeedFragment.java | 36 ++++++++++++++----- .../lite/ui/fragments/OtherFragment.java | 22 ++++++++---- .../lite/ui/fragments/VTSettings.java | 8 ----- .../ru/vtosters/lite/utils/AndroidUtils.java | 5 ++- .../ru/vtosters/lite/utils/Preferences.java | 2 +- .../vtosters/lite/utils/VTVerifications.java | 2 +- smali/res/values-ru/strings.xml | 2 +- smali/res/values/strings.xml | 2 +- smali/res/xml/preferences_feed.xml | 2 +- 11 files changed, 55 insertions(+), 43 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java index 0a08451eb..553061460 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java @@ -1,12 +1,9 @@ package ru.vtosters.lite.hooks; import static ru.vtosters.lite.ui.dialogs.ServerDialog.sendRequest; -import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.removeWallpaper; import static ru.vtosters.lite.utils.CacheUtils.getInstance; -import static ru.vtosters.lite.utils.DeletedMessagesHandler.reloadMessagesList; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters; import static ru.vtosters.lite.utils.Preferences.checkupdates; -import static ru.vtosters.lite.utils.Preferences.preferences; import static ru.vtosters.lite.utils.ThemesUtils.isDarkTheme; import static ru.vtosters.lite.utils.ThemesUtils.setNeededTheme; @@ -24,9 +21,9 @@ import ru.vtosters.lite.ui.dialogs.ServerDialog; import ru.vtosters.lite.ui.dialogs.Start; import ru.vtosters.lite.utils.DeletedMessagesHandler; -public class MainActivityInjector { +public class MainActivityInjector{ - public static void inject(Activity activity) { + public static void inject(Activity activity){ setNeededTheme(activity); ServerDialog.activity = activity; sendRequest(); @@ -41,12 +38,6 @@ public class MainActivityInjector { .commit(); VkExecutors.x.q().a(() -> { - if (preferences.getString("clearcache", "").isEmpty()) { - preferences.edit().putString("clearcache", "100mb").apply(); - } // temp shit fix - removeWallpaper(); // temp fix - - getInstance().autoCleaningCache(); setupFilters(); }); // slowTasksScheduler diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/ServerDialog.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/ServerDialog.java index 1672a6c2e..4fed7372d 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/ServerDialog.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/ServerDialog.java @@ -40,7 +40,9 @@ public class ServerDialog { public static void sendRequest() { if (getBoolValue("dialogrecomm", false)) return; - if (isNetworkIsSlow()) return; + if (isNetworkIsSlow() || getBoolValue("isRoamingState", false)) { + return; + } Request request = new Request.a() .b("https://vtosters.app/dialog.json") diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java index 24889bf6f..59edd2fbf 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java @@ -5,6 +5,7 @@ import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; +import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters; import static ru.vtosters.lite.utils.Preferences.copyright_post; import android.content.Context; @@ -22,15 +23,15 @@ import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; import ru.vtosters.lite.ui.components.NewsfeedListManager; import ru.vtosters.lite.utils.AndroidUtils; -public class FeedFragment extends MaterialPreferenceToolbarFragment { +public class FeedFragment extends MaterialPreferenceToolbarFragment{ @Override - public void onCreate(Bundle bundle) { + public void onCreate(Bundle bundle){ super.onCreate(bundle); addPreferencesFromResource(getIdentifier("preferences_feed", "xml")); prefs(); } - private void prefs() { + private void prefs(){ findPreference("officialnewssett").setOnPreferenceClickListener(new openofficialsett()); findPreference("cringecopyright").setEnabled(!copyright_post()); @@ -38,6 +39,21 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment { findPreference("sourcenamefilter").setSummary(count(getPrefsValue("sourcenamefilter"))); findPreference("linkfilter").setSummary(count(getPrefsValue("linkfilter"))); + findPreference("spamfilters").setOnPreferenceClickListener(preference -> { + setupFilters(); + return true; + }); + + findPreference("sourcenamefilter").setOnPreferenceClickListener(preference -> { + setupFilters(); + return true; + }); + + findPreference("linkfilter").setOnPreferenceClickListener(preference -> { + setupFilters(); + return true; + }); + findPreference("whitelisted_ad_groups").setSummary(countSet("whitelisted_ad_groups")); findPreference("whitelisted_filters_groups").setSummary(countSet("whitelisted_filters_groups")); @@ -65,7 +81,7 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment { }); } - private String count(String text) { + private String count(String text){ // count comma separated words in string var count = text.split(", ").length; @@ -76,7 +92,7 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment { } } - private void remdialog(String key, Context context) { + private void remdialog(String key, Context context){ VkAlertDialog.Builder builder = new VkAlertDialog.Builder(context); builder.setTitle(AndroidUtils.getString("warning")); builder.setMessage(AndroidUtils.getString("delete_elements_confirm")); @@ -84,12 +100,13 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment { builder.setPositiveButton(AndroidUtils.getString("yes"), (dialogInterface, i) -> { edit().remove(key).apply(); sendToast(AndroidUtils.getString("elements_deleted_success")); + setupFilters(); }); builder.setNegativeButton(AndroidUtils.getString("cancel"), (dialogInterface, i) -> dialogInterface.dismiss()); builder.show(); } - private String countSet(String key) { + private String countSet(String key){ var set = getDefaultPrefs().getStringSet(key, null); StringBuilder str = new StringBuilder(); if (set != null) { @@ -109,14 +126,15 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment { @Override - public boolean onPreferenceTreeClick(Preference preference) { + public boolean onPreferenceTreeClick(Preference preference){ findPreference("cringecopyright").setEnabled(!copyright_post()); + setupFilters(); return super.onPreferenceTreeClick(preference); } - public class openofficialsett implements Preference.OnPreferenceClickListener { + public class openofficialsett implements Preference.OnPreferenceClickListener{ @Override // android.support.v7.preference.Preference.c - public boolean onPreferenceClick(Preference preference) { + public boolean onPreferenceClick(Preference preference){ Context context = getContext(); Intent a2 = new Navigator(NewsfeedSettingsFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java index edd9fc6a1..1920c0e99 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java @@ -12,7 +12,9 @@ import static ru.vtosters.lite.utils.AndroidUtils.dp2px; import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; +import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.LifecycleUtils.restartApplication; +import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters; import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr; import android.annotation.SuppressLint; @@ -123,7 +125,11 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment { break; } - findPreference("deleteprefs").setOnPreferenceClickListener(new deleteprefs()); + findPreference("deleteprefs").setOnPreferenceClickListener(preference -> { + delprefs(getContext()); + return true; + }); + findPreference("saveonlines").setOnPreferenceClickListener(new onlines()); findPreference("saveprefs").setOnPreferenceClickListener(new saveprefs()); @@ -302,13 +308,17 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment { } } - public static class deleteprefs implements Preference.OnPreferenceClickListener { - @Override // android.support.v7.preference.Preference.c - public boolean onPreferenceClick(Preference preference) { + private void delprefs(Context context) { + VkAlertDialog.Builder builder = new VkAlertDialog.Builder(context); + builder.setTitle(AndroidUtils.getString("warning")); + builder.setMessage("Вы действительно хотите сбросить настройки?"); + builder.setCancelable(false); + builder.setPositiveButton(AndroidUtils.getString("yes"), (dialogInterface, i) -> { deletePrefs(); restartApplication(); - return true; - } + }); + builder.setNegativeButton(AndroidUtils.getString("cancel"), (dialogInterface, i) -> dialogInterface.dismiss()); + builder.show(); } class c implements Preference.OnPreferenceClickListener { diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java index 61e8f885a..a2b3a2d00 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java @@ -429,14 +429,6 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { OTADialog.checkUpdates(getActivity()); return false; }); - - addMaterialSwitchPreference(this, "checkupdates", AndroidUtils.getString("checkupdates"), "", "ic_recent_outline_28", true, (preference, o) -> { - boolean value = (boolean) o; - - edit().putBoolean("checkupdates", value).commit(); - - return true; - }); } } diff --git a/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java b/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java index ce67c19f1..318978d22 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java @@ -39,14 +39,13 @@ public class AndroidUtils { return PreferenceManager.getDefaultSharedPreferences(getGlobalContext()).edit(); } // Edit SharedPreferences - @NonNull public static Context getGlobalContext() { try { return ReflectionUtils.invokeStaticMethod("android.app.AppGlobals", "getInitialApplication"); } catch (Exception e) { - e.printStackTrace(); + Log.d("GlobalContext", "Error while fetching context via refl"); } - return null; + return null; // need fix for a13+ cuz google shit disabled global context via refl } // Getting the global context through reflection to use context on application initialization public static Resources getResources() { diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java index 284d88364..a9f80b192 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java @@ -326,7 +326,7 @@ public class Preferences { } public static boolean checkupdates() { - return getBoolValue("checkupdates", true) && isValidSignature(); + return !getBoolValue("isRoamingState", false) && isValidSignature(); } public static boolean isValidSignature() { diff --git a/app/src/main/java/ru/vtosters/lite/utils/VTVerifications.java b/app/src/main/java/ru/vtosters/lite/utils/VTVerifications.java index f724108cd..f3176a014 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/VTVerifications.java +++ b/app/src/main/java/ru/vtosters/lite/utils/VTVerifications.java @@ -34,7 +34,7 @@ public class VTVerifications { public static void load(Context context) { var prefs = context.getSharedPreferences("vt_another_data", 0); - if (!NetworkUtils.isNetworkConnected() && prefs.contains("ids")) { + if ((!NetworkUtils.isNetworkConnected() || getBoolValue("isRoamingState", false)) && prefs.contains("ids")) { parseJson(prefs.getString("ids", "[]")); return; } diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml index eaa435a49..2fed84b9d 100644 --- a/smali/res/values-ru/strings.xml +++ b/smali/res/values-ru/strings.xml @@ -5433,7 +5433,7 @@ Прочее Автоматическое обновление ленты Кешировать посты в ленте - Отключить посты с пометкой рекомендовано + Отключить посты с пометкой Хвосты сообщений Плоские сообщения Обновить diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml index dc568c778..af51ce276 100644 --- a/smali/res/values/strings.xml +++ b/smali/res/values/strings.xml @@ -5567,7 +5567,7 @@ Does not affect vk.cc links" Other Automatic feed update Cache feed posts - Disable posts with recommended mark + Disable posts with mark Message tails Flat Messages Update diff --git a/smali/res/xml/preferences_feed.xml b/smali/res/xml/preferences_feed.xml index 2186ee1ad..294074004 100644 --- a/smali/res/xml/preferences_feed.xml +++ b/smali/res/xml/preferences_feed.xml @@ -134,7 +134,7 @@ From 296b7178918f22c8e13a82f47440f6f5bb5dd3c0 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Tue, 30 Aug 2022 13:51:33 +0300 Subject: [PATCH 068/134] Update ServerDialog.java --- .../lite/ui/dialogs/ServerDialog.java | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/dialogs/ServerDialog.java b/app/src/main/java/ru/vtosters/lite/ui/dialogs/ServerDialog.java index 4fed7372d..4a80571d2 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/dialogs/ServerDialog.java +++ b/app/src/main/java/ru/vtosters/lite/ui/dialogs/ServerDialog.java @@ -40,30 +40,28 @@ public class ServerDialog { public static void sendRequest() { if (getBoolValue("dialogrecomm", false)) return; - if (isNetworkIsSlow() || getBoolValue("isRoamingState", false)) { - return; - } + if (!isNetworkIsSlow() && !getBoolValue("isRoamingState", false)) { + Request request = new Request.a() + .b("https://vtosters.app/dialog.json") + .a(); - Request request = new Request.a() - .b("https://vtosters.app/dialog.json") - .a(); - - client.a(request).a(new Callback() { - @Override - public void a(Call call, IOException e) { - Log.d(TAG, "" + e); - showAlert = false; - } - - @Override - public void a(Call call, Response response) { - try { - getResponse(response.a().g()); - } catch (Exception e) { + client.a(request).a(new Callback() { + @Override + public void a(Call call, IOException e) { + Log.d(TAG, "" + e); showAlert = false; } - } - }); + + @Override + public void a(Call call, Response response) { + try { + getResponse(response.a().g()); + } catch (Exception e) { + showAlert = false; + } + } + }); + } } private static Boolean showForNotVerified() { From 4da1ec3b76b0930e859fd57c9a09740d3af8b899 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Wed, 31 Aug 2022 13:48:45 +0300 Subject: [PATCH 069/134] some theme fixes --- app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java | 6 +++--- .../main/java/ru/vtosters/lite/ui/fragments/VTSettings.java | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java index 712d680af..ad2341cc0 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/ProxyHook.java @@ -45,8 +45,8 @@ public class ProxyHook { RadioButton rgVika = new RadioButton(new ContextThemeWrapper(ctx, com.vtosters.lite.R.style.Widget_AppCompat_CompoundButton_RadioButton)); rg.addView(rgDefault); - rg.addView(rgZaborona); rg.addView(rgVika); + rg.addView(rgZaborona); rg.addView(rgRandomProxy); rgDefault.setTextSize(TypedValue.COMPLEX_UNIT_PX, dp2px(14f)); @@ -62,10 +62,10 @@ public class ProxyHook { rgZaborona.setText(AndroidUtils.getString("proxy_enable") + " (Zaborona)"); rgZaborona.setTextColor(getTextAttr()); - rgRandomProxy.setText(AndroidUtils.getString("proxy_enable") + " (Random Proxy)"); + rgRandomProxy.setText(AndroidUtils.getString("proxy_enable") + " (Random Socks Proxy)"); rgRandomProxy.setTextColor(getTextAttr()); - rgVika.setText(AndroidUtils.getString("proxy_enable") + " (Vika)"); + rgVika.setText(AndroidUtils.getString("proxy_enable") + " (Vika Mobile)"); rgVika.setTextColor(getTextAttr()); rgZaborona.setChecked(isZaboronaEnabled()); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java index a2b3a2d00..f93d057e8 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java @@ -30,6 +30,7 @@ import static ru.vtosters.lite.utils.Preferences.superapp; import static ru.vtosters.lite.utils.Preferences.vkme; import static ru.vtosters.lite.utils.ThemesUtils.getDarkTheme; import static ru.vtosters.lite.utils.ThemesUtils.getLightTheme; +import static ru.vtosters.lite.utils.ThemesUtils.isDarkTheme; import static ru.vtosters.lite.utils.ThemesUtils.setTheme; import static ru.vtosters.lite.utils.VTVerifications.vtverif; @@ -160,7 +161,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { addPreferenceCategory(this, AndroidUtils.getString("vtsettdarktheme")); - addMaterialSwitchPreference(this, "isdark", AndroidUtils.getString("vtsettdarktheme"), "", "ic_palette_outline_28", false, (preference, o) -> { + addMaterialSwitchPreference(this, "", AndroidUtils.getString("vtsettdarktheme"), "", "ic_palette_outline_28", isDarkTheme(), (preference, o) -> { boolean value = (boolean) o; if (!value) { // inverted From 255e5e62dbaf1ba6f09e9f11241b00945db244cb Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Thu, 1 Sep 2022 15:08:28 +0300 Subject: [PATCH 070/134] fix discover tab #481 --- .../java/ru/vtosters/lite/hooks/StartFragmentHook.java | 4 ++-- .../vtosters/lite/ui/components/DockBarEditorManager.java | 4 ++-- smali/smali_classes3/com/vk/newsfeed/HomeFragment.smali | 8 ++++++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/StartFragmentHook.java b/app/src/main/java/ru/vtosters/lite/hooks/StartFragmentHook.java index 46b035576..600f49d04 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/StartFragmentHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/StartFragmentHook.java @@ -10,7 +10,7 @@ import static ru.vtosters.lite.utils.Preferences.videonewcatalog; import static ru.vtosters.lite.utils.Preferences.vkme; import com.vk.apps.AppsFragment; -import com.vk.discover.ThemedFeedFragment; +import com.vk.discover.DiscoverFragment; import com.vk.fave.fragments.FaveTabFragment; import com.vk.menu.MenuFragment; import com.vk.menu.SearchMenuFragment; @@ -59,7 +59,7 @@ public class StartFragmentHook { case "apps": return AppsFragment.class; case "discover": - return ThemedFeedFragment.class; + return DiscoverFragment.class; case "notifications": return NotificationsContainerFragment.class; case "money": diff --git a/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java b/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java index 7357ad185..4534bb412 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java +++ b/app/src/main/java/ru/vtosters/lite/ui/components/DockBarEditorManager.java @@ -13,7 +13,7 @@ import static ru.vtosters.lite.utils.Preferences.vkme_notifs; import android.os.Build; import com.vk.apps.AppsFragment; -import com.vk.discover.ThemedFeedFragment; +import com.vk.discover.DiscoverFragment; import com.vk.fave.fragments.FaveTabFragment; import com.vk.feedlikes.d.FeedLikesFragment; import com.vk.friends.catalog.FriendsCatalogFragment; @@ -154,7 +154,7 @@ public class DockBarEditorManager { milkshake() ? R.drawable.ic_services_outline_28 : R.drawable.ic_menu_search_outline_28, milkshake() ? R.string.super_app_title : R.string.search, R.id.tab_discover, - milkshake() ? (superapp() ? SuperAppFragment.class : SearchMenuFragment.class) : ThemedFeedFragment.class); + milkshake() ? (superapp() ? SuperAppFragment.class : SearchMenuFragment.class) : DiscoverFragment.class); case "tab_messages": return DockBarTab.valuesOf( "tab_messages", diff --git a/smali/smali_classes3/com/vk/newsfeed/HomeFragment.smali b/smali/smali_classes3/com/vk/newsfeed/HomeFragment.smali index 8b669c9a7..7bec08c93 100644 --- a/smali/smali_classes3/com/vk/newsfeed/HomeFragment.smali +++ b/smali/smali_classes3/com/vk/newsfeed/HomeFragment.smali @@ -1808,7 +1808,7 @@ .end method .method public onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View; - .locals 8 + .locals 10 const/4 v0, 0x0 @@ -2007,7 +2007,11 @@ .line 27 new-instance v5, Lcom/vk/discover/ThemedFeedFragment$a; - invoke-direct {v5, v4, v2, v4}, Lcom/vk/discover/ThemedFeedFragment$a;->(Ljava/lang/Class;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + const-class v8, Lcom/vk/discover/DiscoverFragment; + + const/4 v9, 0x0 + + invoke-direct {v5, v8, v9, v4}, Lcom/vk/discover/ThemedFeedFragment$a;->(Ljava/lang/Class;ILkotlin/jvm/internal/DefaultConstructorMarker;)V invoke-virtual {v5}, Lcom/vk/discover/ThemedFeedFragment$a;->i()Lcom/vk/discover/ThemedFeedFragment$a; From fd9837aee47421dc0d080f0b821f8255c8c687c7 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Thu, 1 Sep 2022 19:54:49 +0300 Subject: [PATCH 071/134] some shitcode for saving wp + true compressing + moved to webp format of file --- .../lite/ui/fragments/FeedFragment.java | 2 +- .../lite/ui/fragments/MessagesFragment.java | 12 +- .../lite/ui/fragments/ThemesFragment.java | 2 +- .../lite/ui/fragments/VTSettings.java | 58 ++--- .../lite/ui/wallpapers/ConvolutionMatrix.java | 10 +- .../lite/ui/wallpapers/ImageFilters.java | 106 ++++++--- .../ui/wallpapers/WallpaperMenuFragment.java | 22 +- .../ui/wallpapers/WallpaperPreferences.java | 18 +- .../lite/ui/wallpapers/WallpapersHooks.java | 222 +++++++++--------- 9 files changed, 239 insertions(+), 213 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java index 59edd2fbf..c384a46a0 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/FeedFragment.java @@ -135,7 +135,7 @@ public class FeedFragment extends MaterialPreferenceToolbarFragment{ public class openofficialsett implements Preference.OnPreferenceClickListener{ @Override // android.support.v7.preference.Preference.c public boolean onPreferenceClick(Preference preference){ - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(NewsfeedSettingsFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java index b6810d6ca..c5da565f3 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MessagesFragment.java @@ -1,10 +1,8 @@ package ru.vtosters.lite.ui.fragments; -import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.removeWallpaper; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; -import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; import static ru.vtosters.lite.utils.Preferences.autoalltranslate; import static ru.vtosters.lite.utils.Preferences.vkme; @@ -102,11 +100,11 @@ public class MessagesFragment extends MaterialPreferenceToolbarFragment { public class openwp implements Preference.OnPreferenceClickListener { @Override public boolean onPreferenceClick(Preference preference) { -// Context context = getContext(); -// Intent a2 = new Navigator(WallpaperMenuFragment.class).b(context); -// a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); -// context.startActivity(a2); - sendToast("Обои временно недоступны. Следите за новостями на @vtosters в Telegram"); + Context context = requireContext(); + Intent a2 = new Navigator(WallpaperMenuFragment.class).b(context); + a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(a2); +// sendToast("Обои временно недоступны. Следите за новостями на @vtosters в Telegram"); return true; } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java index a952bffef..f0313312a 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java @@ -44,7 +44,7 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment { public class openicons implements Preference.OnPreferenceClickListener { @Override public boolean onPreferenceClick(Preference preference) { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(IconsFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java index f93d057e8..d83432d0e 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java @@ -150,11 +150,11 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { VKAuth.a("logout", false); } catch (Exception ignored) { } - var intent = new Intent(getContext(), MainActivity.class); + var intent = new Intent(requireContext(), MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - getContext().startActivity(intent); + requireContext().startActivity(intent); return false; }); @@ -185,7 +185,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { if (!isGmsInstalled()) { addPreference(this, "", AndroidUtils.getString("installgms"), "", "ic_about_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(InstallGMSFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -197,7 +197,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { addPreferenceCategory(this, AndroidUtils.getString("sett_debug")); addPreference(this, "", AndroidUtils.getString("sett_debug"), "", "ic_bug_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(SettingsDebugFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -214,7 +214,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { addPreferenceCategory(this, AndroidUtils.getString("vtsettaccount")); addPreference(this, "", AndroidUtils.getString("vkconnect"), "", "ic_user_circle_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); VKUIwrapper.officalLinks("account"); Intent a2 = new Navigator(VKUIwrapper.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); @@ -223,7 +223,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("privacy_settings"), "", "ic_privacy_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(PrivacyFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -231,7 +231,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("sett_account"), "", "ic_user_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(SettingsAccountFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -240,7 +240,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { if (isVKTester()) { addPreference(this, "", AndroidUtils.getString("bugs"), "", "ic_bug_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); VKUIwrapper.officalLinks("bugs"); Intent a2 = new Navigator(VKUIwrapper.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); @@ -250,7 +250,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { } addPreference(this, "", AndroidUtils.getString("vtssfs"), ssfs, "ic_link_circle_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); VKUIwrapper.setLink(SSFSUtils.getSSFSLink()); Intent a2 = new Navigator(VKUIwrapper.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); @@ -261,7 +261,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { addPreferenceCategory(this, AndroidUtils.getString("notification_settings")); addPreference(this, "", AndroidUtils.getString("sett_general"), "", "ic_settings_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(SettingsGeneralFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -269,7 +269,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("blacklist"), "", "ic_users_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(BlacklistFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -277,7 +277,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("sett_notifications"), "", "ic_menu_notification_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(NotificationsSettingsFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -286,7 +286,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { if (VKAccountManager.d().isMusicSubs()) { addPreference(this, "", AndroidUtils.getString("subscription_music"), "", "ic_music_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(MusicSubscriptionControlFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -295,7 +295,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { } addPreference(this, "", AndroidUtils.getString("votes"), "", "ic_coins_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(BalanceFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -306,7 +306,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { if (!vkme()) { addPreference(this, "", AndroidUtils.getString("vtlfeed"), feedsumm, "ic_newsfeed_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(FeedFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -314,7 +314,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("dockbar_editor"), docksumm, "ic_list_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent intent = new Navigator(DockBarEditorFragment.class).b(context); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); @@ -323,7 +323,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { if (milkshake() && superapp()) { addPreference(this, "", AndroidUtils.getString("superapp_editor"), superapp, "ic_services_outline_28", (preference) -> { - Context context = getContext(); + Context context = requireContext(); Intent intent = new Navigator(SuperAppEditorFragment.class).b(context); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); @@ -335,7 +335,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { } addPreference(this, "", AndroidUtils.getString("vtlmedia"), mediasumm, "ic_media_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(MediaFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -343,7 +343,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("vtlmessages"), msgsumm, "ic_message_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(MessagesFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -351,7 +351,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("vtlactivity"), activitysumm, "ic_write_outline_28_new_accent", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(ActivityFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -359,7 +359,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("vtlthemes"), themessumm, "ic_write_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(ThemesFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -367,7 +367,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("vtltgs"), tgssumm, "ic_telegram_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(StickersFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -375,7 +375,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("vtlinterface"), interfacesumm, "ic_interface_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(InterfaceFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -383,7 +383,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("vtlproxy"), proxysumm, "ic_globe_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(ProxySettingsFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -391,7 +391,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("vtlother"), othersumm, "ic_more_horizontal_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(OtherFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -401,7 +401,7 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { addPreferenceCategory(this, AndroidUtils.getString("vtsettaboutmod")); addPreference(this, "", AndroidUtils.getString("menu_about"), about, "ic_about_outline_28", preference -> { - Context context = getContext(); + Context context = requireContext(); Intent a2 = new Navigator(AboutAppFragment.class).b(context); a2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(a2); @@ -409,17 +409,17 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { }); addPreference(this, "", AndroidUtils.getString("opencommit"), "", "ic_link_outline_28", preference -> { - getContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse(getCommitLink()))); + requireContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse(getCommitLink()))); return false; }); addPreference(this, "", AndroidUtils.getString("vtfaq"), AndroidUtils.getString("vtfaqsumm"), "ic_help_outline_28", preference -> { - getContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://t.me/s/vtosters_faq"))); + requireContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://t.me/s/vtosters_faq"))); return false; }); addPreference(this, "", AndroidUtils.getString("reportbug"), AndroidUtils.getString("reportbugsumm"), "ic_bug_outline_28", preference -> { - getContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://github.com/vtosters/lite/issues"))); + requireContext().startActivity(new Intent("android.intent.action.VIEW").setData(Uri.parse("https://github.com/vtosters/lite/issues"))); return false; }); diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ConvolutionMatrix.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ConvolutionMatrix.java index 1e195f190..cfcde063c 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ConvolutionMatrix.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ConvolutionMatrix.java @@ -3,18 +3,18 @@ package ru.vtosters.lite.ui.wallpapers; import android.graphics.Bitmap; import android.graphics.Color; -public class ConvolutionMatrix { +public class ConvolutionMatrix{ public static final int SIZE = 3; public double[][] Matrix; public double Factor = 1; public double Offset = 1; - public ConvolutionMatrix(int size) { + public ConvolutionMatrix(int size){ Matrix = new double[size][size]; } - public static Bitmap computeConvolution3x3(Bitmap src, ConvolutionMatrix matrix) { + public static Bitmap computeConvolution3x3(Bitmap src, ConvolutionMatrix matrix){ int width = src.getWidth(); int height = src.getHeight(); Bitmap result = Bitmap.createBitmap(width, height, src.getConfig()); @@ -81,7 +81,7 @@ public class ConvolutionMatrix { return result; } - public void setAll(double value) { + public void setAll(double value){ for (int x = 0; x < SIZE; ++x) { for (int y = 0; y < SIZE; ++y) { Matrix[x][y] = value; @@ -89,7 +89,7 @@ public class ConvolutionMatrix { } } - public void applyConfig(double[][] config) { + public void applyConfig(double[][] config){ for (int x = 0; x < SIZE; ++x) { for (int y = 0; y < SIZE; ++y) { Matrix[x][y] = config[x][y]; diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java index d8fc96a2b..a921d7b53 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/ImageFilters.java @@ -1,9 +1,8 @@ package ru.vtosters.lite.ui.wallpapers; -import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.removeWallpaper; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; import static ru.vtosters.lite.utils.AndroidUtils.getResources; -import static ru.vtosters.lite.utils.AndroidUtils.sendToast; +import static ru.vtosters.lite.utils.Preferences.hasVerification; import android.graphics.Bitmap; import android.graphics.Canvas; @@ -20,22 +19,41 @@ import com.vk.medianative.MediaNative; import java.util.Random; -public class ImageFilters { +public class ImageFilters{ public static final double PI = 3.14159d; public static final double HALF_CIRCLE_DEGREE = 180d; public static final double RANGE = 256d; public static final int COLOR_MIN = 0x00; public static final int COLOR_MAX = 0xFF; - public static Drawable getFilteredDrawable(Drawable orig) { + public static Drawable getFilteredDrawable(Drawable orig){ if (orig == null) return null; if (!(orig instanceof BitmapDrawable)) return orig; + + if (!getPreferences().getString("msg_blur_radius", "disabled").equals("disabled")) { + orig = getBlurredWallpaper(orig, getRadius()); + } + + if (!getPreferences().getString("msg_dim", "off").equals("off")) { + orig = getDimmed(orig); + } + + if (!getPreferences().getString("msg_mosaic", "disabled").equals("disabled")) { + orig = getMosaic(orig); + } + + if (!hasVerification()) { + return orig; + } + + if (getPreferences().getBoolean("msg_monochrome", false)) { + orig = getMonochrome(orig); + } + Bitmap bm = ((BitmapDrawable) orig).getBitmap(); - Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true); - if (getPreferences().getBoolean("msg_invert", false)) { instance = applyInvertEffect(instance); } @@ -63,7 +81,19 @@ public class ImageFilters { return new BitmapDrawable(getResources(), instance); } - public static Drawable getBlurredWallpaper(Drawable orig, int radius) { + private static int getRadius(){ + String radius = getPreferences().getString("msg_blur_radius", "disabled"); + switch(radius) { + case "low": + return 8; + case "med": + return 14; + default: + return 20; + } + } + + public static Drawable getBlurredWallpaper(Drawable orig, int radius){ try { if (orig == null) return null; if (!(orig instanceof BitmapDrawable)) return orig; // we need only BitmapDrawable @@ -79,7 +109,7 @@ public class ImageFilters { } } - public static Drawable getMosaic(Drawable orig) { + public static Drawable getMosaic(Drawable orig){ int scale = 100; if (orig == null) return null; @@ -92,7 +122,7 @@ public class ImageFilters { String radius = getPreferences().getString("msg_mosaic", "disabled"); - switch (radius) { + switch(radius) { case "high": scale = 25; break; @@ -109,17 +139,15 @@ public class ImageFilters { return new BitmapDrawable(getResources(), mosaicBitmap); } - public static Drawable getDimmed(Drawable orig) { + public static Drawable getDimmed(Drawable orig){ if (orig == null) return null; if (!(orig instanceof BitmapDrawable)) return orig; Bitmap bm = ((BitmapDrawable) orig).getBitmap(); - Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true); - String radius = getPreferences().getString("msg_dim", "disabled"); - switch (radius) { + switch(radius) { case "dim_black": darken(instance); case "dim_white": @@ -128,7 +156,7 @@ public class ImageFilters { return new BitmapDrawable(getResources(), instance); } - public static Drawable getMonochrome(Drawable orig) { + public static Drawable getMonochrome(Drawable orig){ if (orig == null) return null; if (!(orig instanceof BitmapDrawable)) return orig; Bitmap bm = ((BitmapDrawable) orig).getBitmap(); @@ -151,7 +179,7 @@ public class ImageFilters { return new BitmapDrawable(getResources(), bwBitmap); } - private static void darken(Bitmap bm) { + private static void darken(Bitmap bm){ try { Canvas canvas = new Canvas(bm); Paint p = new Paint(Color.RED); @@ -163,7 +191,7 @@ public class ImageFilters { } } - private static void lighten(Bitmap bm) { + private static void lighten(Bitmap bm){ try { Canvas canvas = new Canvas(bm); Paint p = new Paint(Color.RED); @@ -175,7 +203,7 @@ public class ImageFilters { } } - public static Bitmap applyInvertEffect(Bitmap src) { + public static Bitmap applyInvertEffect(Bitmap src){ // create new bitmap with the same settings as source bitmap Bitmap bmOut = Bitmap.createBitmap(src.getWidth(), src.getHeight(), src.getConfig()); // color info @@ -205,7 +233,7 @@ public class ImageFilters { return bmOut; } - public static Bitmap applySepiaEffect(Bitmap src) { + public static Bitmap applySepiaEffect(Bitmap src){ // image size int width = src.getWidth(); int height = src.getHeight(); @@ -242,8 +270,8 @@ public class ImageFilters { return bmOut; } - public static Bitmap applyEmbossEffect(Bitmap src) { - double[][] EmbossConfig = new double[][]{ + public static Bitmap applyEmbossEffect(Bitmap src){ + double[][] EmbossConfig = new double[][] { {-1, 0, -1}, {0, 4, 0}, {-1, 0, -1} @@ -255,7 +283,7 @@ public class ImageFilters { return ConvolutionMatrix.computeConvolution3x3(src, convMatrix); } - public static Bitmap applyEngraveEffect(Bitmap src) { + public static Bitmap applyEngraveEffect(Bitmap src){ ConvolutionMatrix convMatrix = new ConvolutionMatrix(3); convMatrix.setAll(0); convMatrix.Matrix[0][0] = -2; @@ -265,7 +293,7 @@ public class ImageFilters { return ConvolutionMatrix.computeConvolution3x3(src, convMatrix); } - public static Bitmap applyFleaEffect(Bitmap source) { + public static Bitmap applyFleaEffect(Bitmap source){ // get image size int width = source.getWidth(); int height = source.getHeight(); @@ -294,7 +322,7 @@ public class ImageFilters { return bmOut; } - public static Bitmap applySnowEffect(Bitmap source) { + public static Bitmap applySnowEffect(Bitmap source){ // get image size int width = source.getWidth(); int height = source.getHeight(); @@ -327,7 +355,7 @@ public class ImageFilters { return bmOut; } - public Bitmap applyDecreaseColorDepthEffect(Bitmap src, int bitOffset) { + public Bitmap applyDecreaseColorDepthEffect(Bitmap src, int bitOffset){ // get image size int width = src.getWidth(); int height = src.getHeight(); @@ -370,7 +398,7 @@ public class ImageFilters { return bmOut; } - public Bitmap applyContrastEffect(Bitmap src, double value) { + public Bitmap applyContrastEffect(Bitmap src, double value){ // image size int width = src.getWidth(); int height = src.getHeight(); @@ -422,7 +450,7 @@ public class ImageFilters { return bmOut; } - public Bitmap applyBrightnessEffect(Bitmap src, int value) { + public Bitmap applyBrightnessEffect(Bitmap src, int value){ // image size int width = src.getWidth(); int height = src.getHeight(); @@ -473,8 +501,8 @@ public class ImageFilters { return bmOut; } - public Bitmap applyGaussianBlurEffect(Bitmap src) { - double[][] GaussianBlurConfig = new double[][]{ + public Bitmap applyGaussianBlurEffect(Bitmap src){ + double[][] GaussianBlurConfig = new double[][] { {1, 2, 1}, {2, 4, 2}, {1, 2, 1} @@ -486,8 +514,8 @@ public class ImageFilters { return ConvolutionMatrix.computeConvolution3x3(src, convMatrix); } - public Bitmap applySharpenEffect(Bitmap src, double weight) { - double[][] SharpConfig = new double[][]{ + public Bitmap applySharpenEffect(Bitmap src, double weight){ + double[][] SharpConfig = new double[][] { {0, -2, 0}, {-2, weight, -2}, {0, -2, 0} @@ -498,8 +526,8 @@ public class ImageFilters { return ConvolutionMatrix.computeConvolution3x3(src, convMatrix); } - public Bitmap applyMeanRemovalEffect(Bitmap src) { - double[][] MeanRemovalConfig = new double[][]{ + public Bitmap applyMeanRemovalEffect(Bitmap src){ + double[][] MeanRemovalConfig = new double[][] { {-1, -1, -1}, {-1, 9, -1}, {-1, -1, -1} @@ -511,7 +539,7 @@ public class ImageFilters { return ConvolutionMatrix.computeConvolution3x3(src, convMatrix); } - public Bitmap applySmoothEffect(Bitmap src, double value) { + public Bitmap applySmoothEffect(Bitmap src, double value){ ConvolutionMatrix convMatrix = new ConvolutionMatrix(3); convMatrix.setAll(1); convMatrix.Matrix[1][1] = value; @@ -520,7 +548,7 @@ public class ImageFilters { return ConvolutionMatrix.computeConvolution3x3(src, convMatrix); } - public Bitmap applyBoostEffect(Bitmap src, int type, float percent) { + public Bitmap applyBoostEffect(Bitmap src, int type, float percent){ int width = src.getWidth(); int height = src.getHeight(); Bitmap bmOut = Bitmap.createBitmap(width, height, src.getConfig()); @@ -551,7 +579,7 @@ public class ImageFilters { return bmOut; } - public Bitmap applyTintEffect(Bitmap src, int degree) { + public Bitmap applyTintEffect(Bitmap src, int degree){ int width = src.getWidth(); int height = src.getHeight(); @@ -595,7 +623,7 @@ public class ImageFilters { return outBitmap; } - public Bitmap applyBlackFilter(Bitmap source) { + public Bitmap applyBlackFilter(Bitmap source){ // get image size int width = source.getWidth(); int height = source.getHeight(); @@ -628,7 +656,7 @@ public class ImageFilters { return bmOut; } - public Bitmap applyShadingFilter(Bitmap source, int shadingColor) { + public Bitmap applyShadingFilter(Bitmap source, int shadingColor){ // get image size int width = source.getWidth(); int height = source.getHeight(); @@ -652,7 +680,7 @@ public class ImageFilters { return bmOut; } - public Bitmap applySaturationFilter(Bitmap source, int level) { + public Bitmap applySaturationFilter(Bitmap source, int level){ // get image size int width = source.getWidth(); int height = source.getHeight(); @@ -682,7 +710,7 @@ public class ImageFilters { return bmOut; } - public Bitmap applyHueFilter(Bitmap source, int level) { + public Bitmap applyHueFilter(Bitmap source, int level){ // get image size int width = source.getWidth(); int height = source.getHeight(); diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperMenuFragment.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperMenuFragment.java index d177fcf23..bc87313a0 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperMenuFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperMenuFragment.java @@ -32,15 +32,15 @@ import java.io.OutputStream; import ru.vtosters.lite.ui.PreferencesUtil; import ru.vtosters.lite.utils.AndroidUtils; -public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment { +public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment{ private WallpaperPreferences mWPPreviewPref; - public static void copyStream(InputStream copyFrom, OutputStream copyTo) throws IOException { + public static void copyStream(InputStream copyFrom, OutputStream copyTo) throws IOException{ byte[] buffer = new byte[1024]; int length; - while ((length = copyFrom.read(buffer)) > 0) { + while((length = copyFrom.read(buffer)) > 0) { copyTo.write(buffer, 0, length); } @@ -50,7 +50,7 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment { } @Override - public void onCreate(Bundle bundle) { + public void onCreate(Bundle bundle){ super.onCreate(bundle); int vtosterXml = getIdentifier("empty", "xml"); @@ -86,16 +86,16 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment { }); } - PreferencesUtil.addListPreference(this, "msg_blur_radius", "disabled", AndroidUtils.getString("filter_blur"), AndroidUtils.getArray("filter_types"), new String[]{ + PreferencesUtil.addListPreference(this, "msg_blur_radius", "disabled", AndroidUtils.getString("filter_blur"), AndroidUtils.getArray("filter_types"), new String[] { "disabled", "low", "med", "high" }); - PreferencesUtil.addListPreference(this, "msg_dim", "off", AndroidUtils.getString("filter_dim"), AndroidUtils.getArray("filter_dim_types"), new String[]{ + PreferencesUtil.addListPreference(this, "msg_dim", "off", AndroidUtils.getString("filter_dim"), AndroidUtils.getArray("filter_dim_types"), new String[] { "off", "dim_black", "dim_white" }); - PreferencesUtil.addListPreference(this, "msg_mosaic", "disabled", AndroidUtils.getString("filter_mosaic"), AndroidUtils.getArray("filter_types"), new String[]{ + PreferencesUtil.addListPreference(this, "msg_mosaic", "disabled", AndroidUtils.getString("filter_mosaic"), AndroidUtils.getArray("filter_types"), new String[] { "disabled", "low", "med", "high" }); @@ -199,13 +199,14 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment { } @Override - public void onActivityResult(int i, int i1, @Nullable Intent intent) { + public void onActivityResult(int i, int i1, @Nullable Intent intent){ super.onActivityResult(i, i1, intent); if (intent == null || intent.getData() == null) return; try { + removeWallpaper(); InputStream fileInputStream = requireActivity().getContentResolver().openInputStream(intent.getData()); OutputStream outputStream = new FileOutputStream(getWallpaperFile()); @@ -216,20 +217,21 @@ public class WallpaperMenuFragment extends MaterialPreferenceToolbarFragment { if (i == 1488) { mWPPreviewPref.redraw(); } + } catch (Exception e) { e.printStackTrace(); Toast.makeText(requireActivity(), e.getLocalizedMessage(), Toast.LENGTH_LONG).show(); } } - private void removeStickCache() { + private void removeStickCache(){ SharedPreferences prefs2 = getContext().getSharedPreferences("stickers_storage", Context.MODE_PRIVATE); prefs2.edit().clear().apply(); ImEngineProvider.b().a(); } @Override - public int T4() { + public int T4(){ return getIdentifier("wallpapers", "string"); } } \ No newline at end of file diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java index df2329e4a..00314e814 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java @@ -18,31 +18,31 @@ import androidx.recyclerview.widget.RecyclerView; import ru.vtosters.lite.ui.adapters.MessagesPreviewAdapter; -public class WallpaperPreferences extends Preference { +public class WallpaperPreferences extends Preference{ - private MessagesPreviewAdapter mAdapter; RecyclerView mRecyclerView; ImageView mChatBackground; + private MessagesPreviewAdapter mAdapter; - public WallpaperPreferences(Context context) { + public WallpaperPreferences(Context context){ this(context, null, -1, -1); } - public WallpaperPreferences(Context context, AttributeSet attributeSet) { + public WallpaperPreferences(Context context, AttributeSet attributeSet){ this(context, attributeSet, -1, -1); } - public WallpaperPreferences(Context context, AttributeSet attributeSet, int defStyleAttr) { + public WallpaperPreferences(Context context, AttributeSet attributeSet, int defStyleAttr){ this(context, attributeSet, defStyleAttr, -1); } - public WallpaperPreferences(Context context, AttributeSet attributeSet, int defStyleAttr, int i1) { + public WallpaperPreferences(Context context, AttributeSet attributeSet, int defStyleAttr, int i1){ super(context, attributeSet, defStyleAttr, i1); setLayoutResource(getIdentifier("wppreview", "layout")); } @Override - public void onBindViewHolder(PreferenceViewHolder preferenceViewHolder) { + public void onBindViewHolder(PreferenceViewHolder preferenceViewHolder){ super.onBindViewHolder(preferenceViewHolder); mRecyclerView = (RecyclerView) preferenceViewHolder.findViewById(getIdentifier("install_btn_container", "id")); @@ -56,7 +56,7 @@ public class WallpaperPreferences extends Preference { requestBg(); } - private void requestBg() { + private void requestBg(){ final Drawable drawable = getWallpaper(); if (drawable != null && getWallpaperFile().exists()) @@ -66,7 +66,7 @@ public class WallpaperPreferences extends Preference { } @SuppressLint("NotifyDataSetChanged") - void redraw() { + void redraw(){ mAdapter.notifyDataSetChanged(); requestBg(); } diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index 08cc44fd5..22e846ea5 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -1,50 +1,113 @@ package ru.vtosters.lite.ui.wallpapers; import static com.vk.im.engine.h.im_bg_chat; -import static ru.vtosters.lite.ui.wallpapers.ImageFilters.getBlurredWallpaper; -import static ru.vtosters.lite.ui.wallpapers.ImageFilters.getDimmed; import static ru.vtosters.lite.ui.wallpapers.ImageFilters.getFilteredDrawable; -import static ru.vtosters.lite.ui.wallpapers.ImageFilters.getMonochrome; -import static ru.vtosters.lite.ui.wallpapers.ImageFilters.getMosaic; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.Preferences.getBoolValue; -import static ru.vtosters.lite.utils.Preferences.hasVerification; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; -import android.net.Uri; -import android.util.Log; import android.view.View; import android.widget.ImageView; +import java.io.ByteArrayOutputStream; import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.FileOutputStream; import ru.vtosters.lite.utils.AndroidUtils; import ru.vtosters.lite.utils.ThemesUtils; +import vigo.sdk.Log; -public class WallpapersHooks { +public class WallpapersHooks{ + private static final boolean compress = getBoolValue("compresswp", true); private static File mWallpaperFile; - private static File mWallpaperFilteredFile; // TODO - + private static File mWallpaperFilteredFile; private static Drawable mWallpaper; private static boolean mUpdateWallpaperRequested = true; + private static boolean mUpdateWallpaperFileRequested = true; - public static File getWallpaperFile() { + public static File getWallpaperFile(){ if (mWallpaperFile == null) { - return mWallpaperFile = new File(getGlobalContext().getFilesDir(), "wallpaper.png"); + mWallpaperFile = new File(getGlobalContext().getFilesDir(), "wallpaper.webp"); + + Log.d("Wallpapers", "updated"); + } + + if (compress) { + mWallpaperFilteredFile = getCompressedFile(); + } + + if (compress && mWallpaperFilteredFile != null) { + return mWallpaperFilteredFile; } return mWallpaperFile; } - private static Boolean eligibleWallpaperFile(File file) { + public static File getCompressedFile(){ + File file = null; + String temp = getGlobalContext().getFilesDir() + File.separator + "tempwp.webp"; + + if (mWallpaperFile.exists()) { + try { + file = new File(temp); + file.createNewFile(); + + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + BitmapFactory.decodeFile(mWallpaperFile.getAbsolutePath()).compress(Bitmap.CompressFormat.WEBP, 85, bos); + byte[] bitmapdata = bos.toByteArray(); + + FileOutputStream fos = new FileOutputStream(file); + fos.write(bitmapdata); + fos.flush(); + fos.close(); + + } catch (Exception e) { + Log.d("Wallpapers", e.getMessage()); + } + } + + return file; + } + + public static Drawable getFilteredFile(){ + File file = null; + File wp = compress ? mWallpaperFilteredFile : mWallpaperFile; + String temp = getGlobalContext().getFilesDir() + File.separator + "filteredwp.webp"; + + if (mWallpaperFile.exists() && mUpdateWallpaperFileRequested) { + try { + file = new File(temp); + file.createNewFile(); + + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ((BitmapDrawable) getFilteredDrawable(Drawable.createFromPath(wp.getAbsolutePath()))).getBitmap().compress(Bitmap.CompressFormat.WEBP, 98, bos); + byte[] bitmapdata = bos.toByteArray(); + + FileOutputStream fos = new FileOutputStream(file); + fos.write(bitmapdata); + fos.flush(); + fos.close(); + + } catch (Exception e) { + Log.d("Wallpapers", e.getMessage()); + } + + mUpdateWallpaperFileRequested = false; + } + + try { + return Drawable.createFromPath(temp); + } catch (Exception e) { + return Drawable.createFromPath(file.getAbsolutePath()); + } + } + + private static Boolean eligibleWallpaperFile(File file){ if (file.length() >= 6291456) { sendToast("Размер файла превышает лимит 6 MB"); removeWallpaper(); @@ -54,70 +117,26 @@ public class WallpapersHooks { } } - public static File compress(File file){ - return file; -// try { -// BitmapFactory.Options o = new BitmapFactory.Options(); -// o.inJustDecodeBounds = true; -// o.inSampleSize = 6; -// -// FileInputStream inputStream = new FileInputStream(file); -// BitmapFactory.decodeStream(inputStream, null, o); -// inputStream.close(); -// -// final int REQUIRED_SIZE=200; -// -// int scale = 1; -// while(o.outWidth / scale / 2 >= REQUIRED_SIZE && o.outHeight / scale / 2 >= REQUIRED_SIZE) { -// scale *= 2; -// } -// -// BitmapFactory.Options o2 = new BitmapFactory.Options(); -// o2.inSampleSize = scale; -// inputStream = new FileInputStream(file); -// -// Bitmap selectedBitmap = BitmapFactory.decodeStream(inputStream, null, o2); -// inputStream.close(); -// -// File outPutFile = File.createTempFile("wallpaper_temp","image"); -// -// FileOutputStream outputStream = new FileOutputStream(outPutFile); -// -// selectedBitmap.compress(Bitmap.CompressFormat.PNG, 85 , outputStream); -// -// outputStream.close(); -// -// return outPutFile; -// } catch (Exception e) { -// Log.d("Wallpapers", e.getMessage()); -// return file; -// } - } - - public static void setBg(View view) { -// if (getWallpaper() != null) { -// ((ImageView) view).setImageDrawable(getWallpaper()); // set picture to background -// return; -// } + public static void setBg(View view){ + if (getWallpaper() != null) { + ((ImageView) view).setImageDrawable(getFilteredFile()); // set picture to background + return; + } view.setBackgroundColor(ThemesUtils.getColorFromAttr(im_bg_chat)); // set default bg color } - public static String getWallpaperUrl() { -// var file = getWallpaperFile(); -// -// if (file.exists() && eligibleWallpaperFile(file)) { -// if (getBoolValue("compresswp", true)) { -// return compress(file).getAbsolutePath(); -// } else { -// return file.getAbsolutePath(); -// } -// } + public static String getWallpaperUrl(){ + var file = getWallpaperFile(); + + if (file.exists() && eligibleWallpaperFile(file)) { + return file.getAbsolutePath(); + } return "default"; } - public static Drawable getWallpaper() { + public static Drawable getWallpaper(){ if (mWallpaper == null || mUpdateWallpaperRequested) { String url = getWallpaperUrl(); @@ -131,26 +150,9 @@ public class WallpapersHooks { return null; } - if (!getPreferences().getString("msg_blur_radius", "disabled").equals("disabled")) { - mWallpaper = getBlurredWallpaper(drawable, getRadius()); - } else { - mWallpaper = drawable; - } - if (!getPreferences().getString("msg_dim", "off").equals("off")) { - mWallpaper = getDimmed(mWallpaper); - } + mWallpaper = drawable; - if (!getPreferences().getString("msg_mosaic", "disabled").equals("disabled")) { - mWallpaper = getMosaic(mWallpaper); - } - - if (hasVerification()) { - if (getPreferences().getBoolean("msg_monochrome", false)) { - mWallpaper = getMonochrome(mWallpaper); - } - - mWallpaper = getFilteredDrawable(mWallpaper); - } + mWallpaper = getFilteredDrawable(mWallpaper); mUpdateWallpaperRequested = false; } @@ -158,25 +160,14 @@ public class WallpapersHooks { return mWallpaper; } - public static void requestUpdateWallpaper() { + public static void requestUpdateWallpaper(){ mUpdateWallpaperRequested = true; + mUpdateWallpaperFileRequested = true; } - private static int getRadius() { + public static String getRadiusSummary(){ String radius = getPreferences().getString("msg_blur_radius", "disabled"); - switch (radius) { - case "low": - return 8; - case "med": - return 14; - default: - return 20; - } - } - - public static String getRadiusSummary() { - String radius = getPreferences().getString("msg_blur_radius", "disabled"); - switch (radius) { + switch(radius) { case "low": return AndroidUtils.getString("wallpapers_low"); case "med": @@ -188,21 +179,21 @@ public class WallpapersHooks { } } - public static String getDimmingSummary() { + public static String getDimmingSummary(){ String radius = getPreferences().getString("msg_dim", "disabled"); - switch (radius) { + switch(radius) { case "dim_black": return AndroidUtils.getString("wallpapers_dim_black"); case "dim_white": - return AndroidUtils.getString("wallpapers_dim_white"); + return AndroidUtils.getString("wallpapers_dim_white"); default: return AndroidUtils.getString("wallpapers_disabled"); } } - public static String getMosaicSummary() { + public static String getMosaicSummary(){ String radius = getPreferences().getString("msg_mosaic", "disabled"); - switch (radius) { + switch(radius) { case "low": return AndroidUtils.getString("wallpapers_low"); case "med": @@ -215,7 +206,14 @@ public class WallpapersHooks { } - public static void removeWallpaper() { - getWallpaperFile().delete(); + public static void removeWallpaper(){ + try { + new File(getGlobalContext().getFilesDir(), "wallpaper.webp").delete(); + new File(getGlobalContext().getFilesDir(), "tempwp.webp").delete(); + mWallpaperFile = null; + mWallpaperFilteredFile = null; + } catch (Exception e) { + Log.d("Wallpapers", e.getMessage()); + } } } From 484b0f5850caff5004cf804bcece596b3474bb46 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Thu, 1 Sep 2022 19:55:50 +0300 Subject: [PATCH 072/134] fix deleting --- .../java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index 22e846ea5..9208d6555 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -210,6 +210,7 @@ public class WallpapersHooks{ try { new File(getGlobalContext().getFilesDir(), "wallpaper.webp").delete(); new File(getGlobalContext().getFilesDir(), "tempwp.webp").delete(); + new File(getGlobalContext().getFilesDir(), "filteredwp.webp").delete(); mWallpaperFile = null; mWallpaperFilteredFile = null; } catch (Exception e) { From e82547ddbbd5c2c696597b9751a9d6bbb362f7e7 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Thu, 1 Sep 2022 20:37:07 +0300 Subject: [PATCH 073/134] deleted 2/3 compressing shit --- .../ui/wallpapers/WallpaperPreferences.java | 6 +-- .../lite/ui/wallpapers/WallpapersHooks.java | 44 ++----------------- 2 files changed, 6 insertions(+), 44 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java index 00314e814..14297155a 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java @@ -1,6 +1,6 @@ package ru.vtosters.lite.ui.wallpapers; -import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.getWallpaper; +import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.getFilteredFile; import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.getWallpaperFile; import static ru.vtosters.lite.utils.AndroidUtils.dp2px; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; @@ -57,9 +57,9 @@ public class WallpaperPreferences extends Preference{ } private void requestBg(){ - final Drawable drawable = getWallpaper(); + final Drawable drawable = getFilteredFile(); - if (drawable != null && getWallpaperFile().exists()) + if (drawable != null && getWallpaperFile() != null) mChatBackground.setImageDrawable(drawable); else mChatBackground.setImageDrawable(null); diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index 9208d6555..5b6cc82a1 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -25,7 +25,6 @@ import vigo.sdk.Log; public class WallpapersHooks{ private static final boolean compress = getBoolValue("compresswp", true); private static File mWallpaperFile; - private static File mWallpaperFilteredFile; private static Drawable mWallpaper; private static boolean mUpdateWallpaperRequested = true; private static boolean mUpdateWallpaperFileRequested = true; @@ -33,59 +32,23 @@ public class WallpapersHooks{ public static File getWallpaperFile(){ if (mWallpaperFile == null) { mWallpaperFile = new File(getGlobalContext().getFilesDir(), "wallpaper.webp"); - - Log.d("Wallpapers", "updated"); - } - - if (compress) { - mWallpaperFilteredFile = getCompressedFile(); - } - - if (compress && mWallpaperFilteredFile != null) { - return mWallpaperFilteredFile; } return mWallpaperFile; } - public static File getCompressedFile(){ - File file = null; - String temp = getGlobalContext().getFilesDir() + File.separator + "tempwp.webp"; - - if (mWallpaperFile.exists()) { - try { - file = new File(temp); - file.createNewFile(); - - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - BitmapFactory.decodeFile(mWallpaperFile.getAbsolutePath()).compress(Bitmap.CompressFormat.WEBP, 85, bos); - byte[] bitmapdata = bos.toByteArray(); - - FileOutputStream fos = new FileOutputStream(file); - fos.write(bitmapdata); - fos.flush(); - fos.close(); - - } catch (Exception e) { - Log.d("Wallpapers", e.getMessage()); - } - } - - return file; - } - public static Drawable getFilteredFile(){ File file = null; - File wp = compress ? mWallpaperFilteredFile : mWallpaperFile; + File wp = mWallpaperFile; String temp = getGlobalContext().getFilesDir() + File.separator + "filteredwp.webp"; - if (mWallpaperFile.exists() && mUpdateWallpaperFileRequested) { + if (wp != null && mUpdateWallpaperFileRequested) { try { file = new File(temp); file.createNewFile(); ByteArrayOutputStream bos = new ByteArrayOutputStream(); - ((BitmapDrawable) getFilteredDrawable(Drawable.createFromPath(wp.getAbsolutePath()))).getBitmap().compress(Bitmap.CompressFormat.WEBP, 98, bos); + ((BitmapDrawable) getFilteredDrawable(Drawable.createFromPath(wp.getAbsolutePath()))).getBitmap().compress(Bitmap.CompressFormat.WEBP, (compress ? 80 : 95), bos); byte[] bitmapdata = bos.toByteArray(); FileOutputStream fos = new FileOutputStream(file); @@ -212,7 +175,6 @@ public class WallpapersHooks{ new File(getGlobalContext().getFilesDir(), "tempwp.webp").delete(); new File(getGlobalContext().getFilesDir(), "filteredwp.webp").delete(); mWallpaperFile = null; - mWallpaperFilteredFile = null; } catch (Exception e) { Log.d("Wallpapers", e.getMessage()); } From 010a71eccac531cb2fb3cf2d65d0cdeded703b88 Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Thu, 1 Sep 2022 22:40:07 +0500 Subject: [PATCH 074/134] remove file remove --- .../java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index 5b6cc82a1..c1fa19479 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -172,7 +172,6 @@ public class WallpapersHooks{ public static void removeWallpaper(){ try { new File(getGlobalContext().getFilesDir(), "wallpaper.webp").delete(); - new File(getGlobalContext().getFilesDir(), "tempwp.webp").delete(); new File(getGlobalContext().getFilesDir(), "filteredwp.webp").delete(); mWallpaperFile = null; } catch (Exception e) { From 00d8e60d1ef46c1f62bbc47c069f0d2a64c936b7 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Thu, 1 Sep 2022 21:00:08 +0300 Subject: [PATCH 075/134] speedup chats opening with wp --- .../lite/ui/wallpapers/WallpaperPreferences.java | 7 ++++--- .../vtosters/lite/ui/wallpapers/WallpapersHooks.java | 10 +++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java index 14297155a..2ab148d3e 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java @@ -8,6 +8,7 @@ import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.drawable.Drawable; +import android.net.Uri; import android.util.AttributeSet; import android.widget.ImageView; @@ -57,10 +58,10 @@ public class WallpaperPreferences extends Preference{ } private void requestBg(){ - final Drawable drawable = getFilteredFile(); + Uri f = getFilteredFile(); - if (drawable != null && getWallpaperFile() != null) - mChatBackground.setImageDrawable(drawable); + if (f != null && getWallpaperFile() != null) + mChatBackground.setImageURI(f); else mChatBackground.setImageDrawable(null); } diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index c1fa19479..fb6b93b21 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -8,9 +8,9 @@ import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.Preferences.getBoolValue; import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; +import android.net.Uri; import android.view.View; import android.widget.ImageView; @@ -37,7 +37,7 @@ public class WallpapersHooks{ return mWallpaperFile; } - public static Drawable getFilteredFile(){ + public static Uri getFilteredFile(){ File file = null; File wp = mWallpaperFile; String temp = getGlobalContext().getFilesDir() + File.separator + "filteredwp.webp"; @@ -64,9 +64,9 @@ public class WallpapersHooks{ } try { - return Drawable.createFromPath(temp); + return Uri.parse(temp); } catch (Exception e) { - return Drawable.createFromPath(file.getAbsolutePath()); + return Uri.parse(file.getAbsolutePath()); } } @@ -82,7 +82,7 @@ public class WallpapersHooks{ public static void setBg(View view){ if (getWallpaper() != null) { - ((ImageView) view).setImageDrawable(getFilteredFile()); // set picture to background + ((ImageView) view).setImageURI(getFilteredFile()); // set picture to background return; } From 2dfcc9096f29a035ab6e243211a05b023fb69f2c Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Thu, 1 Sep 2022 21:03:09 +0300 Subject: [PATCH 076/134] Revert "speedup chats opening with wp" This reverts commit 00d8e60d1ef46c1f62bbc47c069f0d2a64c936b7. --- .../lite/ui/wallpapers/WallpaperPreferences.java | 7 +++---- .../vtosters/lite/ui/wallpapers/WallpapersHooks.java | 10 +++++----- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java index 2ab148d3e..14297155a 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpaperPreferences.java @@ -8,7 +8,6 @@ import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.drawable.Drawable; -import android.net.Uri; import android.util.AttributeSet; import android.widget.ImageView; @@ -58,10 +57,10 @@ public class WallpaperPreferences extends Preference{ } private void requestBg(){ - Uri f = getFilteredFile(); + final Drawable drawable = getFilteredFile(); - if (f != null && getWallpaperFile() != null) - mChatBackground.setImageURI(f); + if (drawable != null && getWallpaperFile() != null) + mChatBackground.setImageDrawable(drawable); else mChatBackground.setImageDrawable(null); } diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index fb6b93b21..c1fa19479 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -8,9 +8,9 @@ import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.Preferences.getBoolValue; import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; -import android.net.Uri; import android.view.View; import android.widget.ImageView; @@ -37,7 +37,7 @@ public class WallpapersHooks{ return mWallpaperFile; } - public static Uri getFilteredFile(){ + public static Drawable getFilteredFile(){ File file = null; File wp = mWallpaperFile; String temp = getGlobalContext().getFilesDir() + File.separator + "filteredwp.webp"; @@ -64,9 +64,9 @@ public class WallpapersHooks{ } try { - return Uri.parse(temp); + return Drawable.createFromPath(temp); } catch (Exception e) { - return Uri.parse(file.getAbsolutePath()); + return Drawable.createFromPath(file.getAbsolutePath()); } } @@ -82,7 +82,7 @@ public class WallpapersHooks{ public static void setBg(View view){ if (getWallpaper() != null) { - ((ImageView) view).setImageURI(getFilteredFile()); // set picture to background + ((ImageView) view).setImageDrawable(getFilteredFile()); // set picture to background return; } From 9f37390d59f0e5861c63b15485766857779fc7a7 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Thu, 1 Sep 2022 21:26:39 +0300 Subject: [PATCH 077/134] removed legacy ad remover --- .../ru/vtosters/lite/hooks/JsonInjectors.java | 1 - .../ru/vtosters/lite/hooks/NewsfeedHook.java | 27 --------------- .../lite/ui/wallpapers/WallpapersHooks.java | 1 - smali/res/values-ru/strings.xml | 1 - smali/res/values/strings.xml | 1 - smali/res/xml/preferences_debug.xml | 4 --- .../com/vk/api/discover/DiscoverGet$a$a.smali | 24 -------------- .../com/vk/api/discover/DiscoverGet$a.smali | 22 ------------- .../dto/feedlikes/FeedLikesResponse$b.smali | 13 -------- .../vk/dto/stories/GeoNewsResponse$a1.smali | 13 -------- .../api/newsfeed/NewsfeedCustomGet$a.smali | 33 ------------------- .../lite/api/newsfeed/NewsfeedGet.smali | 11 ------- .../lite/api/newsfeed/NewsfeedSearch.smali | 24 -------------- .../com/vtosters/lite/api/wall/WallGet.smali | 13 +------- .../vtosters/lite/api/wall/WallGetById.smali | 11 ------- 15 files changed, 1 insertion(+), 198 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index c4ea6c9e4..0a6be60db 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -497,7 +497,6 @@ public class JsonInjectors { } public static JSONArray newsfeedadtest(JSONArray items) throws JSONException { - if (!getBoolValue("newadblock", true)) return items; var newItems = new JSONArray(); for (int j = 0; j < items.length(); j++) { diff --git a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java index 37fe15d21..2e2b45b85 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java @@ -37,33 +37,6 @@ import java.util.List; import ru.vtosters.lite.utils.AccountManagerUtils; public class NewsfeedHook { - public static boolean injectFilters(JSONObject obj) throws JSONException { - if (getBoolValue("newadblock", true)) return true; - - var optString = obj.optString("type", ""); - if (isAds(optString) || isAuthorRecommendations(optString) || isPostRecommendations(optString) || isFriendsRecommendations(optString) || isRecomsGroup(optString) || isMusicBlock(optString) || isNewsBlock(optString)) { - return false; - } - optString = obj.optString("post_type", ""); - if (isAds(optString) || isAuthorRecommendations(optString) || isPostRecommendations(optString) || isFriendsRecommendations(optString) || isMusicBlock(optString) || isNewsBlock(optString)) { - return false; - } - optString = obj.optString("filters", ""); - if (isAds(optString) || isAuthorRecommendations(optString) || isPostRecommendations(optString) || isFriendsRecommendations(optString)) { - return false; - } - - if (checkCopyright(obj)) return false; - - if (isBadNews(obj.optString("text", ""))) return false; - - if (checkCaption(obj)) return false; - - if (isGroupAds(obj)) return false; - - return !injectFiltersReposts(obj); - } // inject our filters to newsfeed, getpost and discover - public static long getUpdateNewsfeed(boolean refresh_timeout) { if (vkme()) { return MAX_VALUE; diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index c1fa19479..9c5839214 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -8,7 +8,6 @@ import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.Preferences.getBoolValue; import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.view.View; diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml index 2fed84b9d..e24777516 100644 --- a/smali/res/values-ru/strings.xml +++ b/smali/res/values-ru/strings.xml @@ -5651,7 +5651,6 @@ Отключить уведомление о том, что вы сделали скриншот Отключить отправку метрики Отключить отправку информации об устройстве пользователя и вашем местоположении - Использовать новый AdBlock (Beta) Добавить каталог подкастов Использовать новые настройки Фикс музыки v2 diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml index af51ce276..8724ee183 100644 --- a/smali/res/values/strings.xml +++ b/smali/res/values/strings.xml @@ -5785,7 +5785,6 @@ You need to restart the application to apply proxy settings" Turn off the notification that you took a screenshot Disable sending metric Disable sending information about the user\'s device and your location - Use new AdBlock (Beta) Add podcast catalog Use new settings Music fix v2 diff --git a/smali/res/xml/preferences_debug.xml b/smali/res/xml/preferences_debug.xml index 22c654af4..00930639d 100644 --- a/smali/res/xml/preferences_debug.xml +++ b/smali/res/xml/preferences_debug.xml @@ -22,10 +22,6 @@ android:key="calls" android:summary="@string/messages_interface_calls_summary" android:title="@string/vtlcalls" /> - injectFilters(Lorg/json/JSONObject;)Z - - move-result v11 - - if-nez v11, :cond_229 - - add-int/lit8 v9, v9, 0x1 - - goto :goto_0 - - :cond_229 if-eqz v10, :cond_0 .line 7 @@ -539,19 +528,6 @@ move-object/from16 v21, v5 - invoke-static {v13}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v16 - - if-nez v16, :cond_228 - - add-int/lit8 v12, v12, 0x1 - - move-object/from16 v5, v21 - - goto :goto_7 - - :cond_228 if-eqz v13, :cond_c .line 34 diff --git a/smali/smali_classes2/com/vk/api/discover/DiscoverGet$a.smali b/smali/smali_classes2/com/vk/api/discover/DiscoverGet$a.smali index ab696dd1a..5d4c74eb4 100644 --- a/smali/smali_classes2/com/vk/api/discover/DiscoverGet$a.smali +++ b/smali/smali_classes2/com/vk/api/discover/DiscoverGet$a.smali @@ -65,17 +65,6 @@ move-result-object v2 - invoke-static {v2}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v10 - - if-nez v10, :cond_2 - - add-int/lit8 v0, v0, 0x1 - - goto :goto_0 - - :cond_2 if-eqz v2, :cond_0 .line 47 @@ -242,17 +231,6 @@ move-result-object v2 - invoke-static {v2}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v10 - - if-nez v10, :cond_2 - - add-int/lit8 v0, v0, 0x1 - - goto :goto_0 - - :cond_2 if-eqz v2, :cond_0 .line 3 diff --git a/smali/smali_classes2/com/vk/dto/feedlikes/FeedLikesResponse$b.smali b/smali/smali_classes2/com/vk/dto/feedlikes/FeedLikesResponse$b.smali index 8f0db4d02..b2d6548c2 100644 --- a/smali/smali_classes2/com/vk/dto/feedlikes/FeedLikesResponse$b.smali +++ b/smali/smali_classes2/com/vk/dto/feedlikes/FeedLikesResponse$b.smali @@ -187,19 +187,6 @@ move-result-object v7 - invoke-static {v7}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v9 - - if-nez v9, :cond_99 - - add-int/lit8 v3, v3, 0x1 - - goto :goto_4 - - :cond_99 - - invoke-static {v7, v2}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V .line 16 diff --git a/smali/smali_classes2/com/vk/dto/stories/GeoNewsResponse$a1.smali b/smali/smali_classes2/com/vk/dto/stories/GeoNewsResponse$a1.smali index 424aabcf9..66dae7280 100644 --- a/smali/smali_classes2/com/vk/dto/stories/GeoNewsResponse$a1.smali +++ b/smali/smali_classes2/com/vk/dto/stories/GeoNewsResponse$a1.smali @@ -251,19 +251,6 @@ move-result-object v0 - invoke-static {v0}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v15 - - if-nez v15, :cond_99 - - add-int/lit8 v10, v10, 0x1 - - goto :goto_5 - - :cond_99 - - invoke-static {v0, v6}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V .line 22 diff --git a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedCustomGet$a.smali b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedCustomGet$a.smali index b14f6a70f..1f836814e 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedCustomGet$a.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedCustomGet$a.smali @@ -131,17 +131,6 @@ move-result-object v7 - invoke-static {v7}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v10 - - if-nez v10, :cond_28 - - add-int/lit8 v5, v5, 0x1 - - goto :goto_0 - - :cond_28 const-string v9, "profiles.getJSONObject(i)" invoke-static {v7, v9}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V @@ -179,17 +168,6 @@ move-result-object v6 - invoke-static {v6}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v10 - - if-nez v10, :cond_29 - - add-int/lit8 v4, v4, 0x1 - - goto :goto_1 - - :cond_29 const-string v7, "groups.getJSONObject(i)" invoke-static {v6, v7}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V @@ -227,17 +205,6 @@ move-result-object p3 - invoke-static {p3}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v10 - - if-nez v10, :cond_30 - - add-int/lit8 v3, v3, 0x1 - - goto :goto_2 - - :cond_30 invoke-virtual {p3, v0, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v4 diff --git a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedGet.smali b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedGet.smali index 1731cca26..b67cb44f1 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedGet.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedGet.smali @@ -749,21 +749,10 @@ move-result-object v2 - invoke-static {v2}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v10 - - if-nez v10, :cond_70 - - add-int/lit8 v5, v5, 0x1 - - goto :goto_2 - :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1 .line 39 - :cond_70 :try_start_1 iget-object v3, p0, Lcom/vtosters/lite/api/newsfeed/NewsfeedGet;->H:Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedSearch.smali b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedSearch.smali index e012e6977..04d17f321 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedSearch.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedSearch.smali @@ -380,17 +380,6 @@ move-result-object v6 - invoke-static {v6}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v9 - - if-nez v9, :cond_71 - - add-int/lit8 v3, v3, 0x1 - - goto :goto_3 - - :cond_71 invoke-static {v6}, Lcom/vk/dto/newsfeed/Owner;->b(Lorg/json/JSONObject;)Lcom/vk/dto/newsfeed/Owner; move-result-object v6 @@ -431,19 +420,6 @@ move-result-object v6 - invoke-static {v6}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v9 - - if-nez v9, :cond_70 - - add-int/lit8 v3, v3, 0x1 - - goto :goto_3 - - :cond_70 - - invoke-static {v4, v6, p1, v1}, Lcom/vk/dto/newsfeed/entries/NewsEntryFactory;->a(Ljava/lang/String;Lorg/json/JSONObject;Landroid/util/SparseArray;Ljava/lang/String;)Lcom/vk/dto/newsfeed/entries/NewsEntry; move-result-object v4 diff --git a/smali/smali_classes4/com/vtosters/lite/api/wall/WallGet.smali b/smali/smali_classes4/com/vtosters/lite/api/wall/WallGet.smali index b3e744f71..ab842690f 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/wall/WallGet.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/wall/WallGet.smali @@ -351,7 +351,7 @@ # virtual methods .method public a(Lorg/json/JSONObject;)Lcom/vtosters/lite/api/wall/WallGet$Result; - .locals 11 + .locals 10 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/Exception; @@ -539,21 +539,10 @@ move-result-object v8 - invoke-static {v8}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v10 - - if-nez v10, :cond_70 - - add-int/lit8 v4, v4, 0x1 - - goto :goto_2 - :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_2 .line 21 - :cond_70 :try_start_2 iget-object v9, p0, Lcom/vtosters/lite/api/wall/WallGet;->F:Ljava/lang/String; diff --git a/smali/smali_classes4/com/vtosters/lite/api/wall/WallGetById.smali b/smali/smali_classes4/com/vtosters/lite/api/wall/WallGetById.smali index c6db4e3da..3d643754c 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/wall/WallGetById.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/wall/WallGetById.smali @@ -105,17 +105,6 @@ move-result-object v2 - invoke-static {v2}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z - - move-result v5 - - if-nez v5, :cond_70 - - add-int/lit8 v1, v1, 0x1 - - goto :goto_0 - - :cond_70 const-string v3, "type" const-string v4, "post" From 3175fe3af239fc35a7e6f3a278cdb770a45e4106 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Thu, 1 Sep 2022 21:40:47 +0300 Subject: [PATCH 078/134] Update WallGetById.smali --- .../com/vtosters/lite/api/wall/WallGetById.smali | 4 ---- 1 file changed, 4 deletions(-) diff --git a/smali/smali_classes4/com/vtosters/lite/api/wall/WallGetById.smali b/smali/smali_classes4/com/vtosters/lite/api/wall/WallGetById.smali index 3d643754c..5b83963ae 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/wall/WallGetById.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/wall/WallGetById.smali @@ -90,10 +90,6 @@ .line 15 :goto_0 - invoke-static {p2}, Lru/vtosters/lite/hooks/JsonInjectors;->newsfeedadtest(Lorg/json/JSONArray;)Lorg/json/JSONArray; - - move-result-object p2 - invoke-virtual {p2}, Lorg/json/JSONArray;->length()I move-result v2 From 0e604c81c79231c864091480ddebdaa6cc1cfdbc Mon Sep 17 00:00:00 2001 From: k1zn <46452865+k1zn@users.noreply.github.com> Date: Thu, 1 Sep 2022 23:42:21 +0500 Subject: [PATCH 079/134] params to map --- app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java b/app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java index f61c28249..8959444a7 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java @@ -20,7 +20,7 @@ public class RequestDumper{ } paramslist.a(method); - paramslist.a(params); + paramslist.a((Map) params); paramslist.b(apiver); } } From 624b4d4724b1160b1936527558f812faea438110 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Thu, 1 Sep 2022 21:45:27 +0300 Subject: [PATCH 080/134] Update RequestDumper.java --- app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java b/app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java index 8959444a7..ee019a686 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java @@ -8,7 +8,7 @@ import com.vk.api.internal.MethodCall; import java.util.LinkedHashMap; public class RequestDumper{ - public static void addParams(MethodCall.a paramslist, String method, LinkedHashMap params, String apiver) { + public static void addParams(MethodCall.a paramslist, String method, LinkedHashMap params, String apiver) { if (method.contains("execute.getGiftByStickerId") ) { apiver = "5.187"; } @@ -20,7 +20,7 @@ public class RequestDumper{ } paramslist.a(method); - paramslist.a((Map) params); + paramslist.a(params); paramslist.b(apiver); } } From 536dd9ea51773bebd23de76bf3eab6a6da74257e Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Fri, 2 Sep 2022 00:11:49 +0500 Subject: [PATCH 081/134] i hate vk api error codes v=5.187 -> "error_msg": "Access token has expired" v=5.186 -> "response": "..." --- app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java b/app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java index ee019a686..16033244f 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/RequestDumper.java @@ -10,7 +10,7 @@ import java.util.LinkedHashMap; public class RequestDumper{ public static void addParams(MethodCall.a paramslist, String method, LinkedHashMap params, String apiver) { if (method.contains("execute.getGiftByStickerId") ) { - apiver = "5.187"; + apiver = "5.186"; } if (dev()) { From cbdf33f253250ef118ad6b3ec0234c5ede183b0b Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 2 Sep 2022 17:40:04 +0300 Subject: [PATCH 082/134] discover adblock --- .../ru/vtosters/lite/hooks/JsonInjectors.java | 59 +++++++++++++++++++ .../com/vk/api/discover/DiscoverGet.smali | 4 ++ 2 files changed, 63 insertions(+) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index 0a6be60db..4f72e0fdb 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -204,6 +204,65 @@ public class JsonInjectors { return json; } + public static JSONObject discoverInject(JSONObject json) throws JSONException, ParseException, IOException { + var items = json.optJSONArray("items"); + var newObj = new JSONArray(); + + newsfeedadtest(items); // adblock + +// newObj.put(discoverObj()); // template injection + + for (int i = 0; i < items.length(); i++) { + var curr = items.getJSONObject(i); + if (!curr.optString("template").contains("info")){ + newObj.put(items.optJSONObject(i)); + } + } + + json.put("items", newObj); + + return json; + } + + public static JSONObject discoverObj() throws JSONException, ParseException, IOException { + var mainjson = new JSONObject(); + + var info = new JSONObject(); + info.put("title", "Test Injection"); + info.put("text_color", "#ffffff"); + info.put("description", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat"); + + var image = new JSONArray(); + var imageQuality1 = new JSONObject(); + imageQuality1.put("url", "https://w7.pngwing.com/pngs/505/1021/png-transparent-konata-izumi-lucky-star-desktop-anime-anime-blue-mammal-face.png"); + imageQuality1.put("width", 72); // 72, 108, 144, 216, 288 + imageQuality1.put("height", 72); // 72, 108, 144, 216, 288 + image.put(imageQuality1); + + var background = new JSONArray(); + var backgroundQuality1 = new JSONObject(); + backgroundQuality1.put("url", "https://2ch.life/vg/arch/2022-08-22/src/38524739/16440606579870.jpg"); + backgroundQuality1.put("width", 344); // 344, 516, 680, 1032, 1376 + backgroundQuality1.put("height", 215); // 215, 323, 426, 645, 860 + background.put(backgroundQuality1); + + info.put("image", image); + info.put("background", background); + + mainjson.put("info", info); + mainjson.put("track_code", "info_banner_donut_catalog"); + mainjson.put("template", "info"); + + var action = new JSONObject(); + action.put("type", "open_url"); + action.put("url", "vk.com/vtosters_official"); + action.put("target", "internal"); + + mainjson.put("action", action); + + return mainjson; + } + public static JSONObject menu(JSONObject orig) throws JSONException { var Special = orig.optJSONArray("special"); var Main = orig.getJSONArray("main"); diff --git a/smali/smali_classes2/com/vk/api/discover/DiscoverGet.smali b/smali/smali_classes2/com/vk/api/discover/DiscoverGet.smali index 4d8eaa03e..148e5a8d4 100644 --- a/smali/smali_classes2/com/vk/api/discover/DiscoverGet.smali +++ b/smali/smali_classes2/com/vk/api/discover/DiscoverGet.smali @@ -89,6 +89,10 @@ move-result-object v1 + invoke-static {v1}, Lru/vtosters/lite/hooks/JsonInjectors;->discoverInject(Lorg/json/JSONObject;)Lorg/json/JSONObject; + + move-result-object v1 + iget-object v2, p0, Lcom/vk/api/discover/DiscoverGet;->F:Ljava/lang/String; const/4 v3, 0x0 From 341d1b6e7031f574b5ac74b2864f2c9c40e40d38 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 2 Sep 2022 17:40:50 +0300 Subject: [PATCH 083/134] Update JsonInjectors.java --- app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index 4f72e0fdb..374bb17fb 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -214,7 +214,7 @@ public class JsonInjectors { for (int i = 0; i < items.length(); i++) { var curr = items.getJSONObject(i); - if (!curr.optString("template").contains("info")){ + if (!curr.optString("template").contains("info") || !curr.optString("template").contains("ads")){ newObj.put(items.optJSONObject(i)); } } From 859d9dd2b86fe3e7820fb138f817afae6c822ca9 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Fri, 2 Sep 2022 19:03:21 +0300 Subject: [PATCH 084/134] discoverAdBlock + try catch hack trying to find bug --- .../ru/vtosters/lite/hooks/JsonInjectors.java | 232 ++++++++++++------ .../com/vk/api/discover/DiscoverGet$a$a.smali | 4 +- 2 files changed, 159 insertions(+), 77 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index 374bb17fb..cde6d5ace 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -204,17 +204,90 @@ public class JsonInjectors { return json; } - public static JSONObject discoverInject(JSONObject json) throws JSONException, ParseException, IOException { + public static Boolean discoverAdBlock(JSONObject jsonObject) throws JSONException { + if (jsonObject == null) return true; + + try { + var type = jsonObject.optString("type"); + var post = jsonObject.optJSONObject("post"); + + if (jsonObject.optString("template").contains("ads") || jsonObject.has("ads")) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from feed, Reason: ads"); + return false; + } + + if (isAds(post, type)) { + return false; + } + + if (authorsrecomm() && (type.equals("authors_rec") + || type.startsWith("recommended_") && (type.endsWith("audios") + || type.endsWith("artists") + || type.endsWith("playlists") + || type.endsWith("groups")))) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from feed, Reason: authorsrecomm"); + return false; + } + + if (postsrecomm() && (type.equals("inline_user_rec") || type.equals("live_recommended"))) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from feed, Reason: postsrecomm"); + return false; + } + + if (friendsrecomm() && (type.equals("user_rec") || type.equals("friends_recomm"))) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from feed, Reason: friendsrecomm"); + return false; + } + + if (adsgroup() && (post != null ? post.optInt("marked_as_ads") : 0) == 1 && !isWhitelistedAd(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from feed, Reason: marked_as_ads is true"); + return false; + } + + if (post != null && isBadNews(post.optString("text")) && !isWhitelistedFilters(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from feed, Reason: text filters"); + return false; + } + + if (post != null && checkCopyright(post) && !isWhitelistedFilters(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from feed, Reason: copyright filters"); + return false; + } + + if (post != null && checkCaption(post) && !isWhitelistedFilters(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from feed, Reason: caption filters"); + return false; + } + + if (post != null && NewsFeedFiltersUtils.injectFiltersReposts(post) && !isWhitelistedFilters(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from feed, Reason: repost ad"); + return false; + } + } catch (Exception e) { + Log.d("NewsfeedAdBlockV2", e.getMessage()); + } + + return true; + } + + public static JSONObject discoverInject(JSONObject json) throws JSONException{ var items = json.optJSONArray("items"); var newObj = new JSONArray(); - newsfeedadtest(items); // adblock - // newObj.put(discoverObj()); // template injection - for (int i = 0; i < items.length(); i++) { + for (int i = 0; i < (items != null ? items.length() : 0); i++) { var curr = items.getJSONObject(i); - if (!curr.optString("template").contains("info") || !curr.optString("template").contains("ads")){ + if (!curr.optString("template").contains("info") && discoverAdBlock(curr)){ newObj.put(items.optJSONObject(i)); } } @@ -224,7 +297,7 @@ public class JsonInjectors { return json; } - public static JSONObject discoverObj() throws JSONException, ParseException, IOException { + public static JSONObject discoverObj() throws JSONException{ var mainjson = new JSONObject(); var info = new JSONObject(); @@ -336,7 +409,7 @@ public class JsonInjectors { return json; } - public static JSONObject setOnlineInfo(JSONObject json) throws ParseException, IOException, JSONException { + public static JSONObject setOnlineInfo(JSONObject json) throws JSONException { var id = json.optInt("id"); if (id == AccountManagerUtils.getUserId()) { return json; @@ -365,7 +438,7 @@ public class JsonInjectors { return json; } - public static JSONArray setOnlineInfoUsers(JSONArray profiles) throws ParseException, IOException, JSONException { + public static JSONArray setOnlineInfoUsers(JSONArray profiles) throws JSONException { if (profiles == null || profiles.length() == 0) return profiles; StringBuilder sb = new StringBuilder(); var curVkId = AccountManagerUtils.getUserId(); @@ -438,10 +511,12 @@ public class JsonInjectors { if (!json.has("items")) return json; var items = json.optJSONArray("items"); - for (int i = 0; i < items.length(); i++) { - var item = items.optJSONObject(i); - if (item != null) { - parseStoriesItem(item); + if (items != null) { + for (int i = 0; i < items.length(); i++) { + var item = items.optJSONObject(i); + if (item != null) { + parseStoriesItem(item); + } } } @@ -494,7 +569,7 @@ public class JsonInjectors { return false; } - public static Boolean isWhitelistedFilters(JSONObject list) throws JSONException { + public static Boolean isWhitelistedFilters(JSONObject list){ var id = String.valueOf(list.optInt("owner_id")); if (id.equals("0")) { @@ -506,7 +581,7 @@ public class JsonInjectors { return whitelist.contains(id); } - public static Boolean isWhitelistedAd(JSONObject list) throws JSONException { + public static Boolean isWhitelistedAd(JSONObject list){ var id = String.valueOf(list.optInt("owner_id")); if (id.equals("0")) { @@ -556,72 +631,81 @@ public class JsonInjectors { } public static JSONArray newsfeedadtest(JSONArray items) throws JSONException { - var newItems = new JSONArray(); + try { + var newItems = new JSONArray(); - for (int j = 0; j < items.length(); j++) { - var list = items.optJSONObject(j); - var type = list.optString("type"); + for (int j = 0; j < items.length(); j++) { + var list = items.optJSONObject(j); - if (isAds(list, type)) { - continue; + if (list == null) continue; + + var type = list.optString("type"); + + if (isAds(list, type)) { + continue; + } + + if (authorsrecomm() && (type.equals("authors_rec") + || type.startsWith("recommended_") && (type.endsWith("audios") + || type.endsWith("artists") + || type.endsWith("playlists") + || type.endsWith("groups")))) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: authorsrecomm"); + continue; + } + + if (postsrecomm() && (type.equals("inline_user_rec") || type.equals("live_recommended"))) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: postsrecomm"); + continue; + } + + if (friendsrecomm() && (type.equals("user_rec") || type.equals("friends_recomm"))) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: friendsrecomm"); + continue; + } + + if (adsgroup() && list.optInt("marked_as_ads") == 1 && !isWhitelistedAd(list)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: marked_as_ads is true"); + continue; + } + + if (isBadNews(list.optString("text")) && !isWhitelistedFilters(list)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: text filters"); + continue; + } + + if (checkCopyright(list) && !isWhitelistedFilters(list)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: copyright filters"); + continue; + } + + if (checkCaption(list) && !isWhitelistedFilters(list)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: caption filters"); + continue; + } + + if (NewsFeedFiltersUtils.injectFiltersReposts(list) && !isWhitelistedFilters(list)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: repost ad"); + continue; + } + + newItems.put(list); } - if (authorsrecomm() && (type.equals("authors_rec") - || type.startsWith("recommended_") && (type.endsWith("audios") - || type.endsWith("artists") - || type.endsWith("playlists") - || type.endsWith("groups")))) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: authorsrecomm"); - continue; - } - - if (postsrecomm() && (type.equals("inline_user_rec") || type.equals("live_recommended"))) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: postsrecomm"); - continue; - } - - if (friendsrecomm() && (type.equals("user_rec") || type.equals("friends_recomm"))) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: friendsrecomm"); - continue; - } - - if (adsgroup() && list.optInt("marked_as_ads") == 1 && !isWhitelistedAd(list)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: marked_as_ads is true"); - continue; - } - - if (isBadNews(list.optString("text")) && !isWhitelistedFilters(list)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: text filters"); - continue; - } - - if (checkCopyright(list) && !isWhitelistedFilters(list)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: copyright filters"); - continue; - } - - if (checkCaption(list) && !isWhitelistedFilters(list)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: caption filters"); - continue; - } - - if (NewsFeedFiltersUtils.injectFiltersReposts(list) && !isWhitelistedFilters(list)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: repost ad"); - continue; - } - - newItems.put(list); + return newItems; + } catch (Exception e) { + Log.d("NewsfeedAdBlockV2", e.getMessage()); } - return newItems; + return items; } public static JSONObject music(JSONObject json) throws JSONException { diff --git a/smali/smali_classes2/com/vk/api/discover/DiscoverGet$a$a.smali b/smali/smali_classes2/com/vk/api/discover/DiscoverGet$a$a.smali index c1002139c..242ee7533 100644 --- a/smali/smali_classes2/com/vk/api/discover/DiscoverGet$a$a.smali +++ b/smali/smali_classes2/com/vk/api/discover/DiscoverGet$a$a.smali @@ -257,7 +257,7 @@ goto :goto_2 :cond_6 - const-string v0, "null" + const-string v0, "ads" .line 14 :goto_2 @@ -679,8 +679,6 @@ .line 42 :goto_c - const/4 v2, 0x0 - new-instance v32, Lcom/vk/dto/discover/DiscoverItem; move-object/from16 v4, v32 From 0698985623200229e173a4e5e52b9f4f90d3a46e Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Fri, 2 Sep 2022 21:45:04 +0500 Subject: [PATCH 085/134] discover adblock logging fix --- .../ru/vtosters/lite/hooks/JsonInjectors.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index cde6d5ace..abcd0fc5a 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -213,7 +213,7 @@ public class JsonInjectors { if (jsonObject.optString("template").contains("ads") || jsonObject.has("ads")) { if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from feed, Reason: ads"); + Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from discover, Reason: ads"); return false; } @@ -227,53 +227,53 @@ public class JsonInjectors { || type.endsWith("playlists") || type.endsWith("groups")))) { if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from feed, Reason: authorsrecomm"); + Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from discover, Reason: authorsrecomm"); return false; } if (postsrecomm() && (type.equals("inline_user_rec") || type.equals("live_recommended"))) { if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from feed, Reason: postsrecomm"); + Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from discover, Reason: postsrecomm"); return false; } if (friendsrecomm() && (type.equals("user_rec") || type.equals("friends_recomm"))) { if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from feed, Reason: friendsrecomm"); + Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from discover, Reason: friendsrecomm"); return false; } if (adsgroup() && (post != null ? post.optInt("marked_as_ads") : 0) == 1 && !isWhitelistedAd(post)) { if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from feed, Reason: marked_as_ads is true"); + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: marked_as_ads is true"); return false; } if (post != null && isBadNews(post.optString("text")) && !isWhitelistedFilters(post)) { if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from feed, Reason: text filters"); + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: text filters"); return false; } if (post != null && checkCopyright(post) && !isWhitelistedFilters(post)) { if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from feed, Reason: copyright filters"); + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: copyright filters"); return false; } if (post != null && checkCaption(post) && !isWhitelistedFilters(post)) { if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from feed, Reason: caption filters"); + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: caption filters"); return false; } if (post != null && NewsFeedFiltersUtils.injectFiltersReposts(post) && !isWhitelistedFilters(post)) { if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from feed, Reason: repost ad"); + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: repost ad"); return false; } } catch (Exception e) { - Log.d("NewsfeedAdBlockV2", e.getMessage()); + Log.d("NewsfeedAdBlockV2", "discover: " + e.getMessage()); } return true; From b746594b1d8fd81297eea20aa5ff37a7cc961fb5 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 3 Sep 2022 23:18:12 +0300 Subject: [PATCH 086/134] some adblock refactoring --- .../ru/vtosters/lite/hooks/AdBlockHook.java | 351 ++++++++++++++++++ .../ru/vtosters/lite/hooks/JsonInjectors.java | 318 ---------------- .../lite/utils/NewsFeedFiltersUtils.java | 89 +++-- .../com/vk/api/discover/DiscoverGet.smali | 2 +- .../dto/feedlikes/FeedLikesResponse$b.smali | 2 +- .../vk/dto/stories/GeoNewsResponse$a1.smali | 2 +- .../stories/model/GetStoriesResponse.smali | 4 +- .../api/newsfeed/NewsfeedCustomGet$a.smali | 2 +- .../lite/api/newsfeed/NewsfeedGet.smali | 2 +- .../NewsfeedGetRecommendedLiveVideos.smali | 2 +- .../lite/api/newsfeed/NewsfeedSearch.smali | 4 +- .../com/vtosters/lite/api/wall/WallGet.smali | 2 +- .../vtosters/lite/api/wall/WallGetById.smali | 2 +- 13 files changed, 418 insertions(+), 364 deletions(-) create mode 100644 app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java diff --git a/app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java b/app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java new file mode 100644 index 000000000..265112f55 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java @@ -0,0 +1,351 @@ +package ru.vtosters.lite.hooks; +import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCaption; +import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCopyright; +import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isBadNews; +import static ru.vtosters.lite.utils.Preferences.ads; +import static ru.vtosters.lite.utils.Preferences.adsgroup; +import static ru.vtosters.lite.utils.Preferences.adsstories; +import static ru.vtosters.lite.utils.Preferences.authorsrecomm; +import static ru.vtosters.lite.utils.Preferences.dev; +import static ru.vtosters.lite.utils.Preferences.friendsrecomm; +import static ru.vtosters.lite.utils.Preferences.postsrecomm; + +import android.util.Log; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.Collections; +import java.util.LinkedHashSet; + +import ru.vtosters.lite.utils.AndroidUtils; +import ru.vtosters.lite.utils.NewsFeedFiltersUtils; + +public class AdBlockHook{ + public static Boolean discoverAdBlock(JSONObject jsonObject){ + if (jsonObject == null) return true; + + try { + var type = jsonObject.optString("type"); + var post = jsonObject.optJSONObject("post"); + + if (jsonObject.optString("template").contains("ads") || jsonObject.has("ads")) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from discover, Reason: ads"); + return false; + } + + if (isAds(post, type)) { + return false; + } + + if (authorsrecomm() && (type.equals("authors_rec") + || type.startsWith("recommended_") && (type.endsWith("audios") + || type.endsWith("artists") + || type.endsWith("playlists") + || type.endsWith("groups")))) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from discover, Reason: authorsrecomm"); + return false; + } + + if (postsrecomm() && (type.equals("inline_user_rec") || type.equals("live_recommended"))) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from discover, Reason: postsrecomm"); + return false; + } + + if (friendsrecomm() && (type.equals("user_rec") || type.equals("friends_recomm"))) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from discover, Reason: friendsrecomm"); + return false; + } + + if (adsgroup() && (post != null ? post.optInt("marked_as_ads") : 0) == 1 && !isWhitelistedAd(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: marked_as_ads is true"); + return false; + } + + if (post != null && isBadNews(post.optString("text")) && !isWhitelistedFilters(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: text filters"); + return false; + } + + if (post != null && checkCopyright(post) && !isWhitelistedFilters(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: copyright filters"); + return false; + } + + if (post != null && checkCaption(post) && !isWhitelistedFilters(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: caption filters"); + return false; + } + + if (post != null && NewsFeedFiltersUtils.injectFiltersReposts(post) && !isWhitelistedFilters(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: repost ad"); + return false; + } + } catch (Exception e) { + Log.d("NewsfeedAdBlockV2", "discover: " + e.getMessage()); + } + + return true; + } + + public static JSONObject discoverInject(JSONObject json) throws JSONException{ + var items = json.optJSONArray("items"); + var newObj = new JSONArray(); + +// newObj.put(discoverObj()); // template injection + + for (int i = 0; i < (items != null ? items.length() : 0); i++) { + try { + var curr = items.getJSONObject(i); + if (!curr.optString("template").contains("info") && discoverAdBlock(curr)) { + newObj.put(items.optJSONObject(i)); + } + } catch (Exception e) { + Log.d("NewsfeedAdBlockV2", "discover: " + e); + } + } + + json.put("items", newObj); + + return json; + } + + public static JSONObject discoverObj() throws JSONException{ + var mainjson = new JSONObject(); + + var info = new JSONObject(); + info.put("title", "Test Injection"); + info.put("text_color", "#ffffff"); + info.put("description", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat"); + + var image = new JSONArray(); + var imageQuality1 = new JSONObject(); + imageQuality1.put("url", "https://w7.pngwing.com/pngs/505/1021/png-transparent-konata-izumi-lucky-star-desktop-anime-anime-blue-mammal-face.png"); + imageQuality1.put("width", 72); // 72, 108, 144, 216, 288 + imageQuality1.put("height", 72); // 72, 108, 144, 216, 288 + image.put(imageQuality1); + + var background = new JSONArray(); + var backgroundQuality1 = new JSONObject(); + backgroundQuality1.put("url", "https://2ch.life/vg/arch/2022-08-22/src/38524739/16440606579870.jpg"); + backgroundQuality1.put("width", 344); // 344, 516, 680, 1032, 1376 + backgroundQuality1.put("height", 215); // 215, 323, 426, 645, 860 + background.put(backgroundQuality1); + + info.put("image", image); + info.put("background", background); + + mainjson.put("info", info); + mainjson.put("track_code", "info_banner_donut_catalog"); + mainjson.put("template", "info"); + + var action = new JSONObject(); + action.put("type", "open_url"); + action.put("url", "vk.com/vtosters_official"); + action.put("target", "internal"); + + mainjson.put("action", action); + + return mainjson; + } + + public static JSONArray feedInject(JSONArray items){ + if (items.length() == 0) return items; + + try { + var newItems = new JSONArray(); + + for (int j = 0; j < items.length(); j++) { + var list = items.optJSONObject(j); + + if (list == null) continue; + + var type = list.optString("type"); + + if (isAds(list, type)) { + continue; + } + + if (authorsrecomm() && (type.equals("authors_rec") + || type.startsWith("recommended_") && (type.endsWith("audios") + || type.endsWith("artists") + || type.endsWith("playlists") + || type.endsWith("groups")))) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: authorsrecomm"); + continue; + } + + if (postsrecomm() && (type.equals("inline_user_rec") || type.equals("live_recommended"))) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: postsrecomm"); + continue; + } + + if (friendsrecomm() && (type.equals("user_rec") || type.equals("friends_recomm"))) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: friendsrecomm"); + continue; + } + + if (adsgroup() && list.optInt("marked_as_ads") == 1 && !isWhitelistedAd(list)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: marked_as_ads is true"); + continue; + } + + if (isBadNews(list.optString("text")) && !isWhitelistedFilters(list)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: text filters"); + continue; + } + + if (checkCopyright(list) && !isWhitelistedFilters(list)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: copyright filters"); + continue; + } + + if (checkCaption(list) && !isWhitelistedFilters(list)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: caption filters"); + continue; + } + + if (NewsFeedFiltersUtils.injectFiltersReposts(list) && !isWhitelistedFilters(list)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: repost ad"); + continue; + } + + newItems.put(list); + } + + return newItems; + } catch (Exception e) { + Log.d("NewsfeedAdBlockV2", e.getMessage()); + } + + return items; + } + + + public static JSONObject storiesads(JSONObject json, boolean isDeleteFix) throws JSONException{ + if (!adsstories()) { + return json; + } + + if (json.has("ads")) { + var ad = json.optJSONObject("ads"); + if (isDeleteFix) { + if (ad != null) { + ad.optJSONObject("settings") + .put("stories_interval", 0) + .put("authors_interval", 0) + .put("time_interval", 0) + .put("stories_init", 0) + .put("authors_init", 0) + .put("time_init", 0); + } + if (dev()) Log.d("StoriesAds", "Set ads settings at zero values"); + } else { + json.remove("ads"); + if (dev()) Log.d("StoriesAds", "Removed ads block"); + } + } + + if (!json.has("items")) return json; + + var items = json.optJSONArray("items"); + if (items != null) { + for (int i = 0; i < items.length(); i++) { + var item = items.optJSONObject(i); + if (item != null) { + parseStoriesItem(item); + } + } + } + + return json; + } + + private static void parseStoriesItem(JSONObject item) throws JSONException{ + var stories = item.optJSONArray("stories"); + var newStories = new JSONArray(); + + if (stories == null) return; + + for (int j = 0; j < stories.length(); j++) { + var story = stories.optJSONObject(j); + + if (!story.optBoolean("is_ads") && !story.optBoolean("is_promo")) { + newStories.put(story); + } else { + if (dev()) + Log.d("StoriesAds", "Fetched ad, owner id " + story.optString("owner_id") + ", caption " + story.optString("caption")); + } + } + + item.put("stories", newStories); + } + + public static Boolean isAds(JSONObject list, String type) throws JSONException{ + if (list == null || type == null || !ads()) return false; + + if (list.has("ads") + || type.equals("ads") + || type.equals("carousel") + || type.equals("html5_ad") + || type.equals("ads_easy_promote")) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: ads"); + return true; + } + + if (type.equals("promo_button") + || type.equals("app_widget") + || type.equals("app_video") + || type.equals("app_slider") + || type.equals("tags_suggestions")) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: promo"); + return true; + } + + return false; + } + + public static Boolean isWhitelistedFilters(JSONObject list){ + var id = String.valueOf(list.optInt("owner_id")); + + if (id.equals("0")) { + id = String.valueOf(list.optInt("source_id")); + } + + var whitelist = AndroidUtils.getDefaultPrefs().getStringSet("whitelisted_filters_groups", Collections.synchronizedSet(new LinkedHashSet<>())); + + return whitelist.contains(id); + } + + public static Boolean isWhitelistedAd(JSONObject list){ + var id = String.valueOf(list.optInt("owner_id")); + + if (id.equals("0")) { + id = String.valueOf(list.optInt("source_id")); + } + + var whitelist = AndroidUtils.getDefaultPrefs().getStringSet("whitelisted_ad_groups", Collections.synchronizedSet(new LinkedHashSet<>())); + + return whitelist.contains(id); + } +} diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index abcd0fc5a..06a89a509 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -204,138 +204,6 @@ public class JsonInjectors { return json; } - public static Boolean discoverAdBlock(JSONObject jsonObject) throws JSONException { - if (jsonObject == null) return true; - - try { - var type = jsonObject.optString("type"); - var post = jsonObject.optJSONObject("post"); - - if (jsonObject.optString("template").contains("ads") || jsonObject.has("ads")) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from discover, Reason: ads"); - return false; - } - - if (isAds(post, type)) { - return false; - } - - if (authorsrecomm() && (type.equals("authors_rec") - || type.startsWith("recommended_") && (type.endsWith("audios") - || type.endsWith("artists") - || type.endsWith("playlists") - || type.endsWith("groups")))) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from discover, Reason: authorsrecomm"); - return false; - } - - if (postsrecomm() && (type.equals("inline_user_rec") || type.equals("live_recommended"))) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from discover, Reason: postsrecomm"); - return false; - } - - if (friendsrecomm() && (type.equals("user_rec") || type.equals("friends_recomm"))) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + (post != null ? post.optInt("post_id") : 0) + " from discover, Reason: friendsrecomm"); - return false; - } - - if (adsgroup() && (post != null ? post.optInt("marked_as_ads") : 0) == 1 && !isWhitelistedAd(post)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: marked_as_ads is true"); - return false; - } - - if (post != null && isBadNews(post.optString("text")) && !isWhitelistedFilters(post)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: text filters"); - return false; - } - - if (post != null && checkCopyright(post) && !isWhitelistedFilters(post)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: copyright filters"); - return false; - } - - if (post != null && checkCaption(post) && !isWhitelistedFilters(post)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: caption filters"); - return false; - } - - if (post != null && NewsFeedFiltersUtils.injectFiltersReposts(post) && !isWhitelistedFilters(post)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: repost ad"); - return false; - } - } catch (Exception e) { - Log.d("NewsfeedAdBlockV2", "discover: " + e.getMessage()); - } - - return true; - } - - public static JSONObject discoverInject(JSONObject json) throws JSONException{ - var items = json.optJSONArray("items"); - var newObj = new JSONArray(); - -// newObj.put(discoverObj()); // template injection - - for (int i = 0; i < (items != null ? items.length() : 0); i++) { - var curr = items.getJSONObject(i); - if (!curr.optString("template").contains("info") && discoverAdBlock(curr)){ - newObj.put(items.optJSONObject(i)); - } - } - - json.put("items", newObj); - - return json; - } - - public static JSONObject discoverObj() throws JSONException{ - var mainjson = new JSONObject(); - - var info = new JSONObject(); - info.put("title", "Test Injection"); - info.put("text_color", "#ffffff"); - info.put("description", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat"); - - var image = new JSONArray(); - var imageQuality1 = new JSONObject(); - imageQuality1.put("url", "https://w7.pngwing.com/pngs/505/1021/png-transparent-konata-izumi-lucky-star-desktop-anime-anime-blue-mammal-face.png"); - imageQuality1.put("width", 72); // 72, 108, 144, 216, 288 - imageQuality1.put("height", 72); // 72, 108, 144, 216, 288 - image.put(imageQuality1); - - var background = new JSONArray(); - var backgroundQuality1 = new JSONObject(); - backgroundQuality1.put("url", "https://2ch.life/vg/arch/2022-08-22/src/38524739/16440606579870.jpg"); - backgroundQuality1.put("width", 344); // 344, 516, 680, 1032, 1376 - backgroundQuality1.put("height", 215); // 215, 323, 426, 645, 860 - background.put(backgroundQuality1); - - info.put("image", image); - info.put("background", background); - - mainjson.put("info", info); - mainjson.put("track_code", "info_banner_donut_catalog"); - mainjson.put("template", "info"); - - var action = new JSONObject(); - action.put("type", "open_url"); - action.put("url", "vk.com/vtosters_official"); - action.put("target", "internal"); - - mainjson.put("action", action); - - return mainjson; - } - public static JSONObject menu(JSONObject orig) throws JSONException { var Special = orig.optJSONArray("special"); var Main = orig.getJSONArray("main"); @@ -486,113 +354,6 @@ public class JsonInjectors { return profiles; } - - public static JSONObject storiesads(JSONObject json, boolean isDeleteFix) throws JSONException { - if (!adsstories()) { - return json; - } - - if (json.has("ads")) { - if (isDeleteFix) { - json.optJSONObject("ads").optJSONObject("settings") - .put("stories_interval", 0) - .put("authors_interval", 0) - .put("time_interval", 0) - .put("stories_init", 0) - .put("authors_init", 0) - .put("time_init", 0); - if (dev()) Log.d("StoriesAds", "Set ads settings at zero values"); - } else { - json.remove("ads"); - if (dev()) Log.d("StoriesAds", "Removed ads block"); - } - } - - if (!json.has("items")) return json; - - var items = json.optJSONArray("items"); - if (items != null) { - for (int i = 0; i < items.length(); i++) { - var item = items.optJSONObject(i); - if (item != null) { - parseStoriesItem(item); - } - } - } - - return json; - } - - private static void parseStoriesItem(JSONObject item) throws JSONException { - var stories = item.optJSONArray("stories"); - var newStories = new JSONArray(); - - if (stories == null) return; - - for (int j = 0; j < stories.length(); j++) { - var story = stories.optJSONObject(j); - - if (!story.optBoolean("is_ads") && !story.optBoolean("is_promo")) { - newStories.put(story); - } else { - if (dev()) - Log.d("StoriesAds", "Fetched ad, owner id " + story.optString("owner_id") + ", caption " + story.optString("caption")); - } - } - - item.put("stories", newStories); - } - - public static Boolean isAds(JSONObject list, String type) throws JSONException { - if (list == null || type == null || !ads()) return false; - - if (list.has("ads") - || type.equals("ads") - || type.equals("carousel") - || type.equals("html5_ad") - || type.equals("ads_easy_promote")) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: ads"); - return true; - } - - if (type.equals("promo_button") - || type.equals("app_widget") - || type.equals("app_video") - || type.equals("app_slider") - || type.equals("tags_suggestions")) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: promo"); - return true; - } - - return false; - } - - public static Boolean isWhitelistedFilters(JSONObject list){ - var id = String.valueOf(list.optInt("owner_id")); - - if (id.equals("0")) { - id = String.valueOf(list.optInt("source_id")); - } - - var whitelist = AndroidUtils.getDefaultPrefs().getStringSet("whitelisted_filters_groups", Collections.synchronizedSet(new LinkedHashSet<>())); - - return whitelist.contains(id); - } - - public static Boolean isWhitelistedAd(JSONObject list){ - var id = String.valueOf(list.optInt("owner_id")); - - if (id.equals("0")) { - id = String.valueOf(list.optInt("source_id")); - } - - var whitelist = AndroidUtils.getDefaultPrefs().getStringSet("whitelisted_ad_groups", Collections.synchronizedSet(new LinkedHashSet<>())); - - return whitelist.contains(id); - } - public static JSONArray newsfeedlist(JSONArray items) throws JSONException { var selectedItems = getDefaultPrefs().getString("news_feed_selected_items", ""); var filtersSet = getDefaultPrefs().getStringSet("news_feed_items_set", null); @@ -630,84 +391,6 @@ public class JsonInjectors { return items; } - public static JSONArray newsfeedadtest(JSONArray items) throws JSONException { - try { - var newItems = new JSONArray(); - - for (int j = 0; j < items.length(); j++) { - var list = items.optJSONObject(j); - - if (list == null) continue; - - var type = list.optString("type"); - - if (isAds(list, type)) { - continue; - } - - if (authorsrecomm() && (type.equals("authors_rec") - || type.startsWith("recommended_") && (type.endsWith("audios") - || type.endsWith("artists") - || type.endsWith("playlists") - || type.endsWith("groups")))) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: authorsrecomm"); - continue; - } - - if (postsrecomm() && (type.equals("inline_user_rec") || type.equals("live_recommended"))) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: postsrecomm"); - continue; - } - - if (friendsrecomm() && (type.equals("user_rec") || type.equals("friends_recomm"))) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: friendsrecomm"); - continue; - } - - if (adsgroup() && list.optInt("marked_as_ads") == 1 && !isWhitelistedAd(list)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: marked_as_ads is true"); - continue; - } - - if (isBadNews(list.optString("text")) && !isWhitelistedFilters(list)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: text filters"); - continue; - } - - if (checkCopyright(list) && !isWhitelistedFilters(list)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: copyright filters"); - continue; - } - - if (checkCaption(list) && !isWhitelistedFilters(list)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: caption filters"); - continue; - } - - if (NewsFeedFiltersUtils.injectFiltersReposts(list) && !isWhitelistedFilters(list)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + list.optInt("post_id") + " from feed, Reason: repost ad"); - continue; - } - - newItems.put(list); - } - - return newItems; - } catch (Exception e) { - Log.d("NewsfeedAdBlockV2", e.getMessage()); - } - - return items; - } - public static JSONObject music(JSONObject json) throws JSONException { var catalog = json.optJSONObject("catalog"); @@ -905,7 +588,6 @@ public class JsonInjectors { return json; } - public static boolean haveDonateButton() { int randomshower = new Random().nextInt(6); diff --git a/app/src/main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java b/app/src/main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java index 2f836783c..350aa2139 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java @@ -23,7 +23,7 @@ import java.util.Arrays; import java.util.List; import java.util.Scanner; -import ru.vtosters.lite.hooks.JsonInjectors; +import ru.vtosters.lite.hooks.AdBlockHook; public class NewsFeedFiltersUtils { public static List mFilters; @@ -58,16 +58,22 @@ public class NewsFeedFiltersUtils { } public static void getFilter(String boolname, String filename, List list) { + var ctx = getGlobalContext(); + if (getBoolValue(boolname, false)) { try { - var scanner = new Scanner(getGlobalContext().getAssets().open(filename)); - while (scanner.hasNextLine()) { - var line = scanner.nextLine(); - if (!line.isEmpty()) - list.add(line.toLowerCase()); + Scanner scanner; + if (ctx != null) { + scanner = new Scanner(ctx.getAssets().open(filename)); + + while (scanner.hasNextLine()) { + var line = scanner.nextLine(); + if (!line.isEmpty()) + list.add(line.toLowerCase()); + } } } catch (IOException e) { - e.printStackTrace(); + Log.d("NewsFeedFiltersUtils", e.getMessage()); } } } // Get needed filter list from assets @@ -75,25 +81,27 @@ public class NewsFeedFiltersUtils { public static boolean injectFiltersReposts(JSONObject obj) throws JSONException { if (getBoolValue("cringerepost", false) && obj.has("copy_history")) { var copyHistoryNode = obj.optJSONArray("copy_history"); - for (int i = 0; i < copyHistoryNode.length(); i++) { - var item = copyHistoryNode.optJSONObject(i); - var text = item.optString("text"); + if (copyHistoryNode != null) { + for (int i = 0; i < copyHistoryNode.length(); i++) { + var item = copyHistoryNode.optJSONObject(i); + var text = item.optString("text"); - if (isBadNews(text)) { - if (dev()) - Log.d("RepostFilter", "Fetched repost ad (isBadNews), owner id " + item.optString("owner_id") + ", text: " + text); - return true; - } else if (JsonInjectors.isAds(item, item.optString("post_type"))) { - if (dev()) - Log.d("RepostFilter", "Fetched repost ad (ads), owner id " + item.optString("owner_id") + ", text: " + text); - return true; - } - - for (String filter : mFiltersLinks) { - if (text.contains(filter)) { + if (isBadNews(text)) { if (dev()) - Log.d("RepostFilter", "Fetched repost ad, owner id " + item.optString("owner_id") + ", text: " + text); + Log.d("RepostFilter", "Fetched repost ad (isBadNews), owner id " + item.optString("owner_id") + ", text: " + text); return true; + } else if (AdBlockHook.isAds(item, item.optString("post_type"))) { + if (dev()) + Log.d("RepostFilter", "Fetched repost ad (ads), owner id " + item.optString("owner_id") + ", text: " + text); + return true; + } + + for (String filter : mFiltersLinks) { + if (text.contains(filter)) { + if (dev()) + Log.d("RepostFilter", "Fetched repost ad, owner id " + item.optString("owner_id") + ", text: " + text); + return true; + } } } } @@ -106,15 +114,25 @@ public class NewsFeedFiltersUtils { if (copyright_post()) return true; var copyright = json.optJSONObject("copyright"); - var copyrightName = copyright.getString("name").toLowerCase(); - var copyrightLink = copyright.getString("link").toLowerCase(); - + + String copyrightName = null; + + if (copyright != null) { + copyrightName = copyright.getString("name").toLowerCase(); + } + + String copyrightLink = null; + + if (copyright != null) { + copyrightLink = copyright.getString("link").toLowerCase(); + } + for (String filter : mFiltersNames) { - if (copyrightName.contains(filter)) return true; + if (copyrightName != null && copyrightName.contains(filter)) return true; } for (String filter : mFiltersLinks) { - if (copyrightLink.contains(filter)) return true; + if (copyrightLink != null && copyrightLink.contains(filter)) return true; } } return false; @@ -154,12 +172,15 @@ public class NewsFeedFiltersUtils { var caption = postJson.optJSONObject("caption"); if (postsrecomm()) { try { - var type = caption.getString("type"); - return type.equals("explorebait") || // Может быть интересно - type.equals("shared") || // Поделился записью - type.equals("digest") || // Рекомедации - type.equals("commented") || // Комментирует - type.equals("voted"); // Проголосовал в опросе + String type; + if (caption != null) { + type = caption.getString("type"); + return type.equals("explorebait") || // Может быть интересно + type.equals("shared") || // Поделился записью + type.equals("digest") || // Рекомедации + type.equals("commented") || // Комментирует + type.equals("voted"); // Проголосовал в опросе + } } catch (JSONException e) { Log.d("checkCaption", "Caption error"); } diff --git a/smali/smali_classes2/com/vk/api/discover/DiscoverGet.smali b/smali/smali_classes2/com/vk/api/discover/DiscoverGet.smali index 148e5a8d4..c61a0f6f3 100644 --- a/smali/smali_classes2/com/vk/api/discover/DiscoverGet.smali +++ b/smali/smali_classes2/com/vk/api/discover/DiscoverGet.smali @@ -89,7 +89,7 @@ move-result-object v1 - invoke-static {v1}, Lru/vtosters/lite/hooks/JsonInjectors;->discoverInject(Lorg/json/JSONObject;)Lorg/json/JSONObject; + invoke-static {v1}, Lru/vtosters/lite/hooks/AdBlockHook;->discoverInject(Lorg/json/JSONObject;)Lorg/json/JSONObject; move-result-object v1 diff --git a/smali/smali_classes2/com/vk/dto/feedlikes/FeedLikesResponse$b.smali b/smali/smali_classes2/com/vk/dto/feedlikes/FeedLikesResponse$b.smali index b2d6548c2..ea7a594d0 100644 --- a/smali/smali_classes2/com/vk/dto/feedlikes/FeedLikesResponse$b.smali +++ b/smali/smali_classes2/com/vk/dto/feedlikes/FeedLikesResponse$b.smali @@ -171,7 +171,7 @@ .line 14 :cond_4 - invoke-static {v4}, Lru/vtosters/lite/hooks/JsonInjectors;->newsfeedadtest(Lorg/json/JSONArray;)Lorg/json/JSONArray; + invoke-static {v4}, Lru/vtosters/lite/hooks/AdBlockHook;->feedInject(Lorg/json/JSONArray;)Lorg/json/JSONArray; move-result-object v4 diff --git a/smali/smali_classes2/com/vk/dto/stories/GeoNewsResponse$a1.smali b/smali/smali_classes2/com/vk/dto/stories/GeoNewsResponse$a1.smali index 66dae7280..a5c8559d4 100644 --- a/smali/smali_classes2/com/vk/dto/stories/GeoNewsResponse$a1.smali +++ b/smali/smali_classes2/com/vk/dto/stories/GeoNewsResponse$a1.smali @@ -235,7 +235,7 @@ .line 20 :cond_5 - invoke-static {v11}, Lru/vtosters/lite/hooks/JsonInjectors;->newsfeedadtest(Lorg/json/JSONArray;)Lorg/json/JSONArray; + invoke-static {v11}, Lru/vtosters/lite/hooks/AdBlockHook;->feedInject(Lorg/json/JSONArray;)Lorg/json/JSONArray; move-result-object v11 diff --git a/smali/smali_classes2/com/vk/dto/stories/model/GetStoriesResponse.smali b/smali/smali_classes2/com/vk/dto/stories/model/GetStoriesResponse.smali index e92282918..6f4d03c4a 100644 --- a/smali/smali_classes2/com/vk/dto/stories/model/GetStoriesResponse.smali +++ b/smali/smali_classes2/com/vk/dto/stories/model/GetStoriesResponse.smali @@ -208,7 +208,7 @@ .method public constructor (Lorg/json/JSONObject;Z)V .locals 7 - invoke-static {p1, p2}, Lru/vtosters/lite/hooks/JsonInjectors;->storiesads(Lorg/json/JSONObject;Z)Lorg/json/JSONObject; + invoke-static {p1, p2}, Lru/vtosters/lite/hooks/AdBlockHook;->storiesads(Lorg/json/JSONObject;Z)Lorg/json/JSONObject; move-result-object p1 @@ -398,7 +398,7 @@ const v0, 0x0 - invoke-static {p1, v0}, Lru/vtosters/lite/hooks/JsonInjectors;->storiesads(Lorg/json/JSONObject;Z)Lorg/json/JSONObject; + invoke-static {p1, v0}, Lru/vtosters/lite/hooks/AdBlockHook;->storiesads(Lorg/json/JSONObject;Z)Lorg/json/JSONObject; move-result-object p1 diff --git a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedCustomGet$a.smali b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedCustomGet$a.smali index 1f836814e..1a67b757a 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedCustomGet$a.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedCustomGet$a.smali @@ -188,7 +188,7 @@ .line 13 :cond_2 - invoke-static {p2}, Lru/vtosters/lite/hooks/JsonInjectors;->newsfeedadtest(Lorg/json/JSONArray;)Lorg/json/JSONArray; + invoke-static {p2}, Lru/vtosters/lite/hooks/AdBlockHook;->feedInject(Lorg/json/JSONArray;)Lorg/json/JSONArray; move-result-object p2 diff --git a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedGet.smali b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedGet.smali index b67cb44f1..7dce91e18 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedGet.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedGet.smali @@ -734,7 +734,7 @@ .line 37 :cond_2 :goto_2 - invoke-static {v1}, Lru/vtosters/lite/hooks/JsonInjectors;->newsfeedadtest(Lorg/json/JSONArray;)Lorg/json/JSONArray; + invoke-static {v1}, Lru/vtosters/lite/hooks/AdBlockHook;->feedInject(Lorg/json/JSONArray;)Lorg/json/JSONArray; move-result-object v1 diff --git a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedGetRecommendedLiveVideos.smali b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedGetRecommendedLiveVideos.smali index a5e81c880..d6e548c71 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedGetRecommendedLiveVideos.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedGetRecommendedLiveVideos.smali @@ -139,7 +139,7 @@ move-result-object v1 - invoke-static {v1}, Lru/vtosters/lite/hooks/JsonInjectors;->newsfeedadtest(Lorg/json/JSONArray;)Lorg/json/JSONArray; + invoke-static {v1}, Lru/vtosters/lite/hooks/AdBlockHook;->feedInject(Lorg/json/JSONArray;)Lorg/json/JSONArray; move-result-object v1 diff --git a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedSearch.smali b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedSearch.smali index 04d17f321..5e4c9e56c 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedSearch.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/newsfeed/NewsfeedSearch.smali @@ -365,7 +365,7 @@ .line 14 :goto_2 - invoke-static {v4}, Lru/vtosters/lite/hooks/JsonInjectors;->newsfeedadtest(Lorg/json/JSONArray;)Lorg/json/JSONArray; + invoke-static {v4}, Lru/vtosters/lite/hooks/AdBlockHook;->feedInject(Lorg/json/JSONArray;)Lorg/json/JSONArray; move-result-object v4 @@ -400,7 +400,7 @@ .line 17 :goto_3 - invoke-static {v2}, Lru/vtosters/lite/hooks/JsonInjectors;->newsfeedadtest(Lorg/json/JSONArray;)Lorg/json/JSONArray; + invoke-static {v2}, Lru/vtosters/lite/hooks/AdBlockHook;->feedInject(Lorg/json/JSONArray;)Lorg/json/JSONArray; move-result-object v2 diff --git a/smali/smali_classes4/com/vtosters/lite/api/wall/WallGet.smali b/smali/smali_classes4/com/vtosters/lite/api/wall/WallGet.smali index ab842690f..bda6d0539 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/wall/WallGet.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/wall/WallGet.smali @@ -524,7 +524,7 @@ .line 19 :goto_2 - invoke-static {p1}, Lru/vtosters/lite/hooks/JsonInjectors;->newsfeedadtest(Lorg/json/JSONArray;)Lorg/json/JSONArray; + invoke-static {p1}, Lru/vtosters/lite/hooks/AdBlockHook;->feedInject(Lorg/json/JSONArray;)Lorg/json/JSONArray; move-result-object p1 diff --git a/smali/smali_classes4/com/vtosters/lite/api/wall/WallGetById.smali b/smali/smali_classes4/com/vtosters/lite/api/wall/WallGetById.smali index 5b83963ae..3d0c85e88 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/wall/WallGetById.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/wall/WallGetById.smali @@ -75,7 +75,7 @@ } .end annotation - invoke-static {p2}, Lru/vtosters/lite/hooks/JsonInjectors;->newsfeedadtest(Lorg/json/JSONArray;)Lorg/json/JSONArray; + invoke-static {p2}, Lru/vtosters/lite/hooks/AdBlockHook;->feedInject(Lorg/json/JSONArray;)Lorg/json/JSONArray; move-result-object p2 From 910c991adb6270aa69ebb89d4dca1a7793dc6b26 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 3 Sep 2022 23:23:56 +0300 Subject: [PATCH 087/134] Update CacheUtils.java --- app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java b/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java index 4c6b831a8..914f2ecc8 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java @@ -30,10 +30,6 @@ public class CacheUtils { return sInstance; } - public static void deleteCache() { - IOUtils.deleteRecursive(getGlobalContext().getCacheDir()); - } - @SuppressLint("DefaultLocale") public static String humanReadableByteCountBin(long bytes) { long absB = bytes == Long.MIN_VALUE ? Long.MAX_VALUE : Math.abs(bytes); @@ -58,7 +54,6 @@ public class CacheUtils { VKImageLoader.e(); ImAudioMsgPlayerProvider.b().e(PlayerActionSources.a); ImAudioMsgPlayerProvider.b().d(PlayerActionSources.a); - FileUtils.l(); Stickers.l.c(); ImEngineExt.a(ImEngine1.a()); AutoPlayCacheHolder.d.a(); From 4ce55a22f90808ba350645e1299611469e24fb56 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 3 Sep 2022 23:37:00 +0300 Subject: [PATCH 088/134] removed custom folders path feature --- .../java/com/vk/core/util/DownloadUtils.java | 14 +-- .../ru/vtosters/lite/dnr/DNRInjector.java | 5 +- .../lite/downloaders/AudioDownloader.java | 5 +- .../lite/downloaders/StoryDownloader.java | 4 +- .../lite/downloaders/VideoDownloader.java | 6 +- .../ru/vtosters/lite/hooks/JsonInjectors.java | 10 -- .../ru/vtosters/lite/hooks/NewsfeedHook.java | 15 --- .../ru/vtosters/lite/music/MP3Downloader.java | 4 +- .../lite/ui/fragments/MediaFragment.java | 72 ----------- .../lite/ui/fragments/OtherFragment.java | 9 -- .../ru/vtosters/lite/utils/AndroidUtils.java | 1 - .../ru/vtosters/lite/utils/CacheUtils.java | 2 - .../ru/vtosters/lite/utils/FileUriUtils.java | 119 ------------------ .../ru/vtosters/lite/utils/Preferences.java | 30 ----- smali/res/xml/preferences_media.xml | 18 --- smali/res/xml/preferences_other.xml | 3 - smali/smali_classes2/b/h/g/m/FileUtils.smali | 44 +++---- 17 files changed, 32 insertions(+), 329 deletions(-) delete mode 100644 app/src/main/java/ru/vtosters/lite/utils/FileUriUtils.java diff --git a/app/src/main/java/com/vk/core/util/DownloadUtils.java b/app/src/main/java/com/vk/core/util/DownloadUtils.java index c4a04af04..7456c69f9 100644 --- a/app/src/main/java/com/vk/core/util/DownloadUtils.java +++ b/app/src/main/java/com/vk/core/util/DownloadUtils.java @@ -1,10 +1,5 @@ package com.vk.core.util; -import static ru.vtosters.lite.utils.Preferences.getDownloadsDir; -import static ru.vtosters.lite.utils.Preferences.getMusicDir; -import static ru.vtosters.lite.utils.Preferences.getPhotosDir; -import static ru.vtosters.lite.utils.Preferences.getVideosDir; - import android.annotation.SuppressLint; import android.app.DownloadManager; import android.content.ActivityNotFoundException; @@ -13,6 +8,7 @@ import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteException; import android.net.Uri; +import android.os.Environment; import android.text.TextUtils; import com.facebook.common.i.MediaUtils; @@ -62,14 +58,14 @@ public class DownloadUtils { boolean c2 = MediaUtils.c(MediaUtils.b(str2)); if (file.endsWith(".jpg") || file.endsWith(".png") || file.endsWith(".jpeg")) { - b2 = new File(getPhotosDir(), file); + b2 = new File(Environment.DIRECTORY_PICTURES, file); pic = true; } else if (file.endsWith(".mp3") || file.endsWith(".wav") || file.endsWith(".ogg") || file.endsWith(".aac") || file.endsWith(".flac") || file.endsWith(".m4a")) { - b2 = new File(getMusicDir(), file); + b2 = new File(Environment.DIRECTORY_MUSIC, file); } else if (file.endsWith(".mp4") || file.endsWith(".mkv") || file.endsWith(".avi") || file.endsWith(".flv") || file.endsWith(".wmv") || file.endsWith(".mov") || file.endsWith(".3gp")) { - b2 = new File(getVideosDir(), file); + b2 = new File(Environment.DIRECTORY_MOVIES, file); } else { - b2 = new File(getDownloadsDir(), file); + b2 = new File(Environment.DIRECTORY_DOWNLOADS, file); } if (c2) { 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 d4f6a02c7..ce633f485 100644 --- a/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java +++ b/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java @@ -16,7 +16,6 @@ import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getString; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; -import static ru.vtosters.lite.utils.Preferences.getDownloadsDir; import android.annotation.SuppressLint; import android.content.Context; @@ -167,7 +166,7 @@ public class DNRInjector { } if (action == DialogAction.DOWNLOAD) { - File out = new File(Environment.getExternalStoragePublicDirectory(getDownloadsDir().getName()), "dialog-" + peerId + ".html"); + File out = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "dialog-" + peerId + ".html"); try { new MessagesDownloader().downloadDialog(peerId, new MessagesDownloader.HtmlDialogDownloaderFormatProvider(), out); } catch (Exception e) { @@ -220,7 +219,7 @@ public class DNRInjector { } if (action == DialogAction.DOWNLOAD) { - File out = new File(Environment.getExternalStoragePublicDirectory(getDownloadsDir().getPath()), peerId + "-dialog.html"); + File out = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), peerId + "-dialog.html"); try { new MessagesDownloader().downloadDialog(peerId, new MessagesDownloader.HtmlDialogDownloaderFormatProvider(), out); } catch (Exception e) { diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java index d548482e2..d13362b2d 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java @@ -1,7 +1,6 @@ package ru.vtosters.lite.downloaders; -import static ru.vtosters.lite.utils.Preferences.getMusicDir; - +import android.os.Environment; import android.util.Log; import androidx.core.app.NotificationCompat; @@ -36,7 +35,7 @@ public class AudioDownloader { return; } - var musicPath = getMusicDir().getAbsolutePath(); + var musicPath = Environment.DIRECTORY_MUSIC; var musicDir = new File(musicPath); if (!musicDir.exists()) { if (musicDir.mkdirs()) { diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java index 54d81bae1..862499300 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/StoryDownloader.java @@ -2,11 +2,11 @@ package ru.vtosters.lite.downloaders; import static ru.vtosters.lite.downloaders.VideoDownloader.downloadVideo; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; -import static ru.vtosters.lite.utils.Preferences.getPhotosDir; import android.app.DownloadManager; import android.content.Context; import android.net.Uri; +import android.os.Environment; import com.vk.dto.common.ImageSize; import com.vk.dto.stories.model.StoryEntry; @@ -23,7 +23,7 @@ public class StoryDownloader { DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); request.setTitle("photo" + story.E.a + ".jpg"); - request.setDestinationInExternalPublicDir(getPhotosDir().getName(), "photo" + story.E.a + ".jpg"); + request.setDestinationInExternalPublicDir(Environment.DIRECTORY_PICTURES, "photo" + story.E.a + ".jpg"); request.allowScanningByMediaScanner(); ((DownloadManager) getGlobalContext().getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request); return; diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java index d3f8e2cde..73a1fcb0d 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/VideoDownloader.java @@ -6,12 +6,12 @@ import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getString; -import static ru.vtosters.lite.utils.Preferences.getVideosDir; import android.app.DownloadManager; import android.app.ProgressDialog; import android.content.Context; import android.net.Uri; +import android.os.Environment; import android.widget.Toast; import com.vk.core.dialogs.alert.VkAlertDialog; @@ -107,7 +107,7 @@ public class VideoDownloader { request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); request.setTitle(videoFile.toString()); request.allowScanningByMediaScanner(); - request.setDestinationInExternalPublicDir(getVideosDir().getName(), videoFile + ".mp4"); + request.setDestinationInExternalPublicDir(Environment.DIRECTORY_MOVIES, videoFile + ".mp4"); ((DownloadManager) getGlobalContext().getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request); return; } @@ -119,7 +119,7 @@ public class VideoDownloader { request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); request.setTitle(videoFile.toString()); request.allowScanningByMediaScanner(); - request.setDestinationInExternalPublicDir(getVideosDir().getName(), videoFile + ".mp4"); + request.setDestinationInExternalPublicDir(Environment.DIRECTORY_MOVIES, videoFile + ".mp4"); ((DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE)).enqueue(request); })); builder.show(); diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index 06a89a509..57859f330 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -6,20 +6,11 @@ import static ru.vtosters.lite.hooks.OnlineFormatterHook.onlineHookProfiles; import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import static ru.vtosters.lite.proxy.ProxyUtils.getStatic; import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCaption; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCopyright; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isBadNews; -import static ru.vtosters.lite.utils.Preferences.ads; -import static ru.vtosters.lite.utils.Preferences.adsgroup; -import static ru.vtosters.lite.utils.Preferences.adsstories; -import static ru.vtosters.lite.utils.Preferences.authorsrecomm; import static ru.vtosters.lite.utils.Preferences.dev; import static ru.vtosters.lite.utils.Preferences.friendsblock; -import static ru.vtosters.lite.utils.Preferences.friendsrecomm; import static ru.vtosters.lite.utils.Preferences.getBoolValue; import static ru.vtosters.lite.utils.Preferences.hasVerification; import static ru.vtosters.lite.utils.Preferences.podcastcatalog; -import static ru.vtosters.lite.utils.Preferences.postsrecomm; import static ru.vtosters.lite.utils.VTVerifications.isDeveloper; import static ru.vtosters.lite.utils.VTVerifications.isPrometheus; import static ru.vtosters.lite.utils.VTVerifications.isVerified; @@ -47,7 +38,6 @@ import okhttp3.OkHttpClient; import okhttp3.Request; import ru.vtosters.lite.utils.AccountManagerUtils; import ru.vtosters.lite.utils.AndroidUtils; -import ru.vtosters.lite.utils.NewsFeedFiltersUtils; public class JsonInjectors { private static final OkHttpClient mClient = new OkHttpClient(); diff --git a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java index 2e2b45b85..08aa2eabc 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/NewsfeedHook.java @@ -3,18 +3,6 @@ package ru.vtosters.lite.hooks; import static java.lang.Long.MAX_VALUE; import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCaption; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCopyright; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.injectFiltersReposts; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isAds; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isAuthorRecommendations; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isBadNews; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isFriendsRecommendations; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isGroupAds; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isMusicBlock; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isNewsBlock; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isPostRecommendations; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isRecomsGroup; import static ru.vtosters.lite.utils.Preferences.ads; import static ru.vtosters.lite.utils.Preferences.adsslider; import static ru.vtosters.lite.utils.Preferences.authorsrecomm; @@ -25,9 +13,6 @@ import static ru.vtosters.lite.utils.Preferences.vkme; import com.vk.core.preference.Preference; import com.vtosters.lite.api.ExtendedCommunityProfile; -import org.json.JSONException; -import org.json.JSONObject; - import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; diff --git a/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java b/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java index 079d3b1c3..cf852669a 100644 --- a/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java +++ b/app/src/main/java/ru/vtosters/lite/music/MP3Downloader.java @@ -1,11 +1,11 @@ package ru.vtosters.lite.music; import static ru.vtosters.lite.proxy.ProxyUtils.getApi; -import static ru.vtosters.lite.utils.Preferences.getMusicDir; import android.app.DownloadManager; import android.net.Uri; import android.os.Build; +import android.os.Environment; import android.util.Log; import android.widget.Toast; @@ -79,7 +79,7 @@ public class MP3Downloader { .setAllowedOverRoaming(true) .setTitle("Downloading " + title) .setDestinationInExternalFilesDir(AndroidUtils.getGlobalContext(), - getMusicDir().getAbsolutePath(), + Environment.DIRECTORY_MUSIC, title + ".mp3") .setVisibleInDownloadsUi(true); downloadManager.enqueue(request); diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java index d00485573..6633cbe1b 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java @@ -14,7 +14,6 @@ import static ru.vtosters.lite.utils.ThemesUtils.getAlertStyle; import static ru.vtosters.lite.utils.ThemesUtils.getSTextAttr; import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr; -import android.app.Activity; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -44,8 +43,6 @@ import ru.vtosters.lite.downloaders.VideoDownloader; import ru.vtosters.lite.music.Scrobbler; import ru.vtosters.lite.ui.adapters.ImagineArrayAdapter; import ru.vtosters.lite.utils.AndroidUtils; -import ru.vtosters.lite.utils.FileUriUtils; -import ru.vtosters.lite.utils.Preferences; public class MediaFragment extends MaterialPreferenceToolbarFragment { private final int REQUEST_CODE_SET_DOWNLOAD_DIRECTORY = 665; @@ -63,31 +60,6 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { - if (resultCode == Activity.RESULT_OK) { - var path = data.getData(); - if (path != null) { - var prefs = getPreferences(); - var editor = prefs.edit(); - var actualPath = FileUriUtils.getFullPathFromTreeUri(path, getContext()); - switch (requestCode) { - case REQUEST_CODE_SET_DOWNLOAD_DIRECTORY: - editor.putString("downloads_directory", actualPath); - break; - case REQUEST_CODE_SET_MUSIC_DIRECTORY: - editor.putString("music_directory", actualPath); - break; - case REQUEST_CODE_SET_PHOTOS_DIRECTORY: - editor.putString("photos_directory", actualPath); - break; - case REQUEST_CODE_SET_VIDEOS_DIRECTORY: - editor.putString("videos_directory", actualPath); - break; - default: - return; - } - editor.apply(); - } - } } @Override @@ -112,50 +84,6 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { return true; }); - findPreference("downloads_directory").setSummary( - AndroidUtils.getString("current_download_folder") + " " + Preferences.getDownloadsDir() - ); - - findPreference("photos_directory").setSummary( - AndroidUtils.getString("current_download_folder") + " " + Preferences.getPhotosDir() - ); - - findPreference("videos_directory").setSummary( - AndroidUtils.getString("current_download_folder") + " " + Preferences.getVideosDir() - ); - - findPreference("music_directory").setSummary( - AndroidUtils.getString("current_download_folder") + " " + Preferences.getMusicDir() - ); - - findPreference("downloads_directory").setOnPreferenceClickListener(preference -> { - var intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); - intent.addCategory(Intent.CATEGORY_DEFAULT); - startActivityForResult(intent, REQUEST_CODE_SET_DOWNLOAD_DIRECTORY); - return true; - }); - - findPreference("photos_directory").setOnPreferenceClickListener(preference -> { - var intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); - intent.addCategory(Intent.CATEGORY_DEFAULT); - startActivityForResult(intent, REQUEST_CODE_SET_PHOTOS_DIRECTORY); - return true; - }); - - findPreference("videos_directory").setOnPreferenceClickListener(preference -> { - var intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); - intent.addCategory(Intent.CATEGORY_DEFAULT); - startActivityForResult(intent, REQUEST_CODE_SET_VIDEOS_DIRECTORY); - return true; - }); - - findPreference("music_directory").setOnPreferenceClickListener(preference -> { - var intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); - intent.addCategory(Intent.CATEGORY_DEFAULT); - startActivityForResult(intent, REQUEST_CODE_SET_MUSIC_DIRECTORY); - return true; - }); - if (isLoggedIn()) { findPreference("lastfm_auth").setSummary(AndroidUtils.getString("lastfm_authorized_as") + " " + Scrobbler.getUserName()); } else { diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java index 1920c0e99..350c1b84c 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java @@ -9,12 +9,9 @@ import static ru.vtosters.lite.ui.components.BackupManager.deletePrefs; import static ru.vtosters.lite.ui.components.BackupManager.restoreBackup; import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; import static ru.vtosters.lite.utils.AndroidUtils.dp2px; -import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; -import static ru.vtosters.lite.utils.AndroidUtils.sendToast; import static ru.vtosters.lite.utils.LifecycleUtils.restartApplication; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters; import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr; import android.annotation.SuppressLint; @@ -97,12 +94,6 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment { return true; }); - findPreference("resetfolders").setOnPreferenceClickListener(preference -> { - edit().remove("photos_directory").remove("videos_directory").remove("audios_directory").remove("downloads_directory").apply(); - Toast.makeText(getContext(), AndroidUtils.getString("download_folders_reseted"), LENGTH_SHORT).show(); - return true; - }); - var pref = getDefaultPrefs().getString("autoclearcache", "Default"); switch (pref) { case "Default": diff --git a/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java b/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java index 318978d22..2f35e756c 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/AndroidUtils.java @@ -12,7 +12,6 @@ import android.preference.PreferenceManager; import android.util.Log; import android.widget.Toast; -import androidx.annotation.NonNull; import androidx.annotation.StringRes; import java.security.MessageDigest; diff --git a/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java b/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java index 914f2ecc8..08da1cb12 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/CacheUtils.java @@ -18,8 +18,6 @@ import com.vk.stickers.Stickers; import java.text.CharacterIterator; import java.text.StringCharacterIterator; -import b.h.g.m.FileUtils; - public class CacheUtils { private static CacheUtils sInstance = new CacheUtils(); public long size = 0; diff --git a/app/src/main/java/ru/vtosters/lite/utils/FileUriUtils.java b/app/src/main/java/ru/vtosters/lite/utils/FileUriUtils.java deleted file mode 100644 index 4c7ef068f..000000000 --- a/app/src/main/java/ru/vtosters/lite/utils/FileUriUtils.java +++ /dev/null @@ -1,119 +0,0 @@ -package ru.vtosters.lite.utils; - -import android.annotation.TargetApi; -import android.content.Context; -import android.net.Uri; -import android.os.Build; -import android.os.storage.StorageManager; -import android.os.storage.StorageVolume; -import android.provider.DocumentsContract; - -import androidx.annotation.Nullable; - -import java.io.File; -import java.lang.reflect.Array; -import java.lang.reflect.Method; -import java.util.List; - -// https://stackoverflow.com/questions/34927748/android-5-0-documentfile-from-tree-uri/36162691#36162691 - -public final class FileUriUtils { - - private static final String PRIMARY_VOLUME_NAME = "primary"; - - @Nullable - public static String getFullPathFromTreeUri(@Nullable final Uri treeUri, Context con) { - if (treeUri == null) return null; - String volumePath = getVolumePath(getVolumeIdFromTreeUri(treeUri),con); - if (volumePath == null) return File.separator; - if (volumePath.endsWith(File.separator)) - volumePath = volumePath.substring(0, volumePath.length() - 1); - - String documentPath = getDocumentPathFromTreeUri(treeUri); - if (documentPath.endsWith(File.separator)) - documentPath = documentPath.substring(0, documentPath.length() - 1); - - if (documentPath.length() > 0) { - if (documentPath.startsWith(File.separator)) - return volumePath + documentPath; - else - return volumePath + File.separator + documentPath; - } - else return volumePath; - } - - - private static String getVolumePath(final String volumeId, Context context) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) - return getVolumePathForAndroid11AndAbove(volumeId, context); - else - return getVolumePathBeforeAndroid11(volumeId, context); - } - - - private static String getVolumePathBeforeAndroid11(final String volumeId, Context context){ - try { - StorageManager mStorageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE); - Class storageVolumeClazz = Class.forName("android.os.storage.StorageVolume"); - Method getVolumeList = mStorageManager.getClass().getMethod("getVolumeList"); - Method getUuid = storageVolumeClazz.getMethod("getUuid"); - Method getPath = storageVolumeClazz.getMethod("getPath"); - Method isPrimary = storageVolumeClazz.getMethod("isPrimary"); - Object result = getVolumeList.invoke(mStorageManager); - - final int length = Array.getLength(result); - for (int i = 0; i < length; i++) { - Object storageVolumeElement = Array.get(result, i); - String uuid = (String) getUuid.invoke(storageVolumeElement); - Boolean primary = (Boolean) isPrimary.invoke(storageVolumeElement); - - if (primary && PRIMARY_VOLUME_NAME.equals(volumeId)) // primary volume? - return (String) getPath.invoke(storageVolumeElement); - - if (uuid != null && uuid.equals(volumeId)) // other volumes? - return (String) getPath.invoke(storageVolumeElement); - } - // not found. - return null; - } catch (Exception ex) { - return null; - } - } - - @TargetApi(Build.VERSION_CODES.R) - private static String getVolumePathForAndroid11AndAbove(final String volumeId, Context context) { - try { - StorageManager mStorageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE); - List storageVolumes = mStorageManager.getStorageVolumes(); - for (StorageVolume storageVolume : storageVolumes) { - // primary volume? - if (storageVolume.isPrimary() && PRIMARY_VOLUME_NAME.equals(volumeId)) - return storageVolume.getDirectory().getPath(); - - // other volumes? - String uuid = storageVolume.getUuid(); - if (uuid != null && uuid.equals(volumeId)) - return storageVolume.getDirectory().getPath(); - - } - // not found. - return null; - } catch (Exception ex) { - return null; - } - } - - private static String getVolumeIdFromTreeUri(final Uri treeUri) { - final String docId = DocumentsContract.getTreeDocumentId(treeUri); - final String[] split = docId.split(":"); - if (split.length > 0) return split[0]; - else return null; - } - - private static String getDocumentPathFromTreeUri(final Uri treeUri) { - final String docId = DocumentsContract.getTreeDocumentId(treeUri); - final String[] split = docId.split(":"); - if ((split.length >= 2) && (split[1] != null)) return split[1]; - else return File.separator; - } -} diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java index a9f80b192..6bff7155f 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java @@ -4,11 +4,7 @@ import static java.lang.Long.MAX_VALUE; import static ru.vtosters.lite.proxy.ProxyUtils.setProxy; import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; -import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; -import static ru.vtosters.lite.utils.CacheUtils.getInstance; -import static ru.vtosters.lite.utils.DeletedMessagesHandler.reloadMessagesList; -import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters; import static ru.vtosters.lite.utils.SignatureChecker.validateAppSignature; import static ru.vtosters.lite.utils.ThemesUtils.isDarkTheme; import static ru.vtosters.lite.utils.VTVerifications.isPrometheus; @@ -18,13 +14,11 @@ import android.app.Application; import android.content.Context; import android.content.SharedPreferences; import android.content.pm.PackageManager; -import android.os.Environment; import android.preference.PreferenceManager; import com.vtosters.lite.data.Users; import com.vtosters.lite.fragments.SettingsListFragment; -import java.io.File; import java.security.NoSuchAlgorithmException; import ru.vtosters.lite.ui.fragments.VTSettings; @@ -377,28 +371,4 @@ public class Preferences { } return origquality; } - - public static File getDownloadsDir() { - return new File(getPreferences().getString( - "downloads_directory", - Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath())); - } - - public static File getPhotosDir() { - return new File(getPreferences().getString( - "photos_directory", - Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath())); - } - - public static File getVideosDir() { - return new File(getPreferences().getString( - "videos_directory", - Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath())); - } - - public static File getMusicDir() { - return new File(getPreferences().getString( - "music_directory", - Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath())); - } } diff --git a/smali/res/xml/preferences_media.xml b/smali/res/xml/preferences_media.xml index b544a040f..40b18f817 100644 --- a/smali/res/xml/preferences_media.xml +++ b/smali/res/xml/preferences_media.xml @@ -24,24 +24,6 @@ android:summary="@string/pollresults_summ" android:title="@string/pollresults_title" /> - - - - - - - diff --git a/smali/smali_classes2/b/h/g/m/FileUtils.smali b/smali/smali_classes2/b/h/g/m/FileUtils.smali index 41e01c81f..88f57154d 100644 --- a/smali/smali_classes2/b/h/g/m/FileUtils.smali +++ b/smali/smali_classes2/b/h/g/m/FileUtils.smali @@ -187,17 +187,13 @@ .locals 2 .line 6 -# invoke-static {}, Lb/h/g/m/FileUtils;->getVKDir()Ljava/io/File; -# -# move-result-object v0 -# -# const-string v1, "Downloads" -# -# invoke-static {v0, v1}, Lb/h/g/m/FileUtils;->a(Ljava/io/File;Ljava/lang/String;)Ljava/io/File; -# -# move-result-object v0 + invoke-static {}, Lb/h/g/m/FileUtils;->getVKDir()Ljava/io/File; - invoke-static {}, Lru/vtosters/lite/utils/Preferences;->getDownloadsDir()Ljava/io/File; + move-result-object v0 + + const-string v1, "Downloads" + + invoke-static {v0, v1}, Lb/h/g/m/FileUtils;->a(Ljava/io/File;Ljava/lang/String;)Ljava/io/File; move-result-object v0 @@ -1811,18 +1807,14 @@ .method private static c()Ljava/io/File; .locals 2 - # .line 1 - # invoke-static {}, Lb/h/g/m/FileUtils;->getVKDir()Ljava/io/File; + .line 1 + invoke-static {}, Lb/h/g/m/FileUtils;->getVKDir()Ljava/io/File; - # move-result-object v0 + move-result-object v0 - # const-string v1, "Photos" + const-string v1, "Photos" - # invoke-static {v0, v1}, Lb/h/g/m/FileUtils;->a(Ljava/io/File;Ljava/lang/String;)Ljava/io/File; - - # move-result-object v0 - - invoke-static {}, Lru/vtosters/lite/utils/Preferences;->getPhotosDir()Ljava/io/File; + invoke-static {v0, v1}, Lb/h/g/m/FileUtils;->a(Ljava/io/File;Ljava/lang/String;)Ljava/io/File; move-result-object v0 @@ -2109,18 +2101,14 @@ .method private static e()Ljava/io/File; .locals 2 - # .line 1 - # invoke-static {}, Lb/h/g/m/FileUtils;->getVKDir()Ljava/io/File; + .line 1 + invoke-static {}, Lb/h/g/m/FileUtils;->getVKDir()Ljava/io/File; - # move-result-object v0 + move-result-object v0 - # const-string v1, "Videos" + const-string v1, "Videos" - # invoke-static {v0, v1}, Lb/h/g/m/FileUtils;->a(Ljava/io/File;Ljava/lang/String;)Ljava/io/File; - - # move-result-object v0 - - invoke-static {}, Lru/vtosters/lite/utils/Preferences;->getVideosDir()Ljava/io/File; + invoke-static {v0, v1}, Lb/h/g/m/FileUtils;->a(Ljava/io/File;Ljava/lang/String;)Ljava/io/File; move-result-object v0 From a72ef8570adb9e5ccec5c455e4448db90115f857 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sun, 4 Sep 2022 11:23:42 +0300 Subject: [PATCH 089/134] simplify post != null in AdBlockHook --- .../ru/vtosters/lite/hooks/AdBlockHook.java | 61 ++++++++++--------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java b/app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java index 265112f55..00bb7c506 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java @@ -1,4 +1,5 @@ package ru.vtosters.lite.hooks; + import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCaption; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.checkCopyright; import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.isBadNews; @@ -22,8 +23,8 @@ import java.util.LinkedHashSet; import ru.vtosters.lite.utils.AndroidUtils; import ru.vtosters.lite.utils.NewsFeedFiltersUtils; -public class AdBlockHook{ - public static Boolean discoverAdBlock(JSONObject jsonObject){ +public class AdBlockHook { + public static Boolean discoverAdBlock(JSONObject jsonObject) { if (jsonObject == null) return true; try { @@ -68,28 +69,30 @@ public class AdBlockHook{ return false; } - if (post != null && isBadNews(post.optString("text")) && !isWhitelistedFilters(post)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: text filters"); - return false; - } + if (post != null) { + if (isBadNews(post.optString("text")) && !isWhitelistedFilters(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: text filters"); + return false; + } - if (post != null && checkCopyright(post) && !isWhitelistedFilters(post)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: copyright filters"); - return false; - } + if (checkCopyright(post) && !isWhitelistedFilters(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: copyright filters"); + return false; + } - if (post != null && checkCaption(post) && !isWhitelistedFilters(post)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: caption filters"); - return false; - } + if (checkCaption(post) && !isWhitelistedFilters(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: caption filters"); + return false; + } - if (post != null && NewsFeedFiltersUtils.injectFiltersReposts(post) && !isWhitelistedFilters(post)) { - if (dev()) - Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: repost ad"); - return false; + if (NewsFeedFiltersUtils.injectFiltersReposts(post) && !isWhitelistedFilters(post)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", "Removed post " + post.optInt("post_id") + " from discover, Reason: repost ad"); + return false; + } } } catch (Exception e) { Log.d("NewsfeedAdBlockV2", "discover: " + e.getMessage()); @@ -98,7 +101,7 @@ public class AdBlockHook{ return true; } - public static JSONObject discoverInject(JSONObject json) throws JSONException{ + public static JSONObject discoverInject(JSONObject json) throws JSONException { var items = json.optJSONArray("items"); var newObj = new JSONArray(); @@ -120,7 +123,7 @@ public class AdBlockHook{ return json; } - public static JSONObject discoverObj() throws JSONException{ + public static JSONObject discoverObj() throws JSONException { var mainjson = new JSONObject(); var info = new JSONObject(); @@ -159,7 +162,7 @@ public class AdBlockHook{ return mainjson; } - public static JSONArray feedInject(JSONArray items){ + public static JSONArray feedInject(JSONArray items) { if (items.length() == 0) return items; try { @@ -240,7 +243,7 @@ public class AdBlockHook{ } - public static JSONObject storiesads(JSONObject json, boolean isDeleteFix) throws JSONException{ + public static JSONObject storiesads(JSONObject json, boolean isDeleteFix) throws JSONException { if (!adsstories()) { return json; } @@ -279,7 +282,7 @@ public class AdBlockHook{ return json; } - private static void parseStoriesItem(JSONObject item) throws JSONException{ + private static void parseStoriesItem(JSONObject item) throws JSONException { var stories = item.optJSONArray("stories"); var newStories = new JSONArray(); @@ -299,7 +302,7 @@ public class AdBlockHook{ item.put("stories", newStories); } - public static Boolean isAds(JSONObject list, String type) throws JSONException{ + public static Boolean isAds(JSONObject list, String type) throws JSONException { if (list == null || type == null || !ads()) return false; if (list.has("ads") @@ -325,7 +328,7 @@ public class AdBlockHook{ return false; } - public static Boolean isWhitelistedFilters(JSONObject list){ + public static Boolean isWhitelistedFilters(JSONObject list) { var id = String.valueOf(list.optInt("owner_id")); if (id.equals("0")) { @@ -337,7 +340,7 @@ public class AdBlockHook{ return whitelist.contains(id); } - public static Boolean isWhitelistedAd(JSONObject list){ + public static Boolean isWhitelistedAd(JSONObject list) { var id = String.valueOf(list.optInt("owner_id")); if (id.equals("0")) { From 0660c9664db8167ecf3581579a6412c7bc60c9c6 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sun, 4 Sep 2022 11:56:37 +0300 Subject: [PATCH 090/134] fix #713 --- .../main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java index 6633cbe1b..2bd8c5686 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/MediaFragment.java @@ -173,7 +173,7 @@ public class MediaFragment extends MaterialPreferenceToolbarFragment { Thread thread = new Thread(() -> { try { var request = new Request.a() - .b("https://" + getApi() + "/method/" + "video.clearViewingHistoryRecords" + "?https=1" + "&access_token=" + getUserToken() + "&v=5.187") + .b("https://" + getApi() + "/method/" + "video.clearViewingHistoryRecords" + "?https=1" + "&access_token=" + getUserToken() + "&v=5.119") .a(Headers.a("User-Agent", Network.l.c().a(), "Content-Type", "application/x-www-form-urlencoded; charset=utf-8")) .a(); From 653afd69b66557ca4c32f5a0163cf8b4944a8267 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sun, 4 Sep 2022 13:44:30 +0300 Subject: [PATCH 091/134] Fix null dialog.getId() --- .../ru/vtosters/lite/dnr/DNRInjector.java | 40 +++++++++++++++++-- 1 file changed, 36 insertions(+), 4 deletions(-) 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 ce633f485..eb307ba66 100644 --- a/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java +++ b/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java @@ -54,7 +54,15 @@ public class DNRInjector { int peerId = 0; if (dialog != null) { - peerId = dialog.getId(); + try { + peerId = dialog.getId(); + } catch (Exception e){ + Log.d("DialoggetId", "null"); + } + } + + if (peerId == 0) { + return; } list.add(DialogAction.DOWNLOAD); @@ -126,7 +134,15 @@ public class DNRInjector { int peerId = 0; if (dialog != null) { - peerId = dialog.getId(); + try { + peerId = dialog.getId(); + } catch (Exception e){ + Log.d("DialoggetId", "null"); + } + } + + if (peerId == 0) { + return actions; } actions.add(DialogAction.DOWNLOAD); @@ -157,7 +173,15 @@ public class DNRInjector { int peerId = 0; if (dialog != null) { - peerId = dialog.getId(); + try { + peerId = dialog.getId(); + } catch (Exception e){ + Log.d("DialoggetId", "null"); + } + } + + if (peerId == 0) { + return true; } if (action == DialogAction.MARK_AS_READ) { @@ -211,7 +235,15 @@ public class DNRInjector { int peerId = 0; if (dialog != null) { - peerId = dialog.getId(); + try { + peerId = dialog.getId(); + } catch (Exception e){ + Log.d("DialoggetId", "null"); + } + } + + if (peerId == 0) { + return true; } if (action == DialogAction.MARK_AS_READ) { From 8c8c574a4e4611f1f1e893e4eb5542d8e3fb425e Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sun, 4 Sep 2022 14:55:23 +0300 Subject: [PATCH 092/134] Update OnlineFormatterHook.java --- .../java/ru/vtosters/lite/hooks/OnlineFormatterHook.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java b/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java index f1ad5abd7..69a30a60a 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/OnlineFormatterHook.java @@ -130,6 +130,12 @@ public class OnlineFormatterHook { return "Miranda NG (bridge)"; case 8043814: return "Quise"; + case 7221936: + return "Вечный Online"; + case 6892935: + return "VK Helper"; + case 6248661: + return "MemeVoices for VK"; default: return getAppNameFromOnline(appid); } From cf4855bdd10315e2ea76510498656611ddaaf990 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sun, 4 Sep 2022 16:32:22 +0300 Subject: [PATCH 093/134] fixed newsfeed issues --- .../lite/hooks/MainActivityInjector.java | 3 +- .../lite/utils/NewsFeedFiltersUtils.java | 77 +++++++++++-------- .../ru/vtosters/lite/utils/Preferences.java | 3 + 3 files changed, 50 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java index 553061460..073a28d94 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java @@ -39,9 +39,10 @@ public class MainActivityInjector{ VkExecutors.x.q().a(() -> { getInstance().autoCleaningCache(); - setupFilters(); }); // slowTasksScheduler + setupFilters(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannels.createChannels(); } diff --git a/app/src/main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java b/app/src/main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java index 350aa2139..147795921 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/NewsFeedFiltersUtils.java @@ -25,12 +25,12 @@ import java.util.Scanner; import ru.vtosters.lite.hooks.AdBlockHook; -public class NewsFeedFiltersUtils { +public class NewsFeedFiltersUtils{ public static List mFilters; public static List mFiltersNames; public static List mFiltersLinks; - public static void setupFilters() { + public static void setupFilters(){ mFilters = new ArrayList<>(); mFiltersNames = new ArrayList<>(); mFiltersLinks = new ArrayList<>(); @@ -57,7 +57,7 @@ public class NewsFeedFiltersUtils { } } - public static void getFilter(String boolname, String filename, List list) { + public static void getFilter(String boolname, String filename, List list){ var ctx = getGlobalContext(); if (getBoolValue(boolname, false)) { @@ -66,7 +66,7 @@ public class NewsFeedFiltersUtils { if (ctx != null) { scanner = new Scanner(ctx.getAssets().open(filename)); - while (scanner.hasNextLine()) { + while(scanner.hasNextLine()) { var line = scanner.nextLine(); if (!line.isEmpty()) list.add(line.toLowerCase()); @@ -78,10 +78,10 @@ public class NewsFeedFiltersUtils { } } // Get needed filter list from assets - public static boolean injectFiltersReposts(JSONObject obj) throws JSONException { + public static boolean injectFiltersReposts(JSONObject obj) throws JSONException{ if (getBoolValue("cringerepost", false) && obj.has("copy_history")) { var copyHistoryNode = obj.optJSONArray("copy_history"); - if (copyHistoryNode != null) { + if (copyHistoryNode != null && copyHistoryNode.length() != 0) { for (int i = 0; i < copyHistoryNode.length(); i++) { var item = copyHistoryNode.optJSONObject(i); var text = item.optString("text"); @@ -96,11 +96,13 @@ public class NewsFeedFiltersUtils { return true; } - for (String filter : mFiltersLinks) { - if (text.contains(filter)) { - if (dev()) - Log.d("RepostFilter", "Fetched repost ad, owner id " + item.optString("owner_id") + ", text: " + text); - return true; + if (mFiltersLinks != null) { + for (String filter : mFiltersLinks) { + if (text.contains(filter)) { + if (dev()) + Log.d("RepostFilter", "Fetched repost ad, owner id " + item.optString("owner_id") + ", text: " + text); + return true; + } } } } @@ -109,7 +111,7 @@ public class NewsFeedFiltersUtils { return false; } - public static boolean checkCopyright(JSONObject json) throws JSONException { + public static boolean checkCopyright(JSONObject json) throws JSONException{ if (json.has("copyright")) { if (copyright_post()) return true; @@ -127,46 +129,57 @@ public class NewsFeedFiltersUtils { copyrightLink = copyright.getString("link").toLowerCase(); } - for (String filter : mFiltersNames) { - if (copyrightName != null && copyrightName.contains(filter)) return true; + if (mFiltersNames != null) { + for (String filter : mFiltersNames) { + if (copyrightName != null && copyrightName.contains(filter)) return true; + } } - for (String filter : mFiltersLinks) { - if (copyrightLink != null && copyrightLink.contains(filter)) return true; + + if (mFiltersLinks != null) { + for (String filter : mFiltersLinks) { + if (copyrightLink != null && copyrightLink.contains(filter)) return true; + } } + } return false; } - public static boolean isRecomsGroup(String src) { + public static boolean isRecomsGroup(String src){ return authorsrecomm() && src.equals("recommended_groups"); } - public static boolean isMusicBlock(String src) { + public static boolean isMusicBlock(String src){ return authorsrecomm() && (src.equals("recommended_audios") || src.equals("recommended_artists") || src.equals("recommended_playlists")); } - public static boolean isNewsBlock(String src) { + public static boolean isNewsBlock(String src){ return ads() && src.equals("tags_suggestions"); } - public static String getAllFilters() { + public static String getAllFilters(){ return getPrefsValue("spamfilters"); } - public static boolean isBadNews(String text) { + public static boolean isBadNews(String text){ var textInLowerCase = text.toLowerCase(); - for (String filter : mFilters) { - if (textInLowerCase.contains(filter)) { - if (dev()) - Log.d("VTLite", text); - return true; + + if (mFilters != null) { + for (String filter : mFilters) { + if (textInLowerCase.contains(filter)) { + if (dev()) + Log.d("NewsfeedAdBlockV2", text); + return true; + } } } + + return false; } - public static boolean checkCaption(JSONObject postJson) { + public static boolean checkCaption(JSONObject postJson){ if (postJson.has("caption")) { if (captions()) return true; var caption = postJson.optJSONObject("caption"); @@ -190,29 +203,29 @@ public class NewsFeedFiltersUtils { return false; } - public static boolean isAds(String optString) { + public static boolean isAds(String optString){ return ads() && (optString.equals("ads_easy_promote") || optString.equals("promo_button") || optString.equals("app_widget") || optString.equals("ads")); } - public static boolean isAuthorRecommendations(String optString) { + public static boolean isAuthorRecommendations(String optString){ return authorsrecomm() && optString.equals("authors_rec"); } - public static boolean isPostRecommendations(String optString) { + public static boolean isPostRecommendations(String optString){ return postsrecomm() && (optString.equals("live_recommended") || optString.equals("inline_user_rec")); } - public static boolean isFriendsRecommendations(String optString) { + public static boolean isFriendsRecommendations(String optString){ return friendsrecomm() && (optString.equals("user_rec") || optString.equals("friends_recommendations") || optString.equals("friends_recomm")); } - public static boolean isGroupAds(JSONObject obj) { + public static boolean isGroupAds(JSONObject obj){ return adsgroup() && obj.optInt("marked_as_ads", 0) == 1; } } diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java index 6bff7155f..04b72ba74 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java @@ -5,6 +5,7 @@ import static ru.vtosters.lite.proxy.ProxyUtils.setProxy; import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; +import static ru.vtosters.lite.utils.NewsFeedFiltersUtils.setupFilters; import static ru.vtosters.lite.utils.SignatureChecker.validateAppSignature; import static ru.vtosters.lite.utils.ThemesUtils.isDarkTheme; import static ru.vtosters.lite.utils.VTVerifications.isPrometheus; @@ -36,6 +37,8 @@ public class Preferences { public static void forceOffline() { edit().putBoolean("isdark", isDarkTheme()).commit(); + setupFilters(); + if (setoffline() && offline()) { Users.a(); } From e96a3b304fddd4ec65b973f4585d5192755c5369 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sun, 4 Sep 2022 16:39:29 +0300 Subject: [PATCH 094/134] Update AdBlockHook.java --- app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java b/app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java index 00bb7c506..c66171101 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/AdBlockHook.java @@ -335,6 +335,10 @@ public class AdBlockHook { id = String.valueOf(list.optInt("source_id")); } + if (id.equals("-189659924")){ + return true; + } + var whitelist = AndroidUtils.getDefaultPrefs().getStringSet("whitelisted_filters_groups", Collections.synchronizedSet(new LinkedHashSet<>())); return whitelist.contains(id); From 99adb958168a7b172d2c4059e800fc051850281d Mon Sep 17 00:00:00 2001 From: Erik Kiznov <46452865+k1zn@users.noreply.github.com> Date: Tue, 6 Sep 2022 12:38:00 +0500 Subject: [PATCH 095/134] download fix --- app/src/main/java/com/vk/core/util/DownloadUtils.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/vk/core/util/DownloadUtils.java b/app/src/main/java/com/vk/core/util/DownloadUtils.java index 7456c69f9..e028d3369 100644 --- a/app/src/main/java/com/vk/core/util/DownloadUtils.java +++ b/app/src/main/java/com/vk/core/util/DownloadUtils.java @@ -58,14 +58,14 @@ public class DownloadUtils { boolean c2 = MediaUtils.c(MediaUtils.b(str2)); if (file.endsWith(".jpg") || file.endsWith(".png") || file.endsWith(".jpeg")) { - b2 = new File(Environment.DIRECTORY_PICTURES, file); + b2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath(), file); pic = true; } else if (file.endsWith(".mp3") || file.endsWith(".wav") || file.endsWith(".ogg") || file.endsWith(".aac") || file.endsWith(".flac") || file.endsWith(".m4a")) { - b2 = new File(Environment.DIRECTORY_MUSIC, file); + b2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath(), file); } else if (file.endsWith(".mp4") || file.endsWith(".mkv") || file.endsWith(".avi") || file.endsWith(".flv") || file.endsWith(".wmv") || file.endsWith(".mov") || file.endsWith(".3gp")) { - b2 = new File(Environment.DIRECTORY_MOVIES, file); + b2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath(), file); } else { - b2 = new File(Environment.DIRECTORY_DOWNLOADS, file); + b2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath(), file); } if (c2) { From 374b221f0dab411d986ae76a6ac691496a686afa Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Tue, 6 Sep 2022 13:39:39 +0300 Subject: [PATCH 096/134] fix #627 also fix wrong mime-types for downloaded files --- .../java/com/vk/core/util/DownloadUtils.java | 74 ++++++++++--------- 1 file changed, 41 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/com/vk/core/util/DownloadUtils.java b/app/src/main/java/com/vk/core/util/DownloadUtils.java index e028d3369..c09421fad 100644 --- a/app/src/main/java/com/vk/core/util/DownloadUtils.java +++ b/app/src/main/java/com/vk/core/util/DownloadUtils.java @@ -10,6 +10,7 @@ import android.database.sqlite.SQLiteException; import android.net.Uri; import android.os.Environment; import android.text.TextUtils; +import android.util.Log; import com.facebook.common.i.MediaUtils; import com.facebook.x.g.EncodedImage; @@ -20,6 +21,8 @@ import com.vk.metrics.eventtracking.VkTracker; import com.vtosters.lite.R; import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; import java.io.InputStream; import java.net.URI; import java.util.HashSet; @@ -47,52 +50,54 @@ public class DownloadUtils { } } - private static void b(final Context context, String str, String str2, boolean z) { - if (TextUtils.isEmpty(str2)) { + private static void b(final Context context, String str, String uri, boolean z) throws IOException { + if (TextUtils.isEmpty(uri)) { return; } - String file = a(str, str2); - File b2; - boolean pic = false; - boolean c2 = MediaUtils.c(MediaUtils.b(str2)); + String fileName = a(str, uri); + File file; - if (file.endsWith(".jpg") || file.endsWith(".png") || file.endsWith(".jpeg")) { - b2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath(), file); - pic = true; - } else if (file.endsWith(".mp3") || file.endsWith(".wav") || file.endsWith(".ogg") || file.endsWith(".aac") || file.endsWith(".flac") || file.endsWith(".m4a")) { - b2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath(), file); - } else if (file.endsWith(".mp4") || file.endsWith(".mkv") || file.endsWith(".avi") || file.endsWith(".flv") || file.endsWith(".wmv") || file.endsWith(".mov") || file.endsWith(".3gp")) { - b2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath(), file); + Log.v("DownloadUtils", "download: filename = " + fileName + " | str = " + str + "| str2 = " + uri); + + if (fileName.endsWith(".jpg") || fileName.endsWith(".png") || fileName.endsWith(".jpeg")) { + file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsolutePath(), fileName); + } else if (fileName.endsWith(".mp3") || fileName.endsWith(".wav") || fileName.endsWith(".ogg") || fileName.endsWith(".aac") || fileName.endsWith(".flac") || fileName.endsWith(".m4a")) { + file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath(), fileName); + } else if (fileName.endsWith(".mp4") || fileName.endsWith(".mkv") || fileName.endsWith(".avi") || fileName.endsWith(".flv") || fileName.endsWith(".wmv") || fileName.endsWith(".mov") || fileName.endsWith(".3gp")) { + file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath(), fileName); } else { - b2 = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath(), file); + file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath(), fileName); } - if (c2) { - EncodedImage c3 = VKImageLoader.c(Uri.parse(str2)); - final InputStream h = c3 == null ? null : c3.h(); + boolean isImage = MediaUtils.c(FileUtils.f(file)); + + if (isImage) { + EncodedImage encodedImage = VKImageLoader.c(Uri.parse(uri)); + final InputStream h = encodedImage == null ? null : encodedImage.h(); if (h != null) { try { - if (b2.getParentFile() != null) { - b2.createNewFile(); + if (file.getParentFile() != null) { + file.createNewFile(); } - - if (b2.exists()) { - VkExecutors.x.a().execute(() -> ToastUtils.a(context.getString(R.string.file_saved, b2.getAbsoluteFile()))); + if (file.exists()) { + FileUtils.b.a(h, new FileOutputStream(file), h.available(), null); + VkExecutors.x.a().execute(() -> ToastUtils.a(context.getString(R.string.file_saved, file.getAbsoluteFile()))); } } catch (Exception e2) { L.a(e2); } - CameraUtils.a(context, b2, null); + CameraUtils.a(context, file, null); return; } } - DownloadManager.Request request = new DownloadManager.Request(Uri.parse(str2)); - request.setDestinationUri(Uri.fromFile(b2)); - request.setMimeType(FileUtils.f(new File(str))); + DownloadManager.Request request = new DownloadManager.Request(Uri.parse(uri)); + var mimeType = FileUtils.f(file); + request.setDestinationUri(Uri.fromFile(file)); + request.setMimeType(mimeType); request.setNotificationVisibility(1); request.allowScanningByMediaScanner(); request.setTitle(str); @@ -102,9 +107,6 @@ public class DownloadUtils { } try { long enqueue = a2.enqueue(request); - if (pic) { - CameraUtils.a(context, b2, null); - } if (!z) { return; } @@ -184,10 +186,12 @@ public class DownloadUtils { } Intent intent = new Intent("android.intent.action.VIEW"); intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); - String f2 = FileUtils.f(file); - if (!TextUtils.isEmpty(f2)) { + var mimeType = FileUtils.f(file); + var uri = FileUtils.uriFromFile(file); + Log.d("DownloadUtils", "openFile: " + file.getAbsolutePath() + "| mimetype " + mimeType + "| uri " + uri); + if (!TextUtils.isEmpty(mimeType)) { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.setDataAndType(FileUtils.uriFromFile(file), f2); + intent.setDataAndType(uri, mimeType); context.startActivity(intent); return true; } @@ -208,9 +212,13 @@ public class DownloadUtils { private static boolean a(Context context, File file) { if (file != null && file.exists()) { + var mimeType = FileUtils.f(file); + var uri = FileUtils.uriFromFile(file); + Intent intent = new Intent("android.intent.action.VIEW"); - intent.setDataAndType(Uri.parse(file.getAbsolutePath()), "application/*"); + intent.setDataAndType(uri, mimeType); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + Log.d("DownloadUtils", "openFile: " + file.getAbsolutePath() + "| mimetype " + mimeType + "| uri " + uri); try { context.startActivity(intent); return true; From ad90c522acf263ed3537a6df92148ec63c11073b Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Tue, 6 Sep 2022 13:57:24 +0300 Subject: [PATCH 097/134] move image downloader to IOExecutor --- .../main/java/com/vk/core/util/DownloadUtils.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/vk/core/util/DownloadUtils.java b/app/src/main/java/com/vk/core/util/DownloadUtils.java index c09421fad..33365bc28 100644 --- a/app/src/main/java/com/vk/core/util/DownloadUtils.java +++ b/app/src/main/java/com/vk/core/util/DownloadUtils.java @@ -50,7 +50,7 @@ public class DownloadUtils { } } - private static void b(final Context context, String str, String uri, boolean z) throws IOException { + private static void b(final Context context, String str, String uri, boolean z) { if (TextUtils.isEmpty(uri)) { return; } @@ -81,8 +81,15 @@ public class DownloadUtils { file.createNewFile(); } if (file.exists()) { - FileUtils.b.a(h, new FileOutputStream(file), h.available(), null); - VkExecutors.x.a().execute(() -> ToastUtils.a(context.getString(R.string.file_saved, file.getAbsoluteFile()))); + VkExecutors.x.e().execute(() -> { + try { + FileUtils.b.a(h, new FileOutputStream(file), h.available(), null); + ToastUtils.a(context.getString(R.string.file_saved, file.getAbsoluteFile())); + } catch (IOException e) { + ToastUtils.a(context.getString(R.string.error) + " [" + e.getMessage() + "]"); + e.printStackTrace(); + } + }); } } catch (Exception e2) { From 63f4ed388549b909f7d7b3c11e16cc1f2b472578 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Tue, 6 Sep 2022 14:00:35 +0300 Subject: [PATCH 098/134] fix AudioDownloader --- .../main/java/ru/vtosters/lite/downloaders/AudioDownloader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java index d13362b2d..f3863631b 100644 --- a/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java +++ b/app/src/main/java/ru/vtosters/lite/downloaders/AudioDownloader.java @@ -35,7 +35,7 @@ public class AudioDownloader { return; } - var musicPath = Environment.DIRECTORY_MUSIC; + var musicPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath(); var musicDir = new File(musicPath); if (!musicDir.exists()) { if (musicDir.mkdirs()) { From bae72635546961b6019a5ebc6bbca1b06b081a52 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 10 Sep 2022 16:09:38 +0300 Subject: [PATCH 099/134] implement "Play in VK X" quick action in track bottomsheet resolves #723 --- .../lite/hooks/ui/MusicBottomSheetHook.java | 37 +++++++++++++++++++ smali/res/values/ids.xml | 1 + smali/res/values/strings.xml | 2 + .../MusicTrackBottomSheetClickListener.smali | 6 +++ ...kMusicTrackBottomSheetActionsFactory.smali | 6 +++ 5 files changed, 52 insertions(+) create mode 100644 app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java new file mode 100644 index 000000000..c105f0dff --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java @@ -0,0 +1,37 @@ +package ru.vtosters.lite.hooks.ui; + +import com.vk.dto.music.MusicTrack; +import com.vk.music.bottomsheets.a.MusicAction; +import com.vtosters.lite.R; + +import java.util.ArrayList; +import java.util.List; + +import bruhcollective.itaysonlab.libvkx.client.LibVKXClient; +import bruhcollective.itaysonlab.libvkx.client.LibVKXClientImpl; +import ru.vtosters.lite.utils.AndroidUtils; + +public class MusicBottomSheetHook { + public static ArrayList hook(ArrayList actions) { + if (LibVKXClient.isVkxInstalled()) { + actions.add(getPlayInVKXAction()); + } + return actions; + } + + public static boolean tryPlayInVKX(MusicTrack track) { + LibVKXClientImpl.LibVKXAction action = iLibVkxService -> LibVKXClient.lambdaplay(List.of(track), track, iLibVkxService); + return LibVKXClient.getInstance().runOnService(action); + } + + private static MusicAction getPlayInVKXAction() { + return new MusicAction( + AndroidUtils.getIdentifier("play_in_vkx", "id"), + R.drawable.ic_music_24, + AndroidUtils.getIdentifier("play_in_vkx", "string"), + R.color.caption_gray, + R.string.music_talkback_empty, + false + ); + } +} diff --git a/smali/res/values/ids.xml b/smali/res/values/ids.xml index d70f23ce4..06709c2b8 100644 --- a/smali/res/values/ids.xml +++ b/smali/res/values/ids.xml @@ -3914,4 +3914,5 @@ + diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml index 8724ee183..2523551b8 100644 --- a/smali/res/values/strings.xml +++ b/smali/res/values/strings.xml @@ -6091,6 +6091,8 @@ May look like a fake leaving the online" Download as mp3 Delete from cache + Play the track in VK X + Thank you for supporting the project! Support the project with a donation and get rewards diff --git a/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali b/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali index d262c0f5a..0bd9fe504 100644 --- a/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali +++ b/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali @@ -709,6 +709,12 @@ move-result p1 + invoke-static {v0}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->tryPlayInVKX(Lcom/vk/dto/music/MusicTrack;)Z + + move-result v3 + + if-nez v3, :cond_7 + const v3, 0x7f0a0870 const/4 v4, 0x0 diff --git a/smali/smali_classes3/com/vk/music/bottomsheets/track/d/VkMusicTrackBottomSheetActionsFactory.smali b/smali/smali_classes3/com/vk/music/bottomsheets/track/d/VkMusicTrackBottomSheetActionsFactory.smali index f07c58a37..e7c1202bc 100644 --- a/smali/smali_classes3/com/vk/music/bottomsheets/track/d/VkMusicTrackBottomSheetActionsFactory.smali +++ b/smali/smali_classes3/com/vk/music/bottomsheets/track/d/VkMusicTrackBottomSheetActionsFactory.smali @@ -738,5 +738,11 @@ :cond_a :goto_3 + + # invoke static ru.vtosters.lite.hooks.ui.MusicBottomSheetHook.hook(ArrayList actions) + invoke-static {v3}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->hook(Ljava/util/ArrayList;)Ljava/util/ArrayList; + + move-result-object v3 + return-object v3 .end method From 5c1b39c79fbe93fffcca05f15cad441e347f38c4 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 10 Sep 2022 16:33:34 +0300 Subject: [PATCH 100/134] pass playback context to vk x --- .../itaysonlab/libvkx/client/LibVKXClient.java | 14 ++++++++++++-- .../lite/hooks/ui/MusicBottomSheetHook.java | 5 +++-- .../track/MusicTrackBottomSheetClickListener.smali | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/bruhcollective/itaysonlab/libvkx/client/LibVKXClient.java b/app/src/main/java/bruhcollective/itaysonlab/libvkx/client/LibVKXClient.java index b8cd8e62d..75cead999 100644 --- a/app/src/main/java/bruhcollective/itaysonlab/libvkx/client/LibVKXClient.java +++ b/app/src/main/java/bruhcollective/itaysonlab/libvkx/client/LibVKXClient.java @@ -54,7 +54,13 @@ public class LibVKXClient { return getInstance().runOnService(action); } - public static void lambdaplay(List list, MusicTrack musicTrack, ILibVkxService iLibVkxService) { + public static void lambdaplay(List list, MusicTrack musicTrack, ILibVkxService iLibVkxService, MusicPlaybackLaunchContext playerRefer) { + var playbackContext = ""; + + if (playerRefer != null) { + playbackContext = playerRefer.v0(); + } + int indexOf = list.indexOf(musicTrack); var ids = new ArrayList(); for (var track : list) { @@ -65,12 +71,16 @@ public class LibVKXClient { } try { - iLibVkxService.play(ids, indexOf, ""); + iLibVkxService.play(ids, indexOf, playbackContext); } catch (RemoteException e) { e.printStackTrace(); } } + public static void lambdaplay(List list, MusicTrack musicTrack, ILibVkxService iLibVkxService){ + lambdaplay(list, musicTrack, iLibVkxService, null); + } + private static String asId(MusicTrack musicTrack) { String str = musicTrack.e + "_" + musicTrack.d; if (musicTrack.O == null || musicTrack.O.equals("")) { diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java index c105f0dff..434098b1e 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java @@ -2,6 +2,7 @@ package ru.vtosters.lite.hooks.ui; import com.vk.dto.music.MusicTrack; import com.vk.music.bottomsheets.a.MusicAction; +import com.vk.music.common.MusicPlaybackLaunchContext; import com.vtosters.lite.R; import java.util.ArrayList; @@ -19,8 +20,8 @@ public class MusicBottomSheetHook { return actions; } - public static boolean tryPlayInVKX(MusicTrack track) { - LibVKXClientImpl.LibVKXAction action = iLibVkxService -> LibVKXClient.lambdaplay(List.of(track), track, iLibVkxService); + public static boolean tryPlayInVKX(MusicTrack track, MusicPlaybackLaunchContext context) { + LibVKXClientImpl.LibVKXAction action = iLibVkxService -> LibVKXClient.lambdaplay(List.of(track), track, iLibVkxService, context); return LibVKXClient.getInstance().runOnService(action); } diff --git a/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali b/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali index 0bd9fe504..4fe05a419 100644 --- a/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali +++ b/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali @@ -709,7 +709,7 @@ move-result p1 - invoke-static {v0}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->tryPlayInVKX(Lcom/vk/dto/music/MusicTrack;)Z + invoke-static {v0, v2}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->tryPlayInVKX(Lcom/vk/dto/music/MusicTrack;Lcom/vk/music/common/MusicPlaybackLaunchContext;)Z move-result v3 From b88ecd97fcb164452cb24b18128c48464e0016e2 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 10 Sep 2022 16:46:05 +0300 Subject: [PATCH 101/134] pass playlist and action id to the hook --- .../lite/hooks/ui/MusicBottomSheetHook.java | 23 ++++++++++++++++--- .../MusicTrackBottomSheetClickListener.smali | 11 +++++++-- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java index 434098b1e..da3f11c8f 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java @@ -1,12 +1,14 @@ package ru.vtosters.lite.hooks.ui; +import android.util.Log; + import com.vk.dto.music.MusicTrack; +import com.vk.dto.music.Playlist; import com.vk.music.bottomsheets.a.MusicAction; import com.vk.music.common.MusicPlaybackLaunchContext; import com.vtosters.lite.R; import java.util.ArrayList; -import java.util.List; import bruhcollective.itaysonlab.libvkx.client.LibVKXClient; import bruhcollective.itaysonlab.libvkx.client.LibVKXClientImpl; @@ -20,8 +22,23 @@ public class MusicBottomSheetHook { return actions; } - public static boolean tryPlayInVKX(MusicTrack track, MusicPlaybackLaunchContext context) { - LibVKXClientImpl.LibVKXAction action = iLibVkxService -> LibVKXClient.lambdaplay(List.of(track), track, iLibVkxService, context); + public static boolean tryPlayInVKX(int actionId, MusicTrack track, MusicPlaybackLaunchContext context, Playlist playlist) { + if (actionId != AndroidUtils.getIdentifier("play_in_vkx", "id")) { + return false; + } + + var trackList = new ArrayList(); + + if (playlist != null) { + Log.d("VKX", "Playlist is not null"); + Log.d("VKX", "Playlist size: " + playlist.R.size()); + trackList.addAll(playlist.R); + } else { + Log.d("VKX", "Playlist is null"); + trackList.add(track); + } + + LibVKXClientImpl.LibVKXAction action = iLibVkxService -> LibVKXClient.lambdaplay(trackList, track, iLibVkxService, context); return LibVKXClient.getInstance().runOnService(action); } diff --git a/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali b/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali index 4fe05a419..1ef5b1d17 100644 --- a/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali +++ b/smali/smali_classes3/com/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener.smali @@ -704,12 +704,19 @@ move-result-object v2 - .line 7 invoke-virtual {p1}, Lcom/vk/music/bottomsheets/a/MusicAction;->a()I move-result p1 - invoke-static {v0, v2}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->tryPlayInVKX(Lcom/vk/dto/music/MusicTrack;Lcom/vk/music/common/MusicPlaybackLaunchContext;)Z + .line 7 + + iget-object v3, p0, Lcom/vk/music/bottomsheets/track/MusicTrackBottomSheetClickListener;->f:Lcom/vk/music/bottomsheets/track/MusicTrackBottomSheetModel1; + + invoke-interface {v3}, Lcom/vk/music/bottomsheets/track/MusicTrackBottomSheetModel1;->i()Lcom/vk/dto/music/Playlist; + + move-result-object v3 + + invoke-static {p1, v0, v2, v3}, Lru/vtosters/lite/hooks/ui/MusicBottomSheetHook;->tryPlayInVKX(ILcom/vk/dto/music/MusicTrack;Lcom/vk/music/common/MusicPlaybackLaunchContext;Lcom/vk/dto/music/Playlist;)Z move-result v3 From 93d515b4236b4f7e9ebd91bf10409d5068cc89a6 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 10 Sep 2022 16:49:14 +0300 Subject: [PATCH 102/134] add russian string for play_in_vkx --- smali/res/values-ru/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml index e24777516..96481b66b 100644 --- a/smali/res/values-ru/strings.xml +++ b/smali/res/values-ru/strings.xml @@ -5955,6 +5955,8 @@ Скачать как mp3 Удалить из кеша + Воспроизвести в VK X + Спасибо тебе за поддержку проекта! Поддержи проект донатом и получи бонусы From 6e55514edfedf4dd54cd45213c8d38d07bf1c2f6 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 10 Sep 2022 16:55:14 +0300 Subject: [PATCH 103/134] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 123cb1805..c55585d8c 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ * Возможность найти фотографию через поисковые системы * Интеграция с VK X * Сообщения - * ~Обои в сообщениях~ (временно недоступно из-за проблем с производительностью) + * Обои в сообщениях * Возможность выключения кнопки записи голосовых сообщений * Возможность скрыть блок рекомендаций в сообщениях * Режим **VK Me** From 0ed16b0836a6e87ed4f032347948f15a6e404bab Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 10 Sep 2022 17:35:41 +0300 Subject: [PATCH 104/134] follow system theme (light/dark) --- .../lite/hooks/ui/SystemThemeChangerHook.java | 21 +++++++++++++++++++ .../NavigationDelegateActivity.smali | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 app/src/main/java/ru/vtosters/lite/hooks/ui/SystemThemeChangerHook.java diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ui/SystemThemeChangerHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ui/SystemThemeChangerHook.java new file mode 100644 index 000000000..20bf11c64 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/hooks/ui/SystemThemeChangerHook.java @@ -0,0 +1,21 @@ +package ru.vtosters.lite.hooks.ui; + +import android.content.res.Configuration; + +import ru.vtosters.lite.utils.ThemesUtils; + +public class SystemThemeChangerHook { + public static void onThemeChanged(Configuration configuration) { + switch (configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK) { + case Configuration.UI_MODE_NIGHT_YES: + // Night mode is active, we're using dark theme + ThemesUtils.applyTheme(ThemesUtils.getDarkTheme()); + break; + case Configuration.UI_MODE_NIGHT_NO: + case Configuration.UI_MODE_NIGHT_UNDEFINED: + // Night mode is not active, we're using light theme + ThemesUtils.applyTheme(ThemesUtils.getLightTheme()); + break; + } + } +} diff --git a/smali/smali_classes3/com/vk/navigation/NavigationDelegateActivity.smali b/smali/smali_classes3/com/vk/navigation/NavigationDelegateActivity.smali index e26838992..9f9b52da9 100644 --- a/smali/smali_classes3/com/vk/navigation/NavigationDelegateActivity.smali +++ b/smali/smali_classes3/com/vk/navigation/NavigationDelegateActivity.smali @@ -371,6 +371,8 @@ invoke-virtual {v0, p1}, Lcom/vk/navigation/NavigationDelegate;->a(Landroid/content/res/Configuration;)V + invoke-static {p1}, Lru/vtosters/lite/hooks/ui/SystemThemeChangerHook;->onThemeChanged(Landroid/content/res/Configuration;)V + return-void .end method From 2520b709bd40cbcf2ab06179e7b4064e54b99c5b Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 10 Sep 2022 17:47:41 +0300 Subject: [PATCH 105/134] remove dead code in ThemesUtils --- .../ru/vtosters/lite/utils/ThemesUtils.java | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/utils/ThemesUtils.java b/app/src/main/java/ru/vtosters/lite/utils/ThemesUtils.java index 60ecdf909..b2453ed15 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/ThemesUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/ThemesUtils.java @@ -3,7 +3,6 @@ package ru.vtosters.lite.utils; import static android.view.View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR; import static ru.vtosters.lite.hooks.VKUIHook.isLoaded; import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.getWallpaper; -import static ru.vtosters.lite.utils.AndroidUtils.edit; import static ru.vtosters.lite.utils.AndroidUtils.getCenterScreenCoords; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue; @@ -12,14 +11,12 @@ import static ru.vtosters.lite.utils.Preferences.color_grishka; import static ru.vtosters.lite.utils.Preferences.dockbar_accent; import static ru.vtosters.lite.utils.Preferences.milkshake; import static ru.vtosters.lite.utils.Preferences.navbar; -import static ru.vtosters.lite.utils.Preferences.systemtheme; import static ru.vtosters.lite.utils.Preferences.vkme; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.res.ColorStateList; -import android.content.res.Configuration; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.os.Build; @@ -384,34 +381,6 @@ public class ThemesUtils { ); } - public static void systemThemeChanger(Activity activity) { // ded - boolean isDarkTheme = isDarkTheme(); - - if (!isDarkTheme) { - applyTheme(getDarkTheme()); - } else { - applyTheme(getLightTheme()); - } - - if (!systemtheme()) { - edit().putBoolean("isdark", isDarkTheme).commit(); - return; - } - - int currentNightMode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; - switch (currentNightMode) { - case Configuration.UI_MODE_NIGHT_UNDEFINED: - case Configuration.UI_MODE_NIGHT_NO: - edit().putBoolean("isdark", false).commit(); - setTheme(getLightTheme(), activity); - break; - case Configuration.UI_MODE_NIGHT_YES: - edit().putBoolean("isdark", true).commit(); - setTheme(getDarkTheme(), activity); - break; - } - } - private void getCurrentThemeID(VKTheme paramVKTheme) { Preference.b("vk_theme_helper", "current_theme", paramVKTheme.getId()); } From 84e5ce6dc232fddd053955d4e798aff943ce4074 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 10 Sep 2022 18:42:47 +0300 Subject: [PATCH 106/134] add system theme switch to settings --- .../lite/hooks/ui/SystemThemeChangerHook.java | 23 +++++++++++-------- .../lite/ui/fragments/VTSettings.java | 4 ++-- .../ru/vtosters/lite/utils/Preferences.java | 3 ++- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ui/SystemThemeChangerHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ui/SystemThemeChangerHook.java index 20bf11c64..1840860b6 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/ui/SystemThemeChangerHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/ui/SystemThemeChangerHook.java @@ -2,20 +2,23 @@ package ru.vtosters.lite.hooks.ui; import android.content.res.Configuration; +import ru.vtosters.lite.utils.Preferences; import ru.vtosters.lite.utils.ThemesUtils; public class SystemThemeChangerHook { public static void onThemeChanged(Configuration configuration) { - switch (configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK) { - case Configuration.UI_MODE_NIGHT_YES: - // Night mode is active, we're using dark theme - ThemesUtils.applyTheme(ThemesUtils.getDarkTheme()); - break; - case Configuration.UI_MODE_NIGHT_NO: - case Configuration.UI_MODE_NIGHT_UNDEFINED: - // Night mode is not active, we're using light theme - ThemesUtils.applyTheme(ThemesUtils.getLightTheme()); - break; + if (Preferences.systemtheme()) { + switch (configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK) { + case Configuration.UI_MODE_NIGHT_YES: + // Night mode is active, we're using dark theme + ThemesUtils.applyTheme(ThemesUtils.getDarkTheme()); + break; + case Configuration.UI_MODE_NIGHT_NO: + case Configuration.UI_MODE_NIGHT_UNDEFINED: + // Night mode is not active, we're using light theme + ThemesUtils.applyTheme(ThemesUtils.getLightTheme()); + break; + } } } } diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java index d83432d0e..153f70d91 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java @@ -174,8 +174,8 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { return true; }); - if (Build.VERSION.SDK_INT >= 28 && false) { // TODO refactoring system theme - addMaterialSwitchPreference(this, "systemtheme", AndroidUtils.getString("appearance_theme_use_system"), AndroidUtils.getString("appearance_theme_use_system_summary"), "ic_recent_outline_28", true, (preference, o) -> { + if (Build.VERSION.SDK_INT >= 28) { + addMaterialSwitchPreference(this, "systemtheme", AndroidUtils.getString("appearance_theme_use_system"), "", "ic_recent_outline_28", true, (preference, o) -> { boolean value = (boolean) o; edit().putBoolean("systemtheme", value).commit(); diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java index 04b72ba74..6193cbc6b 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java @@ -15,6 +15,7 @@ import android.app.Application; import android.content.Context; import android.content.SharedPreferences; import android.content.pm.PackageManager; +import android.os.Build; import android.preference.PreferenceManager; import com.vtosters.lite.data.Users; @@ -60,7 +61,7 @@ public class Preferences { } public static boolean systemtheme() { - return false; //getBoolValue("systemtheme", true) && VERSION.SDK_INT >= 28; + return Build.VERSION.SDK_INT >= 28 && getBoolValue("systemtheme", true); } public static boolean authorsrecomm() { From 09e0dbd01dcf8f9c282da7caa09fa3a3e9e3aa14 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 10 Sep 2022 18:48:30 +0300 Subject: [PATCH 107/134] switch theme when "Use system theme" switch changed to true --- .../main/java/ru/vtosters/lite/ui/fragments/VTSettings.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java index 153f70d91..e808d08dc 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java @@ -57,6 +57,7 @@ import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; import com.vtosters.lite.general.fragments.SettingsAccountFragment; import com.vtosters.lite.general.fragments.SettingsGeneralFragment; +import ru.vtosters.lite.hooks.ui.SystemThemeChangerHook; import ru.vtosters.lite.ui.components.DockBarEditorManager; import ru.vtosters.lite.ui.components.SuperAppEditorManager; import ru.vtosters.lite.ui.dialogs.OTADialog; @@ -179,6 +180,8 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { boolean value = (boolean) o; edit().putBoolean("systemtheme", value).commit(); + + SystemThemeChangerHook.onThemeChanged(getResources().getConfiguration()); return true; }); } From e916b5fcc80f659ad88ded47be431d99d862f776 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 10 Sep 2022 18:52:49 +0300 Subject: [PATCH 108/134] check the system theme on app start --- .../main/java/ru/vtosters/lite/hooks/MainActivityInjector.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java index 073a28d94..cabff79a7 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/MainActivityInjector.java @@ -14,6 +14,7 @@ import android.preference.PreferenceManager; import com.vk.core.concurrent.VkExecutors; import ru.vtosters.lite.downloaders.notifications.NotificationChannels; +import ru.vtosters.lite.hooks.ui.SystemThemeChangerHook; import ru.vtosters.lite.ui.dialogs.DisableBattery; import ru.vtosters.lite.ui.dialogs.InstallGMS; import ru.vtosters.lite.ui.dialogs.OTADialog; @@ -22,7 +23,6 @@ import ru.vtosters.lite.ui.dialogs.Start; import ru.vtosters.lite.utils.DeletedMessagesHandler; public class MainActivityInjector{ - public static void inject(Activity activity){ setNeededTheme(activity); ServerDialog.activity = activity; @@ -36,6 +36,7 @@ public class MainActivityInjector{ .edit() .putBoolean("isdark", isDarkTheme()) .commit(); + SystemThemeChangerHook.onThemeChanged(activity.getResources().getConfiguration()); VkExecutors.x.q().a(() -> { getInstance().autoCleaningCache(); From e05255263be1415f3a6e07d422e1a61d222cbc54 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 10 Sep 2022 18:58:54 +0300 Subject: [PATCH 109/134] remove useless log --- .../java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java b/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java index da3f11c8f..d58ec2ff5 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/ui/MusicBottomSheetHook.java @@ -30,11 +30,8 @@ public class MusicBottomSheetHook { var trackList = new ArrayList(); if (playlist != null) { - Log.d("VKX", "Playlist is not null"); - Log.d("VKX", "Playlist size: " + playlist.R.size()); trackList.addAll(playlist.R); } else { - Log.d("VKX", "Playlist is null"); trackList.add(track); } From 94c8736bc1e4273a15609beee256df6413d511d7 Mon Sep 17 00:00:00 2001 From: aliveoutside <53598473+aliveoutside@users.noreply.github.com> Date: Sat, 10 Sep 2022 19:36:01 +0300 Subject: [PATCH 110/134] android:configChanges - uiMode --- smali/AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smali/AndroidManifest.xml b/smali/AndroidManifest.xml index 5a3b6a819..76492591e 100644 --- a/smali/AndroidManifest.xml +++ b/smali/AndroidManifest.xml @@ -194,7 +194,7 @@ Date: Sat, 10 Sep 2022 19:50:38 +0300 Subject: [PATCH 111/134] fix restart sett --- .../java/ru/vtosters/lite/ui/fragments/ThemesFragment.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java index f0313312a..8d17545fe 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/ThemesFragment.java @@ -32,11 +32,7 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment { findPreference("darktheme").setOnPreferenceChangeListener(new restartdark()); findPreference("lighttheme").setOnPreferenceChangeListener(new restartlight()); findPreference("iconmanager").setOnPreferenceClickListener(new openicons()); - findPreference("dockbar_tab_titles").setOnPreferenceChangeListener((preference, o) -> { - getPreferences().edit().putBoolean("dockbar_tab_titles", (boolean) o).commit(); - LifecycleUtils.restartApplication(); - return false; - }); + findPreference("dockbar_tab_titles").setOnPreferenceClickListener(new restart()); findPreference("dockbar_accent").setOnPreferenceClickListener(new restart()); findPreference("dockcounter").setOnPreferenceClickListener(new restart()); } From d796455bbeb9565f7a72a367708a7d16bf8a039c Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 10 Sep 2022 21:35:25 +0300 Subject: [PATCH 112/134] fix crash with unsupported msg --- .../ru/vtosters/lite/dnr/DNRInjector.java | 43 ++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) 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 eb307ba66..57eef7fe4 100644 --- a/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java +++ b/app/src/main/java/ru/vtosters/lite/dnr/DNRInjector.java @@ -302,37 +302,40 @@ public class DNRInjector { } public static boolean onClickMsg(Context context, MsgAction action, Msg msg) { - var text = ((MsgFromUser) msg).f(); var peerId = msg.v1(); - var fullMsg = ((MsgFromUser) msg).j2(); // text + reply - var reply = fullMsg.substring(text.length() + 1); if (action == MsgAction.valueOf("READTO")) { DNRModule.hookReadStartMsgTo(msg); return true; } - var isTextExist = !text.isEmpty() && !text.equals(" "); - var isReplyExist = !reply.isEmpty() && !reply.equals(" "); + if (msg instanceof MsgFromUser){ + var text = ((MsgFromUser) msg).f(); + var fullMsg = ((MsgFromUser) msg).j2(); // text + reply + var reply = fullMsg.substring(text.length() + 1); + + var isTextExist = !text.isEmpty() && !text.equals(" "); + var isReplyExist = !reply.isEmpty() && !reply.equals(" "); - if (isReplyExist) { - reply = decryptMessage(reply, peerId); - } + if (isReplyExist) { + reply = decryptMessage(reply, peerId); + } - if (isTextExist) { - text = decryptMessage(text, peerId); - } + if (isTextExist) { + text = decryptMessage(text, peerId); + } - if (action == MsgAction.valueOf("TRANSLATE")) { - if (isTextExist && isReplyExist) { - Translate.showTranslatedText(context, text + "\n\n" + getString("translator_reply") + "\n" + reply); - } else if (isReplyExist) { - Translate.showTranslatedText(context, getString("translator_reply") + "\n" + reply); - } else if (isTextExist) { - Translate.showTranslatedText(context, text); - } else { - sendToast(getString("translator_no_text")); + if (action == MsgAction.valueOf("TRANSLATE")) { + if (isTextExist && isReplyExist) { + Translate.showTranslatedText(context, text + "\n\n" + getString("translator_reply") + "\n" + reply); + } else if (isReplyExist) { + Translate.showTranslatedText(context, getString("translator_reply") + "\n" + reply); + } else if (isTextExist) { + Translate.showTranslatedText(context, text); + } else { + sendToast(getString("translator_no_text")); + } } } From 92c03693328fb2f11ae25d3c2abea3a3f95fc65a Mon Sep 17 00:00:00 2001 From: Vologhat <47892605+Vologhat@users.noreply.github.com> Date: Sat, 10 Sep 2022 22:41:06 +0300 Subject: [PATCH 113/134] added system theme warning dialog --- .../lite/ui/fragments/VTSettings.java | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java index e808d08dc..ee0a9e165 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java @@ -44,6 +44,7 @@ import android.os.Bundle; import com.aefyr.tsg.g2.TelegramStickersService; import com.vk.about.AboutAppFragment; import com.vk.balance.BalanceFragment; +import com.vk.core.dialogs.alert.VkAlertDialog; import com.vk.navigation.Navigator; import com.vk.notifications.settings.NotificationsSettingsFragment; import com.vk.webapp.fragments.PrivacyFragment; @@ -56,6 +57,7 @@ import com.vtosters.lite.fragments.w2.BlacklistFragment; import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; import com.vtosters.lite.general.fragments.SettingsAccountFragment; import com.vtosters.lite.general.fragments.SettingsGeneralFragment; +import com.vtosters.lite.ui.MaterialSwitchPreference; import ru.vtosters.lite.hooks.ui.SystemThemeChangerHook; import ru.vtosters.lite.ui.components.DockBarEditorManager; @@ -64,6 +66,7 @@ import ru.vtosters.lite.ui.dialogs.OTADialog; import ru.vtosters.lite.ui.fragments.tgstickers.StickersFragment; import ru.vtosters.lite.utils.AndroidUtils; import ru.vtosters.lite.utils.CacheUtils; +import ru.vtosters.lite.utils.Preferences; import ru.vtosters.lite.utils.SSFSUtils; public class VTSettings extends MaterialPreferenceToolbarFragment { @@ -125,6 +128,11 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { return AndroidUtils.getString("autoclearcachesumm") + " " + humanReadableByteCountBin(CacheUtils.getInstance().size); } + private void switchTheme(boolean isDarkTheme) { + setTheme(isDarkTheme ? getDarkTheme() : getLightTheme(), requireActivity()); + edit().putBoolean("isdark", isDarkTheme).commit(); + } + @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); @@ -149,7 +157,8 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { addPreferenceDrawable(this, "", getUsername(), hasVerification() ? AndroidUtils.getString("thanksfordonate") : AndroidUtils.getString("getdonate"), getDrawableFromUrl(getUserPhoto(), "ic_user_circle_outline_28", true, true), preference -> { try { VKAuth.a("logout", false); - } catch (Exception ignored) { } + } catch (Exception ignored) { + } var intent = new Intent(requireContext(), MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); @@ -163,15 +172,28 @@ public class VTSettings extends MaterialPreferenceToolbarFragment { addPreferenceCategory(this, AndroidUtils.getString("vtsettdarktheme")); addMaterialSwitchPreference(this, "", AndroidUtils.getString("vtsettdarktheme"), "", "ic_palette_outline_28", isDarkTheme(), (preference, o) -> { - boolean value = (boolean) o; + final var switchPreference = (MaterialSwitchPreference) preference; + final var isDarkTheme = !switchPreference.isChecked(); - if (!value) { // inverted - setTheme(getLightTheme(), this.getActivity()); - } else { - setTheme(getDarkTheme(), this.getActivity()); + if (Preferences.systemtheme()) { + new VkAlertDialog.Builder(requireActivity()) + .setTitle("Внимание!") + .setMessage("У вас включена системная тема \n" + + "При переключении темы системная тема будет отключена \n\n" + + "Вы действительно хотите отключить её?") + .setCancelable(false) + .setPositiveButton("Отключить", (dialogInterface, i) -> { + switchPreference.setChecked(isDarkTheme); + ((MaterialSwitchPreference) findPreference("systemtheme")).setChecked(false); + requireActivity().runOnUiThread(() -> { + switchTheme(isDarkTheme); + }); + }) + .setNeutralButton("Отмена", null) + .show(); + return false; } - - edit().putBoolean("isdark", value).commit(); + switchTheme(isDarkTheme); return true; }); From d83033e983487068a8905c1330124da9fdab14be Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sat, 10 Sep 2022 23:49:32 +0300 Subject: [PATCH 114/134] contacts hack --- .../lite/ui/fragments/OtherFragment.java | 6 ++ .../ru/vtosters/lite/utils/ContactsUtils.java | 95 +++++++++++++++++++ smali/res/xml/preferences_other.xml | 6 ++ 3 files changed, 107 insertions(+) create mode 100644 app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java index 350c1b84c..3172997c0 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java @@ -11,6 +11,7 @@ import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; import static ru.vtosters.lite.utils.AndroidUtils.dp2px; import static ru.vtosters.lite.utils.AndroidUtils.getDefaultPrefs; import static ru.vtosters.lite.utils.AndroidUtils.getIdentifier; +import static ru.vtosters.lite.utils.ContactsUtils.setContactsSync; import static ru.vtosters.lite.utils.LifecycleUtils.restartApplication; import static ru.vtosters.lite.utils.ThemesUtils.getTextAttr; @@ -94,6 +95,11 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment { return true; }); + findPreference("contacts_sync").setOnPreferenceChangeListener((preference, o) -> { + setContactsSync((boolean) o); + return true; + }); + var pref = getDefaultPrefs().getString("autoclearcache", "Default"); switch (pref) { case "Default": diff --git a/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java b/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java new file mode 100644 index 000000000..f2cb5e3b6 --- /dev/null +++ b/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java @@ -0,0 +1,95 @@ +package ru.vtosters.lite.utils; +import static ru.vtosters.lite.net.Request.makeRequest; +import static ru.vtosters.lite.proxy.ProxyUtils.getApi; +import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; +import static ru.vtosters.lite.utils.AndroidUtils.dp2px; +import static ru.vtosters.lite.utils.AndroidUtils.edit; +import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; +import static ru.vtosters.lite.utils.AndroidUtils.sendToast; +import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; + +import android.annotation.SuppressLint; +import android.app.ProgressDialog; +import android.content.ContentResolver; +import android.content.Context; +import android.database.Cursor; +import android.provider.ContactsContract; +import android.util.Log; +import android.widget.LinearLayout; +import android.widget.SeekBar; +import android.widget.Toast; + +import com.vk.core.dialogs.alert.VkAlertDialog; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.HashMap; +import java.util.Map; + +public class ContactsUtils{ + + @SuppressLint("Range") + private static String getAllContacts(){ + Map contactsmap = new HashMap<>(); + + ContentResolver contentResolver = AndroidUtils.getGlobalContext().getContentResolver(); + Cursor cursor = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC"); + if (cursor.getCount() > 0) { + while(cursor.moveToNext()) { + + int hasPhoneNumber = Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))); + if (hasPhoneNumber > 0) { + String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); + String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); + Cursor phoneCursor = contentResolver.query( + ContactsContract.CommonDataKinds.Phone.CONTENT_URI, + null, + ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[] {id}, + null); + if (phoneCursor != null) { + if (phoneCursor.moveToNext()) { + String phoneNumber = phoneCursor.getString(phoneCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); + contactsmap.put(phoneNumber, name); + phoneCursor.close(); + } + } + } + } + } + + cursor.close(); + + return contactsmap.toString(); + } + + public static void setContactsSync(boolean enabled){ + makeRequest("https://" + getApi() + "/method/account.setInfo?" + "?name=im_user_name_type&value=" + (enabled ? "contacts" : "vk") + "&https=1&v=5.99&access_token=" + getUserToken(), + response -> { + try { + JSONObject mainJson = new JSONObject(response); + Log.d("ContactsUtils", "Result: " + mainJson + ", enabled sync: " + enabled); + } catch (JSONException e) { + Log.d("ContactsUtils", e.getMessage()); + sendToast("Ошибка установки контактов"); + } + }); + } + + public static void dialog(Context context, String response) { + VkAlertDialog.Builder builder = new VkAlertDialog.Builder(context); + builder.setTitle("Синхронизация контактов"); + builder.setMessage("Статус синхронизации: " + response); + builder.setCancelable(true); + builder.setNegativeButton(AndroidUtils.getString("cancel"), null); + builder.setPositiveButton("Включить", (dialog, which) -> { + setContactsSync(true); + }); + builder.setNeutralButton("Отключить", (dialog, which) -> { + setContactsSync(false); + }); + + builder.show(); + } +} diff --git a/smali/res/xml/preferences_other.xml b/smali/res/xml/preferences_other.xml index f5c2a833f..806d924a5 100644 --- a/smali/res/xml/preferences_other.xml +++ b/smali/res/xml/preferences_other.xml @@ -1,5 +1,11 @@ + + + Date: Sat, 10 Sep 2022 23:55:05 +0300 Subject: [PATCH 115/134] Update ContactsUtils.java --- app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java b/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java index f2cb5e3b6..cb5fdb144 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java @@ -65,7 +65,7 @@ public class ContactsUtils{ } public static void setContactsSync(boolean enabled){ - makeRequest("https://" + getApi() + "/method/account.setInfo?" + "?name=im_user_name_type&value=" + (enabled ? "contacts" : "vk") + "&https=1&v=5.99&access_token=" + getUserToken(), + makeRequest("https://" + getApi() + "/method/account.setInfo?" + "name=im_user_name_type&value=" + (enabled ? "contact" : "vk") + "&https=1&v=5.153&access_token=" + getUserToken(), response -> { try { JSONObject mainJson = new JSONObject(response); From c1b2409baa587515a587be48b3346b9aeb784dfe Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sun, 11 Sep 2022 00:46:54 +0300 Subject: [PATCH 116/134] contacts hack v2 --- .../lite/ui/fragments/OtherFragment.java | 5 +- .../ru/vtosters/lite/utils/ContactsUtils.java | 74 +++++++++++++------ smali/res/xml/preferences_other.xml | 5 +- 3 files changed, 58 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java index 3172997c0..44a694476 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/OtherFragment.java @@ -56,6 +56,7 @@ import b.h.g.m.FileUtils; import ru.vtosters.lite.ui.activities.VKAdminTokenActivity; import ru.vtosters.lite.ui.components.BackupManager; import ru.vtosters.lite.utils.AndroidUtils; +import ru.vtosters.lite.utils.ContactsUtils; public class OtherFragment extends MaterialPreferenceToolbarFragment { private static final int VK_ADMIN_TOKEN_REQUEST_CODE = 1; @@ -95,8 +96,8 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment { return true; }); - findPreference("contacts_sync").setOnPreferenceChangeListener((preference, o) -> { - setContactsSync((boolean) o); + findPreference("contacts_sync").setOnPreferenceClickListener((preference) -> { + ContactsUtils.getContactsStatus(requireContext()); return true; }); diff --git a/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java b/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java index cb5fdb144..66f918318 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java @@ -2,11 +2,7 @@ package ru.vtosters.lite.utils; import static ru.vtosters.lite.net.Request.makeRequest; import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; -import static ru.vtosters.lite.utils.AndroidUtils.dp2px; -import static ru.vtosters.lite.utils.AndroidUtils.edit; -import static ru.vtosters.lite.utils.AndroidUtils.getPreferences; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; -import static ru.vtosters.lite.utils.LifecycleUtils.restartApplicationWithTimer; import android.annotation.SuppressLint; import android.app.ProgressDialog; @@ -15,21 +11,22 @@ import android.content.Context; import android.database.Cursor; import android.provider.ContactsContract; import android.util.Log; -import android.widget.LinearLayout; -import android.widget.SeekBar; -import android.widget.Toast; import com.vk.core.dialogs.alert.VkAlertDialog; +import com.vk.core.network.Network; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import java.io.IOException; import java.util.HashMap; import java.util.Map; -public class ContactsUtils{ +import okhttp3.Headers; +import okhttp3.OkHttpClient; +public class ContactsUtils{ @SuppressLint("Range") private static String getAllContacts(){ Map contactsmap = new HashMap<>(); @@ -77,19 +74,54 @@ public class ContactsUtils{ }); } - public static void dialog(Context context, String response) { - VkAlertDialog.Builder builder = new VkAlertDialog.Builder(context); - builder.setTitle("Синхронизация контактов"); - builder.setMessage("Статус синхронизации: " + response); - builder.setCancelable(true); - builder.setNegativeButton(AndroidUtils.getString("cancel"), null); - builder.setPositiveButton("Включить", (dialog, which) -> { - setContactsSync(true); - }); - builder.setNeutralButton("Отключить", (dialog, which) -> { - setContactsSync(false); - }); + public static void getContactsStatus(Context ctx){ + var enabledsync = false; - builder.show(); + final ProgressDialog progressDialog = new ProgressDialog(ctx); + progressDialog.setMessage("Загрузка данных о контактах..."); + progressDialog.show(); + + var request = new okhttp3.Request.a() + .b("https://" + getApi() + "/method/account.getInfo?&https=1&v=5.153&access_token=" + getUserToken()) + .a(Headers.a("User-Agent", Network.l.c().a(), "Content-Type", "application/x-www-form-urlencoded; charset=utf-8")) + .a(); + + try { + var response = new OkHttpClient().a(request).execute().a().g(); + progressDialog.cancel(); + + try { + JSONObject mainJson = new JSONObject(response).optJSONObject("response"); + JSONArray settings = mainJson != null ? mainJson.optJSONArray("settings") : null; + + for (int i = 0; i < (settings != null ? settings.length() : 0); i++) { + JSONObject obj = settings.optJSONObject(i); + String name = obj.optString("name"); + String value = obj.optString("value"); + + if (name.contains("im_user_name_type") && value.equals("contact")) { + enabledsync = true; + break; + } + } + + boolean finalEnabledsync = !enabledsync; + + VkAlertDialog.Builder builder = new VkAlertDialog.Builder(ctx); + builder.setTitle("Синхронизация контактов"); + builder.setMessage("Статус синхронизации: " + (enabledsync ? "Включена" : "Отключена")); + builder.setCancelable(true); + builder.setPositiveButton((finalEnabledsync ? "Включить" : "Отключить"), (dialog, which) -> { + setContactsSync(finalEnabledsync); + }); + + builder.show(); + + } catch (JSONException e) { + Log.d("ContactsUtils", e.getMessage()); + } + } catch (IOException e) { + Log.d("ContactsUtils", e.getMessage()); + } } } diff --git a/smali/res/xml/preferences_other.xml b/smali/res/xml/preferences_other.xml index 806d924a5..9aaf45c0c 100644 --- a/smali/res/xml/preferences_other.xml +++ b/smali/res/xml/preferences_other.xml @@ -1,10 +1,9 @@ - + android:title="Синхронизация контактов" /> Date: Sun, 11 Sep 2022 01:18:48 +0300 Subject: [PATCH 117/134] test upload contacts --- .../ru/vtosters/lite/utils/ContactsUtils.java | 61 +++++++------------ 1 file changed, 21 insertions(+), 40 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java b/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java index 66f918318..a97ce5939 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java +++ b/app/src/main/java/ru/vtosters/lite/utils/ContactsUtils.java @@ -1,17 +1,18 @@ package ru.vtosters.lite.utils; +import static androidx.core.app.ActivityCompat.requestPermissions; import static ru.vtosters.lite.net.Request.makeRequest; import static ru.vtosters.lite.proxy.ProxyUtils.getApi; import static ru.vtosters.lite.utils.AccountManagerUtils.getUserToken; +import static ru.vtosters.lite.utils.AndroidUtils.getGlobalContext; import static ru.vtosters.lite.utils.AndroidUtils.sendToast; -import android.annotation.SuppressLint; +import android.Manifest; import android.app.ProgressDialog; -import android.content.ContentResolver; import android.content.Context; -import android.database.Cursor; -import android.provider.ContactsContract; +import android.os.Build; import android.util.Log; +import com.vk.contacts.ContactsSyncAdapterService; import com.vk.core.dialogs.alert.VkAlertDialog; import com.vk.core.network.Network; @@ -20,47 +21,11 @@ import org.json.JSONException; import org.json.JSONObject; import java.io.IOException; -import java.util.HashMap; -import java.util.Map; import okhttp3.Headers; import okhttp3.OkHttpClient; public class ContactsUtils{ - @SuppressLint("Range") - private static String getAllContacts(){ - Map contactsmap = new HashMap<>(); - - ContentResolver contentResolver = AndroidUtils.getGlobalContext().getContentResolver(); - Cursor cursor = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC"); - if (cursor.getCount() > 0) { - while(cursor.moveToNext()) { - - int hasPhoneNumber = Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))); - if (hasPhoneNumber > 0) { - String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); - String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); - Cursor phoneCursor = contentResolver.query( - ContactsContract.CommonDataKinds.Phone.CONTENT_URI, - null, - ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", new String[] {id}, - null); - if (phoneCursor != null) { - if (phoneCursor.moveToNext()) { - String phoneNumber = phoneCursor.getString(phoneCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); - contactsmap.put(phoneNumber, name); - phoneCursor.close(); - } - } - } - } - } - - cursor.close(); - - return contactsmap.toString(); - } - public static void setContactsSync(boolean enabled){ makeRequest("https://" + getApi() + "/method/account.setInfo?" + "name=im_user_name_type&value=" + (enabled ? "contact" : "vk") + "&https=1&v=5.153&access_token=" + getUserToken(), response -> { @@ -74,6 +39,19 @@ public class ContactsUtils{ }); } + public static void uploadContacts(){ + try { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + sendToast("Для работы данной функции необходимо выдать право на чтение контактов"); + requestPermissions(LifecycleUtils.getCurrentActivity(), new String[] {Manifest.permission.READ_CONTACTS}, 11111); + } else { + ContactsSyncAdapterService.a(getGlobalContext().getContentResolver()); + } + } catch (Exception e){ + Log.d("ContactsUtils", e.getMessage()); + } + } + public static void getContactsStatus(Context ctx){ var enabledsync = false; @@ -114,6 +92,9 @@ public class ContactsUtils{ builder.setPositiveButton((finalEnabledsync ? "Включить" : "Отключить"), (dialog, which) -> { setContactsSync(finalEnabledsync); }); + builder.setNegativeButton("Импортировать контакты", (dialog, which) -> { + uploadContacts(); + }); builder.show(); From c2661e11ec671b50b4afdee892e9ef7d50279b00 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sun, 11 Sep 2022 01:33:16 +0300 Subject: [PATCH 118/134] Update JsonInjectors.java --- .../ru/vtosters/lite/hooks/JsonInjectors.java | 28 +++---------------- 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java index 57859f330..cd1eecf7d 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/JsonInjectors.java @@ -236,30 +236,12 @@ public class JsonInjectors { } public static JSONObject musiclink(JSONObject json) { - var oldItems = json.optJSONArray("links"); - var section = json.optJSONObject("section"); - var linksblock = section.optJSONArray("blocks"); - var newBlock = new JSONArray(); + var links = json.optJSONArray("links"); - if (oldItems != null) { - if (oldItems.optJSONObject(0).optString("url").contains("?section=recent")) { + if (links != null) { + if (links.optJSONObject(0).optString("url").contains("?section=recent")) { json.remove("links"); - for (int i = 0; i < linksblock.length(); i++) { - var item = linksblock.optJSONObject(i); - var datatype = item.optString("data_type"); - var layname = item.optJSONObject("layout").optString("name"); - if (!datatype.equals("links") && !layname.equals("separator")) { - newBlock.put(item); - } - } - - try { - section.putOpt("blocks", newBlock); - } catch (JSONException e) { - e.printStackTrace(); - } - if (dev()) Log.d("VKMusic", "Removed links buttons"); } } @@ -579,8 +561,6 @@ public class JsonInjectors { } public static boolean haveDonateButton() { - int randomshower = new Random().nextInt(6); - - return hasVerification() || randomshower != 1; + return hasVerification() || new Random().nextInt(6) != 1; } } From 383bafae9240547d339218e9d56d58c2cef6bb58 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Sun, 11 Sep 2022 01:54:03 +0300 Subject: [PATCH 119/134] fixed splash --- smali/res/drawable-large/bg_splash.xml | 8 ++++++-- smali/res/values-v23/styles.xml | 4 ---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/smali/res/drawable-large/bg_splash.xml b/smali/res/drawable-large/bg_splash.xml index ad01703c1..3087a1cbf 100644 --- a/smali/res/drawable-large/bg_splash.xml +++ b/smali/res/drawable-large/bg_splash.xml @@ -1,6 +1,10 @@ - + + - + \ No newline at end of file diff --git a/smali/res/values-v23/styles.xml b/smali/res/values-v23/styles.xml index 8d63adb0f..950b63bfd 100644 --- a/smali/res/values-v23/styles.xml +++ b/smali/res/values-v23/styles.xml @@ -27,7 +27,6 @@ @drawable/bg_splash @color/gray_20 true - true