package com.tt.miniapp; import android.net.Uri; import android.os.SystemClock; import android.webkit.WebView; import com.bytedance.sandboxapp.b.a; import com.bytedance.sandboxapp.protocol.service.api.a.a; import com.bytedance.sandboxapp.protocol.service.api.b.b; import com.bytedance.sandboxapp.protocol.service.api.entity.ApiCallbackData; import com.bytedance.sandboxapp.protocol.service.api.entity.a; import com.bytedance.sandboxapp.protocol.service.api.entity.b; import com.tt.frontendapiinterface.i; import com.tt.miniapp.autotest.AutoTestManager; import com.tt.miniapp.component.nativeview.NativeWebView; import com.tt.miniapp.debug.DebugManager; import com.tt.miniapp.page.AppbrandSinglePage; import com.tt.miniapphost.AppBrandLogger; import com.tt.miniapphost.AppbrandApplication; import com.tt.miniapphost.AppbrandContext; import com.tt.miniapphost.render.export.TTWebSdkWrapper; import java.lang.ref.WeakReference; import java.util.concurrent.ConcurrentHashMap; public class WebViewManager extends AppbrandServiceManager.ServiceBase { private ConcurrentHashMap idToRender = new ConcurrentHashMap(); private ConcurrentHashMap isNotFirstPublishForWebView = new ConcurrentHashMap(); IRender mCurrentRender; private IFeedback mIFeedback; private ConcurrentHashMap> webComponentMap = new ConcurrentHashMap>(); private WebViewManager(AppbrandApplicationImpl paramAppbrandApplicationImpl) { super(paramAppbrandApplicationImpl); } public void addRender(IRender paramIRender) { if (paramIRender != null) { if (paramIRender.getWebView() == null) return; this.idToRender.put(Integer.valueOf(paramIRender.getWebViewId()), paramIRender); } } public void addWebComponent(NativeWebView paramNativeWebView) { if (paramNativeWebView != null) { if (paramNativeWebView.getWebView() == null) return; ConcurrentHashMap> concurrentHashMap = this.webComponentMap; if (concurrentHashMap != null) concurrentHashMap.put(Integer.valueOf(paramNativeWebView.getWebViewId()), new WeakReference(paramNativeWebView)); } } public void clear() { this.idToRender.clear(); setCurrentRender(null); } public WebView findTargetWebView(int paramInt) { ConcurrentHashMap concurrentHashMap1 = this.idToRender; if (concurrentHashMap1 != null) { IRender iRender = concurrentHashMap1.get(Integer.valueOf(paramInt)); if (iRender != null) return iRender.getWebView(); } ConcurrentHashMap> concurrentHashMap = this.webComponentMap; if (concurrentHashMap != null) { WeakReference weakReference = concurrentHashMap.get(Integer.valueOf(paramInt)); if (weakReference != null && weakReference.get() != null) return ((NativeWebView)weakReference.get()).getWebView(); } return null; } public IRender getCurrentIRender() { return this.mCurrentRender; } public IRender getRender(int paramInt) { return this.idToRender.get(Integer.valueOf(paramInt)); } public void invokeHandler(final int webviewId, final int callbackId, final String msg) { AppBrandLogger.d("tma_WebViewManager", new Object[] { "invokeHandler webviewId ", Integer.valueOf(webviewId), " callbackId ", Integer.valueOf(callbackId), " msg ", msg }); AppbrandContext.mainHandler.post(new Runnable() { public void run() { WebView webView = WebViewManager.this.findTargetWebView(webviewId); if (webView != null) { StringBuilder stringBuilder1 = new StringBuilder("ttJSBridge.invokeHandler('"); stringBuilder1.append(callbackId); stringBuilder1.append("',"); stringBuilder1.append(msg); stringBuilder1.append(")"); String str = stringBuilder1.toString(); StringBuilder stringBuilder2 = new StringBuilder("javascript:"); stringBuilder2.append(Uri.encode(str)); _lancet.com_ss_android_ugc_aweme_lancet_H5UrlCheckLancet_loadUrl(webView, stringBuilder2.toString()); } } class null {} }); } public void libraInvokeHandler(final int webviewId, final int callbackId, final String msg, final int divId) { AppBrandLogger.d("tma_WebViewManager", new Object[] { "libraInvokeHandler webviewId ", Integer.valueOf(webviewId), " callbackId ", Integer.valueOf(callbackId), " msg ", msg, "divId ", Integer.valueOf(divId) }); AppbrandContext.mainHandler.post(new Runnable() { public void run() { WebView webView = WebViewManager.this.findTargetWebView(webviewId); if (webView != null) { StringBuilder stringBuilder1 = new StringBuilder("window.libraInvokeHandler('"); stringBuilder1.append(callbackId); stringBuilder1.append("',"); stringBuilder1.append(msg); stringBuilder1.append(","); stringBuilder1.append(divId); stringBuilder1.append(")"); String str = stringBuilder1.toString(); AppBrandLogger.d("tma_WebViewManager", new Object[] { str }); StringBuilder stringBuilder2 = new StringBuilder("javascript:"); stringBuilder2.append(Uri.encode(str)); _lancet.com_ss_android_ugc_aweme_lancet_H5UrlCheckLancet_loadUrl(webView, stringBuilder2.toString()); } } class null {} }); } @LifecycleInterest({LifeCycleManager.LifeCycleEvent.ON_APP_INSTALL_SUCCESS}) public void onAppInstallSuccess() { for (IRender iRender : this.idToRender.values()) { if (iRender instanceof AppbrandSinglePage) ((AppbrandSinglePage)iRender).onAppInstallSuccess(); } } @LifecycleInterest({LifeCycleManager.LifeCycleEvent.ON_APP_START_LAUNCHING}) public void onAppStartLaunch() { for (IRender iRender : this.idToRender.values()) { if (iRender instanceof AppbrandSinglePage) ((AppbrandSinglePage)iRender).onAppStartLaunching(); } } public void publish(int paramInt, final String event, final String msg) { AppBrandLogger.d("tma_WebViewManager", new Object[] { "publish webviewId ", Integer.valueOf(paramInt), " event ", event, " msg ", msg }); IFeedback iFeedback = this.mIFeedback; if (iFeedback != null) iFeedback.onPublish(paramInt, event, msg); if ((DebugManager.getInst()).mRemoteDebugEnable) DebugManager.getInst().addAppData(msg, paramInt); Boolean bool = this.isNotFirstPublishForWebView.putIfAbsent(Integer.valueOf(paramInt), Boolean.TRUE); final WebView targetWebView = findTargetWebView(paramInt); if (webView != null) { Runnable runnable = new Runnable() { final long beforePost = SystemClock.elapsedRealtime(); public void run() { StringBuilder stringBuilder = new StringBuilder("ttJSBridge.subscribeHandler('"); stringBuilder.append(event); stringBuilder.append("',"); stringBuilder.append(msg); stringBuilder.append(")"); String str = stringBuilder.toString(); AppBrandLogger.d("tma_WebViewManager", new Object[] { "publish ", str, " , ", this.val$targetWebView }); long l = SystemClock.elapsedRealtime(); ((AutoTestManager)WebViewManager.this.mApp.getService(AutoTestManager.class)).addEventWithValue("publishUseTime", Long.valueOf(l - this.beforePost)); AppBrandLogger.i("tma_WebViewManager", new Object[] { "publish use time:", Long.valueOf(l - this.beforePost) }); targetWebView.evaluateJavascript(str, null); } }; if (webView instanceof com.tt.miniapp.view.webcore.TTWebViewSupportWebView && TTWebSdkWrapper.INSTANCE.isTTWebView()) { runnable.run(); return; } if (bool == Boolean.TRUE) { AppbrandContext.mainHandler.post(runnable); return; } AppbrandContext.mainHandler.postAtFrontOfQueue(runnable); return; } AppBrandLogger.e("tma_WebViewManager", new Object[] { "publish webview not found:", Integer.valueOf(paramInt) }); } public void publishDirectly(int paramInt, String paramString1, String paramString2) { WebView webView = findTargetWebView(paramInt); if (webView != null) { StringBuilder stringBuilder2 = new StringBuilder("ttJSBridge.subscribeHandler('"); stringBuilder2.append(paramString1); stringBuilder2.append("',"); stringBuilder2.append(paramString2); stringBuilder2.append(")"); paramString1 = stringBuilder2.toString(); StringBuilder stringBuilder1 = new StringBuilder("javascript:"); stringBuilder1.append(Uri.encode(paramString1)); _lancet.com_ss_android_ugc_aweme_lancet_H5UrlCheckLancet_loadUrl(webView, stringBuilder1.toString()); } } public void registerFeedback(IFeedback paramIFeedback) { this.mIFeedback = paramIFeedback; } public void removeRender(int paramInt) { this.idToRender.remove(Integer.valueOf(paramInt)); } public void setCurrentRender(IRender paramIRender) { this.mCurrentRender = paramIRender; } public void unRegisterFeedback() { this.mIFeedback = null; } public void webViewinvokeHandler(final int webviewId, final int callbackId, final String msg, final int divId) { AppBrandLogger.d("tma_WebViewManager", new Object[] { "invokeHandler webviewId ", Integer.valueOf(webviewId), " callbackId ", Integer.valueOf(callbackId), " msg ", msg, "divId ", Integer.valueOf(divId) }); AppbrandContext.mainHandler.post(new Runnable() { public void run() { WebView webView = WebViewManager.this.findTargetWebView(webviewId); if (webView != null) { StringBuilder stringBuilder1 = new StringBuilder("ttJScoreLibra.invokeHandler('"); stringBuilder1.append(callbackId); stringBuilder1.append("',"); stringBuilder1.append(msg); stringBuilder1.append(","); stringBuilder1.append(divId); stringBuilder1.append(")"); String str = stringBuilder1.toString(); AppBrandLogger.d("tma_WebViewManager", new Object[] { str }); StringBuilder stringBuilder2 = new StringBuilder("javascript:"); stringBuilder2.append(Uri.encode(str)); _lancet.com_ss_android_ugc_aweme_lancet_H5UrlCheckLancet_loadUrl(webView, stringBuilder2.toString()); } } class null {} }); } public void webViewsubscribeHandler(final int webviewId, final int callbackId, final String msg, final int divId) { StringBuilder stringBuilder = new StringBuilder(" divId "); stringBuilder.append(divId); AppBrandLogger.d("tma_WebViewManager", new Object[] { "invokeHandler webviewId ", Integer.valueOf(webviewId), " callbackId ", Integer.valueOf(callbackId), " msg ", msg, stringBuilder.toString() }); AppbrandContext.mainHandler.post(new Runnable() { public void run() { WebView webView = WebViewManager.this.findTargetWebView(webviewId); if (webView != null) { StringBuilder stringBuilder1 = new StringBuilder("ttJScoreLibra.subscribeHandler('"); stringBuilder1.append(callbackId); stringBuilder1.append("',"); stringBuilder1.append(msg); stringBuilder1.append(","); stringBuilder1.append(divId); stringBuilder1.append(")"); String str = stringBuilder1.toString(); AppBrandLogger.d("tma_WebViewManager", new Object[] { str }); StringBuilder stringBuilder2 = new StringBuilder("javascript:"); stringBuilder2.append(Uri.encode(str)); _lancet.com_ss_android_ugc_aweme_lancet_H5UrlCheckLancet_loadUrl(webView, stringBuilder2.toString()); } } class null {} }); } public void workerInvokeHandler(final int webviewId, final int callbackId, final String msg, final int divId) { AppBrandLogger.d("tma_WebViewManager", new Object[] { "workerInvokeHandler webviewId ", Integer.valueOf(webviewId), " callbackId ", Integer.valueOf(callbackId), " msg ", msg, " divId ", Integer.valueOf(divId) }); AppbrandContext.mainHandler.post(new Runnable() { public void run() { AppBrandLogger.d("tma_WebViewManager", new Object[] { "workerInvokeHandler", "in post doing" }); WebView webView = WebViewManager.this.findTargetWebView(webviewId); if (webView != null) { StringBuilder stringBuilder1 = new StringBuilder("window.workerInvokeHandler('"); stringBuilder1.append(callbackId); stringBuilder1.append("',"); stringBuilder1.append(msg); stringBuilder1.append(","); stringBuilder1.append(divId); stringBuilder1.append(")"); String str = stringBuilder1.toString(); AppBrandLogger.d("tma_WebViewManager", new Object[] { str }); StringBuilder stringBuilder2 = new StringBuilder("javascript:"); stringBuilder2.append(Uri.encode(str)); _lancet.com_ss_android_ugc_aweme_lancet_H5UrlCheckLancet_loadUrl(webView, stringBuilder2.toString()); return; } AppBrandLogger.d("tma_WebViewManager", new Object[] { "findTargetWebView null!!!!" }); } class null {} }); } public void workerSubcribeHandler(final int webviewId, final int callbackId, final String msg, int paramInt3) { AppBrandLogger.d("tma_WebViewManager", new Object[] { "workerSubcribeHandler webviewId ", Integer.valueOf(webviewId), " callbackId ", Integer.valueOf(callbackId), " msg ", msg, " divId ", Integer.valueOf(paramInt3) }); AppbrandContext.mainHandler.post(new Runnable() { public void run() { WebView webView = WebViewManager.this.findTargetWebView(webviewId); if (webView != null) { StringBuilder stringBuilder1 = new StringBuilder("window.workerSubcribeHandler('"); stringBuilder1.append(callbackId); stringBuilder1.append("',"); stringBuilder1.append(msg); stringBuilder1.append(")"); String str = stringBuilder1.toString(); AppBrandLogger.d("tma_WebViewManager", new Object[] { str }); StringBuilder stringBuilder2 = new StringBuilder("javascript:"); stringBuilder2.append(Uri.encode(str)); _lancet.com_ss_android_ugc_aweme_lancet_H5UrlCheckLancet_loadUrl(webView, stringBuilder2.toString()); } } class null {} }); } public static interface IFeedback { void onPublish(int param1Int, String param1String1, String param1String2); } public static interface IRender extends i {} public static class WebViewApiRuntime implements a { private boolean mDestroyed; private int mWebViewId; public WebViewApiRuntime(int param1Int) { this.mWebViewId = param1Int; } public void destroy() { this.mDestroyed = true; } public a getContext() { return (a)AppbrandApplicationImpl.getInst().getMiniAppContext(); } public b handleApiInvoke(a param1a) { AppbrandApplication.getInst().publish(this.mWebViewId, param1a.b, param1a.a().toString()); return b.d; } public boolean isDestroyed() { return this.mDestroyed; } } public static class WebViewAsyncApiCallbackExecutor implements b { private int mCallbackId; private int mWebViewId; public WebViewAsyncApiCallbackExecutor(int param1Int1, int param1Int2) { this.mWebViewId = param1Int1; this.mCallbackId = param1Int2; } public void executeCallback(ApiCallbackData param1ApiCallbackData) { WebViewManager webViewManager = AppbrandApplicationImpl.getInst().getWebViewManager(); if (webViewManager != null) webViewManager.invokeHandler(this.mWebViewId, this.mCallbackId, param1ApiCallbackData.toString()); } } class WebViewManager {} } /* Location: C:\Users\august\Desktop\tik\df_miniapp\classes.jar!\com\tt\miniapp\WebViewManager.class * Java compiler version: 6 (50.0) * JD-Core Version: 1.1.3 */