From dd5963b1720f71da513972e3ab2c82ec71d63a54 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Mon, 13 Jun 2022 22:34:35 +0300 Subject: [PATCH] vkme mode updated --- .../lite/ui/fragments/VKMeSettings.java | 48 +++++++++++++++++-- .../java/ru/vtosters/lite/utils/Globals.java | 12 +++++ 2 files changed, 57 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/VKMeSettings.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/VKMeSettings.java index 7e00551ad..55973e324 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/VKMeSettings.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/VKMeSettings.java @@ -3,18 +3,29 @@ package ru.vtosters.lite.ui.fragments; import static ru.vtosters.lite.ui.fragments.multiaccount.MultiAccountManager.getCurrentAccount; import static ru.vtosters.lite.ui.fragments.multiaccount.MultiAccountManager.withRegex; import static ru.vtosters.lite.utils.Globals.drawableFromUrl; +import static ru.vtosters.lite.utils.Globals.edit; import static ru.vtosters.lite.utils.Globals.getContext; import static ru.vtosters.lite.utils.Globals.getIdentifier; import static ru.vtosters.lite.utils.Globals.getString; import static ru.vtosters.lite.utils.Globals.getUserId; +import static ru.vtosters.lite.utils.Globals.restartApplication; +import static ru.vtosters.lite.utils.Preferences.devmenu; +import static ru.vtosters.lite.utils.Themes.applyTheme; +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 android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.os.Handler; import com.vk.about.AboutAppFragment; +import com.vk.core.ui.themes.VKThemeHelper; import com.vk.navigation.Navigator; import com.vtosters.lite.fragments.MaterialPreferenceToolbarFragment; +import com.vtosters.lite.fragments.SettingsDebugFragment; import ru.vtosters.lite.ui.PreferencesUtil; import ru.vtosters.lite.ui.fragments.multiaccount.MultiAccountFragment; @@ -40,6 +51,29 @@ public class VKMeSettings extends MaterialPreferenceToolbarFragment { return false; }); + PreferencesUtil.addMaterialSwitchPreference(this, "isdark", "Темная тема", "", "ic_palette_24", false, (preference, o) -> { + boolean value = (boolean) o; + + if(value){ + applyTheme(getLightTheme(), getImLightTheme()); + } else { + applyTheme(getDarkTheme(), getImDarkTheme()); + } + + edit().putBoolean("isdark", value).commit(); + + VKThemeHelper.a(this.p()); + + Handler handler = new Handler(); + handler.postDelayed(new Runnable() { + public void run() { + restartApplication(); + } + }, 500); + + return true; + }); + PreferencesUtil.addPreferenceCategory(this, getString("notification_settings")); PreferencesUtil.addPreference(this, "", getString("vtlmessages"), "", "ic_message_28", preference -> { @@ -49,16 +83,16 @@ public class VKMeSettings extends MaterialPreferenceToolbarFragment { return false; }); - PreferencesUtil.addPreference(this, "", getString("vtlactivity"), "", "ic_message_28", preference -> { + PreferencesUtil.addPreference(this, "", getString("vtlactivity"), "", "ic_write_28", preference -> { Context context = getContext(); Intent a2 = new Navigator(ActivityFragment.class).a(context); context.startActivity(a2); return false; }); - PreferencesUtil.addPreference(this, "", getString("vtlactivity"), "", "ic_write_28", preference -> { + PreferencesUtil.addPreference(this, "", getString("vtlthemes"), "", "ic_palette_24", preference -> { Context context = getContext(); - Intent a2 = new Navigator(ActivityFragment.class).a(context); + Intent a2 = new Navigator(ThemesFragment.class).a(context); context.startActivity(a2); return false; }); @@ -100,6 +134,14 @@ public class VKMeSettings extends MaterialPreferenceToolbarFragment { return false; }); + if(devmenu()) + PreferencesUtil.addPreference(this, "", getString("sett_debug"), "", "ic_bug_24", preference -> { + Context context = getContext(); + Intent a2 = new Navigator(SettingsDebugFragment.class).a(context); + context.startActivity(a2); + return false; + }); + } @Override diff --git a/app/src/main/java/ru/vtosters/lite/utils/Globals.java b/app/src/main/java/ru/vtosters/lite/utils/Globals.java index 6bb3099ce..b0eae4b71 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Globals.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Globals.java @@ -32,6 +32,7 @@ import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.StringRes; +import com.vk.navigation.Navigator; import com.vtosters.lite.UserProfile; import com.vtosters.lite.VKActivity; import com.vtosters.lite.api.ExtendedUserProfile; @@ -149,6 +150,17 @@ public class Globals { Runtime.getRuntime().exit(0); } // Application restart (works on sdk 29+ too) + public static void restartApplicationInto(Class Class) { + Context ctx = getContext(); + PackageManager pm = ctx.getPackageManager(); + + Intent intent = new Navigator(Class).a(ctx); + Intent mainIntent = Intent.makeRestartActivityTask(intent.getComponent()); + ctx.startActivity(mainIntent); + + Runtime.getRuntime().exit(0); + } + @NonNull public static Context getContext() { try {