updates counters
This commit is contained in:
parent
6ffce804e9
commit
c1fd4b1d59
|
@ -133,8 +133,8 @@ public class MainActivity extends AppCompatActivity
|
|||
private DisplayNotificationsFragment notificationsFragment;
|
||||
private BroadcastReceiver receive_data;
|
||||
private boolean display_local, display_global;
|
||||
private int countNewStatus = 0;
|
||||
private int countNewNotifications = 0;
|
||||
public static int countNewStatus = 0;
|
||||
public static int countNewNotifications = 0;
|
||||
|
||||
public MainActivity() {
|
||||
}
|
||||
|
|
|
@ -29,6 +29,8 @@ import android.widget.RelativeLayout;
|
|||
import android.widget.Toast;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import fr.gouv.etalab.mastodon.activities.MainActivity;
|
||||
import fr.gouv.etalab.mastodon.client.APIResponse;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Account;
|
||||
import fr.gouv.etalab.mastodon.drawers.NotificationsListAdapter;
|
||||
|
@ -60,6 +62,8 @@ public class DisplayNotificationsFragment extends Fragment implements OnRetrieve
|
|||
private SwipeRefreshLayout swipeRefreshLayout;
|
||||
private boolean swiped;
|
||||
private ListView lv_notifications;
|
||||
private String userId;
|
||||
private String lastReadNotifications;
|
||||
|
||||
public DisplayNotificationsFragment(){
|
||||
}
|
||||
|
@ -85,6 +89,8 @@ public class DisplayNotificationsFragment extends Fragment implements OnRetrieve
|
|||
nextElementLoader.setVisibility(View.GONE);
|
||||
boolean isOnWifi = Helper.isOnWIFI(context);
|
||||
int behaviorWithAttachments = sharedpreferences.getInt(Helper.SET_ATTACHMENT_ACTION, Helper.ATTACHMENT_ALWAYS);
|
||||
userId = sharedpreferences.getString(Helper.PREF_KEY_ID, null);
|
||||
lastReadNotifications = sharedpreferences.getString(Helper.LAST_NOTIFICATION_MAX_ID + userId, null);
|
||||
notificationsListAdapter = new NotificationsListAdapter(context,isOnWifi, behaviorWithAttachments,this.notifications);
|
||||
lv_notifications.setAdapter(notificationsListAdapter);
|
||||
lv_notifications.setOnScrollListener(new AbsListView.OnScrollListener() {
|
||||
|
@ -186,17 +192,13 @@ public class DisplayNotificationsFragment extends Fragment implements OnRetrieve
|
|||
lv_notifications.setAdapter(notificationsListAdapter);
|
||||
swiped = false;
|
||||
}
|
||||
ArrayList<String> added = new ArrayList<>();
|
||||
for(Notification notification : this.notifications){
|
||||
added.add(notification.getId());
|
||||
}
|
||||
if( notifications != null && notifications.size() > 0) {
|
||||
for(Notification tmpNotification: notifications){
|
||||
if( !added.contains(tmpNotification.getId())) {
|
||||
this.notifications.add(tmpNotification);
|
||||
added.add(tmpNotification.getId());
|
||||
}
|
||||
if( Long.parseLong(tmpNotification.getId()) > Long.parseLong(lastReadNotifications))
|
||||
MainActivity.countNewNotifications++;
|
||||
this.notifications.add(tmpNotification);
|
||||
}
|
||||
((MainActivity)context).updateNotifCounter();
|
||||
notificationsListAdapter.notifyDataSetChanged();
|
||||
}
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
|
|
|
@ -34,6 +34,8 @@ import android.widget.RelativeLayout;
|
|||
import android.widget.Toast;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import fr.gouv.etalab.mastodon.activities.MainActivity;
|
||||
import fr.gouv.etalab.mastodon.asynctasks.RetrieveRepliesAsyncTask;
|
||||
import fr.gouv.etalab.mastodon.client.APIResponse;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Account;
|
||||
|
@ -272,24 +274,18 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
lv_status.setAdapter(statusListAdapter);
|
||||
swiped = false;
|
||||
}
|
||||
//Avoids to add a second time the same status, can happen due call in on resume
|
||||
ArrayList<String> added = new ArrayList<>();
|
||||
for(Status status : this.statuses){
|
||||
added.add(status.getId());
|
||||
}
|
||||
if( statuses != null && statuses.size() > 0) {
|
||||
for(Status tmpStatus: statuses){
|
||||
if( !added.contains(tmpStatus.getId())) {
|
||||
this.statuses.add(tmpStatus);
|
||||
added.add(tmpStatus.getId());
|
||||
if( Long.parseLong(tmpStatus.getId()) > Long.parseLong(lastReadStatus)){
|
||||
tmpStatus.setNew(true);
|
||||
}else {
|
||||
tmpStatus.setNew(false);
|
||||
}
|
||||
if( type == RetrieveFeedsAsyncTask.Type.HOME && firstLoad && Long.parseLong(tmpStatus.getId()) > Long.parseLong(lastReadStatus)){
|
||||
tmpStatus.setNew(true);
|
||||
MainActivity.countNewStatus++;
|
||||
}else {
|
||||
tmpStatus.setNew(false);
|
||||
}
|
||||
this.statuses.add(tmpStatus);
|
||||
}
|
||||
statusListAdapter.notifyDataSetChanged();
|
||||
((MainActivity)context).updateHomeCounter();
|
||||
}
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
|
||||
|
|
Loading…
Reference in New Issue