package cn.mutils.app.ui.web;
import android.webkit.JavascriptInterface;
import proguard.annotation.Keep;
import proguard.annotation.KeepClassMembers;
import proguard.annotation.KeepImplementations;
/**
* Web JavaScript call interface of framework
*/
@SuppressWarnings("unused")
@Keep
@KeepClassMembers
@KeepImplementations
public interface IWebJSInterface {
/**
* Get WebFrame
*/
IWebFrame getWebFrame();
/**
* Set WebFrame
*/
void setWebFrame(IWebFrame webFrame);
/**
* JavaScript node name what is injected into window object of WebView<br>
* By default:window.app
*/
String name();
/**
* JavaScript function injected into object of window[{{@link #name()}}] to
* send message to native application<br>
* By default:window.app.sendMessage(jsonString)
*/
@JavascriptInterface
void sendMessage(String json);
/**
* JavaScript function injected into object of window[{@link #name()}}] to
* post message to native application<br>
* By default:window.app.postMessage(jsonString)
*/
@JavascriptInterface
void postMessage(String json);
/**
* JavaScript function name what is provided to send message to web
* application<br>
* By default:window.app.onMessage(jsonString)
*/
String onMessageName();
}