added VKWebAppGetConfig vkbridge event support (#1134)

This commit is contained in:
spiky-s
2023-03-05 16:26:43 +03:00
committed by GitHub
parent 4a933110e9
commit 07156f1c6a
7 changed files with 133 additions and 7 deletions
@@ -0,0 +1,24 @@
package ru.vtosters.lite.utils;
import org.json.JSONObject;
import org.json.JSONException;
import com.vk.core.ui.themes.VKThemeHelper;
import com.vk.api.base.ApiConfig;
import com.vk.core.preference.Preference;
import b.h.g.g.BuildInfo;
import ru.vtosters.lite.proxy.api.ApiProxy;
public class WebAppUtils {
public static JSONObject getWebAppConfig() throws JSONException {
JSONObject jSONObject = new JSONObject()
.put("scheme", VKThemeHelper.l().b())
.put("app", "vkclient")
.put("app_id", ApiConfig.a)
.put("appearance", VKThemeHelper.l().a() ? "light" : "dark")
.put("api_host", ApiProxy.linkReplacer(Preference.a().getString("apiHost", "api.vk.com")));
return jSONObject;
}
}
+3 -3
View File
@@ -5,7 +5,7 @@
background-color: %accent% !important;
}
body[scheme=bright_light] {
.vkuibright_light, [scheme=bright_light], body[scheme=bright_light] {
--accent: %accent% !important;
--action_sheet_action_foreground: %accent% !important;
--attach_picker_tab_active_background: %accent% !important;
@@ -56,7 +56,7 @@ body[scheme=bright_light] {
body[scheme=space_gray] {
.vkuispace_gray, [scheme=space_gray], body[scheme=space_gray] {
--accent: %accent% !important;
--action_sheet_action_foreground: %accent% !important;
--attach_picker_tab_active_background: %accent% !important;
@@ -132,4 +132,4 @@ h1, h2, h3 {
.articleView__content_misc_block {
background-color: %background_content% !important;
color: %text_primary% !important;
}
}
+3 -3
View File
@@ -43,12 +43,12 @@ body.article_body.article_dark {
}
/* VK Support fixes */
[scheme="client_dark"] .CatalogSearch__input, [scheme="space_gray"] .CatalogSearch__input {
[scheme="client_dark"] .CatalogSearch__input, [scheme="space_gray"] .CatalogSearch__input, .vkuispace_gray .CatalogSearch__input{
background: #000000 !important;
}
/* Generic VKUI */
body[scheme=space_gray] {
.vkuispace_gray, [scheme=space_gray], body[scheme=space_gray] {
/* light background */
--attach_picker_tab_active_icon: #000000 !important;
--background_content: #000000 !important;
@@ -89,4 +89,4 @@ body[scheme=space_gray] {
--search_bar_field_background: #212121 !important;
--selection_off_icon: #212121 !important;
--panel_tab_active_background: #212121 !important;
}
}
@@ -1982,6 +1982,9 @@
if-eqz v3, :cond_1
.line 10
const-string v4, "api_host"
invoke-virtual {v0, v4, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 11
@@ -1061,6 +1061,58 @@
return-void
.end method
.method public VKWebAppGetConfig(Ljava/lang/String;)V
.locals 7
.annotation runtime Landroid/webkit/JavascriptInterface;
.end annotation
.line 1
sget-object v1, Lcom/vk/webapp/internal/data/JsApiMethodType;->GET_CONFIG:Lcom/vk/webapp/internal/data/JsApiMethodType;
const-string v3, "VKWebAppGetConfigFailed"
const/4 v4, 0x0
const/16 v5, 0x8
const/4 v6, 0x0
move-object v0, p0
move-object v2, p1
invoke-static/range {v0 .. v6}, Lcom/vk/webapp/bridges/AndroidBridge;->a(Lcom/vk/webapp/bridges/AndroidBridge;Lcom/vk/webapp/internal/data/JsApiMethodType;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Z
move-result p1
if-nez p1, :cond_0
return-void
.line 2
:cond_0
invoke-static {}, Lru/vtosters/lite/utils/WebAppUtils;->getWebAppConfig()Lorg/json/JSONObject;
move-result-object p1
.line 3
.line 4
.line 5
sget-object v0, Lcom/vk/webapp/internal/data/JsApiMethodType;->GET_CONFIG:Lcom/vk/webapp/internal/data/JsApiMethodType;
const-string v1, "result"
invoke-static {p1, v1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V
const-string v1, "VKWebAppGetConfigResult"
invoke-virtual {p0, v0, v1, p1}, Lcom/vk/webapp/bridges/AndroidBridge;->a(Lcom/vk/webapp/internal/data/JsApiMethodType;Ljava/lang/String;Lorg/json/JSONObject;)V
return-void
.end method
.method public VKWebAppShowImages(Ljava/lang/String;)V
.locals 11
.annotation runtime Landroid/webkit/JavascriptInterface;
@@ -1782,6 +1782,32 @@
return-void
.end method
.method public VKWebAppGetConfig(Ljava/lang/String;)V
.locals 2
.annotation runtime Landroid/webkit/JavascriptInterface;
.end annotation
.line 1
iget-object v0, p0, Lcom/vk/webapp/bridges/VkUiConnectBridge;->m:Lcom/vk/webapp/o/VkUiConnectFragmentDelegate;
invoke-interface {v0}, Lcom/vk/webapp/o/VkUiConnectFragmentDelegate;->w()Lcom/vk/webapp/helpers/VkAppsAnalytics;
move-result-object v0
sget-object v1, Lcom/vk/webapp/internal/data/JsApiMethodType;->GET_CONFIG:Lcom/vk/webapp/internal/data/JsApiMethodType;
invoke-virtual {v1}, Lcom/vk/webapp/internal/data/JsApiMethodType;->b()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/vk/webapp/helpers/VkAppsAnalytics;->a(Ljava/lang/String;)V
.line 2
invoke-super {p0, p1}, Lcom/vk/webapp/bridges/AndroidBridge;->VKWebAppGetConfig(Ljava/lang/String;)V
return-void
.end method
.method public final VKWebAppGetCommunityAuthToken(Ljava/lang/String;)V
.locals 9
.annotation runtime Landroid/webkit/JavascriptInterface;
@@ -30,6 +30,8 @@
.field public static final enum APP_INIT:Lcom/vk/webapp/internal/data/JsApiMethodType;
.field public static final enum GET_CONFIG:Lcom/vk/webapp/internal/data/JsApiMethodType;
.field public static final enum AUTH_BY_EXCHANGE_TOKEN:Lcom/vk/webapp/internal/data/JsApiMethodType;
.field public static final enum CLOSE_APP:Lcom/vk/webapp/internal/data/JsApiMethodType;
@@ -169,7 +171,7 @@
.method static constructor <clinit>()V
.locals 6
const/16 v0, 0x47
const/16 v0, 0x48
new-array v0, v0, [Lcom/vk/webapp/internal/data/JsApiMethodType;
@@ -1492,6 +1494,25 @@
aput-object v1, v0, v2
new-instance v1, Lcom/vk/webapp/internal/data/JsApiMethodType;
.line 72
sget-object v2, Lcom/vk/webapp/internal/data/BackgroundWork;->ALLOWED:Lcom/vk/webapp/internal/data/BackgroundWork;
const-string v3, "GET_CONFIG"
const/16 v4, 0x47
const-string v5, "VKWebAppGetConfig"
invoke-direct {v1, v3, v4, v5, v2}, Lcom/vk/webapp/internal/data/JsApiMethodType;-><init>(Ljava/lang/String;ILjava/lang/String;Lcom/vk/webapp/internal/data/BackgroundWork;)V
sput-object v1, Lcom/vk/webapp/internal/data/JsApiMethodType;->GET_CONFIG:Lcom/vk/webapp/internal/data/JsApiMethodType;
const/16 v2, 0x47
aput-object v1, v0, v2
sput-object v0, Lcom/vk/webapp/internal/data/JsApiMethodType;->$VALUES:[Lcom/vk/webapp/internal/data/JsApiMethodType;
return-void