You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2016/06/08 16:02:36 UTC

[34/40] incubator-taverna-mobile git commit: add network error snackbar

add network error snackbar


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/53e859a1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/53e859a1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/53e859a1

Branch: refs/heads/master
Commit: 53e859a1d29323b70d08f408dd13bd7ce6041d3c
Parents: 905a62e
Author: Sagar <ku...@gmail.com>
Authored: Fri Jun 3 16:31:19 2016 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Fri Jun 3 16:31:19 2016 +0530

----------------------------------------------------------------------
 .../ui/anouncements/AnnouncementFragment.java   | 34 +++++++++++++-------
 .../ui/anouncements/AnnouncementMvpView.java    |  1 +
 .../ui/anouncements/AnnouncementPresenter.java  |  4 +++
 3 files changed, 28 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/53e859a1/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
index 7fc0e09..26ed857 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
@@ -1,9 +1,7 @@
 package org.apache.taverna.mobile.ui.anouncements;
 
-import android.content.Context;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
 import android.os.Bundle;
+import android.support.design.widget.Snackbar;
 import android.support.v4.app.Fragment;
 import android.support.v4.widget.SwipeRefreshLayout;
 import android.support.v7.app.ActionBar;
@@ -23,11 +21,12 @@ import android.widget.TextView;
 
 import org.apache.taverna.mobile.R;
 import org.apache.taverna.mobile.data.DataManager;
-import org.apache.taverna.mobile.data.model.DetailAnnouncement;
 import org.apache.taverna.mobile.data.model.Announcements;
+import org.apache.taverna.mobile.data.model.DetailAnnouncement;
 import org.apache.taverna.mobile.ui.adapter.AnnouncementAdapter;
 import org.apache.taverna.mobile.ui.adapter.EndlessRecyclerOnScrollListener;
 import org.apache.taverna.mobile.ui.adapter.RecyclerItemClickListner;
+import org.apache.taverna.mobile.utils.ConnectionInfo;
 import org.apache.taverna.mobile.utils.ScrollChildSwipeRefreshLayout;
 
 import butterknife.BindView;
@@ -62,6 +61,8 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
 
     private DetailAnnouncement mAnnouncementDetail;
 
+    private ConnectionInfo mConnectionInfo;
+
     @Override
     public void onItemClick(View childView, int position) {
         mAnnouncementPresenter.loadAnnouncementDetails(mAnnouncements.getAnnouncement().get(position).getId());
@@ -80,6 +81,7 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
         mAnnouncements = new Announcements();
         dataManager = new DataManager();
         mAnnouncementPresenter = new AnnouncementPresenter(dataManager);
+        mConnectionInfo =new ConnectionInfo(getContext());
     }
 
 
@@ -109,10 +111,7 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
         mSwipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
             @Override
             public void onRefresh() {
-                ConnectivityManager connMgr = (ConnectivityManager) getActivity()
-                        .getSystemService(Context.CONNECTIVITY_SERVICE);
-                NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
-                if (networkInfo != null && networkInfo.isConnected()) {
+                if (mConnectionInfo.isConnectingToInternet()) {
                     if (mSwipeRefresh.isRefreshing()) {
                         mPageNumber = 1;
                         mAnnouncementPresenter.loadAllAnnouncement(mPageNumber);
@@ -120,6 +119,7 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
                     }
                 } else {
                     Log.i(LOG_TAG, "NO Internet Connection");
+                    showErrorSnackBar();
                     if (mSwipeRefresh.isRefreshing()) {
                         mSwipeRefresh.setRefreshing(false);
                     }
@@ -134,9 +134,8 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
         mRecyclerView.setOnScrollListener(new EndlessRecyclerOnScrollListener(layoutManager) {
             @Override
             public void onLoadMore(int current_page) {
-                ConnectivityManager connMgr = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
-                NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
-                if (networkInfo != null && networkInfo.isConnected()) {
+
+                if (mConnectionInfo.isConnectingToInternet()) {
                     mAnnouncements.getAnnouncement().add(null);
                     mAnnouncementAdapter.notifyItemInserted(mAnnouncements.getAnnouncement().size());
                     mPageNumber = ++mPageNumber;
@@ -144,6 +143,7 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
                     Log.i(LOG_TAG, "Loading more");
                 } else {
                     Log.i(LOG_TAG, "Internet not available. Not loading more posts.");
+                    showErrorSnackBar();
                 }
             }
         });
@@ -206,4 +206,16 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
     public void onResume() {
         super.onResume();
     }
+
+    public void showErrorSnackBar(){
+        final Snackbar snackbar = Snackbar.make(mRecyclerView, "No Internet Connection", Snackbar.LENGTH_LONG);
+        snackbar.setAction("OK", new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                snackbar.dismiss();
+            }
+        });
+
+        snackbar.show();
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/53e859a1/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementMvpView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementMvpView.java b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementMvpView.java
index 2c6435f..572829d 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementMvpView.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementMvpView.java
@@ -11,5 +11,6 @@ public interface AnnouncementMvpView extends MvpView {
 
     void showAllAnouncement(Announcements announcements);
     void showProgressbar(boolean b);
+    void showErrorSnackBar();
     void showAnnouncementDetail(DetailAnnouncement detailAnnouncement);
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/53e859a1/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java
index d4d0541..f6f38fb 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java
@@ -50,6 +50,8 @@ public class AnnouncementPresenter extends BasePresenter<AnnouncementMvpView> {
                     @Override
                     public void onError(Throwable e) {
                         Log.d(LOG_TAG,e.getMessage());
+                        getMvpView().showProgressbar(false);
+                        getMvpView().showErrorSnackBar();
                     }
 
                     @Override
@@ -73,6 +75,8 @@ public class AnnouncementPresenter extends BasePresenter<AnnouncementMvpView> {
                     @Override
                     public void onError(Throwable e) {
                         Log.d(LOG_TAG,e.getMessage());
+                        getMvpView().showProgressbar(false);
+                        getMvpView().showErrorSnackBar();
                     }
 
                     @Override