some theme upgrades
monet theme disabled amoled theme switch some fixes with vkui inj
This commit is contained in:
@@ -18,6 +18,8 @@ import android.webkit.WebView;
|
||||
import com.vk.articles.preload.WebCachePreloader;
|
||||
import com.vtosters.lite.R;
|
||||
import com.vtosters.lite.data.ThemeTracker;
|
||||
import ru.vtosters.lite.themes.ThemesCore;
|
||||
import ru.vtosters.lite.utils.ThemesUtils;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
@@ -77,22 +79,19 @@ public class VKUIHook {
|
||||
}
|
||||
|
||||
public static void inject(WebView webView) {
|
||||
String string = getPrefsValue("darktheme");
|
||||
|
||||
if (getBoolValue("VKUI_INJ", true)) {
|
||||
|
||||
if (!isLoaded) {
|
||||
load();
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
if (true/*Themes.isAccentedCache()*/) {
|
||||
if (ThemesCore.isCachedAccents()) {
|
||||
sb.append("\n\n");
|
||||
sb.append(loadedCSS);
|
||||
}
|
||||
|
||||
if (string.equals("amoled")) {
|
||||
if (ThemesUtils.isAmoledTheme()) {
|
||||
sb.append("\n\n");
|
||||
sb.append(loadedCSSAmoled);
|
||||
}
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
package ru.vtosters.lite.ui.fragments;
|
||||
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.preference.PreferenceCategory;
|
||||
|
||||
import com.vk.core.dialogs.alert.VkAlertDialog;
|
||||
import com.vk.core.fragments.FragmentImpl;
|
||||
import com.vk.navigation.Navigator;
|
||||
import com.vtosters.lite.R;
|
||||
import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment;
|
||||
|
||||
import ru.vtosters.lite.themes.ColorReferences;
|
||||
import ru.vtosters.lite.themes.ThemesCore;
|
||||
import ru.vtosters.lite.themes.palettes.PalettesManager;
|
||||
import ru.vtosters.lite.ui.dialogs.PalettesBottomSheetDialog;
|
||||
@@ -37,62 +32,64 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment {
|
||||
accentColorPreference.setIcon(ThemesUtils.recolorDrawable(requireContext().getDrawable(R.drawable.bg_accent_circle)));
|
||||
accentColorPreference.setOnPreferenceClickListener(preference -> {
|
||||
changeAccent();
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
var navBarPreference = findPreference("navbar");
|
||||
navBarPreference.setOnPreferenceClickListener(preference -> {
|
||||
restart();
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
var milkshakePreference = findPreference("milkshake");
|
||||
milkshakePreference.setOnPreferenceClickListener(preference -> {
|
||||
restart();
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
var darkThemePreference = findPreference("darktheme");
|
||||
darkThemePreference.setOnPreferenceChangeListener((preference, o) -> {
|
||||
restartDark(o.toString());
|
||||
return false;
|
||||
var amoledThemePreference = findPreference("amoledtheme");
|
||||
amoledThemePreference.setOnPreferenceClickListener(preference -> {
|
||||
restart();
|
||||
return true;
|
||||
});
|
||||
|
||||
var lightThemePreference = findPreference("lighttheme");
|
||||
lightThemePreference.setOnPreferenceChangeListener(((preference, o) -> {
|
||||
restartLight(o.toString());
|
||||
return false;
|
||||
}));
|
||||
var monetThemePreference = findPreference("monettheme");
|
||||
monetThemePreference.setOnPreferenceClickListener(preference -> {
|
||||
restart();
|
||||
return true;
|
||||
});
|
||||
monetThemePreference.setVisible(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S);
|
||||
|
||||
var iconManagerPreference = findPreference("iconmanager");
|
||||
iconManagerPreference.setOnPreferenceClickListener(preference -> {
|
||||
switchFragment(IconsFragment.class);
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
var dockbarTabTitlesPreference = findPreference("dockbar_tab_titles");
|
||||
dockbarTabTitlesPreference.setOnPreferenceClickListener(preference -> {
|
||||
restart();
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
var dockbarAccentPreference = findPreference("dockbar_accent");
|
||||
dockbarAccentPreference.setOnPreferenceClickListener(preference -> {
|
||||
restart();
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
var dockCounterPreference = findPreference("dockcounter");
|
||||
dockCounterPreference.setOnPreferenceClickListener(preference -> {
|
||||
restart();
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
var newsfeedNotificationsPreference = findPreference("newsfeed_notif");
|
||||
newsfeedNotificationsPreference.setOnPreferenceClickListener(preference -> {
|
||||
restart();
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
newsfeedNotificationsPreference.setVisible(Preferences.milkshake());
|
||||
|
||||
if (AndroidUtils.isTablet()) {
|
||||
@@ -157,23 +154,13 @@ public class ThemesFragment extends MaterialPreferenceToolbarFragment {
|
||||
void setAccentColor(int color) {
|
||||
ThemesUtils.setCustomAccentColor(color, false);
|
||||
ThemesCore.setThemedColors(color);
|
||||
LifecycleUtils.restartApplicationWithTimer();
|
||||
restart();
|
||||
}
|
||||
|
||||
void restart() {
|
||||
LifecycleUtils.restartApplicationWithTimer();
|
||||
}
|
||||
|
||||
void restartLight(String value) {
|
||||
AndroidUtils.edit().putString("lighttheme", value).commit();
|
||||
LifecycleUtils.restartApplicationWithTimer();
|
||||
}
|
||||
|
||||
void restartDark(String value) {
|
||||
AndroidUtils.edit().putString("darktheme", value).commit();
|
||||
LifecycleUtils.restartApplicationWithTimer();
|
||||
}
|
||||
|
||||
private void switchFragment(Class<? extends FragmentImpl> fragmentClz) {
|
||||
var intent = new Navigator(fragmentClz)
|
||||
.b(requireContext())
|
||||
|
||||
@@ -280,10 +280,6 @@ public class Preferences {
|
||||
return getBoolValue("systememoji", false);
|
||||
}
|
||||
|
||||
public static boolean vksans() {
|
||||
return getBoolValue("vksans", false);
|
||||
}
|
||||
|
||||
public static boolean voice() {
|
||||
return getBoolValue("voice", true);
|
||||
}
|
||||
@@ -293,10 +289,6 @@ public class Preferences {
|
||||
return customvalue.isEmpty() ? orig : Integer.parseInt(customvalue);
|
||||
}
|
||||
|
||||
public static boolean color_grishka() {
|
||||
return getBoolValue("color_grishka", true);
|
||||
}
|
||||
|
||||
public static boolean vkme_notifs() {
|
||||
return getBoolValue("vkme_notifs", false);
|
||||
}
|
||||
|
||||
@@ -4,10 +4,8 @@ import com.vk.core.network.Network;
|
||||
|
||||
import static ru.vtosters.lite.hooks.DateHook.getLocale;
|
||||
import static ru.vtosters.lite.proxy.ProxyUtils.isAnyProxyEnabled;
|
||||
import static ru.vtosters.lite.utils.About.getBuildNumber;
|
||||
import static ru.vtosters.lite.utils.AndroidUtils.getPrefsValue;
|
||||
import static ru.vtosters.lite.utils.Preferences.dev;
|
||||
import static ru.vtosters.lite.utils.Preferences.vksans;
|
||||
import static ru.vtosters.lite.utils.ThemesUtils.isDarkTheme;
|
||||
|
||||
public class SSFSUtils {
|
||||
@@ -37,17 +35,13 @@ public class SSFSUtils {
|
||||
}
|
||||
|
||||
public static String getAmoledVKUI() {
|
||||
return getPrefsValue("darktheme").equals("amoled") && isDarkTheme() ? "1" : "0";
|
||||
return ThemesUtils.isAmoledTheme() && isDarkTheme() ? "1" : "0";
|
||||
}
|
||||
|
||||
public static String getUserProxy() {
|
||||
return isAnyProxyEnabled() ? "1" : "0";
|
||||
}
|
||||
|
||||
public static String isVKSansEnabled() {
|
||||
return vksans() ? "1" : "0";
|
||||
}
|
||||
|
||||
public static String isDEVModEnabled() {
|
||||
return dev() ? "1" : "0";
|
||||
}
|
||||
|
||||
@@ -95,6 +95,14 @@ public class ThemesUtils {
|
||||
public static boolean isDarkTheme() {
|
||||
return VKThemeHelper.r();
|
||||
}
|
||||
|
||||
public static boolean isMonetTheme() {
|
||||
return getBoolValue("monettheme", false) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S;
|
||||
}
|
||||
|
||||
public static boolean isAmoledTheme() {
|
||||
return getBoolValue("amoledtheme", false);
|
||||
}
|
||||
|
||||
public static int getAccentColor() {
|
||||
var accent = AndroidUtils.getPreferences().getInt("accent_color", getColorFromAttr(R.attr.accent));
|
||||
@@ -236,10 +244,19 @@ public class ThemesUtils {
|
||||
}
|
||||
|
||||
public static int getDarkThemeRes() {
|
||||
if (getPrefsValue("darktheme").equals("amoled")) {
|
||||
return isMilkshake() ? R.style.VkMilkAmoledStyle : R.style.VkAmoledStyle;
|
||||
if (isMonetTheme()) {
|
||||
if (isAmoledTheme()) {
|
||||
return isMilkshake() ? getIdentifier("VkMilkAmoledMonetStyle", "style"): getIdentifier("VkAmoledMonetStyle", "style");
|
||||
} else {
|
||||
return isMilkshake() ? getIdentifier("VkMilkDarkMonetStyle", "style"): getIdentifier("VkDarkMonetStyle", "style");
|
||||
}
|
||||
} else {
|
||||
if (isAmoledTheme()) {
|
||||
return isMilkshake() ? R.style.VkMilkAmoledStyle : R.style.VkAmoledStyle;
|
||||
} else {
|
||||
return isMilkshake() ? R.style.VkMilkDarkStyle : R.style.VkDarkStyle;
|
||||
}
|
||||
}
|
||||
return isMilkshake() ? R.style.VkMilkDarkStyle : R.style.VkDarkStyle;
|
||||
} // Return needed res theme
|
||||
|
||||
public static VKTheme getDarkTheme() {
|
||||
@@ -254,10 +271,6 @@ public class ThemesUtils {
|
||||
return VKThemeHelper.d(attr);
|
||||
} // Get needed attr color
|
||||
|
||||
public static boolean isAndroidMonet() {
|
||||
return color_grishka() && Build.VERSION.SDK_INT >= 31;
|
||||
}
|
||||
|
||||
public static void colorWriteBar(View view) {
|
||||
if (!navbar()) return;
|
||||
view.setBackgroundColor(getTabbarBackground());
|
||||
|
||||
Reference in New Issue
Block a user