add workflow detail fragment
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/074b9da2 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/074b9da2 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/074b9da2 Branch: refs/heads/master Commit: 074b9da266ea84dd07a3556f047153ee0d81587d Parents: ef54c29 Author: Sagar <[email protected]> Authored: Fri Jul 1 10:53:57 2016 +0530 Committer: Sagar <[email protected]> Committed: Fri Jul 1 10:53:57 2016 +0530 ---------------------------------------------------------------------- .../workflowdetail/WorkflowDetailFragment.java | 122 +++++++++++++++++++ 1 file changed, 122 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/074b9da2/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java new file mode 100644 index 0000000..671a14d --- /dev/null +++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java @@ -0,0 +1,122 @@ +package org.apache.taverna.mobile.ui.workflowdetail; + + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.engine.DiskCacheStrategy; + +import org.apache.taverna.mobile.R; +import org.apache.taverna.mobile.data.DataManager; +import org.apache.taverna.mobile.data.model.DetailWorkflow; +import org.apache.taverna.mobile.utils.ConnectionInfo; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.webkit.WebView; +import android.widget.ImageView; +import android.widget.TextView; + +import butterknife.BindView; +import butterknife.ButterKnife; + +public class WorkflowDetailFragment extends Fragment implements WorkflowDetailMvpView { + + public final String LOG_TAG = getClass().getSimpleName(); + + @BindView(R.id.ivWorkflowImage) + ImageView workflowImage; + + @BindView(R.id.tvTitle) + TextView title; + + @BindView(R.id.ivUploader) + ImageView uploaderImage; + + @BindView(R.id.tvUploaderName) + TextView uploaderName; + + @BindView(R.id.tvDate) + TextView date; + + @BindView(R.id.tvType) + TextView type; + + @BindView(R.id.tvDescription) + WebView description; + + private DataManager dataManager; + + private WorkflowDetailPresenter mWorkflowDetailPresenter; + + private ConnectionInfo mConnectionInfo; + + private static final String ID="id"; + + private String id; + + public static WorkflowDetailFragment newInstance(String id) { + + Bundle args = new Bundle(); + + args.putString(ID,id); + + WorkflowDetailFragment fragment = new WorkflowDetailFragment(); + fragment.setArguments(args); + return fragment; + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + id=getArguments().getString(ID); + + dataManager = new DataManager(); + mWorkflowDetailPresenter = new WorkflowDetailPresenter(dataManager); + mConnectionInfo = new ConnectionInfo(getContext()); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle + savedInstanceState) { + + View rootView = inflater.inflate(R.layout.fragment_detail_workflow, container, false); + + ButterKnife.bind(this, rootView); + + mWorkflowDetailPresenter.attachView(this); + mWorkflowDetailPresenter.loadWorkflowDetail(id); + + return rootView; + } + + @Override + public void showProgressbar(boolean b) { + + } + + @Override + public void showWorkflowDetail(DetailWorkflow detailWorkflow) { + + uploaderName.setText(detailWorkflow.getUploader().getContent()); + date.setText(detailWorkflow.getUpdatedAt()); + type.setText(detailWorkflow.getType().getContent()); + title.setText(detailWorkflow.getTitle()); + description.loadData(detailWorkflow.getDescription(), "text/html", "utf-8"); + + Glide.with(getContext()) + .load(detailWorkflow.getPreviewUri()) + .diskCacheStrategy(DiskCacheStrategy.SOURCE) + .placeholder(R.drawable.placeholder) + .error(R.drawable.placeholder) + .into(workflowImage); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + mWorkflowDetailPresenter.detachView(); + } +}
