add uploader image logic
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/8ed4cb81 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/8ed4cb81 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/8ed4cb81 Branch: refs/heads/master Commit: 8ed4cb81ae5559ecf6bd2feea1db5f6f2fa9bee9 Parents: a85f69d Author: Sagar <[email protected]> Authored: Fri Jul 1 15:55:08 2016 +0530 Committer: Sagar <[email protected]> Committed: Fri Jul 1 15:55:08 2016 +0530 ---------------------------------------------------------------------- .../workflowdetail/WorkflowDetailFragment.java | 13 +++++++ .../workflowdetail/WorkflowDetailMvpView.java | 3 ++ .../workflowdetail/WorkflowDetailPresenter.java | 39 +++++++++++++++++++- 3 files changed, 53 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8ed4cb81/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 index bcfdee8..21230b6 100644 --- 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 @@ -7,6 +7,7 @@ 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.data.model.User; import org.apache.taverna.mobile.utils.ConnectionInfo; import android.os.Bundle; @@ -115,6 +116,18 @@ public class WorkflowDetailFragment extends Fragment implements WorkflowDetailMv } @Override + public void setImage(User user) { + + Glide.with(getContext()) + .load(user.getAvatar().getResource()) + .diskCacheStrategy(DiskCacheStrategy.SOURCE) + .placeholder(R.drawable.placeholder) + .error(R.drawable.placeholder) + .into(uploaderImage); + + } + + @Override public void onDestroyView() { super.onDestroyView(); mWorkflowDetailPresenter.detachView(); http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8ed4cb81/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailMvpView.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailMvpView.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailMvpView.java index c4da38f..ed75e67 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailMvpView.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailMvpView.java @@ -2,6 +2,7 @@ package org.apache.taverna.mobile.ui.workflowdetail; import org.apache.taverna.mobile.data.model.DetailWorkflow; +import org.apache.taverna.mobile.data.model.User; import org.apache.taverna.mobile.ui.base.MvpView; public interface WorkflowDetailMvpView extends MvpView { @@ -9,4 +10,6 @@ public interface WorkflowDetailMvpView extends MvpView { void showProgressbar(boolean b); void showWorkflowDetail(DetailWorkflow detailWorkflow); + + void setImage(User user); } http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/8ed4cb81/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailPresenter.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailPresenter.java index 8c6c2bf..660d75f 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailPresenter.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailPresenter.java @@ -2,6 +2,7 @@ package org.apache.taverna.mobile.ui.workflowdetail; import org.apache.taverna.mobile.data.DataManager; import org.apache.taverna.mobile.data.model.DetailWorkflow; +import org.apache.taverna.mobile.data.model.User; import org.apache.taverna.mobile.ui.base.BasePresenter; import java.util.HashMap; @@ -37,7 +38,7 @@ public class WorkflowDetailPresenter extends BasePresenter<WorkflowDetailMvpView public void loadWorkflowDetail(String id) { getMvpView().showProgressbar(true); if (mSubscriptions != null) mSubscriptions.unsubscribe(); - mSubscriptions = mDataManager.getDetailWorkflow(id, getQueryOptions()) + mSubscriptions = mDataManager.getDetailWorkflow(id, getDetailQueryOptions()) .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(new Observer<DetailWorkflow>() { @@ -54,16 +55,50 @@ public class WorkflowDetailPresenter extends BasePresenter<WorkflowDetailMvpView @Override public void onNext(DetailWorkflow detailWorkflow) { getMvpView().showWorkflowDetail(detailWorkflow); + loadUserDetail(detailWorkflow.getUploader().getId()); } }); } - private Map<String, String> getQueryOptions() { + private void loadUserDetail(String id) { + + getMvpView().showProgressbar(true); + if (mSubscriptions != null) mSubscriptions.unsubscribe(); + mSubscriptions = mDataManager.getUserDetail(id, getUserQueryOptions()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribeOn(Schedulers.io()) + .subscribe(new Observer<User>() { + @Override + public void onCompleted() { + getMvpView().showProgressbar(false); + } + + @Override + public void onError(Throwable e) { + getMvpView().showProgressbar(false); + } + + @Override + public void onNext(User user) { + getMvpView().setImage(user); + } + }); + } + + private Map<String, String> getDetailQueryOptions() { Map<String, String> option = new HashMap<>(); option.put("elements", "id,title,type,uploader,preview,created-at,svg,updated-at," + "description,license-type,tags"); return option; } + + private Map<String, String> getUserQueryOptions() { + + Map<String, String> option = new HashMap<>(); + option.put("elements", "avatar"); + return option; + } + }
