diff --git a/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java index 7c01a44b8..dc52f198a 100644 --- a/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java @@ -6,6 +6,7 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import android.support.design.widget.Snackbar; import android.support.v7.widget.DividerItemDecoration; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; @@ -15,6 +16,7 @@ import android.widget.RelativeLayout; import com.pedrogomez.renderers.RVRendererAdapter; +import java.lang.ref.WeakReference; import java.util.Collections; import java.util.List; @@ -25,6 +27,7 @@ import butterknife.ButterKnife; import fr.free.nrw.commons.R; import fr.free.nrw.commons.Utils; import fr.free.nrw.commons.theme.NavigationBaseActivity; +import fr.free.nrw.commons.utils.NetworkUtils; import fr.free.nrw.commons.utils.ViewUtil; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -62,9 +65,23 @@ public class NotificationActivity extends NavigationBaseActivity { recyclerView.setLayoutManager(new LinearLayoutManager(this)); DividerItemDecoration itemDecor = new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL); recyclerView.addItemDecoration(itemDecor); - addNotifications(); + refresh(); } + private void refresh() { + if (!NetworkUtils.isInternetConnectionEstablished(this)) { + progressBar.setVisibility(View.GONE); + Snackbar.make(relativeLayout , R.string.no_internet, Snackbar.LENGTH_INDEFINITE) + .setAction(R.string.retry, view -> { + refresh(); + }).show(); + }else { + progressBar.setVisibility(View.VISIBLE); + addNotifications(); + } + } + + @SuppressLint("CheckResult") private void addNotifications() { Timber.d("Add notifications"); @@ -124,4 +141,4 @@ public class NotificationActivity extends NavigationBaseActivity { .commit(); mNotificationWorkerFragment.setNotificationList(notificationList); } -} \ No newline at end of file +} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e0944da3a..e4bc2258a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -267,5 +267,6 @@ Select the language that you would like to submit translations for Proceed Cancel + Retry