package io.github.froger.instamaterial.ui.view;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import butterknife.ButterKnife;
import butterknife.OnClick;
import io.github.froger.instamaterial.R;
import io.github.froger.instamaterial.Utils;
/**
* Created by froger_mcs on 15.12.14.
*/
public class FeedContextMenu extends LinearLayout {
private static final int CONTEXT_MENU_WIDTH = Utils.dpToPx(240);
private int feedItem = -1;
private OnFeedContextMenuItemClickListener onItemClickListener;
public FeedContextMenu(Context context) {
super(context);
init();
}
private void init() {
LayoutInflater.from(getContext()).inflate(R.layout.view_context_menu, this, true);
setBackgroundResource(R.drawable.bg_container_shadow);
setOrientation(VERTICAL);
setLayoutParams(new LayoutParams(CONTEXT_MENU_WIDTH, ViewGroup.LayoutParams.WRAP_CONTENT));
}
public void bindToItem(int feedItem) {
this.feedItem = feedItem;
}
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
ButterKnife.bind(this);
}
public void dismiss() {
((ViewGroup) getParent()).removeView(FeedContextMenu.this);
}
@OnClick(R.id.btnReport)
public void onReportClick() {
if (onItemClickListener != null) {
onItemClickListener.onReportClick(feedItem);
}
}
@OnClick(R.id.btnSharePhoto)
public void onSharePhotoClick() {
if (onItemClickListener != null) {
onItemClickListener.onSharePhotoClick(feedItem);
}
}
@OnClick(R.id.btnCopyShareUrl)
public void onCopyShareUrlClick() {
if (onItemClickListener != null) {
onItemClickListener.onCopyShareUrlClick(feedItem);
}
}
@OnClick(R.id.btnCancel)
public void onCancelClick() {
if (onItemClickListener != null) {
onItemClickListener.onCancelClick(feedItem);
}
}
public void setOnFeedMenuItemClickListener(OnFeedContextMenuItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
public interface OnFeedContextMenuItemClickListener {
public void onReportClick(int feedItem);
public void onSharePhotoClick(int feedItem);
public void onCopyShareUrlClick(int feedItem);
public void onCancelClick(int feedItem);
}
}