refactor code using CheckStyle
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/e752e97d Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/e752e97d Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/e752e97d Branch: refs/heads/master Commit: e752e97d5fb285c3c51ddd19952ba5d41587d627 Parents: fb65221 Author: Sagar <[email protected]> Authored: Fri Jun 10 12:12:03 2016 +0530 Committer: Sagar <[email protected]> Committed: Fri Jun 10 12:12:03 2016 +0530 ---------------------------------------------------------------------- .../activities/DashboardMainActivity.java | 367 ++++++------- .../mobile/activities/FlashScreenActivity.java | 30 +- .../mobile/activities/LoginActivity.java | 75 ++- .../taverna/mobile/activities/RunResult.java | 8 +- .../mobile/activities/SettingsActivity.java | 157 +++--- .../activities/WorkflowDetailActivity.java | 36 +- .../adapters/FavoriteWorkflowAdapter.java | 66 ++- .../taverna/mobile/adapters/RunAdapter.java | 33 +- .../mobile/adapters/SliderMenuAdapter.java | 21 +- .../mobile/adapters/WorkflowAdapter.java | 178 ++++--- .../WorkflowDownloadReceiver.java | 25 +- .../customviews/WorkflowPreviewImageView.java | 165 +++--- .../apache/taverna/mobile/data/DataManager.java | 10 +- .../taverna/mobile/data/model/Announcement.java | 60 +-- .../mobile/data/model/Announcements.java | 49 +- .../taverna/mobile/data/model/Author.java | 139 ++--- .../mobile/data/model/DetailAnnouncement.java | 83 ++- .../mobile/data/remote/BaseApiManager.java | 11 +- .../mobile/data/remote/TavernaService.java | 2 +- .../mobile/fragments/FavoriteFragment.java | 69 ++- .../mobile/fragments/WorkflowItemFragment.java | 259 ++++----- .../mobile/fragments/WorkflowViewpager.java | 114 ++++ .../mobile/fragments/Workflow_viewpager.java | 113 ---- .../fragments/workflowdetails/RunFragment.java | 202 +++---- .../workflowdetails/WorkflowAboutFragment.java | 14 +- .../WorkflowLicenceFragment.java | 16 +- .../WorkflowRunHistoryFragment.java | 72 +-- .../workflowdetails/WorkflowdetailFragment.java | 525 ++++++++++--------- .../taverna/mobile/tavernamobile/Runs.java | 18 +- .../mobile/tavernamobile/TavernaPlayerAPI.java | 43 +- .../taverna/mobile/tavernamobile/User.java | 18 +- .../taverna/mobile/tavernamobile/Workflow.java | 111 ++-- .../mobile/tavernamobile/WorkflowComponent.java | 8 +- .../mobile/ui/adapter/AnnouncementAdapter.java | 36 +- .../EndlessRecyclerOnScrollListener.java | 15 +- .../ui/adapter/RecyclerItemClickListner.java | 158 +++--- .../ui/anouncements/AnnouncementFragment.java | 52 +- .../ui/anouncements/AnnouncementMvpView.java | 6 +- .../ui/anouncements/AnnouncementPresenter.java | 18 +- .../taverna/mobile/utils/AvatarLoader.java | 20 +- .../taverna/mobile/utils/ConnectionInfo.java | 3 +- .../apache/taverna/mobile/utils/DBUtility.java | 65 +++ .../apache/taverna/mobile/utils/DB_Utility.java | 67 --- .../taverna/mobile/utils/DetailsLoader.java | 158 +++--- .../apache/taverna/mobile/utils/HttpUtil.java | 26 +- .../apache/taverna/mobile/utils/RunTask.java | 23 +- .../apache/taverna/mobile/utils/WorkflowDB.java | 329 ++++++++++++ .../mobile/utils/WorkflowDownloadManager.java | 46 +- .../taverna/mobile/utils/WorkflowLoader.java | 32 +- .../mobile/utils/WorkflowLoaderMain.java | 9 +- .../taverna/mobile/utils/WorkflowOpen.java | 115 ++-- .../taverna/mobile/utils/Workflow_DB.java | 307 ----------- .../utils/xmlparsers/AvatarXMLParser.java | 5 +- .../xmlparsers/MyExperimentXmlParserRules.java | 198 ++++--- .../utils/xmlparsers/WorkflowDetailParser.java | 12 +- config/quality/checkstyle/checkstyle-config.xml | 24 +- 56 files changed, 2536 insertions(+), 2285 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/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 1d74cbd..17b1337 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 @@ -2,28 +2,33 @@ 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. -*/ + * 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 org.apache.taverna.mobile.R; +import org.apache.taverna.mobile.fragments.WorkflowViewpager; +import org.apache.taverna.mobile.ui.anouncements.AnnouncementFragment; +import org.apache.taverna.mobile.utils.WorkflowOpen; import android.app.Dialog; import android.content.Context; @@ -47,180 +52,174 @@ import android.webkit.MimeTypeMap; import android.widget.TableLayout; import android.widget.Toast; -import org.apache.taverna.mobile.R; -import org.apache.taverna.mobile.fragments.Workflow_viewpager; -import org.apache.taverna.mobile.ui.anouncements.AnnouncementFragment; -import org.apache.taverna.mobile.utils.WorkflowOpen; - import java.io.File; -public class DashboardMainActivity extends AppCompatActivity -{ +public class DashboardMainActivity extends AppCompatActivity { + public static final String APP_DIRECTORY_NAME = "TavernaMobile"; + private final int SELECT_WORKFLOW = 10; /** * Used to store the last screen title. For use in {@link #restoreActionBar()}. */ private CharSequence mTitle = "Dashboard"; - private final int SELECT_WORKFLOW = 10; - public static final String APP_DIRECTORY_NAME = "TavernaMobile"; - private Dialog aboutDialog; - private DrawerLayout mDrawerLayout; + private Dialog aboutDialog; + private DrawerLayout mDrawerLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_dashboard_main); - NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); - if (navigationView != null) { - setupDrawerContent(navigationView); - } + NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); + if (navigationView != null) { + setupDrawerContent(navigationView); + } - mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); + mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); setUpWorkflowDirectory(this); aboutDialog = new Dialog(this); - /** - * Setting the Fragment in FrameLayout - */ - if (savedInstanceState == null) { + /** + * Setting the Fragment in FrameLayout + */ + if (savedInstanceState == null) { - FragmentManager fragmentManager = getSupportFragmentManager(); - Fragment fragment; + FragmentManager fragmentManager = getSupportFragmentManager(); + Fragment fragment; - fragment = new Workflow_viewpager(); - fragmentManager.beginTransaction() - .replace(R.id.frame_container, fragment) - .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE) - .commit(); + fragment = new WorkflowViewpager(); + fragmentManager.beginTransaction() + .replace(R.id.frame_container, fragment) + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE) + .commit(); - } + } } - /** - * - * @param navigationView Design Support NavigationView OnClick Listener Event - */ - private void setupDrawerContent(final NavigationView navigationView) { - navigationView.setNavigationItemSelectedListener( - new NavigationView.OnNavigationItemSelectedListener() - { - - @Override - public boolean onNavigationItemSelected(MenuItem menuItem) - { - - - FragmentManager fragmentManager = getSupportFragmentManager(); - Fragment fragment; - - switch (menuItem.getItemId()) - { - case R.id.nav_dashboard: - - fragment = new Workflow_viewpager(); - fragmentManager.beginTransaction() - .replace(R.id.frame_container, fragment) - .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE) - .commit(); - - menuItem.setChecked(true); - mDrawerLayout.closeDrawers(); - return true; - case R.id.nav_announcement: - - fragment = new AnnouncementFragment(); - fragmentManager.beginTransaction() - .replace(R.id.frame_container, fragment) - .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE) - .commit(); - - menuItem.setChecked(true); - mDrawerLayout.closeDrawers(); - return true; - - case R.id.nav_openworkflow: - - Intent workflowSelectIntent = - new Intent(Intent.ACTION_GET_CONTENT) - .setDataAndTypeAndNormalize(Uri.parse(String.format("%s%s%s", - Environment.getExternalStorageDirectory(), - File.separator, APP_DIRECTORY_NAME)), - "application/vnd.taverna.t2flow+xml"); - - Intent loadWorkflowIntent = Intent.createChooser(workflowSelectIntent, - "Choose Workflow (t2flow or xml)"); - startActivityForResult(loadWorkflowIntent, SELECT_WORKFLOW); - menuItem.setChecked(true); - mDrawerLayout.closeDrawers(); - return true; - case R.id.nav_usage: + /** + * @param navigationView Design Support NavigationView OnClick Listener Event + */ + private void setupDrawerContent(final NavigationView navigationView) { + navigationView.setNavigationItemSelectedListener( + new NavigationView.OnNavigationItemSelectedListener() { + + @Override + public boolean onNavigationItemSelected(MenuItem menuItem) { + + + FragmentManager fragmentManager = getSupportFragmentManager(); + Fragment fragment; + + switch (menuItem.getItemId()) { + case R.id.nav_dashboard: + + fragment = new WorkflowViewpager(); + fragmentManager.beginTransaction() + .replace(R.id.frame_container, fragment) + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE) + .commit(); + + menuItem.setChecked(true); + mDrawerLayout.closeDrawers(); + return true; + case R.id.nav_announcement: + + fragment = new AnnouncementFragment(); + fragmentManager.beginTransaction() + .replace(R.id.frame_container, fragment) + .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE) + .commit(); + + menuItem.setChecked(true); + mDrawerLayout.closeDrawers(); + return true; + + case R.id.nav_openworkflow: + + Intent workflowSelectIntent = + new Intent(Intent.ACTION_GET_CONTENT) + .setDataAndTypeAndNormalize(Uri.parse(String + .format("%s%s%s", + Environment.getExternalStorageDirectory(), + File.separator, APP_DIRECTORY_NAME)), + "application/vnd.taverna.t2flow+xml"); + + Intent loadWorkflowIntent = Intent.createChooser + (workflowSelectIntent, + "Choose Workflow (t2flow or xml)"); + startActivityForResult(loadWorkflowIntent, SELECT_WORKFLOW); + menuItem.setChecked(true); + mDrawerLayout.closeDrawers(); + return true; + case R.id.nav_usage: aboutDialog.setCanceledOnTouchOutside(true); - aboutDialog.setTitle("Usage"); - aboutDialog.setContentView(R.layout.usage_layout); - aboutDialog.show(); + aboutDialog.setTitle("Usage"); + aboutDialog.setContentView(R.layout.usage_layout); + aboutDialog.show(); - menuItem.setChecked(true); - mDrawerLayout.closeDrawers(); - return true; + menuItem.setChecked(true); + mDrawerLayout.closeDrawers(); + return true; - case R.id.nav_about: + case R.id.nav_about: - TableLayout about = (TableLayout) getLayoutInflater().inflate(R.layout.about, null); + TableLayout about = (TableLayout) getLayoutInflater().inflate(R + .layout.about, null); aboutDialog.setCanceledOnTouchOutside(true); - aboutDialog.setTitle("About Taverna Mobile"); - aboutDialog.setContentView(about); - aboutDialog.show(); - - menuItem.setChecked(true); - mDrawerLayout.closeDrawers(); - return true; - - case R.id.nav_settings: - - startActivity(new Intent(getApplicationContext(), SettingsActivity.class)); - overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right); + aboutDialog.setTitle("About Taverna Mobile"); + aboutDialog.setContentView(about); + aboutDialog.show(); - menuItem.setChecked(true); - mDrawerLayout.closeDrawers(); - return true; + menuItem.setChecked(true); + mDrawerLayout.closeDrawers(); + return true; - case R.id.nav_logout: + case R.id.nav_settings: - finish(); - menuItem.setChecked(true); - mDrawerLayout.closeDrawers(); - return true; + startActivity(new Intent(getApplicationContext(), + SettingsActivity.class)); + overridePendingTransition(android.R.anim.slide_in_left, android.R + .anim.slide_out_right); - } - return true; - } - }); - } + menuItem.setChecked(true); + mDrawerLayout.closeDrawers(); + return true; + case R.id.nav_logout: + finish(); + menuItem.setChecked(true); + mDrawerLayout.closeDrawers(); + return true; + } + return true; + } + }); + } @Override - public void onActivityResult(int requestCode , int resultCode, Intent data){ - if(resultCode == RESULT_OK){ - if(requestCode == SELECT_WORKFLOW){ + public void onActivityResult(int requestCode, int resultCode, Intent data) { + if (resultCode == RESULT_OK) { + if (requestCode == SELECT_WORKFLOW) { String workflowPath = data.getData().getPath(); - // Toast.makeText(getBaseContext(), "Path: "+workflowPath, Toast.LENGTH_LONG).show(); + // Toast.makeText(getBaseContext(), "Path: "+workflowPath, Toast.LENGTH_LONG) + // .show(); String type = getMimeType(data.getData().getPath()); - if (type == "text/xml" || type == "application/vnd.taverna.t2flow+xml"){ + if (type == "text/xml" || type == "application/vnd.taverna.t2flow+xml") { new WorkflowOpen(this).execute(workflowPath); - }else { - Toast.makeText(getBaseContext(), "Invalid worklow. Please try again", Toast.LENGTH_LONG).show(); + } else { + Toast.makeText(getBaseContext(), "Invalid worklow. Please try again", Toast + .LENGTH_LONG).show(); } } @@ -229,6 +228,7 @@ public class DashboardMainActivity extends AppCompatActivity /** * Return the mimetype of the file selected to be run as a workflow + * * @param url the path to the seleted file * @return the mimetype of the file selected */ @@ -242,7 +242,6 @@ public class DashboardMainActivity extends AppCompatActivity } - public void restoreActionBar() { ActionBar actionBar = getSupportActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); @@ -250,58 +249,70 @@ public class DashboardMainActivity extends AppCompatActivity actionBar.setTitle(mTitle); } - private void setUpWorkflowDirectory(Context context){ + private void setUpWorkflowDirectory(Context context) { SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); - if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { - File workflowDirectory = new File(Environment.getExternalStorageDirectory()+File.separator+APP_DIRECTORY_NAME); + if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { + File workflowDirectory = new File(Environment.getExternalStorageDirectory() + File + .separator + APP_DIRECTORY_NAME); if (!workflowDirectory.exists()) { boolean state = workflowDirectory.mkdirs(); if (state) { Toast.makeText(context, "Storage Ready", Toast.LENGTH_SHORT).show(); - sp.edit().putString(APP_DIRECTORY_NAME, workflowDirectory.getAbsolutePath()).commit(); - Toast.makeText(context, "Home dir: "+workflowDirectory.getAbsolutePath(), Toast.LENGTH_LONG).show(); - } else { //directory can't be created either because of restricted access or lack of an external storage media. - //we assume the lack of secondary storage so we have to switch to internal storage - // File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.)) - // Toast.makeText(context, "Storage Error. Directory not created", Toast.LENGTH_SHORT).show(); + sp.edit().putString(APP_DIRECTORY_NAME, workflowDirectory.getAbsolutePath()) + .commit(); + Toast.makeText(context, "Home dir: " + workflowDirectory.getAbsolutePath(), + Toast.LENGTH_LONG).show(); + } else { //directory can't be created either because of restricted access or lack + // of an external storage media. + //we assume the lack of secondary storage so we have to switch to internal + // storage + // File dir = new File(Environment.getExternalStoragePublicDirectory + // (Environment.)) + // Toast.makeText(context, "Storage Error. Directory not created", + // Toast.LENGTH_SHORT).show(); } // workflowDirectory.list(); - }else { - // Toast.makeText(context, "Directory exists. Home dir: "+workflowDirectory.getAbsolutePath(), Toast.LENGTH_LONG).show(); - sp.edit().putString(APP_DIRECTORY_NAME, workflowDirectory.getAbsolutePath()).commit(); + } else { + // Toast.makeText(context, "Directory exists. Home dir: "+workflowDirectory + // .getAbsolutePath(), Toast.LENGTH_LONG).show(); + sp.edit().putString(APP_DIRECTORY_NAME, workflowDirectory.getAbsolutePath()) + .commit(); /*else { - File mainDir = new File(Environment.getExternalStorageDirectory() + File.separator + APP_DIRECTORY_NAME); + File mainDir = new File(Environment.getExternalStorageDirectory() + File + .separator + APP_DIRECTORY_NAME); if (mainDir.mkdirs()) sp.edit().putString(APP_DIRECTORY_NAME, mainDir.getAbsolutePath()).commit(); else - Toast.makeText(context, "Workflow home not created. Permission issues", Toast.LENGTH_SHORT).show(); + Toast.makeText(context, "Workflow home not created. Permission issues", Toast + .LENGTH_SHORT).show(); }*/ } - }else{//use internal memory to save the data + } else { //use internal memory to save the data File home = context.getDir("Workflows", Context.MODE_PRIVATE); sp.edit().putString(APP_DIRECTORY_NAME, home.getAbsolutePath()).commit(); - // Toast.makeText(context, "Home dir: "+home.getAbsolutePath(), Toast.LENGTH_LONG).show(); + // Toast.makeText(context, "Home dir: "+home.getAbsolutePath(), Toast + // .LENGTH_LONG).show(); } } - @Override - public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.dashboard_main, menu); - restoreActionBar(); - return true; - } + @Override + public boolean onCreateOptionsMenu(Menu menu) { + getMenuInflater().inflate(R.menu.dashboard_main, menu); + restoreActionBar(); + return true; + } - @Override + @Override public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - mDrawerLayout.openDrawer(GravityCompat.START); - return true; - } - return super.onOptionsItemSelected(item); + switch (item.getItemId()) { + case android.R.id.home: + mDrawerLayout.openDrawer(GravityCompat.START); + return true; + } + return super.onOptionsItemSelected(item); } } http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/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 e56ce4a..e5762e3 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,17 +25,17 @@ package org.apache.taverna.mobile.activities; * under the License. */ +import org.apache.taverna.mobile.R; + import android.content.Context; import android.content.Intent; +import android.os.Bundle; import android.os.Handler; import android.preference.PreferenceManager; import android.support.v7.app.ActionBarActivity; -import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; -import org.apache.taverna.mobile.R; - public class FlashScreenActivity extends ActionBarActivity { @Override @@ -55,26 +55,32 @@ public class FlashScreenActivity extends ActionBarActivity { return super.onOptionsItemSelected(item); } + @Override - public void onResume(){ + 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(); + 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() { - if(!PreferenceManager.getDefaultSharedPreferences(context).getBoolean("pref_logged_in", false)) { + 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)); + } else { + startActivity(new Intent(FlashScreenActivity.this, DashboardMainActivity + .class)); (FlashScreenActivity.this).finish(); } } http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/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 4a67b48..11ed303 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,17 @@ package org.apache.taverna.mobile.activities; * under the License. */ -import android.app.Activity; +import org.apache.taverna.mobile.R; + import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.os.AsyncTask; +import android.os.Bundle; 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.support.v7.app.ActionBarActivity; import android.util.Base64; -import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; @@ -47,20 +46,9 @@ 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.User; -import org.apache.taverna.mobile.tavernamobile.Workflow; -import org.apache.taverna.mobile.utils.HttpUtil; -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.MalformedURLException; import java.net.URL; @@ -87,13 +75,13 @@ public class LoginActivity extends ActionBarActivity { @Override public boolean onOptionsItemSelected(MenuItem item) { - return super.onOptionsItemSelected(item); + return super.onOptionsItemSelected(item); } /** * A placeholder fragment containing a simple view. */ - public static class LoginFragment extends Fragment implements View.OnClickListener{ + public static class LoginFragment extends Fragment implements View.OnClickListener { private View rootView; private Button loginButton; @@ -122,9 +110,11 @@ public class LoginActivity extends ActionBarActivity { if (i == R.id.loginbutton) { logginRemain = loginCheck.isChecked(); if (logginRemain) { - PreferenceManager.getDefaultSharedPreferences(getActivity()).edit().putBoolean("pref_logged_in",true).apply(); + PreferenceManager.getDefaultSharedPreferences(getActivity()).edit() + .putBoolean("pref_logged_in", true).apply(); } else { - PreferenceManager.getDefaultSharedPreferences(getActivity()).edit().putBoolean("pref_logged_in",false).apply(); + PreferenceManager.getDefaultSharedPreferences(getActivity()).edit() + .putBoolean("pref_logged_in", false).apply(); } if (email.getText().toString().isEmpty()) { email.setError(getString(R.string.emailerr)); @@ -132,17 +122,18 @@ public class LoginActivity extends ActionBarActivity { password.setError(getString(R.string.passworderr)); } else { // login request - new LoginTask(getActivity()).execute(email.getText().toString(), password.getText().toString()); + new LoginTask(getActivity()).execute(email.getText().toString(), password + .getText().toString()); } } } - private class LoginTask extends AsyncTask<String, Void, String>{ - private Context context; - private ProgressDialog pd; + private class LoginTask extends AsyncTask<String, Void, String> { String cookie; String userurl; + private Context context; + private ProgressDialog pd; private LoginTask(Context context) { this.context = context; @@ -174,22 +165,23 @@ public class LoginActivity extends ActionBarActivity { String authentication = userName + ":" + password; con.setRequestMethod("GET"); - con.setRequestProperty("Authorization", "Basic " + Base64.encodeToString(authentication.getBytes(), Base64.DEFAULT)); + con.setRequestProperty("Authorization", "Basic " + Base64.encodeToString + (authentication.getBytes(), Base64.DEFAULT)); con.setInstanceFollowRedirects(true); HttpURLConnection.setFollowRedirects(true); con.connect(); int status = con.getResponseCode(); response = String.valueOf(status); - if(status != HttpURLConnection.HTTP_OK){ + if (status != HttpURLConnection.HTTP_OK) { if (status == HttpURLConnection.HTTP_MOVED_PERM || status == HttpURLConnection.HTTP_MOVED_TEMP || - status == HttpURLConnection.HTTP_SEE_OTHER || status == 307){ + status == HttpURLConnection.HTTP_SEE_OTHER || status == 307) { redirect = true; } } - System.out.println("Status code: "+status); - if(redirect) { + System.out.println("Status code: " + status); + if (redirect) { // get redirect url from "location" header field String newUrl = con.getHeaderField("Location"); this.userurl = newUrl; @@ -202,14 +194,15 @@ public class LoginActivity extends ActionBarActivity { System.out.println("Redirect to URL : " + newUrl); con.connect(); } - BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream())); + BufferedReader br = new BufferedReader(new InputStreamReader(con + .getInputStream())); StringBuilder sb = new StringBuilder(); String s = ""; - while((s = br.readLine())!= null ){ + while ((s = br.readLine()) != null) { sb.append(s); } br.close(); - System.out.println("data: "+sb.toString()); + System.out.println("data: " + sb.toString()); con.disconnect(); @@ -227,20 +220,24 @@ public class LoginActivity extends ActionBarActivity { @Override protected void onPostExecute(String response) { pd.dismiss(); - if(response != null) { - switch(Integer.parseInt(response)){ + if (response != null) { + switch (Integer.parseInt(response)) { case 401: - Toast.makeText(getActivity(), getActivity().getString(R.string.auth_err), Toast.LENGTH_LONG).show(); + Toast.makeText(getActivity(), getActivity().getString(R.string + .auth_err), Toast.LENGTH_LONG).show(); break; case 200: case 307: - this.context.startActivity(new Intent(this.context, DashboardMainActivity.class)); - getActivity().overridePendingTransition(R.anim.abc_slide_in_bottom, R.anim.abc_slide_out_top); + this.context.startActivity(new Intent(this.context, + DashboardMainActivity.class)); + getActivity().overridePendingTransition(R.anim.abc_slide_in_bottom, R + .anim.abc_slide_out_top); getActivity().finish(); break; } - }else{ - Toast.makeText(getActivity(), getActivity().getString(R.string.servererr), Toast.LENGTH_LONG).show(); + } else { + Toast.makeText(getActivity(), getActivity().getString(R.string.servererr), + Toast.LENGTH_LONG).show(); } } } http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java b/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java index 5459344..df91731 100644 --- a/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java +++ b/app/src/main/java/org/apache/taverna/mobile/activities/RunResult.java @@ -1,13 +1,13 @@ package org.apache.taverna.mobile.activities; +import org.apache.taverna.mobile.R; +import org.apache.taverna.mobile.fragments.workflowdetails.RunFragment; + import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuItem; -import org.apache.taverna.mobile.R; -import org.apache.taverna.mobile.fragments.workflowdetails.RunFragment; - public class RunResult extends ActionBarActivity { @Override @@ -30,7 +30,7 @@ public class RunResult extends ActionBarActivity { @Override public boolean onOptionsItemSelected(MenuItem item) { - this.finish(); + this.finish(); return super.onOptionsItemSelected(item); } http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/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 index 4a5048d..3dd2e5d 100644 --- a/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java +++ b/app/src/main/java/org/apache/taverna/mobile/activities/SettingsActivity.java @@ -2,10 +2,10 @@ 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 @@ -24,6 +24,8 @@ package org.apache.taverna.mobile.activities; * under the License. */ +import org.apache.taverna.mobile.R; + import android.annotation.TargetApi; import android.content.Context; import android.content.res.Configuration; @@ -34,12 +36,9 @@ 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; /** @@ -61,11 +60,84 @@ public class SettingsActivity extends PreferenceActivity { * shown on tablets. */ private static final boolean ALWAYS_SIMPLE_PREFS = false; + /** + * 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; + } + }; + + /** + * 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); + } + + /** + * 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(), "")); + } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - // setupActionBar(); + // setupActionBar(); } /** @@ -138,28 +210,6 @@ public class SettingsActivity extends PreferenceActivity { } /** - * 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 @@ -171,57 +221,6 @@ public class SettingsActivity extends PreferenceActivity { } /** - * 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. */ http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java b/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java index 170621b..23dbf05 100644 --- a/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java +++ b/app/src/main/java/org/apache/taverna/mobile/activities/WorkflowDetailActivity.java @@ -3,10 +3,10 @@ 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 @@ -25,6 +25,12 @@ package org.apache.taverna.mobile.activities; * under the License. */ +import org.apache.taverna.mobile.R; +import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowAboutFragment; +import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowLicenceFragment; +import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowRunHistoryFragment; +import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowdetailFragment; + import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; @@ -34,12 +40,6 @@ import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuItem; -import org.apache.taverna.mobile.R; -import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowAboutFragment; -import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowLicenceFragment; -import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowRunHistoryFragment; -import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowdetailFragment; - import java.util.Locale; public class WorkflowDetailActivity extends ActionBarActivity { @@ -80,16 +80,17 @@ public class WorkflowDetailActivity extends ActionBarActivity { @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will - if(item.getItemId() == android.R.id.home){ + if (item.getItemId() == android.R.id.home) { finish(); - this.overridePendingTransition(android.R.anim.fade_in, android.R.anim.slide_out_right ); + this.overridePendingTransition(android.R.anim.fade_in, android.R.anim.slide_out_right); } return super.onOptionsItemSelected(item); } + @Override - public void onBackPressed(){ + public void onBackPressed() { finish(); - this.overridePendingTransition(android.R.anim.fade_in, android.R.anim.slide_out_right ); + this.overridePendingTransition(android.R.anim.fade_in, android.R.anim.slide_out_right); } /** @@ -104,16 +105,17 @@ public class WorkflowDetailActivity extends ActionBarActivity { @Override public Fragment getItem(int position) { - switch(position +1){ + switch (position + 1) { case 1: - return WorkflowdetailFragment.newInstance(position + 1); + return WorkflowdetailFragment.newInstance(position + 1); case 2: //System.out.println(""+getIntent().getStringExtra("wtitle")); - return WorkflowRunHistoryFragment.newInstance(getIntent().getStringExtra("wtitle")); + return WorkflowRunHistoryFragment.newInstance(getIntent().getStringExtra + ("wtitle")); case 3: - return WorkflowLicenceFragment.newInstance("",""); + return WorkflowLicenceFragment.newInstance("", ""); case 4: - return WorkflowAboutFragment.newInstance("",""); + return WorkflowAboutFragment.newInstance("", ""); } return WorkflowdetailFragment.newInstance(position + 1); } http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/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 a32be48..bfe292a 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 @@ -2,10 +2,10 @@ package org.apache.taverna.mobile.adapters; /** * 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 @@ -24,6 +24,10 @@ package org.apache.taverna.mobile.adapters; * under the License. */ +import org.apache.taverna.mobile.R; +import org.apache.taverna.mobile.utils.WorkflowDB; +import org.json.JSONException; + import android.app.Dialog; import android.content.Context; import android.content.SharedPreferences; @@ -35,39 +39,37 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; -import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; -import org.apache.taverna.mobile.R; -import org.apache.taverna.mobile.utils.Workflow_DB; -import org.json.JSONException; - import java.util.ArrayList; import java.util.List; /** * Created by Larry Akah on 6/9/15. */ -public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkflowAdapter.FViewHolder> { +public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkflowAdapter + .FViewHolder> { + public WorkflowDB favDB; private Context context; private List<ArrayList<Object>> dataSet; - public Workflow_DB favDB; public FavoriteWorkflowAdapter(Context c, List<ArrayList<Object>> data) { context = c; dataSet = data; - favDB = new Workflow_DB(context, WorkflowAdapter.WORKFLOW_FAVORITE_KEY); + favDB = new WorkflowDB(context, WorkflowAdapter.WORKFLOW_FAVORITE_KEY); } @Override public FViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { - View itemview = LayoutInflater.from(context).inflate(R.layout.favorite_item_layout, viewGroup, false); + View itemview = LayoutInflater.from(context).inflate(R.layout.favorite_item_layout, + viewGroup, false); FViewHolder vh = new FViewHolder(itemview); return vh; } + /** * Register a new observer to listen for data changes. * <p/> @@ -77,17 +79,20 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl * "something changed"} event if more specific data is not available.</p> * <p/> * <p>Components registering observers with an adapter are responsible for - * {@link #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView.AdapterDataObserver) + * {@link #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView + * .AdapterDataObserver) * unregistering} those observers when finished.</p> * * @param observer Observer to register - * @see #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView.AdapterDataObserver) + * @see #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView + * .AdapterDataObserver) */ @Override public void registerAdapterDataObserver(RecyclerView.AdapterDataObserver observer) { super.registerAdapterDataObserver(observer); //observer.onChanged(); } + /** * Unregister an observer currently listening for data changes. * <p/> @@ -115,13 +120,14 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl @Override public void onClick(View view) { try { - Toast.makeText(context, String.format("%s", "Removed "),Toast.LENGTH_SHORT).show(); + Toast.makeText(context, String.format("%s", "Removed "), Toast.LENGTH_SHORT) + .show(); //removeMarkedWorkflow(String.valueOf(data.get(0))); favDB.delete(String.valueOf(data.get(0))); notifyDataSetChanged(); } catch (JSONException e) { e.printStackTrace(); - }catch(Exception ex){ + } catch (Exception ex) { ex.printStackTrace(); } @@ -132,27 +138,32 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl public void onClick(View view) { Dialog d = new Dialog(context); TextView textView = new TextView(context); - String text = "Author -> "+ (String) data.get(6) + "\nTitle: "+data.get(2)+"\nDescription\n"+data.get(3); + String text = "Author -> " + (String) data.get(6) + "\nTitle: " + data.get(2) + + "\nDescription\n" + data.get(3); textView.setText(text); textView.setTextSize(22); textView.setTextColor(Color.BLACK); - d.setTitle(""+data.get(2)); + d.setTitle("" + data.get(2)); d.setContentView(textView); d.show(); } }); } + //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)){ + 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(); + sharedPreferences.edit().putString(WorkflowAdapter.FAVORITE_LIST_DB, charsequence + .toString()).apply(); } @Override @@ -160,23 +171,24 @@ public class FavoriteWorkflowAdapter extends RecyclerView.Adapter<FavoriteWorkfl return dataSet.size(); } - public ArrayList<Object> getDataItemAt(int position){ - return dataSet.size() == 0? null: dataSet.get(position); + public ArrayList<Object> getDataItemAt(int position) { + return dataSet.size() == 0 ? null : dataSet.get(position); } public class FViewHolder extends RecyclerView.ViewHolder { public final ImageView favorite_thumb; - public final TextView author, title, dateMarked;// dateAdd; + public final TextView author, title, dateMarked; // dateAdd; public final FloatingActionButton btn_delete; public final Button btn_view_fav; + public FViewHolder(View itemView) { super(itemView); favorite_thumb = (ImageView) itemView.findViewById(R.id.author_profile_image); author = (TextView) itemView.findViewById(R.id.author); title = (TextView) itemView.findViewById(R.id.favorite_title); dateMarked = (TextView) itemView.findViewById(R.id.date_set); - btn_delete = (FloatingActionButton) itemView.findViewById(R.id.favoriteButtonDelete); + btn_delete = (FloatingActionButton) itemView.findViewById(R.id.favoriteButtonDelete); btn_view_fav = (Button) itemView.findViewById(R.id.buttonOpenFavorite); } } http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java b/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java index e22d2e1..4a55423 100644 --- a/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java +++ b/app/src/main/java/org/apache/taverna/mobile/adapters/RunAdapter.java @@ -2,10 +2,10 @@ package org.apache.taverna.mobile.adapters; /** * 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 @@ -23,6 +23,10 @@ package org.apache.taverna.mobile.adapters; * specific language governing permissions and limitations * under the License. */ + +import org.apache.taverna.mobile.R; +import org.apache.taverna.mobile.tavernamobile.Runs; + import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -31,9 +35,6 @@ import android.view.ViewGroup; import android.widget.ImageButton; import android.widget.TextView; -import org.apache.taverna.mobile.R; -import org.apache.taverna.mobile.tavernamobile.Runs; - import java.util.List; @@ -50,7 +51,9 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> { } /** - * Called when RecyclerView needs a new {@link android.support.v7.widget.RecyclerView.ViewHolder} of the given type to represent + * Called when RecyclerView needs a new + * {@link android.support.v7.widget.RecyclerView.ViewHolder} + * of the given type to represent * an item. * <p/> * This new ViewHolder should be constructed with a new View that can represent the items @@ -70,13 +73,15 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> { */ @Override public RunHolder onCreateViewHolder(ViewGroup parent, int viewType) { - View v = LayoutInflater.from(context).inflate(R.layout.workflow_run_item,parent, false); + View v = LayoutInflater.from(context).inflate(R.layout.workflow_run_item, parent, false); return new RunHolder(v); } /** * Called by RecyclerView to display the data at the specified position. This method - * should update the contents of the {@link android.support.v7.widget.RecyclerView.ViewHolder#itemView} to reflect the item at + * should update the contents of the + * {@link android.support.v7.widget.RecyclerView.ViewHolder#itemView} + * to reflect the item at * the given position. * <p/> * Note that unlike {@link android.widget.ListView}, RecyclerView will not call this @@ -84,7 +89,9 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> { * is invalidated or the new position cannot be determined. For this reason, you should only * use the <code>position</code> parameter while acquiring the related data item inside this * method and should not keep a copy of it. If you need the position of an item later on - * (e.g. in a click listener), use {@link android.support.v7.widget.RecyclerView.ViewHolder#getAdapterPosition()} which will have + * (e.g. in a click listener), use + * {@link android.support.v7.widget.RecyclerView.ViewHolder#getAdapterPosition()} + * which will have * the updated adapter position. * * @param holder The ViewHolder which should be updated to represent the contents of the @@ -97,8 +104,8 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> { holder.runtitle.setText(lRun.getRun_name()); holder.runstarted.setText(lRun.getRun_started_date()); holder.runfinished.setText(lRun.getRun_ended_date()); - holder.runAuthor.setText("Author->"+lRun.getRun_author()); - switch(lRun.getState()){ + holder.runAuthor.setText("Author->" + lRun.getRun_author()); + switch (lRun.getState()) { case RUNNING: holder.runStatus.setImageResource(android.R.drawable.presence_busy); holder.textState.setText("Running"); @@ -115,7 +122,7 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> { } - public List<Runs> getRunList(){ + public List<Runs> getRunList() { return this.runList; } @@ -135,7 +142,7 @@ public class RunAdapter extends RecyclerView.Adapter<RunAdapter.RunHolder> { } public static class RunHolder extends RecyclerView.ViewHolder { - public final TextView runtitle, runstarted, runfinished,textState,runAuthor; + public final TextView runtitle, runstarted, runfinished, textState, runAuthor; public final ImageButton runStatus; public RunHolder(View itemView) { http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/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 9b702a1..5a4bbc2 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 @@ -2,10 +2,10 @@ package org.apache.taverna.mobile.adapters; /** * 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 @@ -24,6 +24,8 @@ package org.apache.taverna.mobile.adapters; * under the License. */ +import org.apache.taverna.mobile.R; + import android.content.Context; import android.view.LayoutInflater; import android.view.View; @@ -32,19 +34,17 @@ import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; -import org.apache.taverna.mobile.R; - import java.util.List; /** * Created by root on 6/7/15. */ -public class SliderMenuAdapter extends BaseAdapter{ +public class SliderMenuAdapter extends BaseAdapter { private List<String> dataItems; private Context context; - public SliderMenuAdapter(Context c,List<String> items){ + public SliderMenuAdapter(Context c, List<String> items) { dataItems = items; context = c; } @@ -67,11 +67,12 @@ public class SliderMenuAdapter extends BaseAdapter{ @Override public View getView(int i, View view, ViewGroup viewGroup) { - View menuitemview = LayoutInflater.from(context).inflate(R.layout.menu_item_layout, viewGroup, false); + View menuitemview = LayoutInflater.from(context).inflate(R.layout.menu_item_layout, + viewGroup, false); ImageView menuicon = (ImageView) menuitemview.findViewById(R.id.menuIcon); TextView menuitem = (TextView) menuitemview.findViewById(R.id.menuItemText); - switch(i +1){ + switch (i + 1) { case 1: menuicon.setImageResource(R.mipmap.ic_dashboard_home); menuitem.setText(dataItems.get(i)); @@ -100,11 +101,11 @@ public class SliderMenuAdapter extends BaseAdapter{ return menuitemview; } - public static class ViewHolder{ + public static class ViewHolder { public final ImageView menuicon; public final TextView menuitem; - public ViewHolder(View view){ + public ViewHolder(View view) { menuicon = (ImageView) view.findViewById(R.id.menuIcon); menuitem = (TextView) view.findViewById(R.id.menuItemText); } http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/e752e97d/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 1394422..19ee4f3 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 @@ -2,10 +2,10 @@ package org.apache.taverna.mobile.adapters; /** * 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 @@ -24,6 +24,17 @@ package org.apache.taverna.mobile.adapters; * under the License. */ +import com.thebuzzmedia.sjxp.rule.IRule; + +import org.apache.taverna.mobile.R; +import org.apache.taverna.mobile.activities.WorkflowDetailActivity; +import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowdetailFragment; +import org.apache.taverna.mobile.tavernamobile.User; +import org.apache.taverna.mobile.tavernamobile.Workflow; +import org.apache.taverna.mobile.utils.WorkflowDB; +import org.apache.taverna.mobile.utils.xmlparsers.MyExperimentXmlParserRules; +import org.apache.taverna.mobile.utils.xmlparsers.WorkflowDetailParser; + import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -41,18 +52,6 @@ import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; -import com.thebuzzmedia.sjxp.rule.IRule; - -import org.apache.taverna.mobile.R; -import org.apache.taverna.mobile.activities.WorkflowDetailActivity; -import org.apache.taverna.mobile.fragments.workflowdetails.WorkflowdetailFragment; -import org.apache.taverna.mobile.tavernamobile.User; -import org.apache.taverna.mobile.tavernamobile.Workflow; -import org.apache.taverna.mobile.utils.Workflow_DB; -import org.apache.taverna.mobile.utils.xmlparsers.MyExperimentXmlParserRules; -import org.apache.taverna.mobile.utils.xmlparsers.WorkflowDetailParser; -import org.json.JSONException; - import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; @@ -66,34 +65,37 @@ import java.util.List; /** * Created by Larry Akah on 6/8/15. */ -public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHolder>{ +public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHolder> { + public static final String WORKFLOW_FAVORITE_KEY = "WORKFLOW_FAVORITES"; //workflow key used + // to save workflows when marked as favorites + public static final String FAVORITE_LIST_DB = "FAVORITE_LIST"; + public WorkflowDB favDB; //favorited keeps items that have been favorited in order to + // identify them during private Context context; private List<Workflow> workflowList; //workflow data to bind to the UI private WorkflowAdapter.ViewHolder mViewHolder; - public static final String WORKFLOW_FAVORITE_KEY = "WORKFLOW_FAVORITES"; //workflow key used to save workflows when marked as favorites - public static final String FAVORITE_LIST_DB = "FAVORITE_LIST"; - public Workflow_DB favDB; //favorited keeps items that have been favorited in order to identify them during - // display in the list. + + // display in the list. public WorkflowAdapter(Context c, List<Workflow> wk) { context = c; workflowList = wk; - favDB = new Workflow_DB(context, WORKFLOW_FAVORITE_KEY); + favDB = new WorkflowDB(context, WORKFLOW_FAVORITE_KEY); } - public WorkflowAdapter(Context c){ + public WorkflowAdapter(Context c) { context = c; workflowList = new ArrayList<Workflow>(); - favDB = new Workflow_DB(context, WORKFLOW_FAVORITE_KEY); + favDB = new WorkflowDB(context, WORKFLOW_FAVORITE_KEY); } - public void addItems(List<Workflow> workflow, int position) throws ClassCastException{ + public void addItems(List<Workflow> workflow, int position) throws ClassCastException { //add items to the current list of list - //workflowList.add(position,workflow); + //workflowList.add(position,workflow); workflowList.addAll(workflow); notifyItemRangeInserted(position + 24, 25); } - public void removeItem(Workflow workflow){ + public void removeItem(Workflow workflow) { workflowList.remove(workflow); //notifyItemRemoved(); } @@ -107,11 +109,13 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo * "something changed"} event if more specific data is not available.</p> * <p/> * <p>Components registering observers with an adapter are responsible for - * {@link #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView.AdapterDataObserver) + * {@link #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView + * .AdapterDataObserver) * unregistering} those observers when finished.</p> * * @param observer Observer to register - * @see #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView.AdapterDataObserver) + * @see #unregisterAdapterDataObserver(android.support.v7.widget.RecyclerView + * .AdapterDataObserver) */ @Override public void registerAdapterDataObserver(RecyclerView.AdapterDataObserver observer) { @@ -134,15 +138,17 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo @Override public WorkflowAdapter.ViewHolder onCreateViewHolder(ViewGroup parentViewGroup, int viewType) { - View v = LayoutInflater.from(context).inflate(R.layout.workflow_item_layout,parentViewGroup,false); + View v = LayoutInflater.from(context).inflate(R.layout.workflow_item_layout, + parentViewGroup, false); mViewHolder = new ViewHolder(v); return mViewHolder; } /** * Bind data set items for each data + * * @param viewHolder the recycled view used to bind data (Overwrite data values) - * @param i position of data in the dataset to use. + * @param i position of data in the dataset to use. */ @Override public void onBindViewHolder(final ViewHolder viewHolder, int i) { @@ -151,41 +157,45 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo final String author = workflowList.get(i).getWorkflow_author(); // final String author = workflowList.get(i).getUploader().getName(); final String title = workflowList.get(i).getWorkflow_title(); - String description = workflowList.get(i).getWorkflow_description(); + String description = workflowList.get(i).getWorkflow_description(); final String uri = workflowList.get(i).getWorkflow_details_url(); final String desc_full = description; - if(description.length() > 80) description = description.substring(0, 79)+" ..."; + if (description.length() > 80) description = description.substring(0, 79) + " ..."; viewHolder.author_name.setHint(author); viewHolder.wk_title.setHint(title); viewHolder.wk_description.setText(description); Linkify.addLinks(viewHolder.wk_description, Linkify.WEB_URLS); final Intent it = new Intent(); - System.out.println("Workflow_uri:"+uri); + System.out.println("Workflow_uri:" + uri); it.setClass(context, WorkflowDetailActivity.class); // 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("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 - final String favs = PreferenceManager.getDefaultSharedPreferences(context).getString(FAVORITE_LIST_DB, ""); - String[] ids = favs.split(","); - if(ids.length > 0) { - for (String id : ids) - if (id.equalsIgnoreCase("" + wid)){ - viewHolder.btn_mark_workflow.setBackgroundResource(R.drawable.abc_list_selector_disabled_holo_light); - break; - } - } + WorkflowdetailFragment.WORKFLO_ID = title; //workflow.get(i).getId(); + + //determine whether to mark button as favorited or not + final String favs = PreferenceManager.getDefaultSharedPreferences(context).getString + (FAVORITE_LIST_DB, ""); + String[] ids = favs.split(","); + if (ids.length > 0) { + for (String id : ids) + if (id.equalsIgnoreCase("" + wid)) { + viewHolder.btn_mark_workflow.setBackgroundResource(R.drawable + .abc_list_selector_disabled_holo_light); + break; + } + } viewHolder.btn_view_workflow.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { context.startActivity(it); - ((Activity) context).overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.fade_out); + ((Activity) context).overridePendingTransition(android.R.anim.slide_in_left, + android.R.anim.fade_out); } }); @@ -194,33 +204,43 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo public void onClick(View view) { 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(wid); + mfav.add(author); + mfav.add(title); + mfav.add(desc_full); mfav.add(SimpleDateFormat.getDateTimeInstance().format(new Date())); mfav.add(uri); mfav.add(viewHolder.author_name.getText()); int saved = favDB.insert(mfav); - if(saved >0) { - viewHolder.btn_mark_workflow.setBackgroundResource(R.drawable.abc_list_selector_disabled_holo_light); + if (saved > 0) { + viewHolder.btn_mark_workflow.setBackgroundResource(R.drawable + .abc_list_selector_disabled_holo_light); - PreferenceManager.getDefaultSharedPreferences(context).edit().putString(FAVORITE_LIST_DB, favs+wid+",").apply(); + PreferenceManager.getDefaultSharedPreferences(context).edit().putString + (FAVORITE_LIST_DB, favs + wid + ",").apply(); //refresh fragment since data has changed - FavoriteWorkflowAdapter favoriteWorkflowAdapter = (FavoriteWorkflowAdapter) ((RecyclerView) ((Activity) context).findViewById(R.id.favoriteList)).getAdapter(); - //try { - if(null != favoriteWorkflowAdapter) - favoriteWorkflowAdapter.notifyDataSetChanged(); - //}catch(NullPointerException np){ - // np.printStackTrace(); - // } - Toast.makeText(context, "Workflow marked as favorite", Toast.LENGTH_SHORT).show(); - }else if(saved == -1){ - Toast.makeText(context,"Sorry! This workflow has already been marked as a favourite",Toast.LENGTH_SHORT).show(); - }else - Toast.makeText(context,"Error! Please try again",Toast.LENGTH_SHORT).show(); + FavoriteWorkflowAdapter favoriteWorkflowAdapter = (FavoriteWorkflowAdapter) ( + (RecyclerView) ((Activity) context).findViewById(R.id.favoriteList)) + .getAdapter(); + //try { + if (null != favoriteWorkflowAdapter) + favoriteWorkflowAdapter.notifyDataSetChanged(); + //}catch(NullPointerException np){ + // np.printStackTrace(); + // } + Toast.makeText(context, "Workflow marked as favorite", Toast.LENGTH_SHORT) + .show(); + } else if (saved == -1) { + Toast.makeText(context, "Sorry! This workflow has already been marked as a " + + "favourite", 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.setText(Html.fromHtml(context.getResources().getString(R.string + .seemore))); viewHolder.wk_showmore.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { @@ -231,14 +251,15 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo } }); - synchronized (this){ + synchronized (this) { new DetailLinkLoader(viewHolder).execute(uri, String.valueOf(i)); } } - public void setData(List<Workflow> workflowList){ + public void setData(List<Workflow> workflowList) { this.workflowList = workflowList; } + @Override public long getItemId(int i) { return workflowList.get(i).getId(); @@ -249,17 +270,17 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo return workflowList.size(); } - public Workflow getItem(int position){ + public Workflow getItem(int position) { return workflowList.get(position); } - public void addWorkflow(Workflow wk){ + public void addWorkflow(Workflow wk) { workflowList.add(wk); } public static class ViewHolder extends RecyclerView.ViewHolder { public final ImageView author_profile; - public final TextView author_name, wk_title,wk_showmore,wk_description; + public final TextView author_name, wk_title, wk_showmore, wk_description; public final Button btn_view_workflow; public final Button btn_download_workflow; public final Button btn_mark_workflow; @@ -273,8 +294,8 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo author_name = (TextView) v.findViewById(R.id.workflow_author); wk_title = (TextView) v.findViewById(R.id.workflow_title); wk_showmore = (TextView) v.findViewById(R.id.show_more); - // wk_created = (TextView) v.findViewById(R.id.workflow_datecreated); - // wk_modified = (TextView) v.findViewById(R.id.workflow_dateupdated); + // wk_created = (TextView) v.findViewById(R.id.workflow_datecreated); + // wk_modified = (TextView) v.findViewById(R.id.workflow_dateupdated); wk_description = (TextView) v.findViewById(R.id.workflow_brief_description); //cache buttons btn_download_workflow = (Button) v.findViewById(R.id.button_download_workflow); @@ -286,15 +307,15 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo /** * Loads partially details of a given workflow to retrieve author information */ - private class DetailLinkLoader extends AsyncTask<String, Void, Void>{ + private class DetailLinkLoader extends AsyncTask<String, Void, Void> { ViewHolder mViewHolder; - public DetailLinkLoader(ViewHolder vh){ + public DetailLinkLoader(ViewHolder vh) { this.mViewHolder = vh; } @Override - protected Void doInBackground(String ... strings) { + protected Void doInBackground(String... strings) { URL url = null; HttpURLConnection connection = null; try { @@ -303,9 +324,12 @@ public class WorkflowAdapter extends RecyclerView.Adapter<WorkflowAdapter.ViewHo connection.setDoInput(true); connection.connect(); InputStream input = connection.getInputStream(); - IRule avatarRule = new MyExperimentXmlParserRules.UploaderRule(IRule.Type.ATTRIBUTE,"/workflow/uploader", "resource","uri","id"); - IRule uploaderRule = new MyExperimentXmlParserRules.UploaderRule(IRule.Type.CHARACTER,"/workflow/uploader"); - WorkflowDetailParser detailMinParser = new WorkflowDetailParser(new IRule[]{avatarRule,uploaderRule}); + IRule avatarRule = new MyExperimentXmlParserRules.UploaderRule(IRule.Type + .ATTRIBUTE, "/workflow/uploader", "resource", "uri", "id"); + IRule uploaderRule = new MyExperimentXmlParserRules.UploaderRule(IRule.Type + .CHARACTER, "/workflow/uploader"); + WorkflowDetailParser detailMinParser = new WorkflowDetailParser(new + IRule[]{avatarRule, uploaderRule}); detailMinParser.parse(input, new User(strings[1], this.mViewHolder)); } catch (MalformedURLException e) {
