package slidenerd.vivz.bucketdrops.home;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;
import slidenerd.vivz.bucketdrops.R;
import static slidenerd.vivz.bucketdrops.extras.Constants.POSITION;
public class DialogMark extends DialogFragment {
private Bundle mArguments;
private Button mBtnMarkCompleted;
private ImageButton mBtnClose;
private MarkedListener mMarkedListener;
private View.OnClickListener mBtnClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_completed:
completeAction();
break;
}
dismiss();
}
};
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mArguments = getArguments();
setStyle(DialogFragment.STYLE_NORMAL, R.style.DialogTheme);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.dialog_mark, container, false);
}
public void setDialogActionsListener(MarkedListener listener) {
mMarkedListener = listener;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mBtnMarkCompleted = (Button) view.findViewById(R.id.btn_completed);
mBtnClose = (ImageButton) view.findViewById(R.id.btn_close);
mBtnMarkCompleted.setOnClickListener(mBtnClickListener);
mBtnClose.setOnClickListener(mBtnClickListener);
}
private void completeAction() {
if (mMarkedListener == null) return;
//When the user marks an row_drop as complete, get the row_drop's id and notify the interested listeners so that they can further process this event
int position = mArguments.getInt(POSITION);
mMarkedListener.onMarked(position);
}
/**
* Created by vivz on 14/07/15.
*/
public interface MarkedListener {
void onMarked(int position);
}
}