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/08/24 13:09:04 UTC

[25/38] incubator-taverna-mobile git commit: fixing workflow streams on daashboard

fixing workflow streams on daashboard


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

Branch: refs/heads/master
Commit: 1e9c5cfade4a221a5e236439fd2a7f20264b0ffd
Parents: 5f424af
Author: larrytech7 <la...@gmail.com>
Authored: Thu Aug 13 18:06:45 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Thu Aug 13 18:06:45 2015 +0100

----------------------------------------------------------------------
 .../adapters/FavoriteWorkflowAdapter.java       | 15 ++++++++++++
 .../mobile/adapters/WorkflowAdapter.java        |  4 +---
 .../mobile/fragments/WorkflowItemFragment.java  |  2 +-
 .../workflowdetails/WorkflowdetailFragment.java | 24 ++++++++++++++++----
 app/src/main/res/values/strings.xml             |  1 +
 5 files changed, 38 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1e9c5cfa/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 c2bdfa6..4ad6eef 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
@@ -25,6 +25,8 @@ package org.apache.taverna.mobile.adapters;
  */
 
 import android.content.Context;
+import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
 import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -110,6 +112,7 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl
             public void onClick(View view) {
                 Toast.makeText(context, String.format("%s", "Removed "),Toast.LENGTH_SHORT).show();
                 try {
+                    //removeMarkedWorkflow(String.valueOf(data.get(0)));
                     favDB.delete(String.valueOf(data.get(0)));
                     notifyDataSetChanged();
                 } catch (JSONException e) {
@@ -119,6 +122,18 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl
             }
         });
     }
+    //remove a workflow from the marked state
+    private void removeMarkedWorkflow(String strToRemove){
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+        char[] charsequence = sharedPreferences.getString(WorkflowAdapter.FAVORITE_LIST_DB, "").toCharArray();
+        for(int i=0; i<charsequence.length; i++){
+            if(charsequence[i] == strToRemove.charAt(0)){
+                charsequence[i] = '0';
+                break;
+            }
+        }
+        sharedPreferences.edit().putString(WorkflowAdapter.FAVORITE_LIST_DB, charsequence.toString()).apply();
+    }
 
     @Override
     public int getItemCount() {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1e9c5cfa/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 0d1c99c..8cecae7 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
@@ -147,8 +147,6 @@ 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 long wid = workflowList.get(i).getId();
         final String author = workflowList.get(i).getWorkflow_author();
 //        final String author = workflowList.get(i).getUploader().getName();
@@ -169,6 +167,7 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
 //        it.putExtra("workflowid", workflow.get(i).getId()); //workflow_url
         it.putExtra("uri",uri);//uri
         it.putExtra("wtitle", title); //pass this workflow's title to the detail activity so the corresponding run can be fetched
+        it.putExtra("wid", wid);
         WorkflowdetailFragment.WORKFLO_ID = title;//workflow.get(i).getId();
 
             //determine whether to mark button as favorited or not
@@ -182,7 +181,6 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
                     }
             }
 
-
         viewHolder.btn_view_workflow.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1e9c5cfa/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
index 0228a24..784e631 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/WorkflowItemFragment.java
@@ -294,7 +294,7 @@ public class WorkflowItemFragment extends Fragment implements SwipeRefreshLayout
         isRefreshData = true;
         isLoadMoreData = false;
 
-        new WorkflowLoader(getActivity(),swipeRefreshLayout).execute(""+currentPage);
+        new WorkflowLoader(getActivity(),swipeRefreshLayout).execute(""+1);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1e9c5cfa/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
index 94e072e..38a348c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowdetailFragment.java
@@ -33,6 +33,7 @@ import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.Loader;
+import android.content.SharedPreferences;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.net.Uri;
@@ -110,6 +111,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     private static String download_url;
     public static String WORKFLO_ID = "";
     public static Context cont;
+    SharedPreferences sharedPreferences;
     private static boolean LOAD_STATE = false;
     private static boolean DROPUPLOAD = false;
     static Animation zoomin;
@@ -119,6 +121,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
     final static private String BOX_APP_KEY = "doicbvkfyzligh2";
     final static private String BOX_APP_SECRET = "3uuuw36mm7jkflc";
     static Workflow currentWorkflow =  null;
+    private long wid;
 
     private DropboxAPI<AndroidAuthSession> mDBApi;
 
@@ -157,12 +160,23 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
         zoomout = AnimationUtils.loadAnimation(getActivity(), R.anim.zoomout);
 
         isZoomIn = false;
-
+         sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
+        wid = getActivity().getIntent().getLongExtra("wid", 0);
         Button createRun = (Button) rootView.findViewById(R.id.run_wk);
         createRun.setOnClickListener(this);
         Button download = (Button) rootView.findViewById(R.id.download_wk);
         download.setOnClickListener(this);
-        rootView.findViewById(R.id.mark_wk).setOnClickListener(this);
+        Button mark_workflow = (Button) rootView.findViewById(R.id.mark_wk);
+        mark_workflow.setOnClickListener(this);
+        final String favs = sharedPreferences.getString(WorkflowAdapter.FAVORITE_LIST_DB, "");
+        String[] ids = favs.split(",");
+        if(ids.length > 0) {
+            for (String id : ids)
+                if (id.equalsIgnoreCase("" +wid )){
+                    mark_workflow.setBackgroundResource(R.drawable.abc_list_selector_disabled_holo_light);
+                    break;
+                }
+        }
         rootView.findViewById(R.id.saveToDropboxButton).setOnClickListener(this);
         rootView.findViewById(R.id.saveToGoogleDriveButton).setOnClickListener(this);
         (rootView.findViewById(R.id.wkf_image)).setOnLongClickListener(new View.OnLongClickListener() {
@@ -210,8 +224,9 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
 
                 break;
             case R.id.mark_wk:
-                //TODO mark a workflow as important and launch task to store the entry into the local database
+
                 ArrayList<Object> mfav = new ArrayList<Object>();
+                String favs = sharedPreferences.getString(WorkflowAdapter.FAVORITE_LIST_DB, "");
                 //save current workflow as favorite
                 mfav.add(currentWorkflow.getId());
                 mfav.add(currentWorkflow.getWorkflow_author());
@@ -222,8 +237,9 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
                 mfav.add(((TextView) rootView.findViewById(R.id.wkf_author)).getText());
                 int result = new Workflow_DB(getActivity(), WorkflowAdapter.WORKFLOW_FAVORITE_KEY).insert(mfav);
                 if(result >0) {
+                    sharedPreferences.edit().putString(WorkflowAdapter.FAVORITE_LIST_DB, favs+wid+",").apply();
                     Toast.makeText(getActivity(), "Workflow marked as favorite", Toast.LENGTH_SHORT).show();
-                    ((Button) view).setCompoundDrawables(getActivity().getResources().getDrawable(android.R.drawable.btn_star_big_on),null,null,null);
+                     view.setBackgroundResource(R.drawable.abc_list_selector_disabled_holo_light);
 
                 }else if(result == -1){
                     Toast.makeText(getActivity(),"sorry!, this workflow has already been marked as favorite",Toast.LENGTH_SHORT).show();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1e9c5cfa/app/src/main/res/values/strings.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 39be676..25c2755 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -108,5 +108,6 @@ limitations under the License.
     <string name="usage_menu_Text">The navigation drawer brings up a menu. The workflow menu item allows one to quickly return to the workflow streams page from any screen. The \'Open Workflow\' item allows users to pick a valid workflow from external storage and run it against a Taverna Server through a Taverna Player. Settings allow user to configure player accounts and portal urls. Logout allows users to log-out of the app</string>
     <string name="usage_detail">Usage | Workfow Detail</string>
     <string name="usage_detail_text">The details screen allows users to run particular worklows and provides detailed information about the workflows. Workflows can also be downloaded from here. Workflows can also be marked from this screen which would save much more data for offline use than on the dashboard screen. This screen also provides a set of runs for the workflow from other users</string>
+    <string name="runid_text">Workflow Run ID:</string>
 
 </resources>