package com.merono.g;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.widget.ListView;
import java.util.ArrayList;
public class QuoteDialogFragment extends DialogFragment implements GestureDetector.OnGestureListener {
private static ArrayList<Post> posts;
private GestureDetector mDetector;
public static QuoteDialogFragment newInstance(Post post, ArrayList<Post> allPosts) {
ArrayList<String> quoteIds = post.getQuoteIds();
posts = Post.selectPostsByIds(quoteIds, allPosts);
posts.add(post);
return new QuoteDialogFragment();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mDetector = new GestureDetector(getActivity(), this);
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Activity activity = getActivity();
ListView lv = new ListView(activity) {
@Override
public boolean onTouchEvent(MotionEvent ev) {
mDetector.onTouchEvent(ev);
return super.onTouchEvent(ev);
}
};
lv.setAdapter(new PostAdapter(activity, R.layout.post_item, posts, null));
return new AlertDialog.Builder(activity).setView(lv).create();
}
@Override
public boolean onDown(MotionEvent motionEvent) {
return false;
}
@Override
public void onShowPress(MotionEvent motionEvent) {
}
@Override
public boolean onSingleTapUp(MotionEvent motionEvent) {
return false;
}
@Override
public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent2, float v, float v2) {
return false;
}
@Override
public void onLongPress(MotionEvent motionEvent) {
}
@Override
public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent2, float velocityX, float velocityY) {
if (Math.abs(velocityX) > Math.abs(velocityY) + 1000) {
getDialog().dismiss();
}
return false;
}
}