Compare commits
17
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
41ac03a7e1 | ||
|
|
4bded5c565 | ||
|
|
652f5e665f | ||
|
|
05e118ff31 | ||
|
|
c63457674d | ||
|
|
c9b8dbc8dd | ||
|
|
34c6a7f8b1 | ||
|
|
74d4a5368a | ||
|
|
b2256d20e0 | ||
|
|
f887648f48 | ||
|
|
8ee29b4b83 | ||
|
|
a4c6af8ace | ||
|
|
9ec4e52eba | ||
|
|
b756bfa622 | ||
|
|
f96baa58ac | ||
|
|
d9f03a5d0e | ||
|
|
15d2daa887 |
@@ -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
-2
@@ -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() {
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"><font color=\"#aaaaaa\">Comentario para </font><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">entrada</a></string>
|
||||
<string name="wall_comment_repost"><font color=\"#aaaaaa\">Comentario para </font><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">entrada</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>
|
||||
|
||||
@@ -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"><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">жазбаға</a><font color=\"#aaaaaa\"> пікір</font></string>
|
||||
<string name="wall_comment_repost"><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">жазбаға</a><font color=\"#aaaaaa\"> пікір</font></string>
|
||||
<string name="wall_disabled">Қабырған өшірулі</string>
|
||||
<string name="wall_empty">Әзірше жазба жоқ</string>
|
||||
<string name="wall_empty_my">Әзірше жазба жоқ</string>
|
||||
|
||||
@@ -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"><font color=\"#aaaaaa\">Comentar para </font><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">post</a></string>
|
||||
<string name="wall_comment_repost"><font color=\"#aaaaaa\">Comentar para </font><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">post</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>
|
||||
|
||||
@@ -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"><font color=#aaaaaa>Комментарий к </font><a href=vklink://view/?http://vk.ru/wall%1$d_%2$d>записи</a></string>
|
||||
<string name="wall_comment_repost"><font color=#aaaaaa>Комментарий к </font><a href=vklink://view/?http://vk.com/wall%1$d_%2$d>записи</a></string>
|
||||
<string name="wall_disabled">Стена выключена</string>
|
||||
<string name="wall_empty">Здесь пока нет записей</string>
|
||||
<string name="wall_empty_my">У Вас пока нет записей</string>
|
||||
|
||||
@@ -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"><font color=\"#aaaaaa\">Коментар до </font><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">записи</a></string>
|
||||
<string name="wall_comment_repost"><font color=\"#aaaaaa\">Коментар до </font><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">записи</a></string>
|
||||
<string name="wall_disabled">Стіну вимкнено</string>
|
||||
<string name="wall_empty">Тут поки немає записів</string>
|
||||
<string name="wall_empty_my">У Вас поки немає записів</string>
|
||||
|
||||
@@ -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"><font color=\"#aaaaaa\">Comment on </font><a href=\"vklink://view/?http://vk.ru/wall%1$d_%2$d\">post</a></string>
|
||||
<string name="wall_comment_repost"><font color=\"#aaaaaa\">Comment on </font><a href=\"vklink://view/?http://vk.com/wall%1$d_%2$d\">post</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" />
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user