package com.appboy.ui.inappmessage;
import android.view.View;
import com.appboy.ui.inappmessage.views.AppboyInAppMessageFullView;
import com.appboy.ui.inappmessage.views.AppboyInAppMessageImmersiveBaseView;
import com.appboy.ui.inappmessage.views.AppboyInAppMessageModalView;
import java.util.List;
/**
* IInAppMessageImmersiveView is the base view interface for all immersive in-app messages.
*
* An immersive in-app message is defined as an in-app message that takes up the entire screen
* and/or 'blocks' the user from interacting with the app until the message is dismissed.
* Immersive views extend the base in-app message view with header text, message buttons,
* and a close button.
*
* All Known Implementing Classes:
* {@link AppboyInAppMessageImmersiveBaseView}
* {@link AppboyInAppMessageModalView}
* {@link AppboyInAppMessageFullView}
*/
public interface IInAppMessageImmersiveView extends IInAppMessageView {
/**
* Gets the close button View so that Appboy can add click listeners to it.
* @return the child View that displays the close button.
*/
View getMessageCloseButtonView();
/**
* Gets the message button Views so that Appboy can add click listeners to them.
* @return the child Views that display the message buttons. They should
* be returned in the same order as the List<MessageButton> on the in-app message
* object so that listeners are set correctly.
*/
List<View> getMessageButtonViews();
}