You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by ia...@apache.org on 2015/06/22 12:28:23 UTC

[11/12] incubator-taverna-mobile git commit: Implemented marking workflows as favorites for offline use

Implemented marking workflows as favorites for offline use


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/a08bc1d5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/a08bc1d5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/a08bc1d5

Branch: refs/heads/master
Commit: a08bc1d51545a6da9b75190d7262226a8a3440ce
Parents: 05a2c71
Author: larrytech7 <la...@gmail.com>
Authored: Wed Jun 17 23:09:19 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Wed Jun 17 23:09:19 2015 +0100

----------------------------------------------------------------------
 .../activities/DashboardMainActivity.java       |  8 +---
 .../adapters/FavoriteWorkflowAdapter.java       |  6 +--
 .../mobile/adapters/WorkflowAdapter.java        | 42 +++++++++++++++++---
 .../main/res/layout/fragment_workflow_about.xml |  1 -
 app/src/main/res/menu/dashboard_main.xml        |  2 +-
 5 files changed, 41 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/a08bc1d5/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
index 65ad26f..4b69674 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/DashboardMainActivity.java
@@ -53,7 +53,7 @@ import org.apache.taverna.mobile.fragments.WorkflowItemFragment;
 import java.io.File;
 
 public class DashboardMainActivity extends ActionBarActivity
-        implements NavigationDrawerFragment.NavigationDrawerCallbacks, FavoriteFragment.FavoriteItemSelected {
+        implements NavigationDrawerFragment.NavigationDrawerCallbacks{
 
     /**
      * Fragment managing the behaviors, interactions and presentation of the navigation drawer.
@@ -254,12 +254,6 @@ public class DashboardMainActivity extends ActionBarActivity
         return super.onOptionsItemSelected(item);
     }
 
-    @Override
-    public void onFavoriteItemSelected(int position) {
-        //trigger when a favorite item is selected.
-        startActivity(new Intent(this, WorkflowDetailActivity.class));
-    }
-
     public class MyAdapter extends FragmentPagerAdapter {
         public MyAdapter(FragmentManager fm) {
             super(fm);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/a08bc1d5/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
index 29b5e92..517248a 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/FavoriteWorkflowAdapter.java
@@ -61,9 +61,9 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl
         String[] mdata = dataSet.get(i);
         fViewHolder.author.setText(mdata[0]);
         fViewHolder.title.setText(mdata[1]);
-        fViewHolder.dateMarked.setText(mdata[2]);
-        fViewHolder.dateAdd.setText(mdata[3]);
-        fViewHolder.dateModified.setText(mdata[4]);
+        //fViewHolder.dateMarked.setText(mdata[2]);
+        //fViewHolder.dateAdd.setText(mdata[3]);
+        //fViewHolder.dateModified.setText(mdata[4]);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/a08bc1d5/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
index cc55100..4fa4030 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/WorkflowAdapter.java
@@ -39,6 +39,7 @@ import android.widget.Button;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import org.apache.taverna.mobile.R;
 import org.apache.taverna.mobile.activities.DashboardMainActivity;
@@ -46,9 +47,13 @@ import org.apache.taverna.mobile.activities.WorkflowDetailActivity;
 import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowdetailFragment;
 import org.apache.taverna.mobile.tavernamobile.Workflow;
 import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
+import org.apache.taverna.mobile.utils.Workflow_DB;
+import org.json.JSONException;
 
 import java.io.File;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -58,10 +63,13 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
     private Context context;
     private List<Workflow> workflow;
     private WorkflowAdapter.ViewHolder mViewHolder;
+    public static final String WORKFLOW_FAVORITE_KEY = "WORKFLOW_FAVORITES";
+    public Workflow_DB favDB;
 
     public WorkflowAdapter(Context c, List<Workflow> wk) {
         context = c;
         workflow = wk;
+        favDB = new Workflow_DB(context, WORKFLOW_FAVORITE_KEY);
     }
 
     public WorkflowAdapter(Context c){
@@ -83,12 +91,20 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
      */
     @Override
     public void onBindViewHolder(final ViewHolder viewHolder, int i) {
+
         final int j = i; //position of workflow item that has workflow data
         final Context c = this.context;
-        String author = workflow.get(i).getWorkflow_author();
-        String title = workflow.get(i).getWorkflow_title();
+
+        final long wid = workflow.get(i).getId();
+        final String author = workflow.get(i).getWorkflow_author();
+        final String title = workflow.get(i).getWorkflow_title();
         String description  = workflow.get(i).getWorkflow_description();
-        String desc_full = description;
+        final String desc_full = description;
+        ArrayList<Object> mfav = new ArrayList<Object>();
+
+        //save current workflow as favorite
+            mfav.add(wid); mfav.add(author);mfav.add(title);mfav.add(desc_full); mfav.add(SimpleDateFormat.getDateTimeInstance().format(new Date()).toString());
+
         if(description.length() > 80) description = description.substring(0, 79);
         viewHolder.author_name.setText(author);
         viewHolder.wk_title.setText(title);
@@ -114,12 +130,12 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
             }
         });
         viewHolder.btn_download_workflow.setOnClickListener(new View.OnClickListener() {
+
             @Override
             public void onClick(View view) {
-
                 try {
 
-                    String workflow_name = Uri.parse(wkflow_url).getLastPathSegment();
+                    //String workflow_name = Uri.parse(wkflow_url).getLastPathSegment();
                     WorkflowDownloadManager dm = new WorkflowDownloadManager(c);
                     File destinationFile = new File(PreferenceManager.getDefaultSharedPreferences(c)
                             .getString(DashboardMainActivity.APP_DIRECTORY_NAME, "/"));
@@ -134,7 +150,16 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
                 }
             }
         });
-        viewHolder.btn_mark_workflow.setOnClickListener(this);
+        viewHolder.btn_mark_workflow.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                boolean saved =  favDB.save();
+                if(saved)
+                    Toast.makeText(context,"Workflow marked as favorite",Toast.LENGTH_SHORT).show();
+                else
+                    Toast.makeText(context,"Error!, please try again",Toast.LENGTH_SHORT).show();
+            }
+        });
         viewHolder.wk_showmore.setText(Html.fromHtml(context.getResources().getString(R.string.seemore)));
         viewHolder.wk_showmore.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -145,6 +170,11 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
                     viewHolder.infolayout.setVisibility(View.GONE);
             }
         });
+        try {
+            favDB.put(mfav);
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/a08bc1d5/app/src/main/res/layout/fragment_workflow_about.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_workflow_about.xml b/app/src/main/res/layout/fragment_workflow_about.xml
index 4cab59c..1f7b676 100644
--- a/app/src/main/res/layout/fragment_workflow_about.xml
+++ b/app/src/main/res/layout/fragment_workflow_about.xml
@@ -22,7 +22,6 @@ limitations under the License.
     android:layout_height="match_parent"
     tools:context="org.apache.taverna.mobile.fragments.workflowdetails.WorkflowAboutFragment">
 
-    <!-- TODO: Update blank fragment layout -->
     <TextView android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:text="@string/hello_blank_fragment"

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/a08bc1d5/app/src/main/res/menu/dashboard_main.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/menu/dashboard_main.xml b/app/src/main/res/menu/dashboard_main.xml
index 48a0e82..d272ee7 100644
--- a/app/src/main/res/menu/dashboard_main.xml
+++ b/app/src/main/res/menu/dashboard_main.xml
@@ -25,6 +25,6 @@ limitations under the License.
     <item android:id="@+id/action_search"
         android:title="@string/menu_search"
         android:icon="@android:drawable/ic_menu_search"
-        app:showAsAction="always|withText"
+        app:showAsAction="collapseActionView|always"
         app:actionViewClass="android.support.v7.widget.SearchView"/>
 </menu>