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:18 UTC
[06/12] incubator-taverna-mobile git commit: Implemented app
preferences to configure Taverna player and server portals
Implemented app preferences to configure Taverna player and server portals
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/1fcf1fe6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/1fcf1fe6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/1fcf1fe6
Branch: refs/heads/master
Commit: 1fcf1fe647dc38b8c70e370111c65c754af933e9
Parents: 78ee0be
Author: larrytech7 <la...@gmail.com>
Authored: Tue Jun 16 16:43:37 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Tue Jun 16 16:43:37 2015 +0100
----------------------------------------------------------------------
app/src/main/AndroidManifest.xml | 11 +-
app/src/main/ic_dashboard_home-web.png | Bin 0 -> 2121 bytes
.../activities/DashboardMainActivity.java | 11 +-
.../mobile/activities/SettingsActivity.java | 244 +++++++++++++++++++
.../mobile/adapters/SliderMenuAdapter.java | 18 +-
.../fragments/NavigationDrawerFragment.java | 1 +
.../workflowdetails/WorkflowAboutFragment.java | 1 -
.../workflowdetails/WorkflowdetailFragment.java | 7 +-
.../mobile/tavernamobile/TavernaPlayerAPI.java | 42 +++-
.../taverna/mobile/utils/DetailsLoader.java | 10 +-
.../taverna/mobile/utils/WorkflowRunHelper.java | 30 ---
.../main/res/mipmap-hdpi/ic_dashboard_home.png | Bin 0 -> 224 bytes
.../main/res/mipmap-mdpi/ic_dashboard_home.png | Bin 0 -> 273 bytes
.../main/res/mipmap-xhdpi/ic_dashboard_home.png | Bin 0 -> 371 bytes
.../res/mipmap-xxhdpi/ic_dashboard_home.png | Bin 0 -> 566 bytes
.../res/mipmap-xxxhdpi/ic_dashboard_home.png | Bin 0 -> 659 bytes
.../res/values/strings_activity_settings.xml | 22 ++
app/src/main/res/xml/pref_general.xml | 33 +++
app/src/main/res/xml/pref_headers.xml | 9 +
19 files changed, 380 insertions(+), 59 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/AndroidManifest.xml
----------------------------------------------------------------------
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 7db3bdb..5d1c634 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -67,9 +67,18 @@ limitations under the License.
android:enabled="true"
android:exported="true" >
<intent-filter>
- <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
+ <action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
</intent-filter>
</receiver>
+
+ <activity
+ android:name=".activities.SettingsActivity"
+ android:label="@string/title_activity_settings"
+ android:parentActivityName="org.apache.taverna.mobile.activities.DashboardMainActivity" >
+ <meta-data
+ android:name="android.support.PARENT_ACTIVITY"
+ android:value="org.apache.taverna.mobile.activities.DashboardMainActivity" />
+ </activity>
</application>
</manifest>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/ic_dashboard_home-web.png
----------------------------------------------------------------------
diff --git a/app/src/main/ic_dashboard_home-web.png b/app/src/main/ic_dashboard_home-web.png
new file mode 100644
index 0000000..5810950
Binary files /dev/null and b/app/src/main/ic_dashboard_home-web.png differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/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 5ff0640..7624082 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
@@ -110,7 +110,7 @@ public class DashboardMainActivity extends ActionBarActivity
// update the main content by replacing fragments
FragmentManager fragmentManager = getSupportFragmentManager();
switch(position+1){
- case 1:
+ case 1://return home
fragmentManager.beginTransaction()
.replace(R.id.container, WorkflowItemFragment.newInstance("param1", "param2"))
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE)
@@ -145,7 +145,11 @@ public class DashboardMainActivity extends ActionBarActivity
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.commit();
break;
- case 5: //logout user
+ case 5://open settings/preference activity
+ startActivity(new Intent(this, SettingsActivity.class));
+ overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
+ break;
+ case 6: //logout user
this.finish();
break;
default:
@@ -178,6 +182,9 @@ public class DashboardMainActivity extends ActionBarActivity
mTitle = getString(R.string.title_about);
break;
case 5:
+ mTitle = getString(R.string.title_activity_settings);
+ break;
+ case 6:
mTitle = getString(R.string.title_exit);
break;
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java
new file mode 100644
index 0000000..4a5048d
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java
@@ -0,0 +1,244 @@
+package org.apache.taverna.mobile.activities;
+/**
+ * Apache Taverna Mobile
+ * Copyright 2015 The Apache Software Foundation
+
+ * This product includes software developed at
+ * The Apache Software Foundation (http://www.apache.org/).
+
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.content.res.Configuration;
+import android.os.Build;
+import android.os.Bundle;
+import android.preference.ListPreference;
+import android.preference.Preference;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceFragment;
+import android.preference.PreferenceManager;
+import android.support.annotation.NonNull;
+import android.support.v4.app.NavUtils;
+import android.view.MenuItem;
+
+import org.apache.taverna.mobile.R;
+
+import java.util.List;
+
+/**
+ * A {@link PreferenceActivity} that presents a set of application settings. On
+ * handset devices, settings are presented as a single list. On tablets,
+ * settings are split by category, with category headers shown to the left of
+ * the list of settings.
+ * <p/>
+ * See <a href="http://developer.android.com/design/patterns/settings.html">
+ * Android Design: Settings</a> for design guidelines and the <a
+ * href="http://developer.android.com/guide/topics/ui/settings.html">Settings
+ * API Guide</a> for more information on developing a Settings UI.
+ */
+public class SettingsActivity extends PreferenceActivity {
+ /**
+ * Determines whether to always show the simplified settings UI, where
+ * settings are presented in a single list. When false, settings are shown
+ * as a master/detail two-pane view on tablets. When true, a single pane is
+ * shown on tablets.
+ */
+ private static final boolean ALWAYS_SIMPLE_PREFS = false;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ // setupActionBar();
+ }
+
+ /**
+ * Set up the {@link android.app.ActionBar}, if the API is available.
+ */
+ /* @NonNull
+ @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+ private void setupActionBar() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
+ // Show the Up button in the action bar.
+ getActionBar().setDisplayHomeAsUpEnabled(true);
+ }
+ }
+*/
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ int id = item.getItemId();
+ if (id == android.R.id.home) {
+ // This ID represents the Home or Up button. In the case of this
+ // activity, the Up button is shown. Use NavUtils to allow users
+ // to navigate up one level in the application structure. For
+ // more details, see the Navigation pattern on Android Design:
+ //
+ // http://developer.android.com/design/patterns/navigation.html#up-vs-back
+ //
+ // TODO: If Settings has multiple levels, Up should navigate up
+ // that hierarchy.
+ NavUtils.navigateUpFromSameTask(this);
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+ @Override
+ protected void onPostCreate(Bundle savedInstanceState) {
+ super.onPostCreate(savedInstanceState);
+
+ setupSimplePreferencesScreen();
+ }
+
+ /**
+ * Shows the simplified settings UI if the device configuration if the
+ * device configuration dictates that a simplified, single-pane UI should be
+ * shown.
+ */
+ private void setupSimplePreferencesScreen() {
+ if (!isSimplePreferences(this)) {
+ return;
+ }
+
+ // In the simplified UI, fragments are not used at all and we instead
+ // use the older PreferenceActivity APIs.
+
+ // Add 'general' preferences.
+ addPreferencesFromResource(R.xml.pref_general);
+
+ // Bind the summaries of EditText/List/Dialog/Ringtone preferences to
+ // their values. When their values change, their summaries are updated
+ // to reflect the new value, per the Android Design guidelines.
+ bindPreferenceSummaryToValue(findPreference("pref_server_url"));
+ bindPreferenceSummaryToValue(findPreference("pref_player_url"));
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean onIsMultiPane() {
+ return isXLargeTablet(this) && !isSimplePreferences(this);
+ }
+
+ /**
+ * Helper method to determine if the device has an extra-large screen. For
+ * example, 10" tablets are extra-large.
+ */
+ private static boolean isXLargeTablet(Context context) {
+ return (context.getResources().getConfiguration().screenLayout
+ & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE;
+ }
+
+ /**
+ * Determines whether the simplified settings UI should be shown. This is
+ * true if this is forced via {@link #ALWAYS_SIMPLE_PREFS}, or the device
+ * doesn't have newer APIs like {@link PreferenceFragment}, or the device
+ * doesn't have an extra-large screen. In these cases, a single-pane
+ * "simplified" settings UI should be shown.
+ */
+ private static boolean isSimplePreferences(Context context) {
+ return ALWAYS_SIMPLE_PREFS
+ || Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB
+ || !isXLargeTablet(context);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+ public void onBuildHeaders(List<Header> target) {
+ if (!isSimplePreferences(this)) {
+ loadHeadersFromResource(R.xml.pref_headers, target);
+ }
+ }
+
+ /**
+ * A preference value change listener that updates the preference's summary
+ * to reflect its new value.
+ */
+ private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() {
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object value) {
+ String stringValue = value.toString();
+
+ if (preference instanceof ListPreference) {
+ // For list preferences, look up the correct display value in
+ // the preference's 'entries' list.
+ ListPreference listPreference = (ListPreference) preference;
+ int index = listPreference.findIndexOfValue(stringValue);
+
+ // Set the summary to reflect the new value.
+ preference.setSummary(
+ index >= 0
+ ? listPreference.getEntries()[index]
+ : null);
+
+ } else {
+ // For all other preferences, set the summary to the value's
+ // simple string representation.
+ preference.setSummary(stringValue);
+ }
+ return true;
+ }
+ };
+
+ /**
+ * Binds a preference's summary to its value. More specifically, when the
+ * preference's value is changed, its summary (line of text below the
+ * preference title) is updated to reflect the value. The summary is also
+ * immediately updated upon calling this method. The exact display format is
+ * dependent on the type of preference.
+ *
+ * @see #sBindPreferenceSummaryToValueListener
+ */
+ private static void bindPreferenceSummaryToValue(Preference preference) {
+ // Set the listener to watch for value changes.
+ preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);
+
+ // Trigger the listener immediately with the preference's
+ // current value.
+ sBindPreferenceSummaryToValueListener.onPreferenceChange(preference,
+ PreferenceManager
+ .getDefaultSharedPreferences(preference.getContext())
+ .getString(preference.getKey(), ""));
+ }
+
+ /**
+ * This fragment shows general preferences only. It is used when the
+ * activity is showing a two-pane settings UI.
+ */
+ @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+ public static class GeneralPreferenceFragment extends PreferenceFragment {
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ addPreferencesFromResource(R.xml.pref_general);
+
+ // Bind the summaries of EditText/List/Dialog/Ringtone preferences
+ // to their values. When their values change, their summaries are
+ // updated to reflect the new value, per the Android Design
+ // guidelines.
+ bindPreferenceSummaryToValue(findPreference("pref_server_url"));
+ bindPreferenceSummaryToValue(findPreference("pref_player_url"));
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/java/org/apache/taverna/mobile/adapters/SliderMenuAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/SliderMenuAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/SliderMenuAdapter.java
index 9a68189..9b702a1 100644
--- a/app/src/main/java/org/apache/taverna/mobile/adapters/SliderMenuAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/adapters/SliderMenuAdapter.java
@@ -68,22 +68,12 @@ public class SliderMenuAdapter extends BaseAdapter{
public View getView(int i, View view, ViewGroup viewGroup) {
View menuitemview = LayoutInflater.from(context).inflate(R.layout.menu_item_layout, viewGroup, false);
- /* if(view != null ) {
- ViewHolder vh = (ViewHolder) view.getTag();
- if (vh == null) {
- ViewHolder v = new ViewHolder(menuitemview);
- view.setTag(v);
- return getView(i,view,viewGroup);
- } else {
- vh.menuitem.setText(dataItems.get(i));
- vh.menuicon.setImageResource(R.drawable.gear_icon);
- }
- }*/
+
ImageView menuicon = (ImageView) menuitemview.findViewById(R.id.menuIcon);
TextView menuitem = (TextView) menuitemview.findViewById(R.id.menuItemText);
switch(i +1){
case 1:
- menuicon.setImageResource(R.mipmap.ic_workflows);
+ menuicon.setImageResource(R.mipmap.ic_dashboard_home);
menuitem.setText(dataItems.get(i));
break;
case 2:
@@ -99,6 +89,10 @@ public class SliderMenuAdapter extends BaseAdapter{
menuitem.setText(dataItems.get(i));
break;
case 5:
+ menuicon.setImageResource(R.mipmap.ic_workflows);
+ menuitem.setText(dataItems.get(i));
+ break;
+ case 6:
menuicon.setImageResource(R.mipmap.ic_logout);
menuitem.setText(dataItems.get(i));
break;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/java/org/apache/taverna/mobile/fragments/NavigationDrawerFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/NavigationDrawerFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/NavigationDrawerFragment.java
index e936d1e..f3aaed0 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/NavigationDrawerFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/NavigationDrawerFragment.java
@@ -138,6 +138,7 @@ public class NavigationDrawerFragment extends Fragment {
mlist.add(getString(R.string.title_openworkflow));
mlist.add(getString(R.string.title_usage));
mlist.add(getString(R.string.title_about));
+ mlist.add(getString(R.string.title_activity_settings));
mlist.add(getString(R.string.title_exit));
mDrawerListView.setAdapter(new SliderMenuAdapter(getActivity(), mlist));
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowAboutFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowAboutFragment.java b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowAboutFragment.java
index e54cdaf..c8f1e64 100644
--- a/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowAboutFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/fragments/workflowdetails/WorkflowAboutFragment.java
@@ -84,5 +84,4 @@ public class WorkflowAboutFragment extends Fragment {
return inflater.inflate(R.layout.fragment_workflow_about, container, false);
}
-
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/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 656ea90..3068791 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
@@ -246,7 +246,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
StringBuffer sb = new StringBuffer();
try {
- URL workflowurl = new URL(TavernaPlayerAPI.PLAYER_RUN_FRAMEWORK_URL+params[0]);
+ URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_FRAMEWORK_URL+params[0]);
HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
String userpass = "icep603@gmail.com" + ":" + "creationfox";
String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.DEFAULT);
@@ -359,6 +359,8 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
@Override
protected void onPreExecute() {
super.onPreExecute();
+ progressDialog.setMessage("Creating new run for the workflow");
+ progressDialog.show();
}
@Override
@@ -366,7 +368,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
StringBuffer sb = new StringBuffer();
try {
- URL workflowurl = new URL(TavernaPlayerAPI.PLAYER_RUN_URL);
+ URL workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL);
HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
String userpass = "icep603@gmail.com" + ":" + "creationfox";
String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.DEFAULT);
@@ -409,6 +411,7 @@ public class WorkflowdetailFragment extends Fragment implements View.OnClickList
@Override
protected void onPostExecute(String s) {
Log.i("RUN OutPut", s);
+ progressDialog.dismiss();
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
index 85874a8..9697fb8 100644
--- a/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
+++ b/app/src/main/java/org/apache/taverna/mobile/tavernamobile/TavernaPlayerAPI.java
@@ -1,5 +1,8 @@
package org.apache.taverna.mobile.tavernamobile;
+import android.content.Context;
+import android.preference.PreferenceManager;
+
import java.net.PasswordAuthentication;
/**
@@ -7,14 +10,41 @@ import java.net.PasswordAuthentication;
*/
public class TavernaPlayerAPI {
- public static final String PLAYER_BASE_URL = "http://heater.cs.man.ac.uk:3000/";
- public static final String SERVER_BASE_URL = "http://heater.cs.man.ac.uk:8090/taverna-2.5.4/";
- public static final String PLAYER_WORKFLOW_URL = PLAYER_BASE_URL+"workflows/";
- public static final String PLAYER_RUN_URL = PLAYER_BASE_URL+"runs/";
- public static final String PLAYER_RUN_FRAMEWORK_URL = PLAYER_RUN_URL+"new?workflow_id="; //returns a json 'framework' used for creating runs for the given workflow
+ public static String PLAYER_BASE_URL = "http://heater.cs.man.ac.uk:3000/";
+ public static String SERVER_BASE_URL = "http://heater.cs.man.ac.uk:8090/taverna-2.5.4/";
+ public static String PLAYER_WORKFLOW_URL = PLAYER_BASE_URL+"workflows/";
+ public static String PLAYER_RUN_URL = PLAYER_BASE_URL+"runs/";
+ public static String PLAYER_RUN_FRAMEWORK_URL = PLAYER_RUN_URL+"new?workflow_id="; //returns a json 'framework' used for creating runs for the given workflow
+
+
+ public TavernaPlayerAPI(Context context) {
+ String server = PreferenceManager.getDefaultSharedPreferences(context).getString("pref_server_url","/");
+ String player = PreferenceManager.getDefaultSharedPreferences(context).getString("pref_player_url","/");
+ PLAYER_BASE_URL = player;
+ SERVER_BASE_URL = server;
+ PLAYER_WORKFLOW_URL = PLAYER_BASE_URL+"workflows/";
+ PLAYER_RUN_URL = PLAYER_BASE_URL+"runs/";
+ PLAYER_RUN_FRAMEWORK_URL = PLAYER_RUN_URL+"new?workflow_id=";
+ }
+
+ public static String getPLAYER_BASE_URL() {
+ return PLAYER_BASE_URL;
+ }
+ public static String getSERVER_BASE_URL() {
+ return SERVER_BASE_URL;
+ }
+
+ public static String getPLAYER_WORKFLOW_URL() {
+ return PLAYER_WORKFLOW_URL;
+ }
+
+ public static String getPLAYER_RUN_URL() {
+ return PLAYER_RUN_URL;
+ }
- public TavernaPlayerAPI() {
+ public static String getPLAYER_RUN_FRAMEWORK_URL() {
+ return PLAYER_RUN_FRAMEWORK_URL;
}
public static class Authenticator extends java.net.Authenticator{
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java b/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
index 08d69bf..f0998fc 100644
--- a/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
+++ b/app/src/main/java/org/apache/taverna/mobile/utils/DetailsLoader.java
@@ -75,19 +75,19 @@ public class DetailsLoader extends AsyncTaskLoader<Workflow> {
switch (this.lt){
case TYPE_WORKFLOW_DETAIL:
- workflowurl = new URL(TavernaPlayerAPI.PLAYER_WORKFLOW_URL+this.wid);
+ workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_WORKFLOW_URL+this.wid);
break;
case TYPE_RUN_HISTORY:
- workflowurl = new URL(TavernaPlayerAPI.PLAYER_RUN_URL);
+ workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_RUN_URL);
break;
case TYPE_POLICY:
- workflowurl = new URL(TavernaPlayerAPI.SERVER_BASE_URL);
+ workflowurl = new URL(new TavernaPlayerAPI(this.context).SERVER_BASE_URL);
break;
case TYPE_ABOUT_WORKFLOW:
- workflowurl = new URL(TavernaPlayerAPI.PLAYER_WORKFLOW_URL);
+ workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_WORKFLOW_URL);
break;
default:
- workflowurl = new URL(TavernaPlayerAPI.PLAYER_WORKFLOW_URL);
+ workflowurl = new URL(new TavernaPlayerAPI(this.context).PLAYER_WORKFLOW_URL);
break;
}
HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowRunHelper.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowRunHelper.java b/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowRunHelper.java
deleted file mode 100644
index f450bca..0000000
--- a/app/src/main/java/org/apache/taverna/mobile/utils/WorkflowRunHelper.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.taverna.mobile.utils;
-/**
- * Apache Taverna Mobile
- * Copyright 2015 The Apache Software Foundation
-
- * This product includes software developed at
- * The Apache Software Foundation (http://www.apache.org/).
-
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-/**
- * Created by root on 6/11/15.
- */
-public class WorkflowRunHelper {
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/res/mipmap-hdpi/ic_dashboard_home.png
----------------------------------------------------------------------
diff --git a/app/src/main/res/mipmap-hdpi/ic_dashboard_home.png b/app/src/main/res/mipmap-hdpi/ic_dashboard_home.png
new file mode 100644
index 0000000..841a7b4
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_dashboard_home.png differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/res/mipmap-mdpi/ic_dashboard_home.png
----------------------------------------------------------------------
diff --git a/app/src/main/res/mipmap-mdpi/ic_dashboard_home.png b/app/src/main/res/mipmap-mdpi/ic_dashboard_home.png
new file mode 100644
index 0000000..373ae1f
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_dashboard_home.png differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/res/mipmap-xhdpi/ic_dashboard_home.png
----------------------------------------------------------------------
diff --git a/app/src/main/res/mipmap-xhdpi/ic_dashboard_home.png b/app/src/main/res/mipmap-xhdpi/ic_dashboard_home.png
new file mode 100644
index 0000000..d41aa64
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_dashboard_home.png differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/res/mipmap-xxhdpi/ic_dashboard_home.png
----------------------------------------------------------------------
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_dashboard_home.png b/app/src/main/res/mipmap-xxhdpi/ic_dashboard_home.png
new file mode 100644
index 0000000..f197418
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_dashboard_home.png differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/res/mipmap-xxxhdpi/ic_dashboard_home.png
----------------------------------------------------------------------
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_dashboard_home.png b/app/src/main/res/mipmap-xxxhdpi/ic_dashboard_home.png
new file mode 100644
index 0000000..08e4ec6
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_dashboard_home.png differ
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/res/values/strings_activity_settings.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/values/strings_activity_settings.xml b/app/src/main/res/values/strings_activity_settings.xml
new file mode 100644
index 0000000..9469b98
--- /dev/null
+++ b/app/src/main/res/values/strings_activity_settings.xml
@@ -0,0 +1,22 @@
+<resources>
+ <string name="title_activity_settings">Settings</string>
+
+ <!-- Strings related to Settings -->
+
+ <!-- Example General settings -->
+ <string name="pref_header_general">General</string>
+
+ <!-- Login status info-->
+ <string name="pref_remainLogged_in">Remain Logged-in</string>
+ <string name="pref_login_description">Decide whether or not to be automatically logged-in when next the app starts</string>
+ <!-- Player Portal url info -->
+ <string name="pref_player_default"> http://heater.cs.man.ac.uk:3000/</string> <!-- default value -->
+ <string name="pref_player_title">Configure Taverna player portal</string>
+ <string name="pref_player_des">Configure a different player URL for the app to use. End with the mount point(/)</string>
+
+ <!-- Server Portal url info -->
+ <string name="pref_server_default"> http://heater.cs.man.ac.uk:8090/taverna-2.5.4/</string> <!-- default value -->
+ <string name="pref_server_title">Configure Taverna Server </string>
+ <string name="pref_server_des">Configure a different Taverna Server for the app</string>
+
+</resources>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/res/xml/pref_general.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/xml/pref_general.xml b/app/src/main/res/xml/pref_general.xml
new file mode 100644
index 0000000..cfa5985
--- /dev/null
+++ b/app/src/main/res/xml/pref_general.xml
@@ -0,0 +1,33 @@
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <CheckBoxPreference
+ android:key="pref_logged_in"
+ android:title="@string/pref_remainLogged_in"
+ android:summary="@string/pref_login_description"
+ android:defaultValue="true" />
+
+ <!-- NOTE: EditTextPreference accepts EditText attributes. -->
+ <!-- NOTE: EditTextPreference's summary should be set to its value by the activity code. -->
+ <EditTextPreference
+ android:key="pref_player_url"
+ android:title="@string/pref_player_title"
+ android:summary="@string/pref_player_des"
+ android:defaultValue="@string/pref_player_default"
+ android:selectAllOnFocus="true"
+ android:inputType="textCapWords"
+ android:capitalize="words"
+ android:singleLine="true"
+ android:maxLines="1" />
+ <EditTextPreference
+ android:key="pref_server_url"
+ android:title="@string/pref_server_title"
+ android:summary="@string/pref_server_des"
+ android:defaultValue="@string/pref_server_default"
+ android:selectAllOnFocus="true"
+ android:inputType="textCapWords"
+ android:capitalize="words"
+ android:singleLine="true"
+ android:maxLines="1" />
+
+
+</PreferenceScreen>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/1fcf1fe6/app/src/main/res/xml/pref_headers.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/xml/pref_headers.xml b/app/src/main/res/xml/pref_headers.xml
new file mode 100644
index 0000000..e50e89f
--- /dev/null
+++ b/app/src/main/res/xml/pref_headers.xml
@@ -0,0 +1,9 @@
+<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <!-- These settings headers are only used on tablets. -->
+
+ <header
+ android:fragment="org.apache.taverna.mobile.activities.SettingsActivity$GeneralPreferenceFragment"
+ android:title="@string/pref_header_general" />
+
+</preference-headers>