some hooks refactoring

This commit is contained in:
gdlbo
2022-07-15 11:09:15 +03:00
parent a073314c28
commit e06e5ac3a7
76 changed files with 348 additions and 330 deletions
@@ -1,4 +1,4 @@
package ru.vtosters.lite.utils;
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.Globals.getIdentifier;
import static ru.vtosters.lite.utils.Globals.getPrefsValue;
import static ru.vtosters.lite.utils.Globals.getString;
@@ -10,17 +10,7 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class LocaleUtils{
public static String getLocale(){
String string = getPrefsValue("lang_value");
if (string.equals("system")) {
return Locale.getDefault().getLanguage();
}
return string.isEmpty() ? Locale.getDefault().getLanguage() : string;
}
public class DateHook{
public static boolean fulltime(){
return getPrefsValue("dateformat").equals("noyear") || getPrefsValue("dateformat").equals("full") || getPrefsValue("dateformat").equals("noseconds");
}
@@ -53,4 +43,14 @@ public class LocaleUtils{
return null;
}
}
public static String getLocale(){
String string = getPrefsValue("lang_value");
if (string.equals("system")) {
return Locale.getDefault().getLanguage();
}
return string.isEmpty() ? Locale.getDefault().getLanguage() : string;
}
}
@@ -0,0 +1,17 @@
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.FragAnimationKit.setAnimations;
import static ru.vtosters.lite.utils.Globals.getPrefsValue;
import androidx.fragment.app.FragmentTransaction;
public class FragAnimationHook{
public static boolean animateOpen(FragmentTransaction transaction){
setAnimations(transaction);
return getPrefsValue("anim_rtrn_type").equals("noanim") || getPrefsValue("anim_rtrn_type").isEmpty();
}
public static void animateClose(FragmentTransaction transaction){
setAnimations(transaction);
}
}
@@ -1,4 +1,4 @@
package ru.vtosters.lite.audio.gcm;
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.Preferences.musicFixNew;
@@ -27,7 +27,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import javax.net.ssl.HttpsURLConnection;
public class GCMFix{
public class GcmHook{
private static final String agent = String.format("Android-GCM/1.5 (%s %s)", Build.MODEL, Build.MODEL);
public static ArrayList<String> langs = new ArrayList<>();
private static KeyPair pair;
@@ -38,12 +38,12 @@ public class GCMFix{
}
public static String requestTokenV2(String orig){
if (musicFixNew()) return "null"; // TODO FIX TOKENMOD v2 cyz vk shit
if (musicFixNew()) return "null";
return orig;
}
public static String requestToken(String orig){
if (musicFixNew()) return "{null}"; // TODO FIX TOKENMOD v2 cyz vk shit
if (musicFixNew()) return "{null}";
if (orig.equals("")) return requestToken();
return orig;
}
@@ -66,7 +66,7 @@ public class GCMFix{
List<String> params = new ArrayList<>();
fillParams(params, sig, pub2, xappide, Long.parseLong(aid.split(" ")[1].split(":")[0]), false);
Callback callback = str -> GCMFix.lambdaRequestToken(sb, wait, str);
Callback callback = str -> GcmHook.lambdaRequestToken(sb, wait, str);
doRequest("https://android.clients.google.com/c2dm/register3", "POST", params, aid, callback);
while(!wait.get()) {
@@ -81,7 +81,7 @@ public class GCMFix{
String sig2 = getSig(pub22);
params.clear();
fillParams(params, sig2, pub22, xappide, Long.parseLong(aid.split(" ")[1].split(":")[0]), true);
doRequest("https://android.clients.google.com/c2dm/register3", "POST", params, aid, GCMFix::lambda$requestToken$1);
doRequest("https://android.clients.google.com/c2dm/register3", "POST", params, aid, GcmHook::lambda$requestToken$1);
return token;
} catch (FileNotFoundException e2) {
return requestToken();
@@ -1,4 +1,4 @@
package ru.vtosters.lite.utils;
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.f0x1d.VTVerifications.isDeveloper;
import static ru.vtosters.lite.f0x1d.VTVerifications.isPrometheus;
@@ -0,0 +1,62 @@
package ru.vtosters.lite.hooks;
import static java.lang.Long.MAX_VALUE;
import static ru.vtosters.lite.utils.Globals.getPrefsValue;
import static ru.vtosters.lite.utils.Newsfeed.checkCaption;
import static ru.vtosters.lite.utils.Newsfeed.checkCopyright;
import static ru.vtosters.lite.utils.Newsfeed.injectFiltersReposts;
import static ru.vtosters.lite.utils.Newsfeed.isAds;
import static ru.vtosters.lite.utils.Newsfeed.isAuthorRecommendations;
import static ru.vtosters.lite.utils.Newsfeed.isBadNew;
import static ru.vtosters.lite.utils.Newsfeed.isFriendsRecommendations;
import static ru.vtosters.lite.utils.Newsfeed.isGroupAds;
import static ru.vtosters.lite.utils.Newsfeed.isMusicBlock;
import static ru.vtosters.lite.utils.Newsfeed.isNewsBlock;
import static ru.vtosters.lite.utils.Newsfeed.isPostRecommendations;
import static ru.vtosters.lite.utils.Newsfeed.isRecomsGroup;
import static ru.vtosters.lite.utils.Preferences.vkme;
import com.vk.core.preference.Preference;
import org.json.JSONException;
import org.json.JSONObject;
public class NewsfeedHook{
public static boolean injectFilters(JSONObject obj) throws JSONException{
var optString = obj.optString("type", "");
if (isAds(optString) || isAuthorRecommendations(optString) || isPostRecommendations(optString) || isFriendsRecommendations(optString) || isRecomsGroup(optString) || isMusicBlock(optString) || isNewsBlock(optString)) {
return false;
}
optString = obj.optString("post_type", "");
if (isAds(optString) || isAuthorRecommendations(optString) || isPostRecommendations(optString) || isFriendsRecommendations(optString) || isMusicBlock(optString) || isNewsBlock(optString)) {
return false;
}
optString = obj.optString("filters", "");
if (isAds(optString) || isAuthorRecommendations(optString) || isPostRecommendations(optString) || isFriendsRecommendations(optString)) {
return false;
}
if (checkCopyright(obj)) return false;
if (isBadNew(obj.optString("text", ""))) return false;
if (checkCaption(obj)) return false;
if (isGroupAds(obj)) return false;
return !injectFiltersReposts(obj);
} // inject our filters to newsfeed, getpost and discover
public static long getUpdateNewsfeed(boolean refresh_timeout){
if (vkme()) {
return MAX_VALUE;
}
switch(getPrefsValue("newsupdate")) {
case "no_update":
return MAX_VALUE;
case "imd_update":
return 10000L;
default:
return Preference.b().getLong(refresh_timeout ? "refresh_timeout_top" : "refresh_timeout_recent", 600000L);
}
}
}
@@ -1,5 +1,4 @@
package ru.vtosters.lite.utils;
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.net.Request.makeRequest;
import static ru.vtosters.lite.utils.Globals.getString;
import static ru.vtosters.lite.utils.Globals.getUserToken;
@@ -12,7 +11,7 @@ import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class OnlineFormatter{
public class OnlineFormatterHook{
private static String AppName;
public static String getAppName(int appid){ // thanks to egormetlitsky (vk mp3 mod) for helping with online ids
@@ -160,3 +159,4 @@ public class OnlineFormatter{
return getString("custom_online") + " " + appname;
}
}
@@ -1,4 +1,4 @@
package ru.vtosters.lite.utils;
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
@@ -9,7 +9,7 @@ import android.widget.TextView;
import com.vk.dto.polls.PollOption;
import com.vk.polls.ui.views.PollOptionView;
public class PollUtils{
public class PollHook{
public static void show(PollOptionView view){
if (!getBoolValue("pollresults", false)) return;
@@ -1,7 +1,9 @@
package ru.vtosters.lite.utils;
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.Globals.convertDpToPixel;
import static ru.vtosters.lite.utils.Globals.edit;
import static ru.vtosters.lite.utils.Globals.getPrefsValue;
import static ru.vtosters.lite.utils.Globals.restartApplication;
import static ru.vtosters.lite.utils.Proxy.apiproxy;
import static ru.vtosters.lite.utils.Proxy.isZaboronaEnabled;
import static ru.vtosters.lite.utils.Themes.getAccentColor;
import static ru.vtosters.lite.utils.Themes.getAlertStyle;
@@ -11,6 +13,7 @@ import android.annotation.SuppressLint;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.util.Log;
import android.util.TypedValue;
import android.view.View;
import android.widget.RadioButton;
@@ -86,4 +89,47 @@ public class ProxyHook{
alert.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(getAccentColor());
alert.getButton(DialogInterface.BUTTON_NEUTRAL).setTextColor(getAccentColor());
}
public static String linkReplacer(String link){
var vkapi = "api.vk.com";
var oauth = "oauth.vk.com";
var vkstatic = "static.vk.com";
var proxyapi = getPrefsValue("proxyapi");
var proxyoauth = getPrefsValue("proxyoauth");
var proxystatic = getPrefsValue("proxystatic");
if (!apiproxy() || link.isEmpty()) {
return link;
}
if (proxyapi.isEmpty() || proxyoauth.isEmpty() || proxystatic.isEmpty()) {
Log.d("VTLite", "Proxy is not set" + " " + proxyapi + " " + proxyoauth + " " + proxystatic);
return link;
}
if (link.contains(vkapi)) {
return link.replace(proxyapi, vkapi);
}
if (link.contains(oauth)) {
return link.replace(proxyoauth, oauth);
}
if (link.contains(vkstatic)) {
return link.replace(proxystatic, vkstatic);
}
return link;
}
public static String getAwayPhpCom(){
var proxyapi = getPrefsValue("proxyapi");
if (apiproxy() & !proxyapi.isEmpty()) {
return proxyapi;
}
return "m.vk.com";
}
}
@@ -0,0 +1,82 @@
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.ui.fragments.dockbar.DockBarManager.getInstance;
import static ru.vtosters.lite.utils.Globals.getPrefsValue;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import static ru.vtosters.lite.utils.Preferences.milkshake;
import static ru.vtosters.lite.utils.Preferences.superapp;
import static ru.vtosters.lite.utils.Preferences.useNewSettings;
import static ru.vtosters.lite.utils.Preferences.vkme;
import com.vk.apps.AppsFragment;
import com.vk.discover.ThemedFeedFragment;
import com.vk.fave.fragments.FaveTabFragment;
import com.vk.menu.MenuFragment;
import com.vk.menu.SearchMenuFragment;
import com.vk.music.fragment.MusicCatalogFragment1;
import com.vk.music.fragment.MusicFragment;
import com.vk.newsfeed.HomeFragment;
import com.vk.newsfeed.NewsfeedFragment;
import com.vk.notifications.NotificationsContainerFragment;
import com.vk.profile.catalog.CommunitiesCatalogFragment;
import com.vk.superapp.SuperAppFragment;
import com.vtosters.lite.fragments.ProfileFragment;
import com.vtosters.lite.fragments.friends.FriendsFragment;
import com.vtosters.lite.fragments.gifts.BirthdaysFragment;
import com.vtosters.lite.fragments.lives.LivesTabsFragment;
import com.vtosters.lite.fragments.money.MoneyTransfersFragment;
import com.vtosters.lite.fragments.p2.DocumentsViewFragment;
import com.vtosters.lite.fragments.s2.GroupsFragment1;
import com.vtosters.lite.fragments.t2.c.DialogsFragment;
import com.vtosters.lite.fragments.y2.VideosFragment;
import com.vtosters.lite.general.fragments.GamesFragment;
import com.vtosters.lite.general.fragments.PhotosFragment;
public class StartFragmentHook{
public static Class getStartFragment(){
if (vkme()) {
return DialogsFragment.class;
}
switch(getPrefsValue("start_values")) {
case "newsfeed":
return milkshake() ? HomeFragment.class : NewsfeedFragment.class;
case "messenger":
return DialogsFragment.class;
case "groups":
return milkshake() ? CommunitiesCatalogFragment.class : GroupsFragment1.class;
case "music":
return getBoolValue("musicnewcatalog", true) ? MusicCatalogFragment1.class : MusicFragment.class;
case "friends":
return FriendsFragment.class;
case "photos":
return PhotosFragment.class;
case "videos":
return VideosFragment.class;
case "settings":
return useNewSettings();
case "apps":
return AppsFragment.class;
case "discover":
return ThemedFeedFragment.class;
case "notifications":
return NotificationsContainerFragment.class;
case "money":
return MoneyTransfersFragment.class;
case "games":
return GamesFragment.class;
case "liked":
return FaveTabFragment.class;
case "menu":
return milkshake() ? (superapp() ? SuperAppFragment.class : SearchMenuFragment.class) : MenuFragment.class;
case "profile":
return ProfileFragment.class;
case "lives":
return LivesTabsFragment.class;
case "docs":
return DocumentsViewFragment.class;
case "brtd":
return BirthdaysFragment.class;
default:
return getInstance().getSelectedTabs().get(0).fragmentClass;
}
}
}
@@ -0,0 +1,15 @@
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.Preferences.*;
import static ru.vtosters.lite.utils.Preferences.adsstories;
import ru.vtosters.lite.utils.Preferences;
public class StoriesHook{
public static String ads(){
return adsstories() ? "null" : "ads";
}
public static boolean showstories(){
return stories();
}
}
@@ -1,5 +1,4 @@
package ru.vtosters.lite.utils;
package ru.vtosters.lite.hooks;
import static ru.vtosters.lite.utils.Preferences.feedcache;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import static ru.vtosters.lite.utils.Preferences.milkshake;
@@ -10,7 +9,7 @@ import static ru.vtosters.lite.utils.Preferences.superapp;
import com.vk.toggle.FeatureManager;
import com.vk.toggle.Features;
public class Toggles{
public class TogglesHook{
public static boolean shouldPatch(Features.Type feature){
switch(feature) {
case AB_IM_LONGPOLL_MSG_BATCHING:
@@ -1,5 +1,4 @@
package ru.vtosters.lite.utils;
package ru.vtosters.lite.hooks;
import static android.util.Base64.encodeToString;
import static ru.vtosters.lite.utils.Globals.getContext;
import static ru.vtosters.lite.utils.Globals.getPrefsValue;
@@ -14,13 +13,16 @@ import static ru.vtosters.lite.utils.Themes.hex;
import android.webkit.WebView;
import com.vk.articles.preload.WebCachePreloader;
import com.vtosters.lite.data.ThemeTracker;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
public class VKUIInjector{
public class VKUIHook{
public static boolean isLoaded = false;
private static String loadedCSS = "";
private static String loadedCSSAmoled = "";
@@ -90,4 +92,11 @@ public class VKUIInjector{
inject(webView, encodeToString(sb.toString().getBytes(), 2));
}
}
public static void clearWebCache(){
ThemeTracker.a();
isLoaded = false;
new WebView(getContext()).clearCache(true);
WebCachePreloader.e();
}
}
@@ -31,16 +31,6 @@ public class FragAnimationKit{
private static final int SSTactCloseEnter = resources.getIdentifier("task_close_enter", "anim", "android");
private static final int SSTactCloseExit = resources.getIdentifier("task_close_exit", "anim", "android");
public static boolean animateOpen(FragmentTransaction transaction){
setAnimations(transaction);
return getPrefsValue("anim_rtrn_type").equals("noanim") || getPrefsValue("anim_rtrn_type").isEmpty();
}
public static void animateClose(FragmentTransaction transaction){
setAnimations(transaction);
}
public static void setAnimations(FragmentTransaction transaction){
if (transaction != null && !getPrefsValue("anim_rtrn_type").equals("noanim")) {
switch(getPrefsValue("anim_rtrn_type")) {
@@ -4,14 +4,14 @@ import static android.graphics.Bitmap.Config;
import static android.graphics.Bitmap.createBitmap;
import static android.graphics.Bitmap.createScaledBitmap;
import static androidx.core.content.ContextCompat.getDrawable;
import static ru.vtosters.lite.hooks.DateHook.getLocale;
import static ru.vtosters.lite.hooks.VKUIHook.isLoaded;
import static ru.vtosters.lite.utils.CacheUtils.getInstance;
import static ru.vtosters.lite.utils.LocaleUtils.getLocale;
import static ru.vtosters.lite.utils.Preferences.checkupdates;
import static ru.vtosters.lite.utils.Preferences.preferences;
import static ru.vtosters.lite.utils.ServerDialog.sendRequest;
import static ru.vtosters.lite.utils.Themes.isDarkTheme;
import static ru.vtosters.lite.utils.Themes.setNeededTheme;
import static ru.vtosters.lite.utils.VKUIInjector.isLoaded;
import android.app.Activity;
import android.app.Application;
@@ -69,6 +69,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import ru.vtosters.lite.hooks.VKUIHook;
import ru.vtosters.lite.ui.dialogs.DisableBattery;
import ru.vtosters.lite.ui.dialogs.InstallGMS;
import ru.vtosters.lite.ui.dialogs.OTADialog;
@@ -333,13 +334,6 @@ public class Globals{
return getContext().getPackageName();
}
public static void clearWebCache(){
ThemeTracker.a();
isLoaded = false;
new WebView(getContext()).clearCache(true);
WebCachePreloader.e();
}
public static int convertDpToPixel(float f){
return (int) (f * ((float) getResources().getDisplayMetrics().densityDpi / 160.0f));
}
@@ -100,31 +100,6 @@ public class Newsfeed{
}
} // Get needed filter list from assets
public static boolean injectFilters(JSONObject obj) throws JSONException{
var optString = obj.optString("type", "");
if (isAds(optString) || isAuthorRecommendations(optString) || isPostRecommendations(optString) || isFriendsRecommendations(optString) || isRecomsGroup(optString) || isMusicBlock(optString) || isNewsBlock(optString)) {
return false;
}
optString = obj.optString("post_type", "");
if (isAds(optString) || isAuthorRecommendations(optString) || isPostRecommendations(optString) || isFriendsRecommendations(optString) || isMusicBlock(optString) || isNewsBlock(optString)) {
return false;
}
optString = obj.optString("filters", "");
if (isAds(optString) || isAuthorRecommendations(optString) || isPostRecommendations(optString) || isFriendsRecommendations(optString)) {
return false;
}
if (checkCopyright(obj)) return false;
if (isBadNew(obj.optString("text", ""))) return false;
if (checkCaption(obj)) return false;
if (isGroupAds(obj)) return false;
return !injectFiltersReposts(obj);
} // inject our filters to newsfeed, getpost and discover
public static boolean injectFiltersReposts(JSONObject obj){
if (obj.optJSONArray("copy_history") == null) return false;
@@ -143,7 +118,7 @@ public class Newsfeed{
return isBadNew(Array);
} // get repost information and inject our text filters
private static boolean checkCopyright(JSONObject json) throws JSONException{
public static boolean checkCopyright(JSONObject json) throws JSONException{
if (json.opt("copyright") != null) {
var copyright = json.getJSONObject("copyright");
var copyrightlink = copyright.getString("link");
@@ -158,15 +133,15 @@ public class Newsfeed{
return false;
}
private static boolean isRecomsGroup(String src){
public static boolean isRecomsGroup(String src){
return src.equals("recommended_groups") && authorsrecomm();
}
private static boolean isMusicBlock(String src){
public static boolean isMusicBlock(String src){
return (src.equals("recommended_audios") || src.equals("recommended_artists") || src.equals("recommended_playlists")) && authorsrecomm();
}
private static boolean isNewsBlock(String src){
public static boolean isNewsBlock(String src){
return (src.equals("tags_suggestions")) && Preferences.ads();
}
@@ -227,70 +202,4 @@ public class Newsfeed{
public static boolean isGroupAds(JSONObject obj){
return (obj.optInt("marked_as_ads", 0) == 1) && adsgroup();
}
public static String storyads(){
return adsstories() ? "null" : "ads";
}
public static long getUpdateNewsfeed(boolean refresh_timeout){
if (vkme()) {
return MAX_VALUE;
}
switch(getPrefsValue("newsupdate")) {
case "no_update":
return MAX_VALUE;
case "imd_update":
return 10000L;
default:
return Preference.b().getLong(refresh_timeout ? "refresh_timeout_top" : "refresh_timeout_recent", 600000L);
}
}
public static Class getStartFragment(){
if (vkme()) {
return DialogsFragment.class;
}
switch(getPrefsValue("start_values")) {
case "newsfeed":
return milkshake() ? HomeFragment.class : NewsfeedFragment.class;
case "messenger":
return DialogsFragment.class;
case "groups":
return milkshake() ? CommunitiesCatalogFragment.class : GroupsFragment1.class;
case "music":
return getBoolValue("musicnewcatalog", true) ? MusicCatalogFragment1.class : MusicFragment.class;
case "friends":
return FriendsFragment.class;
case "photos":
return PhotosFragment.class;
case "videos":
return VideosFragment.class;
case "settings":
return useNewSettings();
case "apps":
return AppsFragment.class;
case "discover":
return ThemedFeedFragment.class;
case "notifications":
return NotificationsContainerFragment.class;
case "money":
return MoneyTransfersFragment.class;
case "games":
return GamesFragment.class;
case "liked":
return FaveTabFragment.class;
case "menu":
return milkshake() ? (superapp() ? SuperAppFragment.class : SearchMenuFragment.class) : MenuFragment.class;
case "profile":
return ProfileFragment.class;
case "lives":
return LivesTabsFragment.class;
case "docs":
return DocumentsViewFragment.class;
case "brtd":
return BirthdaysFragment.class;
default:
return getInstance().getSelectedTabs().get(0).fragmentClass;
}
}
}
@@ -1,61 +0,0 @@
package ru.vtosters.lite.utils;
import static ru.vtosters.lite.utils.Preferences.dev;
import static ru.vtosters.lite.utils.Preferences.opusmodule;
import android.util.Log;
import com.vk.medianative.MediaNative;
import java.nio.ByteBuffer;
public class OpusLoader{
private static long timetracker;
private static boolean inited;
public static void LoadLibrary(String libname){
try {
System.loadLibrary(libname);
inited = true;
} catch (UnsatisfiedLinkError unused2) {
if (dev()) Log.d("VTLite", "Failed to load " + libname);
inited = false;
}
}
public static long getLength(){
if (isReadyToUse()) {
long length = System.currentTimeMillis() - timetracker;
timetracker = System.currentTimeMillis();
return length;
}
return 0L;
}
public static int AudioStartRecordBridge(String str){
if (isReadyToUse()) {
// Init custom AudioStartRecord
timetracker = System.currentTimeMillis();
return 1;
}
return MediaNative.audioStartRecord(str);
}
public static int AudioWriteFrameBridge(ByteBuffer buffer, int length){
if (isReadyToUse()) {
// Init custom AudioWriteFrame
}
return MediaNative.audioWriteFrame(buffer, length);
}
public static void AudioStopRecordBridge(){
if (isReadyToUse()) {
// Init custom AudioStopRecord
}
MediaNative.audioStopRecord();
}
private static boolean isReadyToUse(){
return opusmodule() && inited;
}
}
@@ -7,39 +7,6 @@ import static ru.vtosters.lite.utils.Globals.getPrefsValue;
import android.util.Log;
public class Proxy{
public static String linkReplacer(String link){
var vkapi = "api.vk.com";
var oauth = "oauth.vk.com";
var vkstatic = "static.vk.com";
var proxyapi = getPrefsValue("proxyapi");
var proxyoauth = getPrefsValue("proxyoauth");
var proxystatic = getPrefsValue("proxystatic");
if (!apiproxy() || link.isEmpty()) {
return link;
}
if (proxyapi.isEmpty() || proxyoauth.isEmpty() || proxystatic.isEmpty()) {
Log.d("VTLite", "Proxy is not set" + " " + proxyapi + " " + proxyoauth + " " + proxystatic);
return link;
}
if (link.contains(vkapi)) {
return link.replace(proxyapi, vkapi);
}
if (link.contains(oauth)) {
return link.replace(proxyoauth, oauth);
}
if (link.contains(vkstatic)) {
return link.replace(proxystatic, vkstatic);
}
return link;
}
public static String getApi(){
var proxyapi = getPrefsValue("proxyapi");
@@ -50,16 +17,6 @@ public class Proxy{
return "api.vk.com";
}
public static String getAwayPhpCom(){
var proxyapi = getPrefsValue("proxyapi");
if (apiproxy() & !proxyapi.isEmpty()) {
return proxyapi;
}
return "m.vk.com";
}
public static Boolean isZaboronaEnabled(){
return getPrefsValue("proxy").equals("zaborona");
}
@@ -1,10 +1,10 @@
package ru.vtosters.lite.utils;
import static ru.vtosters.lite.hooks.DateHook.getLocale;
import static ru.vtosters.lite.utils.About.getBuildNumber;
import static ru.vtosters.lite.utils.Globals.getPrefsValue;
import static ru.vtosters.lite.utils.Globals.getUserSecret;
import static ru.vtosters.lite.utils.Globals.getUserToken;
import static ru.vtosters.lite.utils.LocaleUtils.getLocale;
import static ru.vtosters.lite.utils.Preferences.dev;
import static ru.vtosters.lite.utils.Preferences.vksans;
import static ru.vtosters.lite.utils.Proxy.apiproxy;
@@ -1,6 +1,7 @@
package ru.vtosters.lite.utils;
import static android.view.View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
import static ru.vtosters.lite.hooks.VKUIHook.isLoaded;
import static ru.vtosters.lite.ui.wallpapers.WallpapersHooks.getWallpaper;
import static ru.vtosters.lite.utils.Globals.edit;
import static ru.vtosters.lite.utils.Globals.getCenterScreenCoords;
@@ -8,14 +9,11 @@ import static ru.vtosters.lite.utils.Globals.getCurrentActivity;
import static ru.vtosters.lite.utils.Globals.getIdentifier;
import static ru.vtosters.lite.utils.Globals.getPrefsValue;
import static ru.vtosters.lite.utils.Globals.getResources;
import static ru.vtosters.lite.utils.Globals.sendToast;
import static ru.vtosters.lite.utils.Preferences.color_grishka;
import static ru.vtosters.lite.utils.Preferences.milkshake;
import static ru.vtosters.lite.utils.Preferences.navbar;
import static ru.vtosters.lite.utils.Preferences.systemtheme;
import static ru.vtosters.lite.utils.Preferences.vkme;
import static ru.vtosters.lite.utils.ReflectionUtils.getField;
import static ru.vtosters.lite.utils.VKUIInjector.isLoaded;
import android.annotation.SuppressLint;
import android.app.Activity;
@@ -50,6 +48,7 @@ import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import kotlin.u.KProperty5;
import ru.vtosters.lite.hooks.VKUIHook;
public class Themes{
public static List<String> accentColors = Arrays.asList(
@@ -103,7 +103,7 @@
const-string v0, "api.vk.com"
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -123,7 +123,7 @@
const-string v0, "api.vk.com"
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -1260,7 +1260,7 @@
move-result-object v0
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -1269,7 +1269,7 @@
:cond_0
const-string v0, "api.vk.com"
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -122,7 +122,7 @@
move-result-object v10
invoke-static {v10}, Lru/vtosters/lite/utils/Newsfeed;->injectFilters(Lorg/json/JSONObject;)Z
invoke-static {v10}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z
move-result v11
@@ -539,7 +539,7 @@
move-object/from16 v21, v5
invoke-static {v13}, Lru/vtosters/lite/utils/Newsfeed;->injectFilters(Lorg/json/JSONObject;)Z
invoke-static {v13}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z
move-result v16
@@ -65,7 +65,7 @@
move-result-object v2
invoke-static {v2}, Lru/vtosters/lite/utils/Newsfeed;->injectFilters(Lorg/json/JSONObject;)Z
invoke-static {v2}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z
move-result v10
@@ -242,7 +242,7 @@
move-result-object v2
invoke-static {v2}, Lru/vtosters/lite/utils/Newsfeed;->injectFilters(Lorg/json/JSONObject;)Z
invoke-static {v2}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z
move-result v10
@@ -137,7 +137,7 @@
const-string v4, "receipt"
invoke-static {v3}, Lru/vtosters/lite/audio/gcm/GCMFix;->requestToken(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v3}, Lru/vtosters/lite/hooks/GcmHook;->requestToken(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
@@ -169,7 +169,7 @@
const-string v5, "receipt2"
invoke-static {v4}, Lru/vtosters/lite/audio/gcm/GCMFix;->requestTokenV2(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v4}, Lru/vtosters/lite/hooks/GcmHook;->requestTokenV2(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
@@ -71,7 +71,7 @@
const-string v0, "api.vk.com"
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -114,7 +114,7 @@
const-string v3, "https://oauth.vk.com/blank.html"
invoke-static {v3}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v3}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
@@ -335,7 +335,7 @@
.method public onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
.locals 0
invoke-static/range {p1 .. p1}, Lru/vtosters/lite/utils/VKUIInjector;->inject(Landroid/webkit/WebView;)V
invoke-static/range {p1 .. p1}, Lru/vtosters/lite/hooks/VKUIHook;->inject(Landroid/webkit/WebView;)V
.line 1
invoke-super {p0, p1, p2}, Landroid/webkit/WebViewClient;->onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
@@ -202,7 +202,7 @@
:cond_0
const-string v0, "https://oauth.vk.com/authorize"
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
File diff suppressed because one or more lines are too long
@@ -47,7 +47,7 @@
const-string v1, "static.vk.com/restore"
invoke-static {v1}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v1}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
@@ -657,7 +657,7 @@
move-result-object v0
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -210,7 +210,7 @@
invoke-virtual {p2, v0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
invoke-static {p2}, Lru/vtosters/lite/utils/ProxyHook;->hookAuth(Landroid/view/View;)V
invoke-static {p2}, Lru/vtosters/lite/hooks/ProxyHook;->hookAuth(Landroid/view/View;)V
.line 7
invoke-direct {p0}, Lcom/vk/auth/w/a/ChooseAuthMethodFragment;->K4()V
@@ -56,7 +56,7 @@
const-string v0, "oauth.vk.com"
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -166,7 +166,7 @@
const-string v2, "https://static.vk.com/promo_codes/"
invoke-static {v2}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v2}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
@@ -107,7 +107,7 @@
move-result-object p1
invoke-static {p1}, Lru/vtosters/lite/utils/JsonInjectors;->friends(Lorg/json/JSONObject;)Lorg/json/JSONObject;
invoke-static {p1}, Lru/vtosters/lite/hooks/JsonInjectors;->friends(Lorg/json/JSONObject;)Lorg/json/JSONObject;
move-result-object p1
@@ -79,7 +79,7 @@
move-result-object p1
invoke-static {p1}, Lru/vtosters/lite/utils/JsonInjectors;->friends(Lorg/json/JSONObject;)Lorg/json/JSONObject;
invoke-static {p1}, Lru/vtosters/lite/hooks/JsonInjectors;->friends(Lorg/json/JSONObject;)Lorg/json/JSONObject;
move-result-object p1
@@ -640,7 +640,7 @@
const-string v0, ""
:goto_0
invoke-static {}, Lru/vtosters/lite/utils/Proxy;->getAwayPhpCom()Ljava/lang/String;
invoke-static {}, Lru/vtosters/lite/hooks/ProxyHook;->getAwayPhpCom()Ljava/lang/String;
move-result-object v0
@@ -219,7 +219,7 @@
.method private final a(ZJ)Ljava/lang/String;
.locals 2
invoke-static {p1, p2, p3}, Lru/vtosters/lite/utils/LocaleUtils;->getFormattedDate(ZJ)Ljava/lang/String;
invoke-static {p1, p2, p3}, Lru/vtosters/lite/hooks/DateHook;->getFormattedDate(ZJ)Ljava/lang/String;
move-result-object v0
@@ -186,7 +186,7 @@
if-eqz v0, :cond_0
invoke-static {v0}, Lru/vtosters/lite/utils/FragAnimationKit;->animateOpen(Landroidx/fragment/app/FragmentTransaction;)Z
invoke-static {v0}, Lru/vtosters/lite/hooks/FragAnimationHook;->animateOpen(Landroidx/fragment/app/FragmentTransaction;)Z
move-result v1
@@ -355,7 +355,7 @@
move-result-object v0
invoke-static {v0}, Lru/vtosters/lite/utils/FragAnimationKit;->animateClose(Landroidx/fragment/app/FragmentTransaction;)V
invoke-static {v0}, Lru/vtosters/lite/hooks/FragAnimationHook;->animateClose(Landroidx/fragment/app/FragmentTransaction;)V
iput-object v0, p0, Lcom/vk/core/fragments/j/b/ParentSupportFragmentManager;->b:Landroidx/fragment/app/FragmentTransaction;
@@ -187,7 +187,7 @@
const-string v3, "https://api.vk.com/method/execute"
invoke-static {v3}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v3}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
@@ -38,7 +38,7 @@
.method public final a(Lorg/json/JSONObject;)Lcom/vk/dto/menu/MenuResponse;
.locals 9
invoke-static {p1}, Lru/vtosters/lite/utils/JsonInjectors;->menu(Lorg/json/JSONObject;)Lorg/json/JSONObject;
invoke-static {p1}, Lru/vtosters/lite/hooks/JsonInjectors;->menu(Lorg/json/JSONObject;)Lorg/json/JSONObject;
move-result-object p1
@@ -181,7 +181,7 @@
.method public final a(Lorg/json/JSONObject;)Lcom/vk/dto/menu/SuperAppMenuResponse;
.locals 9
invoke-static {p1}, Lru/vtosters/lite/utils/JsonInjectors;->superapp(Lorg/json/JSONObject;)Lorg/json/JSONObject;
invoke-static {p1}, Lru/vtosters/lite/hooks/JsonInjectors;->superapp(Lorg/json/JSONObject;)Lorg/json/JSONObject;
move-result-object p1
@@ -309,7 +309,7 @@
invoke-static {v5, v6, v2, v3}, Lcom/vk/dto/stories/model/GetStoriesResponse;->a(Lorg/json/JSONArray;Ljava/util/Collection;Landroid/util/SparseArray;Landroid/util/SparseArray;)V
invoke-static {}, Lru/vtosters/lite/utils/Newsfeed;->storyads()Ljava/lang/String;
invoke-static {}, Lru/vtosters/lite/hooks/StoriesHook;->ads()Ljava/lang/String;
move-result-object v5
@@ -342,7 +342,7 @@
.line 1
iget v1, p0, Lcom/vk/dto/user/VisibleStatus;->c:I
invoke-static {v1}, Lru/vtosters/lite/utils/OnlineFormatter;->getOnline(I)Ljava/lang/String;
invoke-static {v1}, Lru/vtosters/lite/hooks/OnlineFormatterHook;->getOnline(I)Ljava/lang/String;
move-result-object v0
@@ -275,7 +275,7 @@
const-string v3, "api.vk.com"
invoke-static {v3}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v3}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
@@ -622,7 +622,7 @@
move-result-object v4
invoke-static {v1}, Lru/vtosters/lite/utils/JsonInjectors;->convBar(Lorg/json/JSONObject;)Lorg/json/JSONObject;
invoke-static {v1}, Lru/vtosters/lite/hooks/JsonInjectors;->convBar(Lorg/json/JSONObject;)Lorg/json/JSONObject;
move-result-object v6
@@ -45,7 +45,7 @@
invoke-direct {p1, v0}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
invoke-static {}, Lru/vtosters/lite/utils/LocaleUtils;->setDateFormat()Ljava/text/SimpleDateFormat;
invoke-static {}, Lru/vtosters/lite/hooks/DateHook;->setDateFormat()Ljava/text/SimpleDateFormat;
move-result-object p1
@@ -244,7 +244,7 @@
.line 6
invoke-static {v0, p1}, Lcom/vk/core/ui/themes/VKThemeHelper;->b(Landroid/app/Activity;[F)V
invoke-static {}, Lru/vtosters/lite/utils/Globals;->clearWebCache()V
invoke-static {}, Lru/vtosters/lite/hooks/VKUIHook;->clearWebCache()V
:cond_0
return-void
@@ -1176,7 +1176,7 @@
.method private final b(Lcom/vk/dto/stories/model/GetStoriesResponse;)V
.locals 4
invoke-static {}, Lru/vtosters/lite/utils/Preferences;->stories()Z
invoke-static {}, Lru/vtosters/lite/hooks/StoriesHook;->showstories()Z
move-result v0
@@ -756,7 +756,7 @@
:goto_5
invoke-virtual {v0, v2}, Landroid/widget/TextView;->setVisibility(I)V
invoke-static {p0}, Lru/vtosters/lite/utils/PollUtils;->show(Lcom/vk/polls/ui/views/PollOptionView;)V
invoke-static {p0}, Lru/vtosters/lite/hooks/PollHook;->show(Lcom/vk/polls/ui/views/PollOptionView;)V
.line 18
iget-object v0, p0, Lcom/vk/polls/ui/views/PollOptionView;->c:Landroid/widget/TextView;
@@ -56,7 +56,7 @@
const-string v4, "static.vk.com"
invoke-static {v4}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v4}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
@@ -84,7 +84,7 @@
const-string v4, "static.vk.com"
invoke-static {v4}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v4}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
@@ -558,13 +558,13 @@
.method public static final declared-synchronized b(Lcom/vk/toggle/Features$Type;)Z
.locals 2
invoke-static {p0}, Lru/vtosters/lite/utils/Toggles;->shouldPatch(Lcom/vk/toggle/Features$Type;)Z
invoke-static {p0}, Lru/vtosters/lite/hooks/TogglesHook;->shouldPatch(Lcom/vk/toggle/Features$Type;)Z
move-result v0
if-eqz v0, :cond_b
invoke-static {p0}, Lru/vtosters/lite/utils/Toggles;->redirect(Lcom/vk/toggle/Features$Type;)Z
invoke-static {p0}, Lru/vtosters/lite/hooks/TogglesHook;->redirect(Lcom/vk/toggle/Features$Type;)Z
move-result p0
@@ -132,7 +132,7 @@
move-result-object v0
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -1217,7 +1217,7 @@
const-string v3, "static.vk.com"
invoke-static {v3}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v3}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
@@ -1968,7 +1968,7 @@
move-result-object v1
invoke-static {v1}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v1}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
@@ -1491,7 +1491,7 @@
move-result-object p1
invoke-static {p1}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {p1}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
@@ -1585,7 +1585,7 @@
const-string p3, "https://oauth.vk.com/authorize"
invoke-static {p3}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {p3}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object p3
@@ -240,7 +240,7 @@
move-result-object p3
invoke-static {p3}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {p3}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object p3
@@ -182,7 +182,7 @@
.line 16
:goto_0
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -300,7 +300,7 @@
.method public onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
.locals 3
invoke-static/range {p1 .. p1}, Lru/vtosters/lite/utils/VKUIInjector;->inject(Landroid/webkit/WebView;)V
invoke-static/range {p1 .. p1}, Lru/vtosters/lite/hooks/VKUIHook;->inject(Landroid/webkit/WebView;)V
const/4 v0, 0x2
@@ -121,7 +121,7 @@
move-result-object p1
invoke-static {}, Lru/vtosters/lite/utils/Newsfeed;->getStartFragment()Ljava/lang/Class;
invoke-static {}, Lru/vtosters/lite/hooks/StartFragmentHook;->getStartFragment()Ljava/lang/Class;
move-result-object p2
@@ -639,7 +639,7 @@
move-result-object v0
invoke-static {}, Lru/vtosters/lite/utils/Newsfeed;->getStartFragment()Ljava/lang/Class;
invoke-static {}, Lru/vtosters/lite/hooks/StartFragmentHook;->getStartFragment()Ljava/lang/Class;
move-result-object v1
@@ -97,7 +97,7 @@
const-string v4, "oauth.vk.com"
invoke-static {v4}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v4}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
@@ -207,7 +207,7 @@
const-string v4, "https://oauth.vk.com/blank.html"
invoke-static {v4}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v4}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
@@ -296,7 +296,7 @@
const-string v1, "oauth.vk.com"
invoke-static {v1}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v1}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
@@ -82,7 +82,7 @@
.line 3
:goto_0
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -3016,7 +3016,7 @@
new-instance v0, Ljava/text/SimpleDateFormat;
invoke-static {}, Lru/vtosters/lite/utils/LocaleUtils;->getDateFormat()Ljava/lang/String;
invoke-static {}, Lru/vtosters/lite/hooks/DateHook;->getDateFormat()Ljava/lang/String;
move-result-object v3
@@ -3032,7 +3032,7 @@
.param p0, "s" # I
.line 17
invoke-static {}, Lru/vtosters/lite/utils/LocaleUtils;->fulltime()Z
invoke-static {}, Lru/vtosters/lite/hooks/DateHook;->fulltime()Z
move-result v0
@@ -326,7 +326,7 @@
const-string v3, "oauth.vk.com"
invoke-static {v3}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v3}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
@@ -208,7 +208,7 @@
const-string v0, "api.vk.com"
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -305,7 +305,7 @@
const-string v3, "api.vk.com"
invoke-static {v3}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v3}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
@@ -39,7 +39,7 @@
.method public static a(Lorg/json/JSONObject;)Lcom/vtosters/lite/api/ExtendedUserProfile$d;
.locals 3
invoke-static {p0}, Lru/vtosters/lite/utils/JsonInjectors;->profileButton(Lorg/json/JSONObject;)Lorg/json/JSONObject;
invoke-static {p0}, Lru/vtosters/lite/hooks/JsonInjectors;->profileButton(Lorg/json/JSONObject;)Lorg/json/JSONObject;
move-result-object p0
@@ -131,7 +131,7 @@
move-result-object v7
invoke-static {v7}, Lru/vtosters/lite/utils/Newsfeed;->injectFilters(Lorg/json/JSONObject;)Z
invoke-static {v7}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z
move-result v10
@@ -179,7 +179,7 @@
move-result-object v6
invoke-static {v6}, Lru/vtosters/lite/utils/Newsfeed;->injectFilters(Lorg/json/JSONObject;)Z
invoke-static {v6}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z
move-result v10
@@ -223,7 +223,7 @@
move-result-object p3
invoke-static {p3}, Lru/vtosters/lite/utils/Newsfeed;->injectFilters(Lorg/json/JSONObject;)Z
invoke-static {p3}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z
move-result v10
@@ -767,7 +767,7 @@
move-result-object v2
invoke-static {v2}, Lru/vtosters/lite/utils/Newsfeed;->injectFilters(Lorg/json/JSONObject;)Z
invoke-static {v2}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z
move-result v10
@@ -834,7 +834,7 @@
.method public static c(Z)J
.locals 3
invoke-static {p0}, Lru/vtosters/lite/utils/Newsfeed;->getUpdateNewsfeed(Z)J
invoke-static {p0}, Lru/vtosters/lite/hooks/NewsfeedHook;->getUpdateNewsfeed(Z)J
move-result-wide v0
@@ -535,7 +535,7 @@
move-result-object v8
invoke-static {v8}, Lru/vtosters/lite/utils/Newsfeed;->injectFilters(Lorg/json/JSONObject;)Z
invoke-static {v8}, Lru/vtosters/lite/hooks/NewsfeedHook;->injectFilters(Lorg/json/JSONObject;)Z
move-result v10
@@ -68,7 +68,7 @@
const-string v1, "oauth.vk.com"
invoke-static {v1}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v1}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
@@ -305,7 +305,7 @@
:goto_5
const-string p2, "api.vk.com"
invoke-static {p2}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {p2}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
@@ -1986,7 +1986,7 @@
const-string v1, "static.vk.com"
invoke-static {v1}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v1}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
@@ -2004,7 +2004,7 @@
const-string v2, "previous_oauth"
invoke-static {v1}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v1}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
@@ -2018,7 +2018,7 @@
const-string v1, "api.vk.com"
invoke-static {v1}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v1}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
@@ -40,7 +40,7 @@
const-string v1, "oauth.vk.com"
invoke-static {v1}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v1}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
@@ -182,7 +182,7 @@
const-string v0, "https://oauth.vk.com/blank.html#state=webview_refresh_access_token"
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -1025,7 +1025,7 @@
const-string v2, "https://oauth.vk.com/webview_token"
invoke-static {v2}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v2}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
@@ -1215,7 +1215,7 @@
const-string v0, "https://oauth.vk.com/webview_token"
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
@@ -70,7 +70,7 @@
move-result-object v0
invoke-static {v0}, Lru/vtosters/lite/utils/Proxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
invoke-static {v0}, Lru/vtosters/lite/hooks/ProxyHook;->linkReplacer(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0