From f498e7af735c36ff8d8d97f1c14f25bf3b1da427 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Tue, 14 Jun 2022 23:48:07 +0300 Subject: [PATCH] fixes --- .../{VKMeSettings.java => VTSettings.java} | 29 ++++++++++--------- .../ru/vtosters/lite/utils/Preferences.java | 4 +-- .../java/ru/vtosters/lite/utils/Themes.java | 12 ++++++-- smali/res/values-ru/strings.xml | 5 ++++ smali/res/values/strings.xml | 6 ++++ 5 files changed, 38 insertions(+), 18 deletions(-) rename app/src/main/java/ru/vtosters/lite/ui/fragments/{VKMeSettings.java => VTSettings.java} (92%) diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VKMeSettings.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java similarity index 92% rename from app/src/main/java/ru/vtosters/lite/ui/fragments/VKMeSettings.java rename to app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java index 8e330cd4b..f8979d848 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VKMeSettings.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VTSettings.java @@ -17,14 +17,15 @@ import static ru.vtosters.lite.utils.Themes.getDarkTheme; import static ru.vtosters.lite.utils.Themes.getImDarkTheme; import static ru.vtosters.lite.utils.Themes.getImLightTheme; import static ru.vtosters.lite.utils.Themes.getLightTheme; +import static ru.vtosters.lite.utils.Themes.setTheme; import android.content.Context; import android.content.Intent; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import com.vk.about.AboutAppFragment; -import com.vk.core.ui.themes.VKThemeHelper; import com.vk.identity.fragments.IdentityListFragment; import com.vk.navigation.Navigator; import com.vk.notifications.settings.NotificationsSettingsFragment; @@ -45,7 +46,7 @@ import ru.vtosters.lite.ui.fragments.dockbar.DockBarFragment; import ru.vtosters.lite.ui.fragments.multiaccount.MultiAccountFragment; import ru.vtosters.lite.ui.fragments.tgstickers.StickersFragment; -public class VKMeSettings extends MaterialPreferenceToolbarFragment { +public class VTSettings extends MaterialPreferenceToolbarFragment { @Override public void b(Bundle bundle) { @@ -54,7 +55,7 @@ public class VKMeSettings extends MaterialPreferenceToolbarFragment { String keyVKAccount = getCurrentAccount().getString("key_vk_account", ""); String avatarUrl = withRegex(keyVKAccount, ".*\"photo\":\\{.*?:\"(.*?)\"\\}.*", "https://vk.com/images/camera_200.png").replace("\\/", "/"); String name = withRegex(keyVKAccount, ".*\"name\":\\{.*?:\"(.*?)\"\\}.*", ""); - String id = "@id" + Integer.toString(getUserId()); + String id = "@id" + getUserId(); int vtosterXml = getIdentifier("empty", "xml"); this.a(vtosterXml); @@ -65,7 +66,7 @@ public class VKMeSettings extends MaterialPreferenceToolbarFragment { return false; }); - PreferencesUtil.addMaterialSwitchPreference(this, "isdark", "Темная тема", "", "ic_palette_24", false, (preference, o) -> { + PreferencesUtil.addMaterialSwitchPreference(this, "isdark", getString("vtsettdarktheme"), "", "ic_palette_24", false, (preference, o) -> { boolean value = (boolean) o; if(value){ @@ -76,19 +77,21 @@ public class VKMeSettings extends MaterialPreferenceToolbarFragment { edit().putBoolean("isdark", value).commit(); - VKThemeHelper.a(this.p()); + setTheme(this.p()); restartApplicationWithTimer(); return true; }); - PreferencesUtil.addMaterialSwitchPreference(this, "systemtheme", getString("appearance_theme_use_system"), getString("appearance_theme_use_system_summary"), "ic_recent_24", true, (preference, o) -> { - boolean value = (boolean) o; + if (Build.VERSION.SDK_INT >= 29) { + PreferencesUtil.addMaterialSwitchPreference(this, "systemtheme", getString("appearance_theme_use_system"), getString("appearance_theme_use_system_summary"), "ic_recent_24", true, (preference, o) -> { + boolean value = (boolean) o; - edit().putBoolean("systemtheme", value).commit(); + edit().putBoolean("systemtheme", value).commit(); - return true; - }); + return true; + }); + } if (!isGmsInstalled()) { PreferencesUtil.addPreference(this, "", getString("installgms"), "", "ic_alert", preference -> { @@ -116,7 +119,7 @@ public class VKMeSettings extends MaterialPreferenceToolbarFragment { }); } - PreferencesUtil.addPreferenceCategory(this, "Аккаунт"); + PreferencesUtil.addPreferenceCategory(this, getString("vtsettaccount")); PreferencesUtil.addPreference(this, "", getString("vkconnect"), "", "ic_tags_24", preference -> { Context context = getContext(); @@ -194,7 +197,7 @@ public class VKMeSettings extends MaterialPreferenceToolbarFragment { }); } - PreferencesUtil.addPreferenceCategory(this, "Настройки модификации"); + PreferencesUtil.addPreferenceCategory(this, getString("vtsettmod")); if (!vkme()) { PreferencesUtil.addPreference(this, "", getString("vtlfeed"), "", "ic_newsfeed_24", preference -> { @@ -268,7 +271,7 @@ public class VKMeSettings extends MaterialPreferenceToolbarFragment { return false; }); - PreferencesUtil.addPreferenceCategory(this, "О модификации"); + PreferencesUtil.addPreferenceCategory(this, getString("vtsettaboutmod")); PreferencesUtil.addPreference(this, "", getString("menu_about"), "", "ic_about_24", preference -> { Context context = getContext(); 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 6fc7d21ae..f1a2418e1 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Preferences.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Preferences.java @@ -33,7 +33,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; -import ru.vtosters.lite.ui.fragments.VKMeSettings; +import ru.vtosters.lite.ui.fragments.VTSettings; public class Preferences { public static SharedPreferences preferences = getContext().getSharedPreferences("com.vtosters.lite_preferences", Context.MODE_PRIVATE); @@ -148,7 +148,7 @@ public class Preferences { public static Class useNewSettings() { boolean bool = getBoolValue("useNewSettings", true); - return bool? VKMeSettings.class : SettingsListFragment.class; + return bool? VTSettings.class : SettingsListFragment.class; } public static boolean VKUI_INJ() { diff --git a/app/src/main/java/ru/vtosters/lite/utils/Themes.java b/app/src/main/java/ru/vtosters/lite/utils/Themes.java index ca103c25b..29966937a 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Themes.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Themes.java @@ -1,6 +1,7 @@ package ru.vtosters.lite.utils; import static android.view.View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR; +import static com.vk.im.ui.themes.ImTheme.*; import static ru.vtosters.lite.utils.Globals.edit; import static ru.vtosters.lite.utils.Globals.getIdentifier; import static ru.vtosters.lite.utils.Globals.getPrefsValue; @@ -13,6 +14,7 @@ import static ru.vtosters.lite.utils.Preferences.systemtheme; import static ru.vtosters.lite.utils.Preferences.vkme; import static ru.vtosters.lite.utils.Preferences.vksans; +import android.app.Activity; import android.content.Context; import android.content.res.ColorStateList; import android.content.res.Configuration; @@ -46,6 +48,9 @@ public class Themes { ImThemeHelper.b.a(imtheme); // ImThemeHelper.b.a(ImTheme value) VK Theme Msg apply } // Apply VKTheme and ImTheme (hard applying without dynamic theme changing) + public static void setTheme(Activity activity) { + VKThemeHelper.a(activity); // apply changed theme + } public static boolean isDarkTheme() { return !VKThemeHelper.d(); } @@ -128,9 +133,9 @@ public class Themes { public static ImTheme getImDarkTheme() { switch (getPrefsValue("darktheme")) { case "amoled": - return roundedmsgs() ? ImTheme.VKME_AMOLED : ImTheme.VKAPP_AMOLED; + return roundedmsgs() ? VKME_AMOLED : VKAPP_AMOLED; default: - return roundedmsgs() ? ImTheme.VKME_DARK : ImTheme.VKAPP_DARK; + return roundedmsgs() ? VKME_DARK : VKAPP_DARK; } } // Return needed theme for theme changer @@ -144,7 +149,7 @@ public class Themes { public static ImTheme getImLightTheme() { switch (getPrefsValue("lighttheme")) { default: - return roundedmsgs() ? ImTheme.VKME_LIGHT : ImTheme.VKAPP_LIGHT; + return roundedmsgs() ? VKME_LIGHT : VKAPP_LIGHT; } } // Return needed theme for theme changer @@ -313,6 +318,7 @@ public class Themes { return "images"; } + public static int getNavigationHeight(int Default) { int VKME = R.dimen.design_bottom_sheet_peek_height_min; diff --git a/smali/res/values-ru/strings.xml b/smali/res/values-ru/strings.xml index 307277519..0c8506b02 100644 --- a/smali/res/values-ru/strings.xml +++ b/smali/res/values-ru/strings.xml @@ -4449,5 +4449,10 @@ Режим VK Me Замена докбара и некоторых элементов на что-то похожее как в VK Me + Аккаунт + Темная тема + О модификации + Настройки мода + diff --git a/smali/res/values/strings.xml b/smali/res/values/strings.xml index d1808e52a..a372387da 100644 --- a/smali/res/values/strings.xml +++ b/smali/res/values/strings.xml @@ -4583,6 +4583,12 @@ May look like a fake leaving the online" VK Me mode Replacing the dock and some elements with something similar as in VK Me + Account + Dark theme + About modification + Mod settings + +