summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
diff options
context:
space:
mode:
authorMartin Fietz <Martin.Fietz@gmail.com>2015-11-07 01:25:15 +0100
committerMartin Fietz <Martin.Fietz@gmail.com>2015-11-07 01:25:15 +0100
commit8286a76cdf580f4adc1e536cabd3cb3ce3427f15 (patch)
tree7e13fddbad9b3606bbc6065a099df10fce7c1cad /app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
parent47886205f6dd265f3c212c0fb14a44ba88444e31 (diff)
downloadAntennaPod-8286a76cdf580f4adc1e536cabd3cb3ce3427f15.zip
Fancy drag/swipe effect
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java38
1 files changed, 37 insertions, 1 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
index 1d04baf7a..b35ff0aa9 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/AllEpisodesRecycleAdapter.java
@@ -5,6 +5,7 @@ import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.support.v7.widget.PopupMenu;
import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.helper.ItemTouchHelper;
import android.text.format.DateUtils;
import android.util.Log;
import android.view.ContextMenu;
@@ -24,6 +25,7 @@ import com.bumptech.glide.load.resource.drawable.GlideDrawable;
import com.bumptech.glide.request.animation.GlideAnimation;
import com.bumptech.glide.request.target.GlideDrawableImageViewTarget;
import com.joanzapata.iconify.Iconify;
+import com.nineoldandroids.view.ViewHelper;
import java.lang.ref.WeakReference;
@@ -250,7 +252,9 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter<AllEpisodesR
};
public class Holder extends RecyclerView.ViewHolder
- implements View.OnClickListener, View.OnCreateContextMenuListener {
+ implements View.OnClickListener,
+ View.OnCreateContextMenuListener,
+ ItemTouchHelperViewHolder {
TextView placeholder;
TextView title;
TextView pubDate;
@@ -278,6 +282,16 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter<AllEpisodesR
}
}
+ @Override
+ public void onItemSelected() {
+ ViewHelper.setAlpha(itemView, 0.5f);
+ }
+
+ @Override
+ public void onItemClear() {
+ ViewHelper.setAlpha(itemView, 1.0f);
+ }
+
public FeedItem getFeedItem() { return item; }
@Override
@@ -317,4 +331,26 @@ public class AllEpisodesRecycleAdapter extends RecyclerView.Adapter<AllEpisodesR
boolean isInQueue(FeedItem item);
}
+
+ /**
+ * Notifies a View Holder of relevant callbacks from
+ * {@link ItemTouchHelper.Callback}.
+ */
+ public interface ItemTouchHelperViewHolder {
+
+ /**
+ * Called when the {@link ItemTouchHelper} first registers an
+ * item as being moved or swiped.
+ * Implementations should update the item view to indicate
+ * it's active state.
+ */
+ void onItemSelected();
+
+
+ /**
+ * Called when the {@link ItemTouchHelper} has completed the
+ * move or swipe, and the active item state should be cleared.
+ */
+ void onItemClear();
+ }
}