diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayNotificationsFragment.java b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayNotificationsFragment.java index d276e9b48..45b374f46 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayNotificationsFragment.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayNotificationsFragment.java @@ -255,4 +255,21 @@ public class DisplayNotificationsFragment extends Fragment implements OnRetrieve } new_data.setVisibility(View.VISIBLE); } + public void refresh(){ + if( notificationsTmp != null){ + boolean isOnWifi = Helper.isOnWIFI(context); + final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); + int behaviorWithAttachments = sharedpreferences.getInt(Helper.SET_ATTACHMENT_ACTION, Helper.ATTACHMENT_ALWAYS); + notifications = new ArrayList<>(); + for(Notification notification: notificationsTmp){ + notifications.add(notification); + } + notificationsListAdapter = new NotificationsListAdapter(context,isOnWifi, behaviorWithAttachments, notifications); + lv_notifications.setAdapter(notificationsListAdapter); + if( notificationsTmp.size() > 0 && textviewNoAction.getVisibility() == View.VISIBLE) + textviewNoAction.setVisibility(View.GONE); + } + new_data.setVisibility(View.GONE); + notificationsTmp = new ArrayList<>(); + } } diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java index f3df16cab..400df36f5 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/fragments/DisplayStatusFragment.java @@ -359,6 +359,24 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn new_data.setVisibility(View.VISIBLE); } + public void refresh(){ + if( statusesTmp != null){ + boolean isOnWifi = Helper.isOnWIFI(context); + final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); + int behaviorWithAttachments = sharedpreferences.getInt(Helper.SET_ATTACHMENT_ACTION, Helper.ATTACHMENT_ALWAYS); + statuses = new ArrayList<>(); + for(Status status: statusesTmp){ + statuses.add(status); + } + if( statusesTmp.size() > 0 && textviewNoAction.getVisibility() == View.VISIBLE) + textviewNoAction.setVisibility(View.GONE); + statusListAdapter = new StatusListAdapter(context, type, targetedId, isOnWifi, behaviorWithAttachments, positionSpinnerTrans, statuses); + lv_status.setAdapter(statusListAdapter); + statusesTmp = new ArrayList<>(); + } + new_data.setVisibility(View.GONE); + } + public void scrollToTop(){ if( lv_status != null) lv_status.setAdapter(statusListAdapter); diff --git a/app/src/safetynet/java/fr.gouv.etalab.mastodon/activities/MainActivity.java b/app/src/safetynet/java/fr.gouv.etalab.mastodon/activities/MainActivity.java index 79c9453b1..b828d14e8 100644 --- a/app/src/safetynet/java/fr.gouv.etalab.mastodon/activities/MainActivity.java +++ b/app/src/safetynet/java/fr.gouv.etalab.mastodon/activities/MainActivity.java @@ -156,6 +156,7 @@ public class MainActivity extends AppCompatActivity }else{ newNotif++; updateNotifCounter(); + notificationsFragment.updateData(notification); } }else if(eventStreaming == StreamingUserAsyncTask.EventStreaming.UPDATE){ Status status = b.getParcelable("data"); @@ -164,6 +165,7 @@ public class MainActivity extends AppCompatActivity }else{ newHome++; updateHomeCounter(); + homeFragment.updateData(status); } }else if(eventStreaming == StreamingUserAsyncTask.EventStreaming.DELETE){ String id = b.getString("id"); @@ -278,12 +280,16 @@ public class MainActivity extends AppCompatActivity item = navigationView.getMenu().findItem(R.id.nav_home); fragmentTag = "HOME_TIMELINE"; newHome = 0; + if( homeFragment != null) + homeFragment.refresh(); updateHomeCounter(); break; case 1: fragmentTag = "NOTIFICATIONS"; item = navigationView.getMenu().findItem(R.id.nav_notification); newNotif = 0; + if( notificationsFragment != null) + notificationsFragment.refresh(); updateNotifCounter(); break; case 2: