remove error + remove unused method
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/14ba7386 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/14ba7386 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/14ba7386 Branch: refs/heads/master Commit: 14ba73869eff892187a59dbd4ecaa18cb28eec04 Parents: d075257 Author: Sagar <[email protected]> Authored: Mon Aug 15 23:50:46 2016 +0530 Committer: Sagar <[email protected]> Committed: Tue Aug 16 00:28:14 2016 +0530 ---------------------------------------------------------------------- .../apache/taverna/mobile/data/DataManager.java | 10 +--- .../taverna/mobile/data/model/Workflow.java | 10 ++-- .../ui/myworkflows/MyWorkflowFragment.java | 63 +++++--------------- .../ui/myworkflows/MyWorkflowMvpView.java | 8 +-- .../ui/myworkflows/MyWorkflowPresenter.java | 53 ++++++++++++---- 5 files changed, 66 insertions(+), 78 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/14ba7386/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java b/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java index 7489fb9..534b903 100644 --- a/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java +++ b/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java @@ -167,13 +167,7 @@ public class DataManager { } - public Observable<Workflows> getMyWorkflows(String userID, Map<String, String> options) { - return mBaseApiManager.getTavernaApi().getMyWorkflows(userID, options) - .concatMap(new Func1<Workflows, Observable<? extends Workflows>>() { - @Override - public Observable<? extends Workflows> call(Workflows workflows) { - return mDBHelper.syncWorkflows(workflows); - } - }); + public Observable<User> getMyWorkflows(String userID, Map<String, String> options) { + return mBaseApiManager.getTavernaApi().getUserDetail(userID , options); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/14ba7386/app/src/main/java/org/apache/taverna/mobile/data/model/Workflow.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/data/model/Workflow.java b/app/src/main/java/org/apache/taverna/mobile/data/model/Workflow.java index c545ee2..a614042 100644 --- a/app/src/main/java/org/apache/taverna/mobile/data/model/Workflow.java +++ b/app/src/main/java/org/apache/taverna/mobile/data/model/Workflow.java @@ -19,6 +19,9 @@ package org.apache.taverna.mobile.data.model; +import android.os.Parcel; +import android.os.Parcelable; + import com.raizlabs.android.dbflow.annotation.Column; import com.raizlabs.android.dbflow.annotation.ForeignKey; import com.raizlabs.android.dbflow.annotation.ModelContainer; @@ -32,9 +35,6 @@ import org.simpleframework.xml.Element; import org.simpleframework.xml.ElementList; import org.simpleframework.xml.Root; -import android.os.Parcel; -import android.os.Parcelable; - import java.util.List; @@ -64,7 +64,7 @@ public class Workflow extends TavernaBaseModel implements Parcelable { String elementId; @Column - @Element(name = "title") + @Element(name = "title", required = false) String title; @Column @@ -73,7 +73,7 @@ public class Workflow extends TavernaBaseModel implements Parcelable { @Column @ForeignKey(saveForeignKeyModel = true) - @Element(name = "type") + @Element(name = "type", required = false) Type type; @Column http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/14ba7386/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowFragment.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowFragment.java index a829966..7eb04aa 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowFragment.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowFragment.java @@ -26,7 +26,6 @@ import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -36,12 +35,8 @@ import org.apache.taverna.mobile.R; import org.apache.taverna.mobile.data.DataManager; import org.apache.taverna.mobile.data.local.PreferencesHelper; import org.apache.taverna.mobile.data.model.Workflow; -import org.apache.taverna.mobile.data.model.Workflows; -import org.apache.taverna.mobile.ui.adapter.EndlessRecyclerOnScrollListener; import org.apache.taverna.mobile.ui.adapter.RecyclerItemClickListner; import org.apache.taverna.mobile.ui.adapter.WorkflowAdapter; -import org.apache.taverna.mobile.ui.workflow.WorkflowMvpView; -import org.apache.taverna.mobile.ui.workflow.WorkflowPresenter; import org.apache.taverna.mobile.ui.workflowdetail.WorkflowDetailActivity; import org.apache.taverna.mobile.utils.ConnectionInfo; import org.apache.taverna.mobile.utils.ScrollChildSwipeRefreshLayout; @@ -52,7 +47,7 @@ import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; -public class MyWorkflowFragment extends Fragment implements WorkflowMvpView, +public class MyWorkflowFragment extends Fragment implements MyWorkflowMvpView, RecyclerItemClickListner.OnItemClickListener { public final String LOG_TAG = getClass().getSimpleName(); @@ -73,7 +68,6 @@ public class MyWorkflowFragment extends Fragment implements WorkflowMvpView, private WorkflowAdapter mWorkflowAdapter; - private int mPageNumber = 1; private List<Workflow> mWorkflowList; @Override @@ -81,7 +75,9 @@ public class MyWorkflowFragment extends Fragment implements WorkflowMvpView, super.onCreate(savedInstanceState); mWorkflowList = new ArrayList<>(); + dataManager = new DataManager(new PreferencesHelper(getContext())); + mWorkflowPresenter = new MyWorkflowPresenter(dataManager); } @@ -91,7 +87,9 @@ public class MyWorkflowFragment extends Fragment implements WorkflowMvpView, savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_dashboard, container, false); + ButterKnife.bind(this, rootView); + mWorkflowPresenter.attachView(this); final LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); @@ -105,53 +103,29 @@ public class MyWorkflowFragment extends Fragment implements WorkflowMvpView, mRecyclerView.setAdapter(mWorkflowAdapter); mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListner(getActivity(), this)); - showProgressbar(true); - mWorkflowPresenter.loadMyWorkflows(mPageNumber); - - mRecyclerView.addOnScrollListener(new EndlessRecyclerOnScrollListener(layoutManager) { - @Override - public void onLoadMore(int current_page) { - - if (ConnectionInfo.isConnectingToInternet(getContext()) - && mWorkflowList.size() % 10 == 0) { - mWorkflowList.add(null); - mWorkflowAdapter.notifyItemInserted(mWorkflowList.size()); - ++mPageNumber; - mWorkflowPresenter.loadMyWorkflows(mPageNumber); - Log.d(LOG_TAG, "Loading more"); - } else if (!ConnectionInfo.isConnectingToInternet(getContext())) { - Log.d(LOG_TAG, "Internet not available. Not loading more posts."); - showErrorSnackBar(); - } - } - }); + mWorkflowPresenter.loadMyWorkflows(); mSwipeRefresh.setColorSchemeResources(R.color.colorAccent, R.color.colorAccent, R.color .colorPrimary); + mSwipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { if (ConnectionInfo.isConnectingToInternet(getContext())) { - mPageNumber = 1; - mWorkflowPresenter.loadMyWorkflows(mPageNumber); + mWorkflowPresenter.loadMyWorkflows(); mSwipeRefresh.setRefreshing(true); - - Log.d(LOG_TAG, "Swipe Refresh"); - } else { - Log.d(LOG_TAG, "NO Internet Connection"); - showErrorSnackBar(); + + showErrorSnackBar("NO Internet Connection"); if (mSwipeRefresh.isRefreshing()) { mSwipeRefresh.setRefreshing(false); } } - } }); - return rootView; } @@ -168,9 +142,9 @@ public class MyWorkflowFragment extends Fragment implements WorkflowMvpView, } @Override - public void showErrorSnackBar() { + public void showErrorSnackBar(String error) { - final Snackbar snackbar = Snackbar.make(mRecyclerView, "NO Internet Connection", Snackbar + final Snackbar snackbar = Snackbar.make(mRecyclerView, error, Snackbar .LENGTH_INDEFINITE); snackbar.setAction("OK", new View.OnClickListener() { @Override @@ -183,27 +157,18 @@ public class MyWorkflowFragment extends Fragment implements WorkflowMvpView, } @Override - public void showWorkflows(Workflows workflows) { + public void showWorkflow(Workflow workflow) { if (mSwipeRefresh.isRefreshing()) { mSwipeRefresh.setRefreshing(false); mWorkflowList.clear(); } - mWorkflowList.addAll(workflows.getWorkflowList()); + mWorkflowList.add(workflow); mWorkflowAdapter.notifyDataSetChanged(); } @Override - public void removeLoadMoreProgressbar() { - if (mPageNumber != 1) { - mWorkflowList.remove(mWorkflowList.size() - 1); - mWorkflowAdapter.notifyDataSetChanged(); - - } - } - - @Override public void onDestroyView() { super.onDestroyView(); mWorkflowPresenter.detachView(); http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/14ba7386/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowMvpView.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowMvpView.java b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowMvpView.java index 48142d6..fc1e3a0 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowMvpView.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowMvpView.java @@ -18,16 +18,16 @@ */ package org.apache.taverna.mobile.ui.myworkflows; -import org.apache.taverna.mobile.data.model.Workflows; +import org.apache.taverna.mobile.data.model.Workflow; import org.apache.taverna.mobile.ui.base.MvpView; public interface MyWorkflowMvpView extends MvpView { void showProgressbar(boolean b); - void showErrorSnackBar(); + void showErrorSnackBar(String error); + + void showWorkflow(Workflow workflow); - void showWorkflows(Workflows workflows); - void removeLoadMoreProgressbar(); } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/14ba7386/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowPresenter.java ---------------------------------------------------------------------- diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowPresenter.java index eddc788..333f90c 100644 --- a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowPresenter.java +++ b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowPresenter.java @@ -18,23 +18,29 @@ */ package org.apache.taverna.mobile.ui.myworkflows; +import android.util.Log; + import org.apache.taverna.mobile.data.DataManager; -import org.apache.taverna.mobile.data.model.Workflows; +import org.apache.taverna.mobile.data.model.User; +import org.apache.taverna.mobile.data.model.Workflow; import org.apache.taverna.mobile.ui.base.BasePresenter; -import org.apache.taverna.mobile.ui.workflow.WorkflowMvpView; import java.util.HashMap; import java.util.Map; +import rx.Observable; import rx.Observer; import rx.Subscription; import rx.android.schedulers.AndroidSchedulers; +import rx.functions.Func1; import rx.schedulers.Schedulers; -public class MyWorkflowPresenter extends BasePresenter<WorkflowMvpView> { +public class MyWorkflowPresenter extends BasePresenter<MyWorkflowMvpView> { public final String LOG_TAG = getClass().getSimpleName(); + private DataManager mDataManager; + private Subscription mSubscriptions; public MyWorkflowPresenter(DataManager dataManager) { @@ -42,7 +48,7 @@ public class MyWorkflowPresenter extends BasePresenter<WorkflowMvpView> { } @Override - public void attachView(WorkflowMvpView mvpView) { + public void attachView(MyWorkflowMvpView mvpView) { super.attachView(mvpView); } @@ -52,35 +58,58 @@ public class MyWorkflowPresenter extends BasePresenter<WorkflowMvpView> { if (mSubscriptions != null) mSubscriptions.unsubscribe(); } - public void loadMyWorkflows(int pageNumber) { + public void loadMyWorkflows() { + getMvpView().showProgressbar(true); if (mSubscriptions != null) mSubscriptions.unsubscribe(); - mSubscriptions = mDataManager.getMyWorkflows(mDataManager.getPreferencesHelper().getUserID(), getQueryOptions(pageNumber)) + mSubscriptions = mDataManager.getMyWorkflows("474", getQueryOptions()) + .flatMap(new Func1<User, Observable<Workflow>>() { + @Override + public Observable<Workflow> call(User user) { + return Observable.from(user.getWorkflows().getWorkflowList()) + .concatMap(new Func1<Workflow, Observable<? extends Workflow>>() { + @Override + public Observable<? extends Workflow> call(Workflow workflow) { + return mDataManager.getDetailWorkflow(workflow.getId(), + getWorkflowQueryOptions()); + } + }); + } + }) .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) - .subscribe(new Observer<Workflows>() { + .subscribe(new Observer<Workflow>() { @Override public void onCompleted() { getMvpView().showProgressbar(false); + } @Override public void onError(Throwable e) { - getMvpView().showProgressbar(false); + getMvpView().showErrorSnackBar("Server Error! Try after sometime"); + Log.e(LOG_TAG, "onError: ", e); } @Override - public void onNext(Workflows workflows) { - getMvpView().removeLoadMoreProgressbar(); - getMvpView().showWorkflows(workflows); + public void onNext(Workflow workflow) { + getMvpView().showWorkflow(workflow); } }); } - private Map<String, String> getQueryOptions(int pageNumber) { + private Map<String, String> getQueryOptions() { Map<String, String> option = new HashMap<>(); option.put("elements", "workflows"); return option; } + + + private Map<String, String> getWorkflowQueryOptions() { + + Map<String, String> option = new HashMap<>(); + option.put("elements", "title,type,uploader,preview,created-at"); + return option; + } }
