diff --git a/demo/src/main/java/com/daimajia/swipedemo/MyActivity.java b/demo/src/main/java/com/daimajia/swipedemo/MyActivity.java index 78cd2d3..18fb36f 100644 --- a/demo/src/main/java/com/daimajia/swipedemo/MyActivity.java +++ b/demo/src/main/java/com/daimajia/swipedemo/MyActivity.java @@ -9,7 +9,6 @@ import android.view.MenuItem; import android.view.View; import android.widget.Toast; -import com.daimajia.swipe.SimpleSwipeListener; import com.daimajia.swipe.SwipeLayout; import com.nineoldandroids.view.ViewHelper; @@ -69,12 +68,6 @@ public class MyActivity extends Activity { Toast.makeText(MyActivity.this, "Yo", Toast.LENGTH_SHORT).show(); } }); - sample1.addSwipeListener(new SimpleSwipeListener() { - @Override - public void onOpen(SwipeLayout layout) { - Toast.makeText(MyActivity.this, "Opened", Toast.LENGTH_SHORT).show(); - } - }); //sample3 diff --git a/gradle.properties b/gradle.properties index a58ba55..7433d30 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,8 +18,8 @@ # org.gradle.parallel=true -VERSION_NAME=1.0.8 -VERSION_CODE=9 +VERSION_NAME=1.1.0 +VERSION_CODE=11 GROUP=com.daimajia.swipelayout ANDROID_BUILD_MIN_SDK_VERSION=8 diff --git a/library/src/main/java/com/daimajia/swipe/SwipeLayout.java b/library/src/main/java/com/daimajia/swipe/SwipeLayout.java index 91ba873..a53048c 100644 --- a/library/src/main/java/com/daimajia/swipe/SwipeLayout.java +++ b/library/src/main/java/com/daimajia/swipe/SwipeLayout.java @@ -15,7 +15,6 @@ import android.widget.Adapter; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.FrameLayout; -import android.widget.HeaderViewListAdapter; import android.widget.ListAdapter; import java.util.ArrayList; @@ -36,6 +35,8 @@ public class SwipeLayout extends FrameLayout { private Map> mRevealListeners = new HashMap>(); private Map mShowEntirely = new HashMap(); + private boolean mSwipeEnabled = true; + public static enum DragEdge { Left, Right, @@ -638,6 +639,15 @@ public class SwipeLayout extends FrameLayout { @Override public boolean onInterceptTouchEvent(MotionEvent ev) { + + if(!isEnabled() || !isEnabledInAdapterView()){ + return true; + } + + if(!isSwipeEnabled()){ + return false; + } + for (SwipeDenier denier : mSwipeDeniers) { if (denier != null && denier.shouldDenySwipe(ev)) { return false; @@ -716,10 +726,12 @@ public class SwipeLayout extends FrameLayout { private float sX = -1 , sY = -1; @Override public boolean onTouchEvent(MotionEvent event) { - - if(!isEnabledInAdapterView()) + if(!isEnabledInAdapterView() || !isEnabled()) return true; + if(!isSwipeEnabled()) + return super.onTouchEvent(event); + int action = event.getActionMasked(); ViewParent parent = getParent(); @@ -735,6 +747,7 @@ public class SwipeLayout extends FrameLayout { case MotionEvent.ACTION_DOWN: mDragHelper.processTouchEvent(event); parent.requestDisallowInterceptTouchEvent(true); + sX = event.getRawX(); sY = event.getRawY(); @@ -839,17 +852,23 @@ public class SwipeLayout extends FrameLayout { if(adapter != null){ int p = adapterView.getPositionForView(SwipeLayout.this); if(adapter instanceof BaseAdapter){ - enable &= ((BaseAdapter) adapter).isEnabled(p); + enable = ((BaseAdapter) adapter).isEnabled(p); }else if(adapter instanceof ListAdapter){ - enable &= ((ListAdapter) adapter).isEnabled(p); - }else if(adapter instanceof HeaderViewListAdapter){ - enable &= ((HeaderViewListAdapter) adapter).isEnabled(p); + enable = ((ListAdapter) adapter).isEnabled(p); } } } return enable; } + public void setSwipeEnabled(boolean enabled){ + mSwipeEnabled = enabled; + } + + public boolean isSwipeEnabled(){ + return mSwipeEnabled; + } + private boolean insideAdapterView(){ return getAdapterView() != null; }