added vkui inj + upgraded vkui coloring and theme changing

This commit is contained in:
gdlbo
2022-06-22 18:55:45 +03:00
parent fc6945a72d
commit 14e1c736b3
6 changed files with 29 additions and 11 deletions
@@ -15,6 +15,7 @@ import android.content.ClipboardManager;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.webkit.WebView;
import androidx.preference.Preference;
@@ -80,6 +81,7 @@ public class OtherFragment extends MaterialPreferenceToolbarFragment {
SharedPreferences prefs2 = getContext().getSharedPreferences("stickers_storage", Context.MODE_PRIVATE);
prefs.edit().clear().commit();
prefs2.edit().clear().commit();
new WebView(getActivity()).clearCache(true);
VKImageLoader.e();
ImEngineProvider.a().h();
FileUtils.l();
@@ -26,6 +26,7 @@ import static ru.vtosters.lite.utils.Themes.applyTheme;
import static ru.vtosters.lite.utils.Themes.getDarkTheme;
import static ru.vtosters.lite.utils.Themes.getLightTheme;
import static ru.vtosters.lite.utils.Themes.setTheme;
import static ru.vtosters.lite.utils.VKUIInjector.isLoaded;
import android.content.Context;
import android.content.Intent;
@@ -33,13 +34,13 @@ import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.webkit.WebView;
import com.aefyr.tsg.g2.TelegramStickersService;
import com.vk.about.AboutAppFragment;
import com.vk.identity.fragments.IdentityListFragment;
import com.vk.navigation.Navigator;
import com.vk.notifications.settings.NotificationsSettingsFragment;
import com.vk.webapp.fragments.BugtrackerFragment;
import com.vk.webapp.fragments.PrivacyFragment;
import com.vtosters.lite.auth.VKAccountManager;
import com.vtosters.lite.fragments.money.music.control.subscription.MusicSubscriptionControlFragment;
@@ -91,8 +92,11 @@ public class VTSettings extends MaterialPreferenceToolbarFragment {
edit().putBoolean("isdark", value).commit();
setTheme(this.getActivity());
isLoaded = false;
new WebView(getActivity()).clearCache(true);
setTheme(this.getActivity());
return true;
});
@@ -101,7 +105,6 @@ public class VTSettings extends MaterialPreferenceToolbarFragment {
boolean value = (boolean) o;
edit().putBoolean("systemtheme", value).commit();
return true;
});
}
@@ -89,6 +89,10 @@ public class Themes {
return getColorFromAttr(getAttrId("background_content"));
} // Background color in app
public static int getBackgroundPage() {
return getColorFromAttr(getAttrId("background_page"));
} // Background color in app
public static int getHeaderBackground() {
return getColorFromAttr(getAttrId("header_background"));
} // Toolbar/Header background
@@ -4,7 +4,13 @@ import static android.util.Base64.encodeToString;
import static ru.vtosters.lite.utils.Globals.getContext;
import static ru.vtosters.lite.utils.Globals.getPrefsValue;
import static ru.vtosters.lite.utils.Preferences.getBoolValue;
import static ru.vtosters.lite.utils.Themes.getAccentColor;
import static ru.vtosters.lite.utils.Themes.getBackgroundContent;
import static ru.vtosters.lite.utils.Themes.getBackgroundPage;
import static ru.vtosters.lite.utils.Themes.getColorFromAttr;
import static ru.vtosters.lite.utils.Themes.getHeaderBackground;
import static ru.vtosters.lite.utils.Themes.getHeaderText;
import static ru.vtosters.lite.utils.Themes.getTextAttr;
import static ru.vtosters.lite.utils.Themes.hex;
import android.webkit.WebView;
@@ -18,7 +24,7 @@ import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
public class VKUIInjector {
private static boolean isLoaded = false;
public static boolean isLoaded = false;
private static String loadedCSS = "";
private static String loadedCSSAmoled = "";
@@ -48,13 +54,12 @@ public class VKUIInjector {
public static void load() {
loadedCSS = load("vt_ui_accent.css")
.replace("%header_background%", hex(getColorFromAttr(R.attr.header_background)))
.replace("%background_content%", hex(getColorFromAttr(R.attr.background_content)))
.replace("%header_text%", hex(getColorFromAttr(R.attr.header_text)))
.replace("%accent%", hex(getColorFromAttr(R.attr.accent)))
.replace("%background_page%", hex(getColorFromAttr(R.attr.background_page)))
.replace("%background_content%", hex(getColorFromAttr(R.attr.background_content)))
.replace("%text_primary%", hex(getColorFromAttr(R.attr.text_primary)));
.replace("%header_background%", hex(getHeaderBackground()))
.replace("%background_content%", hex(getBackgroundContent()))
.replace("%header_text%", hex(getHeaderText()))
.replace("%accent%", hex(getAccentColor()))
.replace("%background_page%", hex(getBackgroundPage()))
.replace("%text_primary%", hex(getTextAttr()));
loadedCSSAmoled = load("vt_ui_oled.css");
isLoaded = true;
@@ -335,6 +335,8 @@
.method public onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
.locals 0
invoke-static/range {p1 .. p1}, Lru/vtosters/lite/utils/VKUIInjector;->inject(Landroid/webkit/WebView;)V
.line 1
invoke-super {p0, p1, p2}, Landroid/webkit/WebViewClient;->onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
@@ -300,6 +300,8 @@
.method public onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
.locals 3
invoke-static/range {p1 .. p1}, Lru/vtosters/lite/utils/VKUIInjector;->inject(Landroid/webkit/WebView;)V
const/4 v0, 0x2
new-array v0, v0, [Ljava/lang/Object;