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