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:20 UTC

[08/12] incubator-taverna-mobile git commit: implemented workflow search by author and title

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/app/build/intermediates/res/debug/values/values.xml
----------------------------------------------------------------------
diff --git a/app/build/intermediates/res/debug/values/values.xml b/app/build/intermediates/res/debug/values/values.xml
index 0172c45..8cf71d3 100644
--- a/app/build/intermediates/res/debug/values/values.xml
+++ b/app/build/intermediates/res/debug/values/values.xml
@@ -223,10 +223,14 @@
     <string name="downloaderror">Unable to start Download. Check your internet connectivity</string>
     <string name="downloadfailed">Download Failed. Please try again</string>
     <string name="downloadprogress">Workflow download in progress</string>
+    <string name="emailerr">Email must not be empty</string>
     <string name="favorite_empty"> No Favorites Added Yet</string>
+    <string name="fetchrun">Fetching run components </string>
     <string name="hello_blank_fragment"> About Workflow </string>
     <string name="hello_world"> Empty </string>
+    <string name="keeplogin">Remain Logged-in</string>
     <string name="loading">Loading details</string>
+    <string name="loadworkflows">Loading Workflows</string>
     <string name="loginbutton">Login</string>
     <string name="loginpassword">Password</string>
     <string name="loginusername">Email or Username</string>
@@ -235,12 +239,31 @@
     <string name="modified">Modified :</string>
     <string name="navigation_drawer_close">Close navigation drawer</string>
     <string name="navigation_drawer_open">Open navigation drawer</string>
+    <string name="passworderr">Password must not be empty</string>
     <string name="play_workflow">Create Run</string>
+    <!-- From: file:/root/Desktop/AndroidLab/TavernaMobile2/app/src/main/res/values/strings_activity_settings.xml -->
+    <eat-comment/>
+    <string name="pref_header_general">General</string>
+    <string name="pref_login_description">Decide whether or not to be automatically logged-in when next the app starts</string>
+    <string name="pref_player_default"> http://heater.cs.man.ac.uk:3000/</string>
+    <string name="pref_player_des">Configure a different player URL for the app to use. End with the mount point(/)</string>
+    <string name="pref_player_title">Configure Taverna player portal</string>
+    <string name="pref_remainLogged_in">Remain Logged-in</string>
+    <string name="pref_server_default"> http://heater.cs.man.ac.uk:8090/taverna-2.5.4/</string>
+    <string name="pref_server_des">Configure a different Taverna Server for the app</string>
+    <string name="pref_server_title">Configure Taverna Server </string>
+    <!-- From: file:/root/Desktop/AndroidLab/TavernaMobile2/app/src/main/res/values/strings.xml -->
+    <eat-comment/>
     <string name="search_hint"> Search workflows by name</string>
     <string name="seemore"> See more &amp;raquo</string>
     <string name="title_about">About </string>
     <string name="title_activity_dashboard_main">Dashboard</string>
     <string name="title_activity_flash_screen">Taverna Mobile</string>
+    <!-- From: file:/root/Desktop/AndroidLab/TavernaMobile2/app/src/main/res/values/strings_activity_settings.xml -->
+    <eat-comment/>
+    <string name="title_activity_settings">Settings</string>
+    <!-- From: file:/root/Desktop/AndroidLab/TavernaMobile2/app/src/main/res/values/strings.xml -->
+    <eat-comment/>
     <string name="title_activity_workflow_detail">Workflow Detail</string>
     <string name="title_exit">Logout</string>
     <string name="title_explore">Workflows</string>
@@ -248,7 +271,7 @@
     <string name="title_openworkflow">Open Workflow</string>
     <string name="title_usage">Usage</string>
     <string name="wktitle">TITLE</string>
-    <string name="workflow_authorhint">Workflow Author</string>
+    <string name="workflow_authorhint">Workflow Author  </string>
     <string name="workflow_component">Workflow component</string>
     <string name="workflow_download">Download</string>
     <string name="workflow_empty"> No <b>Workflows</b> Available. Check your Connection to the Internet</string>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/app/build/intermediates/res/debug/xml/pref_general.xml
----------------------------------------------------------------------
diff --git a/app/build/intermediates/res/debug/xml/pref_general.xml b/app/build/intermediates/res/debug/xml/pref_general.xml
new file mode 100644
index 0000000..e0fa2d7
--- /dev/null
+++ b/app/build/intermediates/res/debug/xml/pref_general.xml
@@ -0,0 +1,34 @@
+<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>
+<!-- From: file:/root/Desktop/AndroidLab/TavernaMobile2/app/src/main/res/xml/pref_general.xml -->
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/app/build/intermediates/res/debug/xml/pref_headers.xml
----------------------------------------------------------------------
diff --git a/app/build/intermediates/res/debug/xml/pref_headers.xml b/app/build/intermediates/res/debug/xml/pref_headers.xml
new file mode 100644
index 0000000..bd1f810
--- /dev/null
+++ b/app/build/intermediates/res/debug/xml/pref_headers.xml
@@ -0,0 +1,10 @@
+<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>
+<!-- From: file:/root/Desktop/AndroidLab/TavernaMobile2/app/src/main/res/xml/pref_headers.xml -->
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/app/build/intermediates/resources/resources-debug.ap_
----------------------------------------------------------------------
diff --git a/app/build/intermediates/resources/resources-debug.ap_ b/app/build/intermediates/resources/resources-debug.ap_
index cd1cacd..48ebfa5 100644
Binary files a/app/build/intermediates/resources/resources-debug.ap_ and b/app/build/intermediates/resources/resources-debug.ap_ differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/app/build/intermediates/symbols/debug/R.txt
----------------------------------------------------------------------
diff --git a/app/build/intermediates/symbols/debug/R.txt b/app/build/intermediates/symbols/debug/R.txt
index f315ebb..9bf149b 100644
--- a/app/build/intermediates/symbols/debug/R.txt
+++ b/app/build/intermediates/symbols/debug/R.txt
@@ -378,8 +378,8 @@ int drawable ic_viewworkflow 0x7f020040
 int drawable round_shape 0x7f020041
 int drawable sliding_header 0x7f020042
 int drawable tavernalogo 0x7f020043
-int id aboutworkflowTextView 0x7f0b0063
-int id actionLayout 0x7f0b006b
+int id aboutworkflowTextView 0x7f0b0065
+int id actionLayout 0x7f0b006d
 int id action_bar 0x7f0b0031
 int id action_bar_activity_content 0x7f0b0000
 int id action_bar_container 0x7f0b0030
@@ -393,16 +393,16 @@ int id action_menu_presenter 0x7f0b0003
 int id action_mode_bar 0x7f0b002e
 int id action_mode_bar_stub 0x7f0b002d
 int id action_mode_close_button 0x7f0b0020
-int id action_search 0x7f0b0085
-int id action_settings 0x7f0b0086
+int id action_search 0x7f0b0087
+int id action_settings 0x7f0b0088
 int id activity_chooser_view_content 0x7f0b0021
 int id always 0x7f0b0016
 int id author 0x7f0b0049
 int id author_profile_image 0x7f0b004b
 int id beginning 0x7f0b0013
-int id button_download_workflow 0x7f0b007a
-int id button_mark_workflow 0x7f0b007b
-int id button_view_workflow 0x7f0b0079
+int id button_download_workflow 0x7f0b007c
+int id button_mark_workflow 0x7f0b007d
+int id button_view_workflow 0x7f0b007b
 int id checkbox 0x7f0b0029
 int id collapseActionView 0x7f0b0017
 int id container 0x7f0b0042
@@ -413,12 +413,12 @@ int id decor_content_parent 0x7f0b002f
 int id default_activity_button 0x7f0b0024
 int id dialog 0x7f0b001b
 int id disableHome 0x7f0b000c
-int id download_wk 0x7f0b006d
+int id download_wk 0x7f0b006f
 int id drawer_layout 0x7f0b003f
 int id dropdown 0x7f0b001c
-int id editTextUsername 0x7f0b005a
+int id editTextUsername 0x7f0b005b
 int id edit_query 0x7f0b0033
-int id edittextPassword 0x7f0b005c
+int id edittextPassword 0x7f0b005d
 int id end 0x7f0b0014
 int id expand_activities_button 0x7f0b0022
 int id expanded_menu 0x7f0b0028
@@ -428,24 +428,24 @@ int id homeAsUp 0x7f0b000d
 int id icon 0x7f0b0026
 int id ifRoom 0x7f0b0018
 int id image 0x7f0b0023
-int id imageButtonState 0x7f0b0083
+int id imageButtonState 0x7f0b0085
 int id imageView 0x7f0b0044
 int id imageView2 0x7f0b0045
-int id imageView3 0x7f0b005f
-int id imageView4 0x7f0b0060
-int id layoutinfo 0x7f0b0076
+int id imageView3 0x7f0b0061
+int id imageView4 0x7f0b0062
+int id layoutinfo 0x7f0b0078
 int id linearlayout_workflow_info 0x7f0b004a
 int id listMode 0x7f0b0009
 int id list_item 0x7f0b0025
-int id loginbutton 0x7f0b005d
-int id loginlayout 0x7f0b0057
-int id logo 0x7f0b0055
-int id mark_wk 0x7f0b006e
-int id menuIcon 0x7f0b0070
-int id menuItemText 0x7f0b0071
+int id loginbutton 0x7f0b005f
+int id loginlayout 0x7f0b0058
+int id logo 0x7f0b0056
+int id mark_wk 0x7f0b0070
+int id menuIcon 0x7f0b0072
+int id menuItemText 0x7f0b0073
 int id middle 0x7f0b0015
 int id navigation_drawer 0x7f0b0043
-int id navigation_drawer_listview 0x7f0b0061
+int id navigation_drawer_listview 0x7f0b0063
 int id never 0x7f0b0019
 int id none 0x7f0b000e
 int id normal 0x7f0b000a
@@ -455,12 +455,14 @@ int id progressBar 0x7f0b0048
 int id progress_circular 0x7f0b0005
 int id progress_horizontal 0x7f0b0006
 int id radio 0x7f0b002b
-int id recycler_list 0x7f0b007c
-int id run_wk 0x7f0b006c
-int id runfinished 0x7f0b0082
-int id runstarted 0x7f0b007f
-int id runtitle 0x7f0b007d
-int id scrollView 0x7f0b0065
+int id recycler_list 0x7f0b007e
+int id refresh 0x7f0b0054
+int id rememberCheckbox 0x7f0b005e
+int id run_wk 0x7f0b006e
+int id runfinished 0x7f0b0084
+int id runstarted 0x7f0b0081
+int id runtitle 0x7f0b007f
+int id scrollView 0x7f0b0067
 int id search_badge 0x7f0b0035
 int id search_bar 0x7f0b0034
 int id search_button 0x7f0b0036
@@ -475,44 +477,44 @@ int id shortcut 0x7f0b002a
 int id showCustom 0x7f0b000f
 int id showHome 0x7f0b0010
 int id showTitle 0x7f0b0011
-int id show_more 0x7f0b0075
+int id show_more 0x7f0b0077
 int id split_action_bar 0x7f0b0007
 int id submit_area 0x7f0b003c
 int id tabMode 0x7f0b000b
-int id textState 0x7f0b0084
+int id textState 0x7f0b0086
 int id textView 0x7f0b0046
 int id textView10 0x7f0b004e
 int id textView11 0x7f0b0050
 int id textView12 0x7f0b0052
-int id textView13 0x7f0b007e
-int id textView14 0x7f0b0080
-int id textView15 0x7f0b0081
+int id textView13 0x7f0b0080
+int id textView14 0x7f0b0082
+int id textView15 0x7f0b0083
 int id textView2 0x7f0b0047
-int id textView3 0x7f0b0056
-int id textView4 0x7f0b0058
-int id textView5 0x7f0b0059
-int id textView6 0x7f0b005b
-int id textView7 0x7f0b005e
-int id textView8 0x7f0b0062
+int id textView3 0x7f0b0057
+int id textView4 0x7f0b0059
+int id textView5 0x7f0b005a
+int id textView6 0x7f0b005c
+int id textView7 0x7f0b0060
+int id textView8 0x7f0b0064
 int id textView9 0x7f0b004c
 int id title 0x7f0b0027
 int id up 0x7f0b0008
 int id useLogo 0x7f0b0012
-int id wcreatedat 0x7f0b0067
-int id wdescription 0x7f0b0069
+int id wcreatedat 0x7f0b0069
+int id wdescription 0x7f0b006b
 int id withText 0x7f0b001a
-int id wkf_author 0x7f0b0064
-int id wkf_image 0x7f0b006a
-int id wkll 0x7f0b0072
-int id workflow_author 0x7f0b0073
-int id workflow_brief_description 0x7f0b0077
-int id workflow_image 0x7f0b0078
-int id workflow_pb 0x7f0b0054
-int id workflow_title 0x7f0b0074
-int id workflowpolicyTextView 0x7f0b006f
+int id wkf_author 0x7f0b0066
+int id wkf_image 0x7f0b006c
+int id wkll 0x7f0b0074
+int id workflow_author 0x7f0b0075
+int id workflow_brief_description 0x7f0b0079
+int id workflow_image 0x7f0b007a
+int id workflow_pb 0x7f0b0055
+int id workflow_title 0x7f0b0076
+int id workflowpolicyTextView 0x7f0b0071
 int id wrap_content 0x7f0b001d
-int id wtitle 0x7f0b0066
-int id wupdatedat 0x7f0b0068
+int id wtitle 0x7f0b0068
+int id wupdatedat 0x7f0b006a
 int integer abc_config_activityDefaultDur 0x7f0c0000
 int integer abc_config_activityShortDur 0x7f0c0001
 int integer abc_max_action_buttons 0x7f0c0002
@@ -562,18 +564,19 @@ int menu dashboard_main 0x7f0f0000
 int menu global 0x7f0f0001
 int menu menu_workflow_detail 0x7f0f0002
 int mipmap ic_about 0x7f030000
-int mipmap ic_launcher 0x7f030001
-int mipmap ic_logout 0x7f030002
-int mipmap ic_markworkflow_selected 0x7f030003
-int mipmap ic_markworkflow_unselected 0x7f030004
-int mipmap ic_openwk 0x7f030005
-int mipmap ic_poweredby 0x7f030006
-int mipmap ic_quit 0x7f030007
-int mipmap ic_usage 0x7f030008
-int mipmap ic_user 0x7f030009
-int mipmap ic_viewworkflow 0x7f03000a
-int mipmap ic_workflows 0x7f03000b
-int mipmap icuserprofiles 0x7f03000c
+int mipmap ic_dashboard_home 0x7f030001
+int mipmap ic_launcher 0x7f030002
+int mipmap ic_logout 0x7f030003
+int mipmap ic_markworkflow_selected 0x7f030004
+int mipmap ic_markworkflow_unselected 0x7f030005
+int mipmap ic_openwk 0x7f030006
+int mipmap ic_poweredby 0x7f030007
+int mipmap ic_quit 0x7f030008
+int mipmap ic_usage 0x7f030009
+int mipmap ic_user 0x7f03000a
+int mipmap ic_viewworkflow 0x7f03000b
+int mipmap ic_workflows 0x7f03000c
+int mipmap icuserprofiles 0x7f03000d
 int string Logininfo 0x7f0d0000
 int string abc_action_bar_home_description 0x7f0d0001
 int string abc_action_bar_home_description_format 0x7f0d0002
@@ -607,37 +610,52 @@ int string downloadduplicate 0x7f0d001d
 int string downloaderror 0x7f0d001e
 int string downloadfailed 0x7f0d001f
 int string downloadprogress 0x7f0d0020
-int string favorite_empty 0x7f0d0021
-int string hello_blank_fragment 0x7f0d0022
-int string hello_world 0x7f0d0023
-int string loading 0x7f0d0024
-int string loginbutton 0x7f0d0025
-int string loginpassword 0x7f0d0026
-int string loginusername 0x7f0d0027
-int string marked 0x7f0d0028
-int string menu_search 0x7f0d0029
-int string modified 0x7f0d002a
-int string navigation_drawer_close 0x7f0d002b
-int string navigation_drawer_open 0x7f0d002c
-int string play_workflow 0x7f0d002d
-int string search_hint 0x7f0d002e
-int string seemore 0x7f0d002f
-int string title_about 0x7f0d0030
-int string title_activity_dashboard_main 0x7f0d0031
-int string title_activity_flash_screen 0x7f0d0032
-int string title_activity_workflow_detail 0x7f0d0033
-int string title_exit 0x7f0d0034
-int string title_explore 0x7f0d0035
-int string title_favorite 0x7f0d0036
-int string title_openworkflow 0x7f0d0037
-int string title_usage 0x7f0d0038
-int string wktitle 0x7f0d0039
-int string workflow_authorhint 0x7f0d003a
-int string workflow_component 0x7f0d003b
-int string workflow_download 0x7f0d003c
-int string workflow_empty 0x7f0d003d
-int string workflow_mark 0x7f0d003e
-int string workflow_read 0x7f0d003f
+int string emailerr 0x7f0d0021
+int string favorite_empty 0x7f0d0022
+int string fetchrun 0x7f0d0023
+int string hello_blank_fragment 0x7f0d0024
+int string hello_world 0x7f0d0025
+int string keeplogin 0x7f0d0026
+int string loading 0x7f0d0027
+int string loadworkflows 0x7f0d0028
+int string loginbutton 0x7f0d0029
+int string loginpassword 0x7f0d002a
+int string loginusername 0x7f0d002b
+int string marked 0x7f0d002c
+int string menu_search 0x7f0d002d
+int string modified 0x7f0d002e
+int string navigation_drawer_close 0x7f0d002f
+int string navigation_drawer_open 0x7f0d0030
+int string passworderr 0x7f0d0031
+int string play_workflow 0x7f0d0032
+int string pref_header_general 0x7f0d0033
+int string pref_login_description 0x7f0d0034
+int string pref_player_default 0x7f0d0035
+int string pref_player_des 0x7f0d0036
+int string pref_player_title 0x7f0d0037
+int string pref_remainLogged_in 0x7f0d0038
+int string pref_server_default 0x7f0d0039
+int string pref_server_des 0x7f0d003a
+int string pref_server_title 0x7f0d003b
+int string search_hint 0x7f0d003c
+int string seemore 0x7f0d003d
+int string title_about 0x7f0d003e
+int string title_activity_dashboard_main 0x7f0d003f
+int string title_activity_flash_screen 0x7f0d0040
+int string title_activity_settings 0x7f0d0041
+int string title_activity_workflow_detail 0x7f0d0042
+int string title_exit 0x7f0d0043
+int string title_explore 0x7f0d0044
+int string title_favorite 0x7f0d0045
+int string title_openworkflow 0x7f0d0046
+int string title_usage 0x7f0d0047
+int string wktitle 0x7f0d0048
+int string workflow_authorhint 0x7f0d0049
+int string workflow_component 0x7f0d004a
+int string workflow_download 0x7f0d004b
+int string workflow_empty 0x7f0d004c
+int string workflow_mark 0x7f0d004d
+int string workflow_read 0x7f0d004e
 int style Animation_AppCompat_DropDownUp 0x7f0e0000
 int style AppTheme 0x7f0e0001
 int style Base_Animation_AppCompat_DropDownUp 0x7f0e0002
@@ -1172,4 +1190,6 @@ int[] styleable ViewStubCompat { 0x010100d0, 0x010100f2, 0x010100f3 }
 int styleable ViewStubCompat_android_id 0
 int styleable ViewStubCompat_android_inflatedId 2
 int styleable ViewStubCompat_android_layout 1
-int xml searchable 0x7f060000
+int xml pref_general 0x7f060000
+int xml pref_headers 0x7f060001
+int xml searchable 0x7f060002

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/app/build/outputs/apk/app-debug-unaligned.apk
----------------------------------------------------------------------
diff --git a/app/build/outputs/apk/app-debug-unaligned.apk b/app/build/outputs/apk/app-debug-unaligned.apk
index 99cb290..d0ae36e 100644
Binary files a/app/build/outputs/apk/app-debug-unaligned.apk and b/app/build/outputs/apk/app-debug-unaligned.apk differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/app/build/outputs/apk/app-debug.apk
----------------------------------------------------------------------
diff --git a/app/build/outputs/apk/app-debug.apk b/app/build/outputs/apk/app-debug.apk
index d548086..5d1bb5d 100644
Binary files a/app/build/outputs/apk/app-debug.apk and b/app/build/outputs/apk/app-debug.apk differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/app/build/outputs/logs/manifest-merger-debug-report.txt
----------------------------------------------------------------------
diff --git a/app/build/outputs/logs/manifest-merger-debug-report.txt b/app/build/outputs/logs/manifest-merger-debug-report.txt
index 61404eb..714baf8 100644
--- a/app/build/outputs/logs/manifest-merger-debug-report.txt
+++ b/app/build/outputs/logs/manifest-merger-debug-report.txt
@@ -28,6 +28,7 @@ MERGED from com.android.support:support-v4:22.0.0:22:5
 MERGED from com.android.support:cardview-v7:22.0.0:22:5
 MERGED from com.android.support:recyclerview-v7:22.0.0:22:5
 MERGED from com.android.support:support-v4:22.0.0:22:5
+MERGED from com.android.support:support-v4:22.0.0:22:5
 	android:label
 		ADDED from AndroidManifest.xml:30:9
 	android:allowBackup
@@ -100,12 +101,18 @@ ADDED from AndroidManifest.xml:65:9
 		ADDED from AndroidManifest.xml:66:13
 intent-filter#android.intent.action.DOWNLOAD_COMPLETE
 ADDED from AndroidManifest.xml:69:13
-	android:priority
-		ADDED from AndroidManifest.xml:70:17
 action#android.intent.action.DOWNLOAD_COMPLETE
-ADDED from AndroidManifest.xml:71:17
+ADDED from AndroidManifest.xml:70:17
 	android:name
-		ADDED from AndroidManifest.xml:71:25
+		ADDED from AndroidManifest.xml:70:25
+activity#org.apache.taverna.mobile.activities.SettingsActivity
+ADDED from AndroidManifest.xml:74:9
+	android:label
+		ADDED from AndroidManifest.xml:76:13
+	android:parentActivityName
+		ADDED from AndroidManifest.xml:77:13
+	android:name
+		ADDED from AndroidManifest.xml:75:13
 uses-sdk
 INJECTED from AndroidManifest.xml:0:0 reason: use-sdk injection requested
 MERGED from com.android.support:appcompat-v7:22.0.0:20:5
@@ -113,6 +120,7 @@ MERGED from com.android.support:support-v4:22.0.0:20:5
 MERGED from com.android.support:cardview-v7:22.0.0:20:5
 MERGED from com.android.support:recyclerview-v7:22.0.0:20:5
 MERGED from com.android.support:support-v4:22.0.0:20:5
+MERGED from com.android.support:support-v4:22.0.0:20:5
 	android:targetSdkVersion
 		INJECTED from AndroidManifest.xml:0:0
 		INJECTED from AndroidManifest.xml:0:0

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/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 7624082..65ad26f 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
@@ -25,7 +25,6 @@ package org.apache.taverna.mobile.activities;
 * under the License.
 */
 
-import android.app.SearchManager;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
@@ -41,11 +40,9 @@ import android.support.v4.view.ViewPager;
 import android.support.v4.widget.DrawerLayout;
 import android.support.v7.app.ActionBar;
 import android.support.v7.app.ActionBarActivity;
-import android.support.v7.widget.SearchView;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
-import android.view.Window;
 import android.widget.Toast;
 
 import org.apache.taverna.mobile.R;
@@ -77,7 +74,6 @@ public class DashboardMainActivity extends ActionBarActivity
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
-        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_dashboard_main);
         setUpWorkflowDirectory(this);
@@ -96,13 +92,13 @@ public class DashboardMainActivity extends ActionBarActivity
         mPager = (ViewPager)findViewById(R.id.pager);
         mPager.setAdapter(mAdapter);
 
-        //Handle search actions from a system sent intent
+      /*  //Handle search actions from a system sent intent
         Intent searchIntent = getIntent();
         if(searchIntent != null && Intent.ACTION_SEARCH.equals(searchIntent.getAction())){
             //retrieve and process query then display results
             String query = searchIntent.getStringExtra(SearchManager.QUERY);
             Toast.makeText(this,"Query = "+query, Toast.LENGTH_SHORT).show();
-        }
+        }*/
     }
 
     @Override
@@ -239,13 +235,13 @@ public class DashboardMainActivity extends ActionBarActivity
             // decide what to show in the action bar.
             MenuInflater mi = getMenuInflater();
                 mi.inflate(R.menu.dashboard_main, menu);
-            //get the searchview and set the searchable configuration
+          /*  //get the searchview and set the searchable configuration
             SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
             SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
             //assuming this activity is the searchable activity
             searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
             searchView.setSubmitButtonEnabled(true);
-//            searchView.setIconifiedByDefault(false);
+//            searchView.setIconifiedByDefault(false);*/
 
             restoreActionBar();
             return true;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/app/src/main/java/org/apache/taverna/mobile/activities/FlashScreenActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/FlashScreenActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/FlashScreenActivity.java
index db03d01..c346fc4 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/FlashScreenActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/FlashScreenActivity.java
@@ -25,8 +25,10 @@ package org.apache.taverna.mobile.activities;
 * under the License.
 */
 
+import android.content.Context;
 import android.content.Intent;
 import android.os.Handler;
+import android.preference.PreferenceManager;
 import android.support.v7.app.ActionBarActivity;
 import android.os.Bundle;
 import android.view.Menu;
@@ -56,12 +58,25 @@ public class FlashScreenActivity extends ActionBarActivity {
     @Override
     public void onResume(){
         super.onResume();
+        final Context context = this;
+        //setup initial app settings
+        if(!PreferenceManager.getDefaultSharedPreferences(context).getBoolean("pref_set", false)){
+            PreferenceManager.getDefaultSharedPreferences(context).edit().putString("pref_server_url", "http://heater.cs.man.ac.uk:8090/taverna-2.5.4/").commit();
+            PreferenceManager.getDefaultSharedPreferences(context).edit().putString("pref_player_url", "http://heater.cs.man.ac.uk:3000/").commit();
+        }else{
+            PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean("pref_set", true).commit();
+        }
         Handler mhandler = new Handler();
         mhandler.postDelayed(new Runnable() {
             @Override
             public void run() {
-                startActivity(new Intent(FlashScreenActivity.this, LoginActivity.class));
-                (FlashScreenActivity.this).finish();
+                if(!PreferenceManager.getDefaultSharedPreferences(context).getBoolean("pref_logged_in", false)) {
+                    startActivity(new Intent(FlashScreenActivity.this, LoginActivity.class));
+                    (FlashScreenActivity.this).finish();
+                }else{
+                    startActivity(new Intent(FlashScreenActivity.this, DashboardMainActivity.class));
+                    (FlashScreenActivity.this).finish();
+                }
             }
         }, 2500);
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
index dea87b0..98ece01 100644
--- a/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/activities/LoginActivity.java
@@ -25,18 +25,41 @@ package org.apache.taverna.mobile.activities;
 * under the License.
 */
 
+import android.app.ProgressDialog;
+import android.content.Context;
 import android.content.Intent;
+import android.os.AsyncTask;
+import android.preference.PreferenceManager;
 import android.support.v7.app.ActionBarActivity;
 import android.support.v4.app.Fragment;
 import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.Base64;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.EditText;
+import android.widget.Toast;
 
 import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.tavernamobile.TavernaPlayerAPI;
+import org.apache.taverna.mobile.tavernamobile.Workflow;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.Authenticator;
+import java.net.HttpURLConnection;
+import java.net.URL;
 
 
 public class LoginActivity extends ActionBarActivity {
@@ -69,6 +92,10 @@ public class LoginActivity extends ActionBarActivity {
     public static class LoginFragment extends Fragment implements View.OnClickListener{
 
         private View rootView;
+        private Button loginButton;
+        private EditText email, password;
+        private boolean logginRemain;
+        private CheckBox loginCheck;
 
         public LoginFragment() {
         }
@@ -77,19 +104,104 @@ public class LoginActivity extends ActionBarActivity {
         public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                  Bundle savedInstanceState) {
             rootView = inflater.inflate(R.layout.fragment_login, container, false);
-            Button loginButton = (Button) rootView.findViewById(R.id.loginbutton);
+            email = (EditText) rootView.findViewById(R.id.editTextUsername);
+            password = (EditText) rootView.findViewById(R.id.edittextPassword);
+            loginCheck = (CheckBox) rootView.findViewById(R.id.rememberCheckbox);
+            loginButton = (Button) rootView.findViewById(R.id.loginbutton);
             loginButton.setOnClickListener(this);
             return rootView;
         }
 
         @Override
         public void onClick(View view) {
-            switch (view.getId()){
-                case R.id.loginbutton:
-                    startActivity(new Intent(getActivity(), DashboardMainActivity.class));
-                    break;
+            int i = view.getId();
+            if (i == R.id.loginbutton) {
+                logginRemain = loginCheck.isChecked();
+                if (logginRemain) {
+                    PreferenceManager.getDefaultSharedPreferences(getActivity()).edit().putBoolean("pref_logged_in",true).apply();
+                } else {
+                    PreferenceManager.getDefaultSharedPreferences(getActivity()).edit().putBoolean("pref_logged_in",false).apply();
+                }
+                if (email.getText().toString().isEmpty()) {
+                    email.setError(getString(R.string.emailerr));
+                } else if (password.getText().toString().isEmpty()) {
+                    password.setError(getString(R.string.passworderr));
+                } else {
+                    //send login request
+                    new LoginTask(getActivity()).execute(email.getText().toString(), password.getText().toString());
+                }
+                //startActivity(new Intent(getActivity(), DashboardMainActivity.class));
+
+            }
+        }
+        private class LoginTask extends AsyncTask<String, Void, String>{
+            private Context context;
+            private ProgressDialog pd;
+
+            private LoginTask(Context context) {
+                this.context = context;
+                pd = new ProgressDialog(this.context);
+                pd.setMessage("Logging in");
+            }
 
+            @Override
+            protected void onPreExecute() {
+                super.onPreExecute();
+                pd.show();
+            }
+
+            @Override
+            protected String doInBackground(String... strings) {
+                //http://sandbox.myexperiment.org/users
+                try {
+                    //for password protected urls use the user's credentials:new TavernaPlayerAPI(this.context).PLAYER_BASE_URL
+                    Authenticator.setDefault(new TavernaPlayerAPI.Authenticator("taverna", "taverna"));
+
+                    URL workflowurl = new URL(TavernaPlayerAPI.getSERVER_BASE_URL(this.context));
+                    HttpURLConnection connection = (HttpURLConnection) workflowurl.openConnection();
+                    String userpass = strings[0] + ":" + strings[1];
+                    String basicAuth = "Basic " + Base64.encodeToString(userpass.getBytes(), Base64.DEFAULT);
+                    //new String(Base64.encode(userpass.getBytes(),Base64.DEFAULT));
+
+                    connection.setRequestProperty ("Authorization", basicAuth);
+                    //       connection.setRequestProperty("Accept", "application/json");
+                    connection.setRequestMethod("GET");
+                    // connection.setDoInput(true);
+                    //  connection.setDoOutput(true);
+                    connection.connect(); //send request
+                    int responseCode = connection.getResponseCode();
+                    Log.i("RESPONSE Code", "" + responseCode);
+                    Log.i("RESPONSE Messsage", ""+connection.getResponseMessage());
+                    Log.i("Authorization ", ""+connection.getRequestProperty("Authorization"));
+
+                    InputStream dis = connection.getInputStream();
+                    BufferedReader br = new BufferedReader(new InputStreamReader(dis));
+                    StringBuffer sb = new StringBuffer();
+                    String jsonData = "";
+                    while((jsonData = br.readLine()) != null){
+                        sb.append(jsonData);
+                    }
+                    dis.close();
+                    br.close();
+                    return ""+responseCode;
+                } catch ( IOException e) {
+                    e.printStackTrace();
+                }
+                return "0";
+            }
+
+            @Override
+            protected void onPostExecute(String s) {
+                Log.i("RESULTS", ""+s);
+                pd.dismiss();
+                if(TextUtils.isDigitsOnly(s) && Integer.parseInt(s) == 200) {
+                    this.context.startActivity(new Intent(this.context, DashboardMainActivity.class));
+                    getActivity().finish();
+                }else{
+                    Toast.makeText(this.context, "Invalid username or password",Toast.LENGTH_SHORT).show();
+                }
             }
         }
     }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/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 40e1dfa..cc55100 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
@@ -48,6 +48,7 @@ import org.apache.taverna.mobile.tavernamobile.Workflow;
 import org.apache.taverna.mobile.utils.WorkflowDownloadManager;
 
 import java.io.File;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -63,6 +64,11 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
         workflow = wk;
     }
 
+    public WorkflowAdapter(Context c){
+        context = c;
+        workflow = new ArrayList<Workflow>();
+    }
+
     @Override
     public WorkflowAdapter.ViewHolder onCreateViewHolder(ViewGroup parentViewGroup, int viewType) {
         View v = LayoutInflater.from(context).inflate(R.layout.workflow_item_layout,parentViewGroup,false);
@@ -155,6 +161,10 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo
         return workflow.get(position);
     }
 
+    public void addWorkflow(Workflow wk){
+        workflow.add(wk);
+    }
+
     @Override
     public void onClick(View view) {
         int i = view.getId();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/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 49acbe5..a54565b 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
@@ -26,11 +26,15 @@ package org.apache.taverna.mobile.fragments;
 
 import android.app.Activity;
 import android.app.ProgressDialog;
+import android.app.SearchManager;
+import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.widget.SwipeRefreshLayout;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.SearchView;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -40,6 +44,7 @@ import android.view.ViewGroup;
 import android.view.animation.Animation;
 import android.view.animation.AnimationUtils;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import org.apache.taverna.mobile.R;
 import org.apache.taverna.mobile.activities.DashboardMainActivity;
@@ -113,10 +118,7 @@ public class WorkflowItemFragment extends Fragment implements android.app.Loader
        List<Workflow> mlist = new ArrayList<Workflow>();
     /*    mlist.add(new Workflow(getActivity(),"Testing title","Larry","Ok testing",0,"http://127.0.0.1"));
         mlist.add(new Workflow(getActivity(),"Testing title","Larry","Ok testing",0,"http://127.0.0.1"));
-   /*
-        mlist.add(new Workflow(getActivity(), null));
-        mlist.add(new Workflow(getActivity(), null));
-        mlist.add(new Workflow(getActivity(), null)); */
+*/
         workflowAdapter = new WorkflowAdapter(getActivity(), mlist );
     }
 
@@ -160,7 +162,15 @@ public class WorkflowItemFragment extends Fragment implements android.app.Loader
     @Override
     public void onResume() {
         super.onResume();
-        getActivity().getLoaderManager().initLoader(0,null,this);
+        //Handle search actions from a system sent intent
+        Intent searchIntent = getActivity().getIntent();
+        if(searchIntent != null && Intent.ACTION_SEARCH.equals(searchIntent.getAction())){
+            //retrieve and process query then display results
+            String query = searchIntent.getStringExtra(SearchManager.QUERY);
+            //Toast.makeText(getActivity(), "Query = " + query, Toast.LENGTH_SHORT).show();
+            performSearch(workflowAdapter,query);
+        }else
+            getActivity().getLoaderManager().initLoader(0,null,this);
     }
 
     /**
@@ -181,7 +191,13 @@ public class WorkflowItemFragment extends Fragment implements android.app.Loader
         super.onCreateOptionsMenu(menu, inflater);
         //menu.clear();
         if(menu.size() == 1) {
-            // inflater.inflate(R.menu.dashboard_main,menu);
+            //get the searchview and set the searchable configuration
+            SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
+            SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
+            //assuming this activity is the searchable activity
+            searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
+            searchView.setSubmitButtonEnabled(true);
+//            searchView.setIconifiedByDefault(false);
             MenuItem mit = menu.add("Refresh");
             mit.setIcon(android.R.drawable.stat_notify_sync);
             mit.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
@@ -232,6 +248,18 @@ public class WorkflowItemFragment extends Fragment implements android.app.Loader
         }
     }
 
+    private void performSearch(WorkflowAdapter adapter, String search){
+        WorkflowAdapter ladapter = new WorkflowAdapter(getActivity());
+
+        for(int i=0; i<adapter.getItemCount(); i++) {
+            Workflow workflow = adapter.getItem(i);
+            if(search.contains(workflow.getWorkflow_author()) || search.contains(workflow.getWorkflow_title())){
+                ladapter.addWorkflow(workflow);
+            }
+        }
+        mListView.swapAdapter(ladapter, true);
+    }
+
     /**
      * Instantiate and return a new Loader for the given ID.
      *

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/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 9697fb8..388dc2d 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
@@ -27,23 +27,28 @@ public class TavernaPlayerAPI {
         PLAYER_RUN_FRAMEWORK_URL = PLAYER_RUN_URL+"new?workflow_id=";
     }
 
-    public static String getPLAYER_BASE_URL() {
+    public static String getPLAYER_BASE_URL(Context context) {
+        new TavernaPlayerAPI(context);
         return PLAYER_BASE_URL;
     }
 
-    public static String getSERVER_BASE_URL() {
+    public static String getSERVER_BASE_URL(Context ctx) {
+        new TavernaPlayerAPI(ctx);
         return SERVER_BASE_URL;
     }
 
-    public static String getPLAYER_WORKFLOW_URL() {
+    public static String getPLAYER_WORKFLOW_URL(Context ctx) {
+        new TavernaPlayerAPI(ctx);
         return PLAYER_WORKFLOW_URL;
     }
 
-    public static String getPLAYER_RUN_URL() {
+    public static String getPLAYER_RUN_URL(Context ctx) {
+        new TavernaPlayerAPI(ctx);
         return PLAYER_RUN_URL;
     }
 
-    public static String getPLAYER_RUN_FRAMEWORK_URL() {
+    public static String getPLAYER_RUN_FRAMEWORK_URL(Context ctx) {
+        new TavernaPlayerAPI(ctx);
         return PLAYER_RUN_FRAMEWORK_URL;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/app/src/main/res/layout/fragment_login.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml
index b1206c3..ad52491 100644
--- a/app/src/main/res/layout/fragment_login.xml
+++ b/app/src/main/res/layout/fragment_login.xml
@@ -110,6 +110,12 @@ limitations under the License.
             android:drawableStart="@android:drawable/ic_secure"
             android:drawableLeft="@android:drawable/ic_secure"/>
 
+        <CheckBox
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/keeplogin"
+            android:id="@+id/rememberCheckbox" />
+
         <Button
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/05a2c718/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 e9ac67c..f270b63 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -80,5 +80,9 @@ limitations under the License.
     <string name="loading">Loading details</string>
     <string name="loadworkflows">Loading Workflows</string>
     <string name="fetchrun">Fetching run components </string>
+    <string name="keeplogin">Remain Logged-in</string>
+    
+    <string name="emailerr">Email must not be empty</string>
+    <string name="passworderr">Password must not be empty</string>
 
 </resources>