package com.appboy.ui.inappmessage.listeners;
import android.os.Bundle;
import com.appboy.models.IInAppMessage;
/**
* The IInAppMessageWebViewClientListener is called at specific events during the display of an Html
* In-App Message. Button clicks that occur inside an HTML In-App Message are routed to this listener
* and not the IInAppMessageViewLifecycleListener. However, the display lifecycle of the HTML In-App Message is
* still handled by the IInAppMessageViewLifecycleListener.
*
* See {@link com.appboy.ui.inappmessage.InAppMessageWebViewClient}.
*/
public interface IInAppMessageWebViewClientListener {
/**
* Called when a close URL (appboy://close) is followed in an HTML In App Message
*
* @param inAppMessage the inAppMessage
* @param url the url that triggered the close
* @param queryBundle a bundle of the query part of url
*/
void onCloseAction(IInAppMessage inAppMessage, String url, Bundle queryBundle);
/**
* Called when a Newsfeed URL (appboy://newsfeed) is followed in an HTML In App Message
*
* @param inAppMessage the inAppMessage
* @param url the url that triggered the action
* @param queryBundle a bundle of the query part of url
*/
void onNewsfeedAction(IInAppMessage inAppMessage, String url, Bundle queryBundle);
/**
* Called when the window location is set to a Custom Event URL (appboy://customEvent) in an HTML In App Message
*
* @param inAppMessage the inAppMessage
* @param url the url that triggered the action
* @param queryBundle a bundle of the query part of url
*/
void onCustomEventAction(IInAppMessage inAppMessage, String url, Bundle queryBundle);
/**
* Called when a non Appboy scheme url is encountered.
*
* @param inAppMessage the inAppMessage
* @param url the url pressed
* @param queryBundle a bundle of the query part of url
*/
void onOtherUrlAction(IInAppMessage inAppMessage, String url, Bundle queryBundle);
}