From 365bbc470d3565dd590a02bd833b8a8149a0c1f3 Mon Sep 17 00:00:00 2001 From: maskara Date: Wed, 21 Mar 2018 12:33:40 +0530 Subject: [PATCH] Fix crash due to read more text view --- .../mwapi/ApacheHttpClientMediaWikiApi.java | 1 + .../notification/NotificationActivity.java | 11 +++++++--- .../notification/NotificationRenderer.java | 2 +- .../main/res/layout/activity_notification.xml | 1 + app/src/main/res/layout/item_notification.xml | 22 +++---------------- app/src/main/res/values/strings.xml | 1 + 6 files changed, 15 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java b/app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java index 471c5c9c7..78051abd8 100644 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java @@ -429,6 +429,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi { .param("notprop", "list") .param("format", "xml") .param("meta", "notifications") +// .param("meta", "notifications") .param("notformat", "model") .get() .getNode("/api/query/notifications/list"); 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 46c98319b..7c01a44b8 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 @@ -11,6 +11,7 @@ import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.ProgressBar; +import android.widget.RelativeLayout; import com.pedrogomez.renderers.RVRendererAdapter; @@ -38,8 +39,8 @@ public class NotificationActivity extends NavigationBaseActivity { NotificationAdapterFactory notificationAdapterFactory; @BindView(R.id.listView) RecyclerView recyclerView; - @BindView(R.id.progressBar) - ProgressBar progressBar; + @BindView(R.id.progressBar) ProgressBar progressBar; + @BindView(R.id.container) RelativeLayout relativeLayout; @Inject NotificationController controller; @@ -82,7 +83,7 @@ public class NotificationActivity extends NavigationBaseActivity { progressBar.setVisibility(View.GONE); }, throwable -> { Timber.e(throwable, "Error occurred while loading notifications"); - ViewUtil.showSnackbar(this, R.string.error_notifications); + ViewUtil.showSnackbar(relativeLayout, R.string.error_notifications); progressBar.setVisibility(View.GONE); }); } else { @@ -98,6 +99,10 @@ public class NotificationActivity extends NavigationBaseActivity { } private void setAdapter(List notificationList) { + if(notificationList == null || notificationList.isEmpty()) { + ViewUtil.showSnackbar(relativeLayout, R.string.no_notifications); + return; + } notificationAdapterFactory = new NotificationAdapterFactory(notification -> { Timber.d("Notification clicked %s", notification.link); handleUrl(notification.link); diff --git a/app/src/main/java/fr/free/nrw/commons/notification/NotificationRenderer.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationRenderer.java index 2fb81bbcd..73dcaf7b5 100644 --- a/app/src/main/java/fr/free/nrw/commons/notification/NotificationRenderer.java +++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationRenderer.java @@ -47,7 +47,7 @@ public class NotificationRenderer extends Renderer { @Override public void render() { Notification notification = getContent(); - StringBuilder str = new StringBuilder(notification.notificationText); + StringBuilder str = new StringBuilder(notification.notificationText.trim()); str.append(" "); title.setText(str); time.setText(notification.date); diff --git a/app/src/main/res/layout/activity_notification.xml b/app/src/main/res/layout/activity_notification.xml index 7380fef98..f8294eb66 100644 --- a/app/src/main/res/layout/activity_notification.xml +++ b/app/src/main/res/layout/activity_notification.xml @@ -6,6 +6,7 @@ android:layout_height="match_parent"> diff --git a/app/src/main/res/layout/item_notification.xml b/app/src/main/res/layout/item_notification.xml index bd364c029..ce43e4430 100644 --- a/app/src/main/res/layout/item_notification.xml +++ b/app/src/main/res/layout/item_notification.xml @@ -45,27 +45,11 @@ android:layout_toRightOf="@id/icon" android:layout_toStartOf="@id/time" android:ellipsize="end" - app:trimLines="2" + app:trimMode="trimModeLength" + app:trimLength="60" + android:layout_alignParentTop="true" app:colorClickableText="#969494" android:textAppearance="@style/TextAppearance.AppCompat.Body2" tools:text="@string/placeholder_place_name" /> - - - \ 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 72b20431c..cdb00ff47 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -249,4 +249,5 @@ Skip Tutorial Error fetching notifications + No notifications found