package im.actor.sdk.controllers.conversation.messages; import android.view.ViewGroup; import org.jetbrains.annotations.NotNull; import im.actor.core.entity.Peer; import im.actor.core.entity.content.AbsContent; import im.actor.sdk.controllers.conversation.messages.content.AbsMessageViewHolder; public class LambdaBubbleLayouter implements BubbleLayouter { protected Matcher matcher; protected ViewHolderCreator creator; public LambdaBubbleLayouter(@NotNull Matcher matcher, @NotNull ViewHolderCreator creator) { this.matcher = matcher; this.creator = creator; } @Override public boolean isMatch(AbsContent content) { return matcher.isMatch(content); } @Override public AbsMessageViewHolder onCreateViewHolder(MessagesAdapter adapter, ViewGroup root, Peer peer) { return creator.onCreateViewHolder(adapter, root, peer); } public interface Matcher { boolean isMatch(AbsContent content); } public interface ViewHolderCreator { AbsMessageViewHolder onCreateViewHolder(MessagesAdapter adapter, ViewGroup root, Peer peer); } }