diff --git a/Chan/src/org/floens/chan/fragment/PostRepliesFragment.java b/Chan/src/org/floens/chan/fragment/PostRepliesFragment.java index 25939c15..419a03dc 100644 --- a/Chan/src/org/floens/chan/fragment/PostRepliesFragment.java +++ b/Chan/src/org/floens/chan/fragment/PostRepliesFragment.java @@ -53,7 +53,7 @@ public class PostRepliesFragment extends DialogFragment { public void onDismiss(DialogInterface dialog) { super.onDismiss(dialog); - if (callback) { + if (callback && manager != null) { manager.onPostRepliesPop(); } } diff --git a/Chan/src/org/floens/chan/imageview/fragment/ImageViewFragment.java b/Chan/src/org/floens/chan/imageview/fragment/ImageViewFragment.java index 93345445..4033b9f9 100644 --- a/Chan/src/org/floens/chan/imageview/fragment/ImageViewFragment.java +++ b/Chan/src/org/floens/chan/imageview/fragment/ImageViewFragment.java @@ -8,12 +8,14 @@ import org.floens.chan.imageview.view.NetworkPhotoView; import org.floens.chan.net.GIFRequest; import org.floens.chan.view.GIFView; +import uk.co.senab.photoview.PhotoViewAttacher.OnViewTapListener; import android.app.Fragment; import android.content.Context; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; +import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.widget.RelativeLayout; @@ -22,7 +24,7 @@ import android.widget.Toast; import com.android.volley.Response; import com.android.volley.VolleyError; -public class ImageViewFragment extends Fragment implements View.OnLongClickListener { +public class ImageViewFragment extends Fragment implements View.OnLongClickListener, OnViewTapListener, OnClickListener { private Context context; private RelativeLayout wrapper; private Post post; @@ -59,6 +61,8 @@ public class ImageViewFragment extends Fragment implements View.OnLongClickListe wrapper.setPadding(padding, padding, padding, padding); wrapper.setGravity(Gravity.CENTER); + wrapper.setOnClickListener(this); + return wrapper; } @@ -76,6 +80,7 @@ public class ImageViewFragment extends Fragment implements View.OnLongClickListe public void onResponse(GIFView view) { wrapper.addView(view, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); view.setOnLongClickListener(ImageViewFragment.this); + view.setOnClickListener(ImageViewFragment.this); showProgressBar(false); } }, new Response.ErrorListener() { @@ -95,6 +100,7 @@ public class ImageViewFragment extends Fragment implements View.OnLongClickListe imageView.setImageUrl(post.imageUrl, ChanApplication.getImageLoader()); imageView.setMaxScale(3f); imageView.setOnLongClickListenerToAttacher(this); + imageView.setOnViewTapListenerToAttacher(this); wrapper.addView(imageView, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); @@ -111,6 +117,16 @@ public class ImageViewFragment extends Fragment implements View.OnLongClickListe public boolean onLongClick(View v) { return false; } + + @Override + public void onViewTap(View view, float x, float y) { + activity.finish(); + } + + @Override + public void onClick(View v) { + activity.finish(); + } } diff --git a/Chan/src/org/floens/chan/imageview/view/NetworkPhotoView.java b/Chan/src/org/floens/chan/imageview/view/NetworkPhotoView.java index d8feede2..ab752261 100644 --- a/Chan/src/org/floens/chan/imageview/view/NetworkPhotoView.java +++ b/Chan/src/org/floens/chan/imageview/view/NetworkPhotoView.java @@ -4,6 +4,7 @@ import org.floens.chan.R; import org.floens.chan.imageview.fragment.ImageViewFragment; import uk.co.senab.photoview.PhotoViewAttacher; +import uk.co.senab.photoview.PhotoViewAttacher.OnViewTapListener; import android.content.Context; import android.graphics.drawable.Drawable; import android.widget.Toast; @@ -19,6 +20,7 @@ import com.android.volley.toolbox.NetworkImageView; public class NetworkPhotoView extends NetworkImageView { private PhotoViewAttacher attacher; private OnLongClickListener longClickListener; + private OnViewTapListener viewTapListener; private ImageViewFragment fragment; public NetworkPhotoView(Context context) { @@ -33,6 +35,10 @@ public class NetworkPhotoView extends NetworkImageView { longClickListener = listener; } + public void setOnViewTapListenerToAttacher(OnViewTapListener listener) { + viewTapListener = listener; + } + @Override public void setImageDrawable(Drawable drawable) { super.setImageDrawable(drawable); @@ -40,6 +46,7 @@ public class NetworkPhotoView extends NetworkImageView { attacher = new PhotoViewAttacher(this); attacher.setMaximumScale(mMaxScale); attacher.setOnLongClickListener(longClickListener); + attacher.setOnViewTapListener(viewTapListener); fragment.showProgressBar(false); }