From 2eb20b6a04f283ce572d02924ee0daaf7e0aadc4 Mon Sep 17 00:00:00 2001 From: seven332 Date: Sat, 27 Feb 2016 15:28:33 +0800 Subject: [PATCH] Add GalleryListScene long click dialog --- .../ehviewer/ui/scene/GalleryListScene.java | 33 +++++++++++++++++-- app/src/main/res/values-zh-rCN/strings.xml | 2 ++ app/src/main/res/values/arrays.xml | 5 +++ app/src/main/res/values/strings.xml | 2 ++ easyrecyclerview | 2 +- 5 files changed, 41 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java index 46b1ce6d9..d2cf5b21b 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java @@ -20,6 +20,8 @@ import android.animation.Animator; import android.animation.ValueAnimator; import android.annotation.TargetApi; import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.Build; @@ -30,6 +32,7 @@ import android.support.annotation.Nullable; import android.support.design.widget.FloatingActionButton; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; +import android.support.v7.app.AlertDialog; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.Spannable; @@ -61,6 +64,7 @@ import com.hippo.ehviewer.client.EhUtils; import com.hippo.ehviewer.client.data.GalleryInfo; import com.hippo.ehviewer.client.data.ListUrlBuilder; import com.hippo.ehviewer.client.parser.GalleryListParser; +import com.hippo.ehviewer.download.DownloadService; import com.hippo.ehviewer.widget.FitPaddingLayout; import com.hippo.ehviewer.widget.SearchBar; import com.hippo.ehviewer.widget.SearchLayout; @@ -84,8 +88,8 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; public final class GalleryListScene extends BaseScene - implements EasyRecyclerView.OnItemClickListener, SearchBar.Helper, - SearchBar.OnStateChangeListener, FastScroller.OnDragHandlerListener, + implements EasyRecyclerView.OnItemClickListener, EasyRecyclerView.OnItemLongClickListener, + SearchBar.Helper, SearchBar.OnStateChangeListener, FastScroller.OnDragHandlerListener, SearchLayout.Helper, View.OnClickListener { @IntDef({STATE_NORMAL, STATE_SIMPLE_SEARCH, STATE_SEARCH, STATE_SEARCH_SHOW_LIST}) @@ -292,6 +296,7 @@ public final class GalleryListScene extends BaseScene mRecyclerView.hasFixedSize(); mRecyclerView.setClipToPadding(false); mRecyclerView.setOnItemClickListener(this); + mRecyclerView.setOnItemLongClickListener(this); int paddingH = resources.getDimensionPixelOffset(R.dimen.list_content_margin_h); int paddingV = resources.getDimensionPixelOffset(R.dimen.list_content_margin_v); mRecyclerView.setPadding(paddingV, paddingH, paddingV, paddingH); @@ -462,6 +467,30 @@ public final class GalleryListScene extends BaseScene return true; } + @Override + public boolean onItemLongClick(EasyRecyclerView parent, View view, int position, long id) { + final GalleryInfo gi = mHelper.getDataAt(position); + new AlertDialog.Builder(getContext()) + .setTitle(EhUtils.getSuitableTitle(gi)) + .setItems(R.array.gallery_list_menu_entries, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case 0: // Download + Intent intent = new Intent(getActivity(), DownloadService.class); + intent.setAction(DownloadService.ACTION_START); + intent.putExtra(DownloadService.KEY_GALLERY_INFO, gi); + getActivity().startService(intent); + break; + case 1: // Favorite + // TODO + break; + } + } + }).show(); + return true; + } + private void showFab() { mFab.setVisibility(View.VISIBLE); mFab.setScaleX(0.0f); diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 970429285..ee6d141e8 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -91,6 +91,8 @@ 显示被删除的画廊 最低评分: + 收藏 + 2 星 3 星 diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index a0c98e8a3..9338180ce 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -75,4 +75,9 @@ @string/page_menu_add_bookmark + + @string/download + @string/add_to_favourites + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5dd5f3927..119ebbd87 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -130,6 +130,8 @@ Show Expunged Galleries Minimum Rating: + Add to favourites + 2 stars 3 stars diff --git a/easyrecyclerview b/easyrecyclerview index c756a25ed..29298521b 160000 --- a/easyrecyclerview +++ b/easyrecyclerview @@ -1 +1 @@ -Subproject commit c756a25edef7a0b755654e51e573efb4ae8a8722 +Subproject commit 29298521b4abd307ec9159173237fcc0b52f5d38