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;
+    }
+
 }

Reply via email to