Compare commits

..
Author SHA1 Message Date
gdlbo 41ac03a7e1 speedup setupfilters and cache 2022-08-27 16:30:45 +03:00
gdlbo 4bded5c565 nigg 2022-08-27 16:09:25 +03:00
gdlbo 652f5e665f wp disabled 2022-08-27 15:53:56 +03:00
gdlbo 05e118ff31 Update ApiProxy.java 2022-08-27 13:36:31 +03:00
gdlbo c63457674d Update ApiProxy.java 2022-08-27 13:36:01 +03:00
gdlbo c9b8dbc8dd support vk.ru at opening links 2022-08-27 13:34:03 +03:00
gdlbo 34c6a7f8b1 i hate my life 2022-08-27 13:30:12 +03:00
aliveoutside 74d4a5368a move slow tasks from MainActivityInjector to executors 2022-08-27 12:49:01 +03:00
aliveoutside b2256d20e0 Revert "notif counter for newsfeed if enabled milk"
This reverts commit c8c8678785.
2022-08-27 12:48:40 +03:00
gdlbo f887648f48 I love NullPointerException
NullPointerException
NullPointerException
NullPointerException
NullPointerException
NullPointerException
2022-08-26 23:03:35 +03:00
gdlbo 8ee29b4b83 Update WallpapersHooks.java 2022-08-26 22:10:43 +03:00
gdlbo a4c6af8ace Update WallpapersHooks.java 2022-08-26 22:05:47 +03:00
gdlbo 9ec4e52eba newsfeed improves 2022-08-26 21:56:11 +03:00
gdlbo b756bfa622 proxy fixes 2022-08-26 21:33:29 +03:00
Erik Kiznov f96baa58ac wallpapers hooks: fix (maybe)
- close outputstream > release dedicated memory
- delete temp file on exit
- improved check"compress" for null
2022-08-26 23:12:48 +05:00
Erik Kiznov d9f03a5d0e msg downloader: VK_DOMAIN -> private 2022-08-26 21:13:58 +05:00
Erik Kiznov 15d2daa887 msg downloader: update
- 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 но пусть будет)
2022-08-26 21:09:01 +05:00
216 changed files with 573 additions and 503 deletions
+3 -3
View File
@@ -10,7 +10,7 @@
<a href="https://t.me/s/vtosters">
<img src="https://img.shields.io/badge/-Telegram-blue?style=for-the-badge&logo=telegram&color=2AABEE"/>
</a>
<a href="https://vk.ru/vtosters_official">
<a href="https://vk.com/vtosters_official">
<img src="https://img.shields.io/badge/-VK-blue?style=for-the-badge&logo=vk&color=0077FF"/>
</a>
<a href="https://discord.gg/j9CAt3uYXj">
@@ -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), откуда вы можете скачать архив логов и работать с ними.
## Разработка
@@ -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;
@@ -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);
@@ -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<Integer> B0 = new HashSet<>();
private final PipelineDraweeControllerBuilder f0;
@@ -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;
@@ -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<DialogAction> list) {
@@ -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;
@@ -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;
@@ -33,6 +33,8 @@ public class MessagesDownloader{
private static SparseArray<MiniUser> usersArray;
private static final String VK_DOMAIN = "vk.com";
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{
"</a>";
}
}
String chatAction = (message.chat_action != null) ? getHtmlForChatAction(message.chat_action) : "";
String attaches = (message.attachments.size() > 0) ? "<p class=\"msg-attaches\">Вложения: " + getHtmlForAttach(message.attachments) + "</p>" : "";
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 "<div class=\"vtex-milk-msg" + isOut + "\" id=\"" + message.id + "\">" +
"<p class=\"msg-from\">от <a href=\"https://vk.ru/" + userLink + "\">" + user.firstName + " " + user.lastName + "</a> <span class=\"msg-from-date\">" + formatTime(message.date) + "</span></p>" + // TODO photo100
"<p class=\"msg-from\">от <a href=\"https://" + VK_DOMAIN + "/" + userLink + "\">" + user.firstName + " " + user.lastName + "</a> <span class=\"msg-from-date\">" + formatTime(message.date) + "</span></p>" + // TODO photo100
"<p class=\"msg-body\">" + mentionsReplace(message.text) + "</p>" +
geoPosition +
chatAction +
@@ -381,7 +392,7 @@ public class MessagesDownloader{
var userLink = ((userId < 0) ? "club" : "id") + Math.abs(userId);
fwdmsgs.append("<p class=\"reply-content\"><a class=\"msg-attach-link\" href=\"https://vk.ru/").append(userLink).append("\">@").append(userLink).append("</a>: ").append(text).append(attachesHtml).append(replyHtml).append(fwdsHtml);
fwdmsgs.append("<p class=\"reply-content\"><a class=\"msg-attach-link\" href=\"https://" + VK_DOMAIN + "/").append(userLink).append("\">@").append(userLink).append("</a>: ").append(text).append(attachesHtml).append(replyHtml).append(fwdsHtml);
}
return fwdmsgs.append("</div>").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("<a class=\"msg-attach-link\" href=\"https://vk.ru/$1\">$2</a>");
return matcher.replaceAll("<a class=\"msg-attach-link\" href=\"https://" + VK_DOMAIN + "/$1\">$2</a>");
}
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(" <a href=\"https://vk.ru/").append(userLink).append("\" class=\"msg-attach-link\">@").append(userLink).append("</a>");
htmlAction.append(" <a href=\"https://" + VK_DOMAIN + "/").append(userLink).append("\" class=\"msg-attach-link\">@").append(userLink).append("</a>");
}
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(" <a href=\"https://vk.ru/").append(userLink).append("\" class=\"msg-attach-link\">@").append(userLink).append("</a>");
htmlAction.append(" <a href=\"https://" + VK_DOMAIN + "/").append(userLink).append("\" class=\"msg-attach-link\">@").append(userLink).append("</a>");
}
break;
case "chat_pin_message":
@@ -466,17 +477,6 @@ public class MessagesDownloader{
return htmlAction.append("</p>").toString();
}
/*
TODO:
1) poll (опросы)
2) mini_app (поделиться миниаппом)
3) audio_playlist (плейлист песен)
4) story (история)
5) wall_reply (комментарий на стене)
6) podcast (подкаст)
7) gift (подарок)
*/
private String getHtmlForAttach(List<JSONObject> 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("<a href=\"").append(sizes.getJSONObject(sizes.length() - 1).getString("url")).append("\" class=\"msg-attach-link\">фотография</a>");
@@ -498,7 +498,7 @@ public class MessagesDownloader{
rs.append("<a href=\"").append(item.getString("url")).append("\" class=\"msg-attach-link\">ссылка</a>");
break;
case "wall":
rs.append("<a href=\"https://vk.ru/wall").append(item.optString("to_id", item.optString("owner_id"))).append("_").append(item.getString("id")).append("\" class=\"msg-attach-link\">запись на стене</a>");
rs.append("<a href=\"https://" + VK_DOMAIN + "/wall").append(item.optString("to_id", item.optString("owner_id"))).append("_").append(item.getString("id")).append("\" class=\"msg-attach-link\">запись на стене</a>");
break;
case "sticker":
rs.append("<img style=\"width:128px;height:128px;\" src=\"").append(item.getJSONArray("images").getJSONObject(1).getString("url")).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("<a class=\"msg-attach-link\" href=\"").append(link).append("\">комментарий на стене</a>");
break;
case "story":
var story_link = "https://" + VK_DOMAIN + "/story" + item.optString("owner_id") + "_" + item.optString("id");
rs.append("<a class=\"msg-attach-link\" href=\"").append(story_link).append("\">история</a>");
break;
case "podcast":
var podcast_link = "https://" + VK_DOMAIN + "/podcast" + item.optString("owner_id") + "_" + item.optString("id");
rs.append("<a class=\"msg-attach-link\" href=\"").append(podcast_link).append("\">подкаст</a>");
break;
case "gift":
rs.append("<img src=\"").append(item.optString("thumb_96")).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("<a class=\"msg-attach-link\" href=\"").append(miniapp_link).append("\">мини-приложение</a>");
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("<a class=\"msg-attach-link\" href=\"").append(playlist_link).append("\">плейлист (").append(item.optString("title")).append(")</a>");
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("<a class=\"msg-attach-link\" href=\"").append(market_item_link).append("\">товар</a>");
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(
"<div class=\"vtex-milk-msg poll\">" +
"<p style=\"text-align:center;\">" + poll.optString("question") + "</p>"
);
var answers = poll.optJSONArray("answers");
for (int i = 0; i < answers.length(); i++) {
var jsonObject = answers.optJSONObject(i);
if (jsonObject != null)
pollHtml.append("<hr><p>").append(jsonObject.optString("text")).append(" · ").append(jsonObject.optString("votes")).append(" (").append(jsonObject.optString("rate")).append("%)</p>");
}
pollHtml.append("<hr><p style=\"text-align:center;\">Проголосовало ").append(poll.optString("votes")).append(" чел.</p>");
return pollHtml.append("</div>").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("<a class=\"msg-attach-link\" href=\"").append(files.get(key)).append("\">").append(quality[qualityIndex]).append("p</a>").append(" ");
if (qualityIndex == 7) break;
if (qualityIndex == quality.length - 1) break;
++qualityIndex;
}
}
@@ -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 {
@@ -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;
@@ -128,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;
}
@@ -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("<ya:created dc:date=\"(.+?)\"\\/>");
@@ -115,12 +114,12 @@ 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=";
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);
@@ -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);
@@ -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;
@@ -209,7 +208,6 @@ public class DockBarInjector {
val = MenuCountersState.n();
break;
case tab_feedback:
case tab_news:
if (milkshake())
val = MenuCountersState.k();
break;
@@ -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;
@@ -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);
@@ -1,9 +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;
@@ -11,12 +14,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 +31,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 +39,18 @@ public class MainActivityInjector {
.edit()
.putBoolean("isdark", isDarkTheme())
.commit();
getInstance().autoCleaningCache();
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();
}
@@ -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) {
@@ -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 {
@@ -93,7 +91,7 @@ public class NewsfeedHook {
params.add("photo");
params.add("photo_tag");
if (!friendsrecomm()) {
if (!friendsrecomm() && !getBoolValue("donotgetads", false)) {
params.add("friends_recomm");
}
@@ -102,7 +100,7 @@ public class NewsfeedHook {
params.add("promo_button");
}
if (!authorsrecomm()) {
if (!authorsrecomm() && !getBoolValue("donotgetads", false)) {
params.add("authors_rec");
}
@@ -150,14 +148,15 @@ public class NewsfeedHook {
public static void adsParams(HashSet<String> 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");
@@ -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;
@@ -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:
@@ -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;
@@ -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;
@@ -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;
@@ -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,31 +26,47 @@ 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;
}
return "api.vk.ru";
return "api.vk.com";
}
public static String getOauth(){
var oauth = getPrefsValue("proxyoauth");
if (isApiProxyEnabled() & !oauth.isEmpty()) {
if (isVikaProxyEnabled()) {
oauth = getOauthHost();
}
if (isAnyProxyEnabled() & !oauth.isEmpty()) {
return oauth;
}
return "oauth.vk.ru";
return "oauth.vk.com";
}
public static String getStatic(){
var oauth = getPrefsValue("proxystatic");
var staticapi = getPrefsValue("proxystatic");
if (isApiProxyEnabled() & !oauth.isEmpty()) {
return oauth;
if (isVikaProxyEnabled()) {
staticapi = getStaticHost();
}
return "static.vk.ru";
if (isAnyProxyEnabled() & !staticapi.isEmpty()) {
return staticapi;
}
return "static.vk.com";
}
public static Boolean isAnyProxyEnabled(){
return isApiProxyEnabled() || isVikaProxyEnabled();
}
public static Boolean isZaboronaEnabled(){
@@ -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(){
@@ -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;
@@ -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;
@@ -7,12 +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 vkapiold = "api.vk.com";
var oauthold = "oauth.vk.com";
var vkstaticold = "static.vk.com";
var vkapi = "api.vk.com";
var oauth = "oauth.vk.com";
var vkstatic = "static.vk.com";
var proxyapi = getPrefsValue("proxyapi");
var proxyoauth = getPrefsValue("proxyoauth");
@@ -24,7 +21,7 @@ public class ApiProxy{
proxystatic = VikaMobile.getStaticHost();
}
if ((!isApiProxyEnabled() || !isVikaProxyEnabled()) || link.isEmpty()) {
if (!isAnyProxyEnabled() || link.isEmpty()) {
return link;
}
@@ -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;
}
@@ -67,18 +52,24 @@ public class ApiProxy{
string = VikaMobile.getStaticHost();
}
if ((isApiProxyEnabled() || isVikaProxyEnabled()) && string.isEmpty()) return str;
if (isAnyProxyEnabled() && !string.isEmpty()) {
return str.replaceAll(string, "static.vk.com");
}
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;
}
return "m.vk.ru";
return "m.vk.com";
}
}
@@ -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) {
@@ -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;
@@ -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;
@@ -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.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);
@@ -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;
@@ -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;
@@ -1,12 +1,14 @@
package ru.vtosters.lite.ui.fragments;
import static ru.vtosters.lite.utils.AndroidUtils.*;
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;
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 +24,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
@@ -103,10 +102,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;
}
}
@@ -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;
@@ -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 {
@@ -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);
@@ -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;
@@ -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,11 @@ 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();
Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true);
if (getPreferences().getBoolean("msg_invert", false)) {
instance = applyInvertEffect(instance);
@@ -61,7 +67,10 @@ 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();
Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true);
MediaNative.blurBitmap(instance, radius);
return new BitmapDrawable(getResources(), instance);
} catch (Exception e) {
@@ -75,7 +84,12 @@ 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();
Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true);
String radius = getPreferences().getString("msg_mosaic", "disabled");
switch (radius) {
@@ -98,7 +112,12 @@ 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();
Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true);
String radius = getPreferences().getString("msg_dim", "disabled");
switch (radius) {
case "dim_black":
@@ -112,7 +131,9 @@ 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();
Bitmap instance = bm.copy(Bitmap.Config.ARGB_8888, true);
Bitmap bwBitmap = Bitmap.createBitmap(instance.getWidth(), instance.getHeight(), Bitmap.Config.RGB_565);
float[] hsv = new float[3];
@@ -138,7 +159,7 @@ public class ImageFilters {
p.setColorFilter(filter);
canvas.drawBitmap(bm, new Matrix(), p);
} catch (Exception e) {
sendToast("Ошибка при работе затемнения обоев");
Log.d("WallpaperD", e.getMessage());
}
}
@@ -150,7 +171,7 @@ public class ImageFilters {
p.setColorFilter(filter);
canvas.drawBitmap(bm, new Matrix(), p);
} catch (Exception e) {
sendToast("Ошибка при работе осветления обоев");
Log.d("WallpaperL", e.getMessage());
}
}
@@ -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;
@@ -14,28 +14,34 @@ 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 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;
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) {
@@ -49,68 +55,86 @@ 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");
FileOutputStream outputStream = new FileOutputStream(outPutFile);
selectedBitmap.compress(Bitmap.CompressFormat.PNG, 85 , outputStream);
return outPutFile;
} catch (Exception e) {
Log.d("Wallpapers", e.getMessage());
return null;
}
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() {
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";
// var file = getWallpaperFile();
//
// if (file.exists() && eligibleWallpaperFile(file)) {
// if (getBoolValue("compresswp", true)) {
// return compress(file).getAbsolutePath();
// } else {
// return file.getAbsolutePath();
// }
// }
return "default";
}
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) {
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);
@@ -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;
@@ -25,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)
@@ -56,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);
@@ -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;
@@ -1,15 +1,14 @@
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.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;
@@ -35,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()) {
@@ -363,22 +357,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;
}
}
@@ -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() {
+3 -3
View File
@@ -394,12 +394,12 @@ function showPhotosBox(url, id, num, link){
<div class="wk_text" style="max-width: 604px">
<div class="header">
<div style="float: left;">
<a href="https://vk.ru/club{GROUP_ID}">
<a href="https://vk.com/club{GROUP_ID}">
<img src="{GROUP_PHOTO}" width="50" height="50" border="0"/>
</a>
</div>
<div class="headGroupName">
<a href="https://vk.ru/club{GROUP_ID}">{GROUP_NAME}</a>
<a href="https://vk.com/club{GROUP_ID}">{GROUP_NAME}</a>
</div>
<div class="headOrigLink">
{L_PREVIEW} <a href="http://{ORIG_URL}">{ORIG_URL}</a>
@@ -412,7 +412,7 @@ function showPhotosBox(url, id, num, link){
<div class="footer">
{L_SOURCE} <a href="http://{ORIG_URL}">{ORIG_URL}</a><br/>
{DATE} - {VIEWS}<br/>
<a href="https://vk.ru/id{PROFILE_ID}">{L_GO_TO_GROUP}</a>
<a href="https://vk.com/id{PROFILE_ID}">{L_GO_TO_GROUP}</a>
</div>
</div>
</body>
+1 -1
View File
@@ -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" />
<EditText
+1 -1
View File
@@ -46,7 +46,7 @@
android:id="@id/domain_current_link"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="https://vk.ru/durov"
android:text="https://vk.com/durov"
android:textColor="?accent"
android:textSize="14.0dip" />
</LinearLayout>
+6 -6
View File
@@ -454,7 +454,7 @@ resultados"</string>
<string name="collection_add_selection">Añadir a la transmisión en vivo</string>
<string name="collection_add_to_stream">Añadir a la transmisión en vivo</string>
<string name="collection_add_wall_to_list_hint">Selecciona una publicación de tu muro que quieras compartir con tus espectadores </string>
<string name="collection_link_add_link_input_hint">https://vk.ru</string>
<string name="collection_link_add_link_input_hint">https://vk.com</string>
<string name="collection_link_limit">Límite de enlaces alcanzado</string>
<string name="collection_link_not_valid">URL no compatible</string>
<string name="collection_links_list">Lista de enlaces</string>
@@ -1086,7 +1086,7 @@ y organízalo con la ayuda de etiquetas"</string>
<string name="friends_recommendations_gmail">Gmail</string>
<string name="friends_recommendations_invete_by_link">Invitar vía enlace</string>
<string name="friends_recommendations_invite">Invitar</string>
<string name="friends_recommendations_invite_message">¡Únete a mí en VK! http://vk.ru/join</string>
<string name="friends_recommendations_invite_message">¡Únete a mí en VK! http://vk.com/join</string>
<string name="friends_recommendations_locator_text">Para ver amigos cercanos, pídeles que abran esta pantalla en sus dispositivos</string>
<string name="friends_recommendations_ok">OK</string>
<string name="friends_recommendations_request_done">Sois amigos</string>
@@ -1368,7 +1368,7 @@ menos frecuentemente"</string>
<string name="identity_address">Dirección</string>
<string name="identity_address_dat">dirección</string>
<string name="identity_custom_label">Personalizado</string>
<string name="identity_desc">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</string>
<string name="identity_desc">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</string>
<string name="identity_email">Сorreo electrónico</string>
<string name="identity_email_dat">dirección de correo electrónico</string>
<string name="identity_label">Categoría</string>
@@ -1398,7 +1398,7 @@ menos frecuentemente"</string>
<string name="include_community">Activar notificaciones</string>
<string name="installed_games_title">Mis juegos</string>
<string name="invalid_date">Fecha de publicación no válida</string>
<string name="invitation">¡Vamos a conectar en VK! Únete aquí: http://vk.ru/join</string>
<string name="invitation">¡Vamos a conectar en VK! Únete aquí: http://vk.com/join</string>
<string name="invitation_declined">Invitación rechazada.</string>
<string name="invitation_sent">Tu invitación ha sido enviada.</string>
<string name="invite">Invitar</string>
@@ -3268,7 +3268,7 @@ cámara VK"</string>
<string name="serv_user_returned_m">%1$s regresó a este chat</string>
<string name="service_account_admin_100_info">"Este perfil sólo se usa para notificaciones personales.
Para ayuda o información, contacta con nuestro [https://vk.ru/support|Equipo de Soporte.]"</string>
Para ayuda o información, contacta con nuestro [https://vk.com/support|Equipo de Soporte.]"</string>
<string name="service_account_admin_101_info">Esta página se usa para proporcionar compatibilidad con versiones anteriores para comentarios de las comunidades.</string>
<string name="service_account_mobile_info">Este es el perfil oficial del soporte móvil VK.</string>
<string name="sett_accept_calls">Activar</string>
@@ -5253,7 +5253,7 @@ con vídeo"</string>
<string name="votes_your_balance">Tu saldo</string>
<string name="wall">Muro</string>
<string name="wall_all_posts">Todas las entradas</string>
<string name="wall_comment_repost">&lt;font color=\"#aaaaaa\">Comentario para &lt;/font>&lt;a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">entrada&lt;/a></string>
<string name="wall_comment_repost">&lt;font color=\"#aaaaaa\">Comentario para &lt;/font>&lt;a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">entrada&lt;/a></string>
<string name="wall_disabled">Muro desactivado</string>
<string name="wall_empty">Aún no hay entradas aquí</string>
<string name="wall_empty_my">Aún no has publicado nada</string>
+6 -6
View File
@@ -448,7 +448,7 @@
<string name="collection_add_selection">Трансляцияға бекіту</string>
<string name="collection_add_to_stream">Эфирге қосу</string>
<string name="collection_add_wall_to_list_hint">Парақшаңыздан көрермендермен бөлісетін жазба таңдаңыз</string>
<string name="collection_link_add_link_input_hint">https://vk.ru</string>
<string name="collection_link_add_link_input_hint">https://vk.com</string>
<string name="collection_link_limit">Осыдан әрі сілтеме қосуға болмайды, сіз шекке жеттіңіз</string>
<string name="collection_link_not_valid">Сілтеме қолдаулы емес</string>
<string name="collection_links_list">Сілтемелер тізімі</string>
@@ -1054,7 +1054,7 @@
<string name="friends_recommendations_gmail">Gmail</string>
<string name="friends_recommendations_invete_by_link">Сілтеме бойынша шақыру</string>
<string name="friends_recommendations_invite">Шақыру</string>
<string name="friends_recommendations_invite_message">VK-да дос болайық! http://vk.ru/join</string>
<string name="friends_recommendations_invite_message">VK-да дос болайық! http://vk.com/join</string>
<string name="friends_recommendations_locator_text">Қасыңыздағы адамдарды көру үшін олардан өз құрылғыларынан осы экранға кіруді сұраңыз</string>
<string name="friends_recommendations_ok">ОК</string>
<string name="friends_recommendations_request_done">Доссыздар</string>
@@ -1335,7 +1335,7 @@
<string name="identity_address">Мекенжай</string>
<string name="identity_address_dat">мекенжай</string>
<string name="identity_custom_label">Өз категория</string>
<string name="identity_desc">Сіз деректерді бір-ақ рет толтырып келесіде [https://vk.ru/services|топтамадағы] мини-қосымшаларға ол деректерді тез бере алатын боласыз</string>
<string name="identity_desc">Сіз деректерді бір-ақ рет толтырып келесіде [https://vk.com/services|топтамадағы] мини-қосымшаларға ол деректерді тез бере алатын боласыз</string>
<string name="identity_email">Электрондық пошта</string>
<string name="identity_email_dat">электрондық пошта мекенжайы</string>
<string name="identity_label">Категория</string>
@@ -1365,7 +1365,7 @@
<string name="include_community">Бірлестік қосу</string>
<string name="installed_games_title">Ойындарым</string>
<string name="invalid_date">Жариялау күні дұрыс емес</string>
<string name="invitation">VK-да дос болайық! http://vk.ru/join</string>
<string name="invitation">VK-да дос болайық! http://vk.com/join</string>
<string name="invitation_declined">Шақыру қабылданбады.</string>
<string name="invitation_sent">Шақыру жіберілді.</string>
<string name="invite">Шақыру</string>
@@ -3221,7 +3221,7 @@
<string name="serv_user_returned_m">%1$s әңгімеге қайтып оралды</string>
<string name="service_account_admin_100_info">"Профиль тек жеке мәлімдемелерге пайдаланылады.
Кез келген сұрықтарыңыз болса [https://vk.ru/support|Жәрдемге] жазыңыз."</string>
Кез келген сұрықтарыңыз болса [https://vk.com/support|Жәрдемге] жазыңыз."</string>
<string name="service_account_admin_101_info">Парақша пікірлер қызметінің кері үйлесімділік үшін пайдаланылады.</string>
<string name="service_account_mobile_info">VK мобильді жәрдемнің ресми парақшасы.</string>
<string name="sett_accept_calls">Қосу</string>
@@ -5201,7 +5201,7 @@ https://vk.me"</string>
<string name="votes_your_balance">Теңгеріміңіз</string>
<string name="wall">Қабырға</string>
<string name="wall_all_posts">Барлық жазбалар</string>
<string name="wall_comment_repost">&lt;a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">жазбаға&lt;/a>&lt;font color=\"#aaaaaa\"> пікір&lt;/font></string>
<string name="wall_comment_repost">&lt;a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">жазбаға&lt;/a>&lt;font color=\"#aaaaaa\"> пікір&lt;/font></string>
<string name="wall_disabled">Қабырған өшірулі</string>
<string name="wall_empty">Әзірше жазба жоқ</string>
<string name="wall_empty_my">Әзірше жазба жоқ</string>
+6 -6
View File
@@ -454,7 +454,7 @@ resultados"</string>
<string name="collection_add_selection">Anexar a transmissão</string>
<string name="collection_add_to_stream">Adicionar a transmissão</string>
<string name="collection_add_wall_to_list_hint">Escolha o recado de sua página que deseja compartilhar com seus espectadores</string>
<string name="collection_link_add_link_input_hint">https://vk.ru</string>
<string name="collection_link_add_link_input_hint">https://vk.com</string>
<string name="collection_link_limit">Você atingiu o número máximo de links</string>
<string name="collection_link_not_valid">Link não suportado</string>
<string name="collection_links_list">Lista de links</string>
@@ -1058,7 +1058,7 @@ e utilize as etiquetas para o sortear"</string>
<string name="friends_recommendations_gmail">Gmail</string>
<string name="friends_recommendations_invete_by_link">Convidar por link</string>
<string name="friends_recommendations_invite">Convidar</string>
<string name="friends_recommendations_invite_message">Vamos ser amigos no VK! http://vk.ru/join</string>
<string name="friends_recommendations_invite_message">Vamos ser amigos no VK! http://vk.com/join</string>
<string name="friends_recommendations_locator_text">Para ver as pessoas que estão perto, peça-lhes para abrir a mesma tela no dispositivo deles</string>
<string name="friends_recommendations_ok">OK</string>
<string name="friends_recommendations_request_done">Vocês são amigos</string>
@@ -1338,7 +1338,7 @@ menos frequência"</string>
<string name="identity_address">Endereço</string>
<string name="identity_address_dat">endereço</string>
<string name="identity_custom_label">Minha categoria</string>
<string name="identity_desc">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ê</string>
<string name="identity_desc">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ê</string>
<string name="identity_email">Email</string>
<string name="identity_email_dat">email</string>
<string name="identity_label">Categoria</string>
@@ -1368,7 +1368,7 @@ menos frequência"</string>
<string name="include_community">Conectar comunidade</string>
<string name="installed_games_title">Meus jogos</string>
<string name="invalid_date">Data de publicação invalida</string>
<string name="invitation">Vamos conectar ao VK! Participe aqui: http://vk.ru/join</string>
<string name="invitation">Vamos conectar ao VK! Participe aqui: http://vk.com/join</string>
<string name="invitation_declined">Convite recusado.</string>
<string name="invitation_sent">Convite enviado.</string>
<string name="invite">Convidar</string>
@@ -3236,7 +3236,7 @@ com a câmera do VK"</string>
<string name="serv_user_returned_m">%1$s voltou a este bate-papo</string>
<string name="service_account_admin_100_info">"O perfil é usado somente para as notificações pessoais.
Para ajuda ou informações, contate nossa [https://vk.ru/support|equipe de Supporte.]"</string>
Para ajuda ou informações, contate nossa [https://vk.com/support|equipe de Supporte.]"</string>
<string name="service_account_admin_101_info">Esta página é utilizada para fornecer a compatibilidade para os comentários deixados em nome da comunidade.</string>
<string name="service_account_mobile_info">Este é o perfil oficial do Suporte móvel do VK.</string>
<string name="sett_accept_calls">Habilitar</string>
@@ -5219,7 +5219,7 @@ com vídeo"</string>
<string name="votes_your_balance">Seu saldo</string>
<string name="wall">Mural</string>
<string name="wall_all_posts">Todos os recados</string>
<string name="wall_comment_repost">&lt;font color=\"#aaaaaa\">Comentar para &lt;/font>&lt;a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">post&lt;/a></string>
<string name="wall_comment_repost">&lt;font color=\"#aaaaaa\">Comentar para &lt;/font>&lt;a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">post&lt;/a></string>
<string name="wall_disabled">Mural desabilitado</string>
<string name="wall_empty">Ainda não há publicações aqui</string>
<string name="wall_empty_my">Ainda não tem recados</string>
+6 -6
View File
@@ -462,7 +462,7 @@
<string name="collection_add_selection">Прикрепить к трансляции</string>
<string name="collection_add_to_stream">Добавить в эфир</string>
<string name="collection_add_wall_to_list_hint">Выберите запись со своей страницы, которой Вы хотите поделиться со зрителями</string>
<string name="collection_link_add_link_input_hint">https://vk.ru</string>
<string name="collection_link_add_link_input_hint">https://vk.com</string>
<string name="collection_link_limit">Добавлено максимально возможное количество ссылок</string>
<string name="collection_link_not_valid">Ссылка не поддерживается</string>
<string name="collection_links_list">Список ссылок</string>
@@ -1113,7 +1113,7 @@
<string name="friends_recommendations_gmail">Gmail</string>
<string name="friends_recommendations_invete_by_link">Пригласить по ссылке</string>
<string name="friends_recommendations_invite">Пригласить</string>
<string name="friends_recommendations_invite_message">Приглашаю дружить ВКонтакте! http://vk.ru/join</string>
<string name="friends_recommendations_invite_message">Приглашаю дружить ВКонтакте! http://vk.com/join</string>
<string name="friends_recommendations_locator_text">Чтобы увидеть людей рядом, попросите их зайти на этот экран со своих устройств</string>
<string name="friends_recommendations_ok">OK</string>
<string name="friends_recommendations_request_done">Вы друзья</string>
@@ -1395,7 +1395,7 @@
<string name="identity_address">Адрес</string>
<string name="identity_address_dat">адрес</string>
<string name="identity_custom_label">Своя категория</string>
<string name="identity_desc">Вы можете указать данные один раз и быстро предоставлять мини-приложениям из [https://vk.ru/services|каталога] — для доставки товаров или связи с Вами</string>
<string name="identity_desc">Вы можете указать данные один раз и быстро предоставлять мини-приложениям из [https://vk.com/services|каталога] — для доставки товаров или связи с Вами</string>
<string name="identity_email">Электронная почта</string>
<string name="identity_email_dat">адрес электронной почты</string>
<string name="identity_label">Категория</string>
@@ -1425,7 +1425,7 @@
<string name="include_community">Подключить сообщество</string>
<string name="installed_games_title">Мои игры</string>
<string name="invalid_date">Неверная дата публикации</string>
<string name="invitation">Приглашаю дружить ВКонтакте! http://vk.ru/join</string>
<string name="invitation">Приглашаю дружить ВКонтакте! http://vk.com/join</string>
<string name="invitation_declined">Приглашение отклонено.</string>
<string name="invitation_sent">Приглашение отправлено.</string>
<string name="invite">Пригласить</string>
@@ -3310,7 +3310,7 @@
<string name="serv_user_returned_m">%1$s вернулся в беседу</string>
<string name="service_account_admin_100_info">"Профиль используется только для персональных оповещений.
По любым вопросам пишите в [https://vk.ru/support|Поддержку.]"</string>
По любым вопросам пишите в [https://vk.com/support|Поддержку.]"</string>
<string name="service_account_admin_101_info">Страница используется для обратной совместимости сервиса комментариев от имени сообщества.</string>
<string name="service_account_mobile_info">Официальная страница мобильной поддержки ВКонтакте.</string>
<string name="sett_accept_calls">Включить</string>
@@ -5300,7 +5300,7 @@
<string name="votes_your_balance">Ваш баланс</string>
<string name="wall">Стена</string>
<string name="wall_all_posts">Все записи</string>
<string name="wall_comment_repost">&lt;font color=#aaaaaa>Комментарий к &lt;/font>&lt;a href=vklink://view/?http://vk.ru/wall%1$d_%2$d>записи&lt;/a></string>
<string name="wall_comment_repost">&lt;font color=#aaaaaa>Комментарий к &lt;/font>&lt;a href=vklink://view/?http://vk.com/wall%1$d_%2$d>записи&lt;/a></string>
<string name="wall_disabled">Стена выключена</string>
<string name="wall_empty">Здесь пока нет записей</string>
<string name="wall_empty_my">У Вас пока нет записей</string>
+6 -6
View File
@@ -455,7 +455,7 @@
<string name="collection_add_selection">Прикріпити до трансляції</string>
<string name="collection_add_to_stream">Додати до ефіру</string>
<string name="collection_add_wall_to_list_hint">Виберіть запис зі своєї сторінки, яким Ви хочете поділитися з глядачами</string>
<string name="collection_link_add_link_input_hint">https://vk.ru</string>
<string name="collection_link_add_link_input_hint">https://vk.com</string>
<string name="collection_link_limit">Додано максимально можливу кількість посилань</string>
<string name="collection_link_not_valid">Посилання не підтримується</string>
<string name="collection_links_list">Список посилань</string>
@@ -1058,7 +1058,7 @@
<string name="friends_recommendations_gmail">Gmail</string>
<string name="friends_recommendations_invete_by_link">Запросити за посиланням</string>
<string name="friends_recommendations_invite">Запросити</string>
<string name="friends_recommendations_invite_message">Запрошую дружити VK! http://vk.ru/join</string>
<string name="friends_recommendations_invite_message">Запрошую дружити VK! http://vk.com/join</string>
<string name="friends_recommendations_locator_text">Щоб побачити людей, що поруч, попросіть їх зайти на цей екран зі своїх пристроїв</string>
<string name="friends_recommendations_ok">OK</string>
<string name="friends_recommendations_request_done">Ви друзі</string>
@@ -1340,7 +1340,7 @@
<string name="identity_address">Адреса</string>
<string name="identity_address_dat">адреса</string>
<string name="identity_custom_label">Своя категорія</string>
<string name="identity_desc">Ви можете вказати дані один раз і швидко надавати міні-додаткам з [https://vk.ru/services|каталогу] — для доставки товарів або зв‘язку з Вами</string>
<string name="identity_desc">Ви можете вказати дані один раз і швидко надавати міні-додаткам з [https://vk.com/services|каталогу] — для доставки товарів або зв‘язку з Вами</string>
<string name="identity_email">Електронна пошта</string>
<string name="identity_email_dat">адреса електронної пошти</string>
<string name="identity_label">Категорія</string>
@@ -1370,7 +1370,7 @@
<string name="include_community">Підключити спільноту</string>
<string name="installed_games_title">Мої ігри</string>
<string name="invalid_date">Невірна дата публікації</string>
<string name="invitation">Запрошую дружити ВКонтакті! http://vk.ru/join</string>
<string name="invitation">Запрошую дружити ВКонтакті! http://vk.com/join</string>
<string name="invitation_declined">Запрошення відхилено.</string>
<string name="invitation_sent">Запрошення надіслано.</string>
<string name="invite">Запросити</string>
@@ -3242,7 +3242,7 @@
<string name="serv_user_returned_m">%1$s повернувся в бесіду</string>
<string name="service_account_admin_100_info">"Профіль використовується лише для персональних сповіщень.
З будь-яких питань пишіть в [https://vk.ru/support|Підтримку.]"</string>
З будь-яких питань пишіть в [https://vk.com/support|Підтримку.]"</string>
<string name="service_account_admin_101_info">Сторінка використовується для забезпечення сумісності сервісу коментарів від імені спільноти.</string>
<string name="service_account_mobile_info">Офіційна сторінка мобільної підтримки VK.</string>
<string name="sett_accept_calls">Увімкнути</string>
@@ -5228,7 +5228,7 @@
<string name="votes_your_balance">Ваш баланс</string>
<string name="wall">Стіна</string>
<string name="wall_all_posts">Всі записи</string>
<string name="wall_comment_repost">&lt;font color=\"#aaaaaa\">Коментар до &lt;/font>&lt;a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">записи&lt;/a></string>
<string name="wall_comment_repost">&lt;font color=\"#aaaaaa\">Коментар до &lt;/font>&lt;a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">записи&lt;/a></string>
<string name="wall_disabled">Стіну вимкнено</string>
<string name="wall_empty">Тут поки немає записів</string>
<string name="wall_empty_my">У Вас поки немає записів</string>
+7 -7
View File
@@ -267,7 +267,7 @@
<string name="article_subscribers_formatted">%s followers</string>
<string name="article_view_count_formatted">%s views</string>
<string name="articles">Articles</string>
<string name="asset_statements">[ { \"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\" } } ]</string>
<string name="asset_statements">[ { \"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\" } } ]</string>
<string name="attach">Add</string>
<string name="attach_action_link_successed">Link added</string>
<string name="attach_album">Album</string>
@@ -485,7 +485,7 @@ no results"</string>
<string name="collection_add_selection">Attach to live stream</string>
<string name="collection_add_to_stream">Add to live stream</string>
<string name="collection_add_wall_to_list_hint">Select a post from your wall that you want to share with your viewers</string>
<string name="collection_link_add_link_input_hint">https://vk.ru</string>
<string name="collection_link_add_link_input_hint">https://vk.com</string>
<string name="collection_link_limit">Link limit reached</string>
<string name="collection_link_not_valid">URL not supported</string>
<string name="collection_links_list">Link list</string>
@@ -1171,7 +1171,7 @@ and organize it with the help of tags"</string>
<string name="friends_recommendations_gmail">Gmail</string>
<string name="friends_recommendations_invete_by_link">Invite by link</string>
<string name="friends_recommendations_invite">Invite</string>
<string name="friends_recommendations_invite_message">Join me on VK! http://vk.ru/join</string>
<string name="friends_recommendations_invite_message">Join me on VK! http://vk.com/join</string>
<string name="friends_recommendations_locator_text">To find friends nearby, ask them to open this screen on their devices</string>
<string name="friends_recommendations_ok">OK</string>
<string name="friends_recommendations_request_done">You are friends</string>
@@ -1460,7 +1460,7 @@ less often."</string>
<string name="identity_address">Address</string>
<string name="identity_address_dat">address</string>
<string name="identity_custom_label">Custom</string>
<string name="identity_desc">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</string>
<string name="identity_desc">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</string>
<string name="identity_email">Email</string>
<string name="identity_email_dat">email address</string>
<string name="identity_label">Category</string>
@@ -1490,7 +1490,7 @@ less often."</string>
<string name="include_community">Add community</string>
<string name="installed_games_title">My games</string>
<string name="invalid_date">Invalid posting date</string>
<string name="invitation">Join me on VK! http://vk.ru/join</string>
<string name="invitation">Join me on VK! http://vk.com/join</string>
<string name="invitation_declined">Invitation declined.</string>
<string name="invitation_sent">Your invitation has been sent.</string>
<string name="invite">Invite</string>
@@ -3405,7 +3405,7 @@ the VK camera"</string>
<string name="serv_user_returned_m">%1$s returned to the chat</string>
<string name="service_account_admin_100_info">"This profile is only used for personal notifications.
If you have any questions, please contact [https://vk.ru/support|Support.]"</string>
If you have any questions, please contact [https://vk.com/support|Support.]"</string>
<string name="service_account_admin_101_info">This page is used to provide backward compatibility for comments by communities.</string>
<string name="service_account_mobile_info">This is the official profile of VK Mobile Support.</string>
<string name="sett_accept_calls">Enable</string>
@@ -5430,7 +5430,7 @@ with video"</string>
<string name="votes_your_balance">Your balance</string>
<string name="wall">Wall</string>
<string name="wall_all_posts">All posts</string>
<string name="wall_comment_repost">&lt;font color=\"#aaaaaa\">Comment on &lt;/font>&lt;a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">post&lt;/a></string>
<string name="wall_comment_repost">&lt;font color=\"#aaaaaa\">Comment on &lt;/font>&lt;a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">post&lt;/a></string>
<string name="wall_disabled">Wall disabled</string>
<string name="wall_empty">No posts here yet</string>
<string name="wall_empty_my">"You haven't posted anything yet"</string>
@@ -14,7 +14,7 @@
</base-config>
<domain-config>
<!-- Make sure your URL Server here -->
<domain includeSubdomains="true">vk.ru</domain>
<domain includeSubdomains="true">vk.com</domain>
<trust-anchors>
<certificates src="user" />
<certificates src="system" />
@@ -22,7 +22,7 @@
</domain-config>
<domain-config>
<!-- Make sure your URL Server here -->
<domain includeSubdomains="true">api.vk.ru</domain>
<domain includeSubdomains="true">api.vk.com</domain>
<trust-anchors>
<certificates src="user" />
<certificates src="system" />
+6 -6
View File
@@ -99,23 +99,23 @@
android:key="domains"
android:title="@string/debug_domains">
<Preference
android:defaultValue="api.vk.ru"
android:defaultValue="api.vk.com"
android:key="apiHost"
android:title="@string/debug_domains_api" />
<Preference
android:defaultValue="oauth.vk.ru"
android:defaultValue="oauth.vk.com"
android:key="oauthHost"
android:title="@string/debug_domains_oauth" />
<Preference
android:defaultValue="static.vk.ru"
android:defaultValue="static.vk.com"
android:key="vkUiHostUri"
android:title="VK UI host uri" />
<Preference
android:defaultValue="vk.ru/spa"
android:defaultValue="vk.com/spa"
android:key="spaUri"
android:title="VK UI SPA uri" />
<Preference
android:defaultValue="m.vk.ru"
android:defaultValue="m.vk.com"
android:key="awayPhpDomain"
android:title="@string/debug_domains_awayphp" />
</PreferenceCategory>
@@ -246,7 +246,7 @@
android:key="__dbg_test_crash"
android:title="@string/debug_tests_crash" />
<EditTextPreference
android:defaultValue="https://static.vk.ru/demo"
android:defaultValue="https://static.vk.com/demo"
android:key="__dbg_spa_uri"
android:title="@string/debug_tests_spa_uri" />
<com.vtosters.lite.ui.MaterialSwitchPreference
+5
View File
@@ -131,5 +131,10 @@
<Preference
android:key="newsfeedlistmanager_reset"
android:title="@string/newsfeedlistmanager_reset_title" />
<com.vtosters.lite.ui.MaterialSwitchPreference
android:defaultValue="false"
android:key="donotgetads"
android:summary="Не запрашивать рекламу и рекомендации\nМогуть быть проблемы"
android:title="Не пытаться получать рекламу" />
</PreferenceCategory>
</PreferenceScreen>
@@ -73,7 +73,7 @@
goto :goto_0
:cond_0
const-string p1, "https://vk.ru/android_app"
const-string p1, "https://vk.com/android_app"
:goto_0
move-object v3, p1
@@ -140,7 +140,7 @@
.line 9
new-instance p1, Lcom/vtosters/lite/general/fragments/WebViewFragment$g;
const-string v0, "https://m.vk.ru/privacy"
const-string v0, "https://m.vk.com/privacy"
invoke-direct {p1, v0}, Lcom/vtosters/lite/general/fragments/WebViewFragment$g;-><init>(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;-><init>(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;-><init>(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;-><init>(Ljava/lang/String;)V
@@ -51,7 +51,7 @@
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()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;
@@ -38,7 +38,7 @@
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()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;
@@ -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;
@@ -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
@@ -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;
@@ -1739,7 +1739,7 @@
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()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;
@@ -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;
@@ -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;-><init>(ILjava/lang/String;)V
@@ -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;
@@ -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;
@@ -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;-><init>(Ljava/lang/String;)V
@@ -1041,7 +1041,7 @@
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()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;
@@ -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;
@@ -145,7 +145,7 @@
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()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;
@@ -55,7 +55,7 @@
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()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;
@@ -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;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
File diff suppressed because one or more lines are too long
@@ -136,7 +136,7 @@
invoke-direct {v1, v2}, Lcom/vk/auth/api/VKAuthApiManager;-><init>(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;
@@ -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;
@@ -648,7 +648,7 @@
move-result-object v0
const-string v1, "oauth.vk.ru"
const-string v1, "oauth.vk.com"
const-string v2, "oauthHost"
@@ -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
@@ -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;
@@ -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;
@@ -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;
@@ -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
@@ -386,7 +386,7 @@
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()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;
@@ -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
@@ -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
@@ -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
@@ -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;
@@ -64,7 +64,7 @@
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()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;
@@ -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;
@@ -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;-><init>(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;-><init>(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
@@ -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
@@ -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
@@ -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;-><init>()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;
@@ -1455,7 +1455,7 @@
invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()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;
@@ -373,7 +373,7 @@
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()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;
@@ -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;
@@ -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;
@@ -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;
@@ -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
@@ -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;
@@ -448,7 +448,7 @@
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()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;

Some files were not shown because too many files have changed in this diff Show More