From 8c7ec2b0f3d734ae34c131edeb23920934ced082 Mon Sep 17 00:00:00 2001 From: tom79 Date: Wed, 18 Oct 2017 14:31:29 +0200 Subject: [PATCH] Fixes null pointer exceptions --- .../drawers/NotificationsListAdapter.java | 60 ++++++++++--------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java index 7ee1e1153..ebf21a47f 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java @@ -767,40 +767,42 @@ public class NotificationsListAdapter extends BaseAdapter implements OnPostActio notifications.removeAll(notificationsToRemove); notificationsListAdapter.notifyDataSetChanged(); } - if (statusAction == API.StatusAction.REBLOG) { - for (Notification notification : notifications) { - if (notification.getStatus().getId().equals(targetedId)) { - notification.getStatus().setReblogs_count(notification.getStatus().getReblogs_count() + 1); - break; + if( targetedId != null ) { + if (statusAction == API.StatusAction.REBLOG) { + for (Notification notification : notifications) { + if (notification.getStatus() != null && notification.getStatus().getId().equals(targetedId)) { + notification.getStatus().setReblogs_count(notification.getStatus().getReblogs_count() + 1); + break; + } } - } - notificationsListAdapter.notifyDataSetChanged(); - } else if (statusAction == API.StatusAction.UNREBLOG) { - for (Notification notification : notifications) { - if (notification.getStatus().getId().equals(targetedId)) { - if (notification.getStatus().getReblogs_count() - 1 >= 0) - notification.getStatus().setReblogs_count(notification.getStatus().getReblogs_count() - 1); - break; + notificationsListAdapter.notifyDataSetChanged(); + } else if (statusAction == API.StatusAction.UNREBLOG) { + for (Notification notification : notifications) { + if (notification.getStatus() != null && notification.getStatus().getId().equals(targetedId)) { + if (notification.getStatus().getReblogs_count() - 1 >= 0) + notification.getStatus().setReblogs_count(notification.getStatus().getReblogs_count() - 1); + break; + } } - } - notificationsListAdapter.notifyDataSetChanged(); - } else if (statusAction == API.StatusAction.FAVOURITE) { - for (Notification notification : notifications) { - if (notification.getStatus().getId().equals(targetedId)) { - notification.getStatus().setFavourites_count(notification.getStatus().getFavourites_count() + 1); - break; + notificationsListAdapter.notifyDataSetChanged(); + } else if (statusAction == API.StatusAction.FAVOURITE) { + for (Notification notification : notifications) { + if (notification.getStatus() != null && notification.getStatus().getId().equals(targetedId)) { + notification.getStatus().setFavourites_count(notification.getStatus().getFavourites_count() + 1); + break; + } } - } - notificationsListAdapter.notifyDataSetChanged(); - } else if (statusAction == API.StatusAction.UNFAVOURITE) { - for (Notification notification : notifications) { - if (notification.getStatus().getId().equals(targetedId)) { - if (notification.getStatus().getFavourites_count() - 1 >= 0) - notification.getStatus().setFavourites_count(notification.getStatus().getFavourites_count() - 1); - break; + notificationsListAdapter.notifyDataSetChanged(); + } else if (statusAction == API.StatusAction.UNFAVOURITE) { + for (Notification notification : notifications) { + if (notification.getStatus() != null && notification.getStatus().getId().equals(targetedId)) { + if (notification.getStatus().getFavourites_count() - 1 >= 0) + notification.getStatus().setFavourites_count(notification.getStatus().getFavourites_count() - 1); + break; + } } + notificationsListAdapter.notifyDataSetChanged(); } - notificationsListAdapter.notifyDataSetChanged(); } }