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

Reply via email to