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>