package com.flipkart.chatheads.ui; import android.os.Bundle; import android.view.MotionEvent; import com.facebook.rebound.Spring; /** * Created by kirankumar on 13/02/15. */ public abstract class ChatHeadArrangement { public abstract void setContainer(ChatHeadManager container); public abstract void onActivate(ChatHeadManager container, Bundle extras, int maxWidth, int maxHeight, boolean animated); public abstract void onDeactivate(int maxWidth, int maxHeight); public abstract void onSpringUpdate(ChatHead activeChatHead, boolean isDragging, int maxWidth, int maxHeight, Spring spring, Spring activeHorizontalSpring, Spring activeVerticalSpring, int totalVelocity); public boolean handleRawTouchEvent(MotionEvent event) { return false; } public abstract boolean handleTouchUp(ChatHead activeChatHead, int xVelocity, int yVelocity, Spring activeHorizontalSpring, Spring activeVerticalSpring, boolean wasDragging); public abstract void onChatHeadAdded(ChatHead chatHead, boolean animated); public abstract void onChatHeadRemoved(ChatHead removed); public abstract void onCapture(ChatHeadManager container, ChatHead activeChatHead); public abstract void selectChatHead(ChatHead chatHead); public abstract void bringToFront(ChatHead chatHead); public abstract void onReloadFragment(ChatHead chatHead); public abstract boolean shouldShowCloseButton(ChatHead chatHead); public abstract Integer getHeroIndex(); public abstract void onConfigChanged(ChatHeadConfig newConfig); public abstract Bundle getRetainBundle(); public abstract boolean canDrag(ChatHead chatHead); public abstract void removeOldestChatHead(); }