diff options
author | Andrew Dolgov <[email protected]> | 2017-06-01 19:29:04 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2017-06-01 19:29:04 +0300 |
commit | b043d6acb726fc44180f6d8efee91490d0da03ce (patch) | |
tree | ec9ba9f12ad0c727ac0ad41921b7cf951f83c63a /org.fox.ttrss/src | |
parent | 5d3f580de4c0803e2319cba9a8e04b46191131a5 (diff) |
snackbar-based undo for swipe to dismiss
Diffstat (limited to 'org.fox.ttrss/src')
-rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java index d500b215..10690e43 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java @@ -16,7 +16,9 @@ import android.media.MediaPlayer; import android.net.Uri; import android.os.Build; import android.os.Bundle; +import android.os.Handler; import android.preference.PreferenceManager; +import android.support.design.widget.Snackbar; import android.support.v4.app.ActivityCompat; import android.support.v4.app.ActivityOptionsCompat; import android.support.v4.app.Fragment; @@ -366,10 +368,10 @@ public class HeadlinesFragment extends Fragment { @Override public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) { - int position = viewHolder.getAdapterPosition() - m_adapter.getHeaderCount(); + final int position = viewHolder.getAdapterPosition() - m_adapter.getHeaderCount(); try { - Article article = getArticleAtPosition(position); + final Article article = getArticleAtPosition(position); if (article != null) { if (article.unread) { @@ -380,6 +382,16 @@ public class HeadlinesFragment extends Fragment { m_articles.remove(position); m_adapter.notifyDataSetChanged(); + + Snackbar.make(m_list, R.string.headline_undo_row_prompt, Snackbar.LENGTH_LONG) + .setAction(getString(R.string.headline_undo_row_button), new OnClickListener() { + @Override + public void onClick(View v) { + m_articles.add(position, article); + m_adapter.notifyDataSetChanged(); + } + }).show(); + } catch (Exception e) { e.printStackTrace(); } |