001package com.gigya.android.sdk.ui.plugin; 002 003import android.support.annotation.NonNull; 004import android.support.annotation.Nullable; 005import android.view.View; 006import android.webkit.WebView; 007 008import com.gigya.android.sdk.GigyaPluginCallback; 009import com.gigya.android.sdk.account.models.GigyaAccount; 010 011import java.util.Map; 012 013public interface IGigyaWebBridge<A extends GigyaAccount> { 014 015 void withObfuscation(boolean obfuscation); 016 017 void setInvocationCallback(@NonNull GigyaPluginFragment.IBridgeCallbacks<A> invocationCallback); 018 019 boolean invoke(String action, String method, String queryStringParams); 020 021 boolean invoke(String url); 022 023 void invokeWebViewCallback(String id, String baseInvocation); 024 025 void getIds(String id); 026 027 void isSessionValid(String id); 028 029 void sendRequest(final String callbackId, final String api, Map<String, Object> params); 030 031 void sendOAuthRequest(final String callbackId, String api, Map<String, Object> params); 032 033 void onPluginEvent(Map<String, Object> params); 034 035 void attachTo(@NonNull final WebView webView, 036 @NonNull final GigyaPluginCallback<A> pluginCallback, 037 @Nullable View progressView); 038 039 void detachFrom(@NonNull final WebView webView); 040 041}