正在查看: Mint v5.7.3 应用的 TBLInjectedObject.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Mint v5.7.3 应用的 TBLInjectedObject.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.taboola.android.tblweb;
import android.content.Context;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import androidx.annotation.Keep;
import androidx.annotation.Nullable;
import com.taboola.android.R;
import com.taboola.android.global_components.network.TBLNetworkManager;
import com.taboola.android.listeners.TBLWebListener;
import com.taboola.android.utils.TBLOnClickHelper;
import com.thoughtbot.expandablerecyclerview.BuildConfig;
import java.util.ArrayList;
import org.json.JSONObject;
@Keep
class TBLInjectedObject {
private static final String CAROUSEL_TOUCH_EVENT = "carouselTouchStart";
private static final String DATA_KEY_PUBLISHER_ID = "DATA_KEY_PUBLISHER_ID";
private static final int MOBILE_LOADER_DOESNT_WANT_UNIT_CHANGE = -529;
private static final int MOBILE_LOADER_WANTS_FEED = 0;
private static final int MOBILE_LOADER_WANTS_WIDGET = 1;
private static final String OMSDK_WIDGET_CARD_VISIBLE = "widgetTrackVisible";
private static final String OMSDK_WIDGET_TRACK_VISIBLE_END_SESSION = "widgetTrackVisibleEndSession";
private static final String STORIES_CAROUSEL_TOPICS_FAILED_TO_LOAD_EVENT = "carouselTopicsFailedToLoad";
private static final String STORIES_FINISHED_SHOWING_VERTICAL_UI_EVENT = "finishedShowingVerticalUI";
private static final String STORIES_UNIT_CONTENT_LOADED_EVENT = "carouselTopicsLoaded";
private static final String STORIES_VERTICAL_UI_DID_OPEN_EVENT = "verticalUIDidOpen";
private static final String TAG = "TBLInjectedObject";
private static final String UPDATE_CONTENT_COMPLETED_EVENT = "updateContentComplete";
private Context mActivityContext;
private String mPublisherName;
@Nullable
private cf.a mStoriesInternalListener;
private TBLNetworkManager mTBLNetworkManager;
private TBLOnClickHelper mTBLOnClickHelper;
@Nullable
private TBLWebListener mTBLWebListener;
private TBLWebViewManager mTBLWebViewManager;
private Handler mMainHandler = new Handler(Looper.getMainLooper());
private ArrayList<com.taboola.android.tblweb.d> mTBLWebInitDataObservers = new ArrayList<>();
private boolean onJsInitDataAvailableCalled = false;
class a implements Runnable {
final boolean a;
final String b;
final String c;
a(boolean z, String str, String str2) {
this.a = z;
this.b = str;
this.c = str2;
}
@Override
public void run() {
if (TBLInjectedObject.this.mTBLWebViewManager != null) {
String str = this.a ? "a" : BuildConfig.FLAVOR;
String format = String.format("taboolaBridge.on(\"%s\", function(%s){ taboolaNative.%s(%s) })", this.b, str, this.c, str);
com.taboola.android.utils.g.a(TBLInjectedObject.TAG, "addCallbackOnEvent | jsRegisterString = " + format);
TBLInjectedObject.this.mTBLWebViewManager.callJsFunction(format);
}
}
}
class b implements Runnable {
b() {
}
@Override
public void run() {
TBLInjectedObject.this.mTBLWebViewManager.reportOmWidgetVisible();
}
}
class c implements Runnable {
c() {
}
@Override
public void run() {
TBLInjectedObject.this.mTBLWebViewManager.omWidgetVisibleEndSession();
}
}
class d implements Runnable {
final int a;
final String b;
final int c;
d(int i, String str, int i2) {
this.a = i;
this.b = str;
this.c = i2;
}
@Override
public void run() {
if (TBLInjectedObject.this.mTBLWebViewManager != null) {
TBLInjectedObject.this.mTBLWebViewManager.mlRequestsUnitTypeChange(TBLInjectedObject.this.convertPlacementType(this.a), this.b, this.c);
}
}
}
class e implements com.taboola.android.tblweb.d {
e() {
}
@Override
public void a(String str) {
TBLInjectedObject.this.addJsCallbacks(TBLInjectedObject.CAROUSEL_TOUCH_EVENT, TBLInjectedObject.UPDATE_CONTENT_COMPLETED_EVENT);
TBLInjectedObject.this.addJsCallbacks(TBLInjectedObject.OMSDK_WIDGET_CARD_VISIBLE);
TBLInjectedObject.this.addJsCallbacks(TBLInjectedObject.OMSDK_WIDGET_TRACK_VISIBLE_END_SESSION);
TBLInjectedObject.this.addJsCallbacks(TBLInjectedObject.STORIES_FINISHED_SHOWING_VERTICAL_UI_EVENT);
TBLInjectedObject.this.addJsCallbacks(TBLInjectedObject.STORIES_CAROUSEL_TOPICS_FAILED_TO_LOAD_EVENT);
TBLInjectedObject.this.addJsCallbackWithArgument(TBLInjectedObject.STORIES_VERTICAL_UI_DID_OPEN_EVENT);
TBLInjectedObject.this.addJsCallbackWithArgument(TBLInjectedObject.STORIES_UNIT_CONTENT_LOADED_EVENT);
}
}
class f implements Runnable {
f() {
}
@Override
public void run() {
if (TBLInjectedObject.this.mTBLWebViewManager == null) {
return;
}
TBLInjectedObject.this.mTBLWebViewManager.collectPendingEvents();
}
}
class g implements Runnable {
final String a;
final int b;
g(String str, int i) {
this.a = str;
this.b = i;
}
@Override
public void run() {
if (TBLInjectedObject.this.mTBLWebViewManager == null) {
return;
}
TBLInjectedObject.this.notifyResizeToListeners(this.a, this.b);
}
}
class h implements Runnable {
final String a;
final int b;
h(String str, int i) {
this.a = str;
this.b = i;
}
@Override
public void run() {
if (TBLInjectedObject.this.mTBLWebViewManager == null) {
return;
}
TBLInjectedObject.this.mTBLWebViewManager.callJsFunction(String.format("%1$s.onDataRetrieved(\"%2$s\", taboolaMobile.getPublisherId())", TBLWebUnit.INJECTED_OBJECT_NAME, TBLInjectedObject.DATA_KEY_PUBLISHER_ID));
TBLInjectedObject.this.mTBLWebViewManager.setDidRender(true);
if (TBLInjectedObject.this.mTBLWebViewManager.isSdkMonitorEnabled()) {
TBLInjectedObject.this.mTBLWebViewManager.sendRenderSuccessful(this.a);
}
TBLInjectedObject.this.notifyResizeToListeners(this.a, this.b);
TBLInjectedObject.this.notifyRenderToListeners(this.a, this.b);
}
}
class i implements Runnable {
final int a;
i(int i) {
this.a = i;
}
@Override
public void run() {
if (TBLInjectedObject.this.mTBLWebViewManager == null || TBLInjectedObject.this.mTBLWebListener == null) {
return;
}
TBLInjectedObject.this.mTBLWebListener.onOrientationChange(this.a);
}
}
class j implements Runnable {
final String a;
final String b;
j(String str, String str2) {
this.a = str;
this.b = str2;
}
@Override
public void run() {
try {
if (TBLInjectedObject.this.mTBLWebViewManager == null) {
return;
}
if (TBLInjectedObject.this.mTBLWebViewManager.isSdkMonitorEnabled()) {
TBLInjectedObject.this.mTBLWebViewManager.sendRenderFailed(this.a);
}
TBLInjectedObject.this.onRenderFailureRunLast(this.a, this.b);
} catch (Exception e) {
com.taboola.android.utils.g.c(TBLInjectedObject.TAG, e.getMessage(), e);
}
}
}
class k implements Runnable {
final String a;
k(String str) {
this.a = str;
}
@Override
public void run() {
if (TBLInjectedObject.this.mTBLWebViewManager == null) {
return;
}
TBLOnClickHelper.openUrlInTabsOrBrowser(TBLInjectedObject.this.mTBLWebViewManager.getWebView().getContext(), this.a);
}
}
class l implements Runnable {
final String a;
final String b;
final String c;
final boolean d;
final String e;
final Boolean f;
final String g;
l(String str, String str2, String str3, boolean z, String str4, Boolean bool, String str5) {
this.a = str;
this.b = str2;
this.c = str3;
this.d = z;
this.e = str4;
this.f = bool;
this.g = str5;
}
@Override
public void run() {
boolean z;
Boolean bool;
Boolean bool2;
String str;
if (TBLInjectedObject.this.mTBLWebViewManager == null) {
return;
}
TBLInjectedObject.this.mTBLNetworkManager.getTrackingHandler().reportPreClick(TBLInjectedObject.this.mActivityContext.getApplicationContext(), TBLInjectedObject.this.mPublisherName, this.a, TBLInjectedObject.this.mTBLWebViewManager.getSdkType());
Boolean shouldAllowNonOrganicClickOverride = TBLInjectedObject.this.mTBLWebViewManager.shouldAllowNonOrganicClickOverride();
if (shouldAllowNonOrganicClickOverride == null) {
shouldAllowNonOrganicClickOverride = Boolean.valueOf(TBLInjectedObject.this.mTBLOnClickHelper.getShouldAllowNonOrganicClickOverride());
}
if (TBLInjectedObject.this.mTBLWebViewManager.isSdkMonitorEnabled()) {
TBLInjectedObject.this.mTBLWebViewManager.sendPlacementClicked(this.b);
}
if (TBLInjectedObject.this.mTBLWebListener != null) {
com.taboola.android.utils.g.a(TBLInjectedObject.TAG, " mTaboolaListener.onItemClick() called from main lopper from " + TBLInjectedObject.TAG);
String tag = TBLInjectedObject.this.mTBLWebViewManager.getTag();
if (TextUtils.isEmpty(tag)) {
str = this.b;
} else {
str = this.b + TBLWebUnit.PLACEMENT_TAG_DIVIDER + tag;
}
z = TBLInjectedObject.this.mTBLWebListener.onItemClick(str, this.c, this.a, this.d, this.e);
} else {
z = true;
}
if (z) {
if (TBLInjectedObject.this.mTBLWebViewManager.isStoriesEnabled() && (bool2 = this.f) != null && bool2.booleanValue()) {
TBLInjectedObject.this.mTBLOnClickHelper.openClickUrl(TBLInjectedObject.this.mActivityContext, this.g, R.anim.slide_up, R.anim.fade_out);
return;
} else {
TBLInjectedObject.this.mTBLOnClickHelper.openClickUrl(TBLInjectedObject.this.mActivityContext, this.g);
return;
}
}
if (this.d || shouldAllowNonOrganicClickOverride.booleanValue()) {
TBLInjectedObject.this.notifyClick(this.g);
return;
}
com.taboola.android.utils.g.a(TBLInjectedObject.TAG, "onItemClick: Performing default click action even though click handler returned “false”.Can only override default click action for organic items");
if (TBLInjectedObject.this.mTBLWebViewManager.isStoriesEnabled() && (bool = this.f) != null && bool.booleanValue()) {
TBLInjectedObject.this.mTBLOnClickHelper.openClickUrl(TBLInjectedObject.this.mActivityContext, this.g, R.anim.slide_up, R.anim.fade_out);
} else {
TBLInjectedObject.this.mTBLOnClickHelper.openClickUrl(TBLInjectedObject.this.mActivityContext, this.g);
}
}
}
class m implements Runnable {
final String a;
m(String str) {
this.a = str;
}
@Override
public void run() {
TBLInjectedObject.this.fireClickThroughML(this.a);
}
}
TBLInjectedObject(Context context, TBLWebViewManager tBLWebViewManager, TBLNetworkManager tBLNetworkManager, TBLOnClickHelper tBLOnClickHelper, @Nullable TBLWebListener tBLWebListener) {
this.mActivityContext = context;
this.mTBLWebViewManager = tBLWebViewManager;
this.mTBLNetworkManager = tBLNetworkManager;
this.mTBLOnClickHelper = tBLOnClickHelper;
this.mTBLWebListener = tBLWebListener;
addJsInitDataObserver(new e());
}
private void addCallbackOnEvent(String str, String str2) {
addCallbackOnEvent(str, str2, false);
}
private void addCallbackOnEvent(String str, String str2, boolean z) {
this.mMainHandler.post(new a(z, str, str2));
}
public void addJsCallbackWithArgument(String... strArr) {
for (String str : strArr) {
addCallbackOnEvent(str, str, true);
}
}
public void addJsCallbacks(String... strArr) {
for (String str : strArr) {
addCallbackOnEvent(str, str);
}
}
public int convertPlacementType(int i2) {
if (i2 == 0) {
com.taboola.android.utils.g.a(TAG, "convertPlacementType() | MobileLoader requested conversion to Feed.");
return 2;
}
if (i2 == 1) {
com.taboola.android.utils.g.a(TAG, "convertPlacementType() | MobileLoader requested conversion to PAGE_BOTTOM Widget.");
return 1;
}
com.taboola.android.utils.g.b(TAG, "convertPlacementType() | Unrecognized \"MobileLoader placement type\" (" + i2 + ").");
return 1;
}
public void fireClickThroughML(String str) {
this.mTBLWebViewManager.callJsFunction("taboolaMobile.fireClickEvent(\"" + str + "\")");
}
public void notifyClick(String str) {
if (this.mTBLWebViewManager == null) {
return;
}
if (Looper.myLooper() == Looper.getMainLooper()) {
fireClickThroughML(str);
} else {
this.mMainHandler.post(new m(str));
}
}
public void notifyRenderToListeners(String str, int i2) {
TBLWebListener tBLWebListener = this.mTBLWebListener;
if (tBLWebListener != null) {
tBLWebListener.onRenderSuccessful(str, i2);
}
}
public void notifyResizeToListeners(String str, int i2) {
TBLWebListener tBLWebListener = this.mTBLWebListener;
if (tBLWebListener != null) {
tBLWebListener.onResize(str, i2);
}
}
public void onRenderFailureRunLast(String str, String str2) {
TBLWebListener tBLWebListener = this.mTBLWebListener;
if (tBLWebListener != null) {
tBLWebListener.onRenderFailed(str, str2);
}
}
private void printMLRequest(int i2) {
String format;
if (i2 == 0) {
format = String.format("onWebviewContentUpdate() | MobileLoader requested layout change to %s.", "Feed");
} else if (i2 != 1) {
return;
} else {
format = String.format("onWebviewContentUpdate() | MobileLoader requested layout change to %s.", "Widget");
}
com.taboola.android.utils.g.a(TAG, format);
}
private void sendFailedToParseOnItemClickToKusto(String str) {
if (Math.random() * 10.0d > 1.0d) {
return;
}
this.mTBLNetworkManager.getKustoHandler().sendEventToKusto(new af.b(str), null);
}
public void addJsInitDataObserver(com.taboola.android.tblweb.d dVar) {
if (this.onJsInitDataAvailableCalled) {
com.taboola.android.utils.g.b(TAG, "InjectedObject | addJsInitDataObserver | Not adding JsInitDataObserver. JS Init event already happened.");
} else {
this.mTBLWebInitDataObservers.add(dVar);
}
}
@JavascriptInterface
public void carouselTopicsFailedToLoad() {
cf.a aVar = this.mStoriesInternalListener;
if (aVar == null) {
com.taboola.android.utils.g.a(TAG, "carouselTopicsFailedToLoad | carouselTopicsFailedToLoad() called but mStoriesInternalListener is null.");
} else {
aVar.c();
}
}
@JavascriptInterface
public void carouselTopicsLoaded(String str) {
String str2 = TAG;
com.taboola.android.utils.g.a(str2, "carouselTopicsLoaded | jsonString = " + str);
cf.a aVar = this.mStoriesInternalListener;
if (aVar == null) {
com.taboola.android.utils.g.a(str2, "carouselTopicsLoaded | carouselTopicsLoaded() called but mStoriesInternalListener is null.");
} else {
aVar.a(str);
}
}
@JavascriptInterface
public void carouselTouchStart() {
TBLWebViewManager tBLWebViewManager = this.mTBLWebViewManager;
if (tBLWebViewManager != null) {
WebView webView = tBLWebViewManager.getWebView();
if (webView instanceof com.taboola.android.l) {
((com.taboola.android.l) webView).d();
}
}
}
void clearDependencies() {
this.mMainHandler.removeCallbacksAndMessages(null);
this.mTBLWebViewManager = null;
this.mTBLWebInitDataObservers.clear();
this.mActivityContext = null;
}
@JavascriptInterface
public void collectPendingEvents() {
this.mMainHandler.post(new f());
}
@JavascriptInterface
public void finishedShowingVerticalUI() {
cf.a aVar = this.mStoriesInternalListener;
if (aVar == null) {
com.taboola.android.utils.g.a(TAG, "finishedShowingVerticalUI | finishedShowingVerticalUI() called but mStoriesInternalListener is null.");
} else {
aVar.b();
}
}
@JavascriptInterface
public String getDeviceData() {
TBLWebViewManager tBLWebViewManager = this.mTBLWebViewManager;
String deviceData = tBLWebViewManager == null ? BuildConfig.FLAVOR : tBLWebViewManager.getDeviceData();
com.taboola.android.utils.g.a(TAG, "getDeviceData() called with [ " + deviceData + " ]");
return deviceData;
}
@JavascriptInterface
public String getExternalRects() {
TBLWebViewManager tBLWebViewManager = this.mTBLWebViewManager;
return tBLWebViewManager == null ? BuildConfig.FLAVOR : tBLWebViewManager.getVisibleBounds();
}
@JavascriptInterface
public int getLogLevel() {
int d2 = com.taboola.android.utils.g.d();
if (d2 == 2 || d2 == 3) {
return 0;
}
if (d2 != 4) {
return d2 != 5 ? 3 : 2;
}
return 1;
}
@JavascriptInterface
public void handleAttributionClick(String str) {
if (TextUtils.isEmpty(str)) {
com.taboola.android.utils.g.a(TAG, "Failed to open in tabs or browser, url is empty or null");
} else {
this.mMainHandler.post(new k(str));
}
}
@JavascriptInterface
public boolean isAlive() {
if (this.mTBLWebViewManager == null) {
com.taboola.android.utils.g.a(TAG, "isAlive called but mWebViewManager is null, return isAlive = false ");
return false;
}
com.taboola.android.utils.g.a(TAG, "isAlive: " + this.mTBLWebViewManager.isAlive());
return this.mTBLWebViewManager.isAlive();
}
@JavascriptInterface
public boolean isMonitoringEnabled() {
TBLWebViewManager tBLWebViewManager = this.mTBLWebViewManager;
return tBLWebViewManager != null && tBLWebViewManager.isSdkMonitorEnabled();
}
@JavascriptInterface
public void onClick(String str, String str2, String str3, boolean z, String str4, String str5) {
onClick(str, str2, str3, z, str4, str5, null);
}
@JavascriptInterface
public void onClick(String str, String str2, String str3, boolean z, String str4, String str5, @Nullable Boolean bool, @Nullable String str6) {
com.taboola.android.utils.g.a(TAG, "onClick() called with: title = [" + str + "], pageUrl = [" + str2 + "], loggerUrl = [" + str3 + "], isOrganic = [" + z + "], itemId = [" + str4 + "], placementName = [" + str5 + "], customData = [" + str6 + "]");
this.mMainHandler.post(new l(str2, str5, str4, z, str6, bool, str3));
}
@JavascriptInterface
public void onClick(String str, String str2, String str3, boolean z, String str4, String str5, @Nullable String str6) {
onClick(str, str2, str3, z, str4, str5, null, str6);
}
@JavascriptInterface
public void onDataRetrieved(String str, String str2) {
str.hashCode();
if (str.equals(DATA_KEY_PUBLISHER_ID)) {
this.mPublisherName = str2;
return;
}
com.taboola.android.utils.g.b(TAG, "Unknown data key: " + str);
}
@JavascriptInterface
public void onItemClick(String str) {
boolean z;
boolean z2;
String str2 = TAG;
com.taboola.android.utils.g.a(str2, String.format("onItemClick with data %s", str));
try {
JSONObject jSONObject = new JSONObject(str);
String optString = jSONObject.optString("title");
if (TextUtils.isEmpty(optString)) {
com.taboola.android.utils.g.a(str2, "onItemClick didn't received title data");
}
String optString2 = jSONObject.optString("loggerUrl");
if (TextUtils.isEmpty(optString2)) {
com.taboola.android.utils.g.a(str2, "onItemClick didn't received loggerUrl data");
}
String optString3 = jSONObject.optString("pageUrl");
if (TextUtils.isEmpty(optString3)) {
com.taboola.android.utils.g.a(str2, "onItemClick didn't received pageUrl data");
}
try {
if (jSONObject.has("isOrganic")) {
z2 = jSONObject.getBoolean("isOrganic");
} else {
com.taboola.android.utils.g.a(str2, "onItemClick didn't received isOrganic data");
z2 = false;
}
z = z2;
} catch (Throwable th) {
com.taboola.android.utils.g.b(TAG, String.format("onItemClick failed to parse isOrganic data, message: %s", th.getLocalizedMessage()));
z = false;
}
String optString4 = jSONObject.optString("itemId");
if (TextUtils.isEmpty(optString4)) {
com.taboola.android.utils.g.a(TAG, "onItemClick didn't received itemId data");
}
String optString5 = jSONObject.optString("placementName");
if (TextUtils.isEmpty(optString5)) {
com.taboola.android.utils.g.a(TAG, "onItemClick didn't received placementName data");
}
Boolean bool = null;
try {
if (jSONObject.has("isStories")) {
bool = Boolean.valueOf(jSONObject.getBoolean("isStories"));
} else {
com.taboola.android.utils.g.a(TAG, "onItemClick didn't received isStories data");
}
} catch (Throwable th2) {
com.taboola.android.utils.g.b(TAG, String.format("onItemClick failed to parse isStories data, message: %s", th2.getLocalizedMessage()));
}
onClick(optString, optString3, optString2, z, optString4, optString5, bool, null);
} catch (Throwable th3) {
String format = String.format("Failed to parse onItemClick from ML, message %s", th3.getLocalizedMessage());
com.taboola.android.utils.g.b(TAG, format);
sendFailedToParseOnItemClickToKusto(format);
}
}
@JavascriptInterface
public void onJsInitDataAvailable(String str) {
this.onJsInitDataAvailableCalled = true;
for (int i2 = 0; i2 < this.mTBLWebInitDataObservers.size(); i2++) {
this.mTBLWebInitDataObservers.get(i2).a(str);
}
}
@JavascriptInterface
public void onMonitorDataRetrieved(String str, String str2, String str3) {
TBLWebViewManager tBLWebViewManager = this.mTBLWebViewManager;
if (tBLWebViewManager != null && tBLWebViewManager.isSdkMonitorEnabled()) {
this.mTBLWebViewManager.sendMonitorData(str, str2, str3);
}
}
@JavascriptInterface
public void onOrientationChange(int i2) {
this.mMainHandler.post(new i(i2));
}
@JavascriptInterface
public void onPlacementResize(String str, int i2) {
this.mMainHandler.post(new g(str, i2));
}
@JavascriptInterface
public void onRenderFailure(String str, String str2) {
this.mMainHandler.post(new j(str, str2));
}
@JavascriptInterface
public void onRenderSuccess(String str, int i2) {
try {
this.mMainHandler.post(new h(str, i2));
} catch (Exception e2) {
com.taboola.android.utils.g.c(TAG, e2.getMessage(), e2);
}
}
@JavascriptInterface
public void onWebviewContentUpdate(String str) {
com.taboola.android.utils.g.a(TAG, "onWebviewContentUpdate() | Called with jsonArgs: " + str);
try {
JSONObject jSONObject = new JSONObject(str);
int optInt = jSONObject.optInt("height");
String optString = jSONObject.optString("placementName");
onRenderSuccess(optString, optInt);
if (this.mTBLWebViewManager == null) {
return;
}
int optInt2 = jSONObject.optInt("placementType", MOBILE_LOADER_DOESNT_WANT_UNIT_CHANGE);
printMLRequest(optInt2);
if (optInt2 == MOBILE_LOADER_DOESNT_WANT_UNIT_CHANGE) {
return;
}
this.mMainHandler.post(new d(optInt2, optString, optInt));
} catch (Exception e2) {
com.taboola.android.utils.g.b(TAG, "onWebviewContentUpdate() | Exception: " + e2.getLocalizedMessage());
}
}
@JavascriptInterface
public void reportAction(int i2, String str) {
this.mTBLWebViewManager.reportUserAction(i2, str);
}
public void setStoriesInternalListener(cf.a aVar) {
this.mStoriesInternalListener = aVar;
}
@JavascriptInterface
public void updateContentComplete() {
this.mTBLWebViewManager.updateContentCompleted();
}
@JavascriptInterface
public void verticalUIDidOpen(String str) {
boolean z;
if (this.mStoriesInternalListener == null) {
com.taboola.android.utils.g.a(TAG, "verticalUIDidOpen | verticalUIDidOpen() called but mStoriesInternalListener is null.");
return;
}
try {
z = new JSONObject(str).optBoolean("didOpen");
} catch (Throwable th) {
com.taboola.android.utils.g.a(TAG, String.format("verticalUIDidOpen exception message - %s", th.getLocalizedMessage()));
th.printStackTrace();
z = false;
}
this.mStoriesInternalListener.d(z);
}
@JavascriptInterface
public void widgetTrackVisible() {
this.mMainHandler.post(new b());
}
@JavascriptInterface
public void widgetTrackVisibleEndSession() {
this.mMainHandler.post(new c());
}
}