From 719e387d9153dff24b773686d141b16819aa83f5 Mon Sep 17 00:00:00 2001 From: Christophe Beyls Date: Fri, 1 Jan 2016 21:43:57 +0100 Subject: [PATCH] Added a fix for crashes while zooming in PhotoView inside a DrawerLayout. --- .../fosdem/widgets/PhotoViewDrawerLayout.java | 36 +++++++++++++++++++ app/src/main/res/layout/main.xml | 4 +-- 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/be/digitalia/fosdem/widgets/PhotoViewDrawerLayout.java diff --git a/app/src/main/java/be/digitalia/fosdem/widgets/PhotoViewDrawerLayout.java b/app/src/main/java/be/digitalia/fosdem/widgets/PhotoViewDrawerLayout.java new file mode 100644 index 0000000..ef21686 --- /dev/null +++ b/app/src/main/java/be/digitalia/fosdem/widgets/PhotoViewDrawerLayout.java @@ -0,0 +1,36 @@ +package be.digitalia.fosdem.widgets; + +import android.content.Context; +import android.support.v4.widget.DrawerLayout; +import android.util.AttributeSet; +import android.view.MotionEvent; + +/** + * DrawerLayout which includes a fix to prevent crashes with PhotoView. + *

+ * See https://github.com/chrisbanes/PhotoView#issues-with-viewgroups + * http://code.google.com/p/android/issues/detail?id=18990 + */ +public class PhotoViewDrawerLayout extends DrawerLayout { + + public PhotoViewDrawerLayout(Context context) { + super(context); + } + + public PhotoViewDrawerLayout(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public PhotoViewDrawerLayout(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + try { + return super.onInterceptTouchEvent(ev); + } catch (Exception e) { + return false; + } + } +} diff --git a/app/src/main/res/layout/main.xml b/app/src/main/res/layout/main.xml index 8f096a8..4de8633 100644 --- a/app/src/main/res/layout/main.xml +++ b/app/src/main/res/layout/main.xml @@ -1,5 +1,5 @@ - - \ No newline at end of file + \ No newline at end of file