add onItemTouchListener for recycler view

Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/commit/47182e0b
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/47182e0b
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/47182e0b

Branch: refs/heads/master
Commit: 47182e0baa6522f604889980bd2a93b11c36e0f4
Parents: cec96be
Author: Sagar <[email protected]>
Authored: Tue Jul 19 00:40:04 2016 +0530
Committer: Sagar <[email protected]>
Committed: Tue Jul 19 00:40:04 2016 +0530

----------------------------------------------------------------------
 .../FavouriteWorkflowsFragment.java             | 46 ++++++++++++++++----
 1 file changed, 38 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/47182e0b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java
----------------------------------------------------------------------
diff --git 
a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java
 
b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java
index 18ff017..9dead78 100644
--- 
a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java
+++ 
b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java
@@ -19,11 +19,7 @@
 package org.apache.taverna.mobile.ui.favouriteworkflow;
 
 
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.data.DataManager;
-import org.apache.taverna.mobile.data.model.Workflow;
-import org.apache.taverna.mobile.ui.adapter.FavouriteWorkflowsAdapter;
-
+import android.content.Intent;
 import android.os.Bundle;
 import android.support.design.widget.Snackbar;
 import android.support.v4.app.Fragment;
@@ -36,12 +32,20 @@ import android.view.ViewGroup;
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.data.DataManager;
+import org.apache.taverna.mobile.data.model.Workflow;
+import org.apache.taverna.mobile.ui.adapter.FavouriteWorkflowsAdapter;
+import org.apache.taverna.mobile.ui.adapter.RecyclerItemClickListner;
+import 
org.apache.taverna.mobile.ui.favouriteworkflowdetail.FavouriteWorkflowDetailActivity;
+
+import java.util.ArrayList;
 import java.util.List;
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
 
-public class FavouriteWorkflowsFragment extends Fragment implements 
FavouriteWorkflowsMvpView {
+public class FavouriteWorkflowsFragment extends Fragment implements 
FavouriteWorkflowsMvpView, RecyclerItemClickListner.OnItemClickListener {
 
     public final String LOG_TAG = getClass().getSimpleName();
 
@@ -53,12 +57,15 @@ public class FavouriteWorkflowsFragment extends Fragment 
implements FavouriteWor
 
     @BindView(R.id.error_no_workflow)
     TextView tvNoWorkflowError;
+
     private DataManager dataManager;
 
     private FavouriteWorkflowsPresenter mFavouriteWorkflowsPresenter;
 
     private FavouriteWorkflowsAdapter mFavouriteWorkflowsAdapter;
 
+    private List<Workflow> mWorkflowList;
+
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -67,6 +74,8 @@ public class FavouriteWorkflowsFragment extends Fragment 
implements FavouriteWor
         dataManager = new DataManager();
 
         mFavouriteWorkflowsPresenter = new 
FavouriteWorkflowsPresenter(dataManager);
+
+        mWorkflowList = new ArrayList<>();
     }
 
     @Override
@@ -80,12 +89,18 @@ public class FavouriteWorkflowsFragment extends Fragment 
implements FavouriteWor
 
         mFavouriteWorkflowsPresenter.attachView(this);
 
+        mFavouriteWorkflowsAdapter = new 
FavouriteWorkflowsAdapter(mWorkflowList, getContext());
+
         final LinearLayoutManager layoutManager = new 
LinearLayoutManager(getActivity());
 
         mRecyclerView.setLayoutManager(layoutManager);
         mRecyclerView.setItemAnimator(new DefaultItemAnimator());
         mRecyclerView.hasFixedSize();
 
+        mRecyclerView.addOnItemTouchListener(new 
RecyclerItemClickListner(getActivity(), this));
+
+        mRecyclerView.setAdapter(mFavouriteWorkflowsAdapter);
+
         showProgressbar(true);
         mFavouriteWorkflowsPresenter.loadAllWorkflow();
 
@@ -96,8 +111,10 @@ public class FavouriteWorkflowsFragment extends Fragment 
implements FavouriteWor
     @Override
     public void showProgressbar(boolean b) {
         if (b) {
+
             mProgressBar.setVisibility(View.VISIBLE);
         } else {
+
             mProgressBar.setVisibility(View.GONE);
             mRecyclerView.setVisibility(View.VISIBLE);
         }
@@ -121,12 +138,25 @@ public class FavouriteWorkflowsFragment extends Fragment 
implements FavouriteWor
     @Override
     public void showWorkflows(List<Workflow> workflowList) {
 
-        mFavouriteWorkflowsAdapter = new 
FavouriteWorkflowsAdapter(workflowList, getContext());
-        mRecyclerView.setAdapter(mFavouriteWorkflowsAdapter);
+        mWorkflowList.addAll(workflowList);
+        mFavouriteWorkflowsAdapter.notifyDataSetChanged();
     }
 
     @Override
     public void showEmptyWorkflow() {
         tvNoWorkflowError.setVisibility(View.VISIBLE);
     }
+
+    @Override
+    public void onItemClick(View childView, int position) {
+        Intent intent = new Intent(getActivity(), 
FavouriteWorkflowDetailActivity.class);
+        intent.putExtra("id", mWorkflowList.get(position).getId());
+        intent.putExtra("title", mWorkflowList.get(position).getTitle());
+        startActivity(intent);
+    }
+
+    @Override
+    public void onItemLongPress(View childView, int position) {
+
+    }
 }

Reply via email to