From abd990eef70d1f189a8a80328d83e2bec2c47b15 Mon Sep 17 00:00:00 2001
From: gdlbo <41114720+gdlbo@users.noreply.github.com>
Date: Tue, 14 Jun 2022 01:19:20 +0300
Subject: [PATCH] injected new setting to default theme
---
.../lite/ui/fragments/dockbar/DockBarManager.java | 8 +++-----
app/src/main/java/ru/vtosters/lite/utils/Newsfeed.java | 4 ++--
app/src/main/java/ru/vtosters/lite/utils/Preferences.java | 8 ++++++++
smali/res/xml/preferences_debug.xml | 4 ++++
smali/res/xml/preferences_themes.xml | 5 -----
smali/smali/com/vk/common/links/LinkProcessor1.smali | 8 ++++++++
smali/smali_classes4/com/vk/menu/MenuFragment$c.smali | 4 ++++
7 files changed, 29 insertions(+), 12 deletions(-)
diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/dockbar/DockBarManager.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/dockbar/DockBarManager.java
index 37477507b..ed61d8eb0 100644
--- a/app/src/main/java/ru/vtosters/lite/ui/fragments/dockbar/DockBarManager.java
+++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/dockbar/DockBarManager.java
@@ -4,6 +4,7 @@ import static ru.vtosters.lite.utils.Globals.getContext;
import static ru.vtosters.lite.utils.Globals.getString;
import static ru.vtosters.lite.utils.Preferences.newfeed;
import static ru.vtosters.lite.utils.Preferences.oldicons;
+import static ru.vtosters.lite.utils.Preferences.useNewSettings;
import static ru.vtosters.lite.utils.Preferences.vkme;
import static ru.vtosters.lite.utils.Preferences.vkme_notifs;
@@ -20,7 +21,6 @@ import com.vtosters.lite.R;
import com.vtosters.lite.fragments.GamesFragment;
import com.vtosters.lite.fragments.PhotosFragment;
import com.vtosters.lite.fragments.ProfileFragment;
-import com.vtosters.lite.fragments.SettingsListFragment;
import com.vtosters.lite.fragments.d.DocumentsViewFragment;
import com.vtosters.lite.fragments.f.FriendsFragment;
import com.vtosters.lite.fragments.g.BirthdaysFragment;
@@ -46,8 +46,6 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
-import ru.vtosters.lite.ui.fragments.VKMeSettings;
-
public class DockBarManager {
public static final int MIN_SELECTED_TABS_LIMIT = 3;
public static final int MAX_SELECTED_TABS_LIMIT = 9;
@@ -84,7 +82,7 @@ public class DockBarManager {
if (!dockbar.exists()) {
if(vkme()) {
- mSelectedTabs.add(new DockBarTab("tab_settings", R.drawable.ic_settings_24, R.string.menu_settings, R.id.menu_settings, VKMeSettings.class));
+ mSelectedTabs.add(new DockBarTab("tab_settings", R.drawable.ic_settings_24, R.string.menu_settings, R.id.menu_settings, useNewSettings()));
if(vkme_notifs()) mSelectedTabs.add(new DockBarTab("tab_feedback", oldicons() ? R.drawable.ic_menu_notifications_28 : R.drawable.ic_menu_notification_outline_28, R.string.feedback, R.id.tab_feedback, NotificationsContainerFragment.class));
mSelectedTabs.add(new DockBarTab("tab_messages", oldicons() ? R.drawable.ic_menu_messages_28 : R.drawable.ic_message_28_outline, R.string.messages, R.id.tab_messages, DialogsFragment.class));
mSelectedTabs.add(new DockBarTab("tab_profile", R.drawable.libverify_ic_account_circle_white, R.string.profile, R.id.profile, ProfileFragment.class));
@@ -110,7 +108,7 @@ public class DockBarManager {
mDisabledTabs.add(new DockBarTab("tab_payments", R.drawable.ic_money_transfer_24, R.string.money_transfer_money_transfers, R.id.menu_payments, MoneyTransfersFragment.class));
mDisabledTabs.add(new DockBarTab("tab_vk_apps", R.drawable.ic_services_24, R.string.menu_apps, R.id.menu_vk_apps, AppsFragment.class));
mDisabledTabs.add(new DockBarTab("tab_profile", R.drawable.libverify_ic_account_circle_white, R.string.profile, R.id.profile, ProfileFragment.class));
- mDisabledTabs.add(new DockBarTab("tab_settings", R.drawable.ic_settings_24, R.string.menu_settings, R.id.menu_settings, SettingsListFragment.class));
+ mDisabledTabs.add(new DockBarTab("tab_settings", R.drawable.ic_settings_24, R.string.menu_settings, R.id.menu_settings, useNewSettings()));
mDisabledTabs.add(new DockBarTab("tab_brtd", R.drawable.ic_menu_birthdays, R.string.birthdays_title, R.id.menu_birthdays, BirthdaysFragment.class));
} else {
diff --git a/app/src/main/java/ru/vtosters/lite/utils/Newsfeed.java b/app/src/main/java/ru/vtosters/lite/utils/Newsfeed.java
index d9276dc0d..5b9e157c9 100644
--- a/app/src/main/java/ru/vtosters/lite/utils/Newsfeed.java
+++ b/app/src/main/java/ru/vtosters/lite/utils/Newsfeed.java
@@ -13,6 +13,7 @@ import static ru.vtosters.lite.utils.Preferences.friendsrecomm;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import static ru.vtosters.lite.utils.Preferences.newfeed;
import static ru.vtosters.lite.utils.Preferences.postsrecomm;
+import static ru.vtosters.lite.utils.Preferences.useNewSettings;
import static ru.vtosters.lite.utils.Preferences.vkme;
import com.vk.apps.AppsFragment;
@@ -28,7 +29,6 @@ import com.vk.notifications.NotificationsContainerFragment;
import com.vtosters.lite.fragments.GamesFragment;
import com.vtosters.lite.fragments.PhotosFragment;
import com.vtosters.lite.fragments.ProfileFragment;
-import com.vtosters.lite.fragments.SettingsListFragment;
import com.vtosters.lite.fragments.d.DocumentsViewFragment;
import com.vtosters.lite.fragments.f.FriendsFragment;
import com.vtosters.lite.fragments.g.BirthdaysFragment;
@@ -209,7 +209,7 @@ public class Newsfeed {
case "videos":
return VideosFragment.class;
case "settings":
- return SettingsListFragment.class;
+ return useNewSettings();
case "apps":
return AppsFragment.class;
case "discover":
diff --git a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java
index d69d7b7bf..6fc7d21ae 100644
--- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java
+++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java
@@ -27,11 +27,14 @@ import android.util.Log;
import com.vk.core.util.Screen;
import com.vk.im.engine.models.users.UserSex;
import com.vtosters.lite.data.Users;
+import com.vtosters.lite.fragments.SettingsListFragment;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
+import ru.vtosters.lite.ui.fragments.VKMeSettings;
+
public class Preferences {
public static SharedPreferences preferences = getContext().getSharedPreferences("com.vtosters.lite_preferences", Context.MODE_PRIVATE);
@@ -143,6 +146,11 @@ public class Preferences {
return getBoolValue("awayphp", true);
}
+ public static Class useNewSettings() {
+ boolean bool = getBoolValue("useNewSettings", true);
+ return bool? VKMeSettings.class : SettingsListFragment.class;
+ }
+
public static boolean VKUI_INJ() {
return getBoolValue("VKUI_INJ", true);
}
diff --git a/smali/res/xml/preferences_debug.xml b/smali/res/xml/preferences_debug.xml
index 28fd282b3..4784791ee 100644
--- a/smali/res/xml/preferences_debug.xml
+++ b/smali/res/xml/preferences_debug.xml
@@ -65,6 +65,10 @@
android:defaultValue="true"
android:key="disableanimstickers"
android:title="Disable anim stickers + suggestions" />
+
-
useNewSettings()Ljava/lang/Class;
+
+ move-result-object v2
+
invoke-direct {v0, v2, v12}, Lcom/vk/navigation/Navigator;->(Ljava/lang/Class;Landroid/os/Bundle;)V
invoke-virtual {v0, v1}, Lcom/vk/navigation/Navigator;->c(Landroid/content/Context;)V
@@ -4670,6 +4674,10 @@
const-class v0, Lcom/vtosters/lite/fragments/SettingsListFragment;
+ invoke-static {}, Lru/vtosters/lite/utils/Preferences;->useNewSettings()Ljava/lang/Class;
+
+ move-result-object v0
+
invoke-direct {v8, v0}, Lcom/vk/navigation/Navigator;->(Ljava/lang/Class;)V
invoke-virtual {v8, v1}, Lcom/vk/navigation/Navigator;->a(Landroid/content/Context;)Landroid/content/Intent;
diff --git a/smali/smali_classes4/com/vk/menu/MenuFragment$c.smali b/smali/smali_classes4/com/vk/menu/MenuFragment$c.smali
index ced0162b5..092ea6baf 100644
--- a/smali/smali_classes4/com/vk/menu/MenuFragment$c.smali
+++ b/smali/smali_classes4/com/vk/menu/MenuFragment$c.smali
@@ -217,6 +217,10 @@
const-class v2, Lcom/vtosters/lite/fragments/SettingsListFragment;
+ invoke-static {}, Lru/vtosters/lite/utils/Preferences;->useNewSettings()Ljava/lang/Class;
+
+ move-result-object v2
+
invoke-direct {p2, v1, v2}, Lcom/vk/menu/MenuFragment$c;->a(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v2