add progressbar and error
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/fae70dc4 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/fae70dc4 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/fae70dc4 Branch: refs/heads/master Commit: fae70dc4a79128037704f740022bf41d91ba8f15 Parents: f996f69 Author: Sagar <[email protected]> Authored: Fri Jul 1 17:10:32 2016 +0530 Committer: Sagar <[email protected]> Committed: Fri Jul 1 17:10:32 2016 +0530 ---------------------------------------------------------------------- .../workflowdetail/WorkflowDetailFragment.java | 51 +++++- .../workflowdetail/WorkflowDetailMvpView.java | 2 + .../workflowdetail/WorkflowDetailPresenter.java | 2 + .../res/layout/fragment_detail_workflow.xml | 172 ++++++++++--------- 4 files changed, 147 insertions(+), 80 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/fae70dc4/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 21230b6..c526a46 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 @@ -11,12 +11,17 @@ import org.apache.taverna.mobile.data.model.User; import org.apache.taverna.mobile.utils.ConnectionInfo; import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.design.widget.Snackbar; 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.ProgressBar; +import android.widget.RelativeLayout; +import android.widget.ScrollView; import android.widget.TextView; import butterknife.BindView; @@ -47,6 +52,15 @@ public class WorkflowDetailFragment extends Fragment implements WorkflowDetailMv @BindView(R.id.tvDescription) WebView description; + @BindView(R.id.progressBar) + ProgressBar mProgressBar; + + @BindView(R.id.scrollView) + ScrollView mScrollView; + + @BindView(R.id.rootLayout) + RelativeLayout rootLayout; + private DataManager dataManager; private WorkflowDetailPresenter mWorkflowDetailPresenter; @@ -88,14 +102,31 @@ public class WorkflowDetailFragment extends Fragment implements WorkflowDetailMv ButterKnife.bind(this, rootView); mWorkflowDetailPresenter.attachView(this); - mWorkflowDetailPresenter.loadWorkflowDetail(id); return rootView; } @Override - public void showProgressbar(boolean b) { + public void onActivityCreated(@Nullable Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + + if(mConnectionInfo.isConnectingToInternet()) { + + mWorkflowDetailPresenter.loadWorkflowDetail(id); + }else { + + showErrorSnackBar(getString(R.string.no_internet)); + } + } + @Override + public void showProgressbar(boolean b) { + if (b) { + mProgressBar.setVisibility(View.VISIBLE); + } else { + mProgressBar.setVisibility(View.GONE); + mScrollView.setVisibility(View.VISIBLE); + } } @Override @@ -128,6 +159,22 @@ public class WorkflowDetailFragment extends Fragment implements WorkflowDetailMv } @Override + public void showErrorSnackBar(String error) { + + final Snackbar snackbar = Snackbar.make(rootLayout, error, Snackbar + .LENGTH_INDEFINITE); + snackbar.setAction("OK", new View.OnClickListener() { + @Override + public void onClick(View view) { + snackbar.dismiss(); + } + }); + + snackbar.show(); + + } + + @Override public void onDestroyView() { super.onDestroyView(); mWorkflowDetailPresenter.detachView(); http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/fae70dc4/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 ed75e67..3d98952 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 @@ -12,4 +12,6 @@ public interface WorkflowDetailMvpView extends MvpView { void showWorkflowDetail(DetailWorkflow detailWorkflow); void setImage(User user); + + void showErrorSnackBar(String error); } http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/fae70dc4/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 660d75f..4bb5cff 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 @@ -77,6 +77,8 @@ public class WorkflowDetailPresenter extends BasePresenter<WorkflowDetailMvpView @Override public void onError(Throwable e) { getMvpView().showProgressbar(false); + getMvpView().showErrorSnackBar("Something went wrong please try after " + + "sometime"); } @Override http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/fae70dc4/app/src/main/res/layout/fragment_detail_workflow.xml ---------------------------------------------------------------------- diff --git a/app/src/main/res/layout/fragment_detail_workflow.xml b/app/src/main/res/layout/fragment_detail_workflow.xml index a2638d1..26c3ae2 100644 --- a/app/src/main/res/layout/fragment_detail_workflow.xml +++ b/app/src/main/res/layout/fragment_detail_workflow.xml @@ -1,95 +1,111 @@ <?xml version="1.0" encoding="utf-8"?> -<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" +<RelativeLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/rootLayout" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <ProgressBar + android:id="@+id/progressBar" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerInParent="true"/> + + <ScrollView + android:id="@+id/scrollView" android:orientation="vertical" + android:visibility="gone" android:layout_width="match_parent" android:layout_height="match_parent"> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="vertical"> - - <ImageView - android:id="@+id/ivWorkflowImage" - android:src="@mipmap/ic_launcher" - android:layout_width="match_parent" - android:scaleType="fitCenter" - android:layout_height="300dp"/> - - <View - android:layout_width="match_parent" - android:layout_height="1dp" - android:background="@color/grey_background"/> - - <TextView - android:id="@+id/tvTitle" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:text="title" - android:textSize="20sp" - android:padding="10dp" - android:textColor="@android:color/black"/> - <LinearLayout - android:layout_marginTop="5dp" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal"> + android:orientation="vertical"> <ImageView - android:id="@+id/ivUploader" + android:id="@+id/ivWorkflowImage" android:src="@mipmap/ic_launcher" - android:paddingLeft="10dp" - android:layout_width="50dp" - android:layout_height="50dp"/> + android:layout_width="match_parent" + android:scaleType="fitCenter" + android:layout_height="300dp"/> - <RelativeLayout - android:layout_width="0dp" - android:layout_height="50dp" - android:layout_marginLeft="10dp" - android:layout_marginStart="10dp" - android:layout_weight="1"> + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:background="@color/grey_background"/> - <TextView - android:id="@+id/tvUploaderName" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="name" - android:textColor="@android:color/black" - android:textSize="18sp"/> - <TextView - android:id="@+id/tvDate" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentBottom="true" - android:text="Date"/> - <TextView - android:id="@+id/tvType" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentBottom="true" - android:text="type" - android:layout_alignParentRight="true" - android:layout_alignParentEnd="true" - android:paddingRight="10dp" - android:paddingEnd="10dp" - android:paddingStart="0dp" - android:paddingLeft="0dp"/> - </RelativeLayout> + <TextView + android:id="@+id/tvTitle" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="title" + android:textSize="20sp" + android:padding="10dp" + android:textColor="@android:color/black"/> - </LinearLayout> - <LinearLayout android:layout_width="match_parent" - android:layout_height="match_parent" - android:padding="15dp" - android:background="@color/grey_background" - android:orientation="vertical"> - <WebView - android:id="@+id/tvDescription" + <LinearLayout + android:layout_marginTop="5dp" android:layout_width="match_parent" android:layout_height="wrap_content" - android:padding="5dp" - /> - </LinearLayout> + android:orientation="horizontal"> + + <ImageView + android:id="@+id/ivUploader" + android:src="@mipmap/ic_launcher" + android:paddingLeft="10dp" + android:layout_width="50dp" + android:layout_height="50dp"/> + + <RelativeLayout + android:layout_width="0dp" + android:layout_height="50dp" + android:layout_marginLeft="10dp" + android:layout_marginStart="10dp" + android:layout_weight="1"> + + <TextView + android:id="@+id/tvUploaderName" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="name" + android:textColor="@android:color/black" + android:textSize="18sp"/> + <TextView + android:id="@+id/tvDate" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentBottom="true" + android:text="Date"/> + <TextView + android:id="@+id/tvType" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentBottom="true" + android:text="type" + android:layout_alignParentRight="true" + android:layout_alignParentEnd="true" + android:paddingRight="10dp" + android:paddingEnd="10dp" + android:paddingStart="0dp" + android:paddingLeft="0dp"/> + </RelativeLayout> - </LinearLayout> + </LinearLayout> + <LinearLayout android:layout_width="match_parent" + android:layout_height="match_parent" + android:padding="15dp" + android:background="@color/grey_background" + android:orientation="vertical"> + <WebView + android:id="@+id/tvDescription" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:padding="5dp" + /> + </LinearLayout> + + </LinearLayout> -</ScrollView> \ No newline at end of file + </ScrollView> +</RelativeLayout> \ No newline at end of file
