Commit 96fa8abb authored by Thomas's avatar Thomas
Browse files

Fix trend messages repeated in the timeline

parent 786a4bc8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -100,7 +100,7 @@ allprojects {
    }
}
dependencies {
    implementation 'org.unifiedpush.android:connector:3.0.7'
    implementation 'org.unifiedpush.android:connector:3.0.9'

    playstoreImplementation('org.unifiedpush.android:embedded-fcm-distributor:3.0.0')

+9 −3
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ package app.fedilab.android.mastodon.ui.fragment.timeline;

import static app.fedilab.android.BaseMainActivity.currentInstance;
import static app.fedilab.android.BaseMainActivity.networkAvailable;
import static app.fedilab.android.mastodon.helper.Helper.TAG;

import android.content.BroadcastReceiver;
import android.content.Context;
@@ -26,6 +27,7 @@ import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -571,9 +573,13 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter.
                insertedStatus = updateStatusListWith(fetched_statuses.statuses);
            } else { //Trends cannot be ordered by id
                insertedStatus = fetched_statuses.statuses.size();
                int fromPosition = timelineStatuses.size();
                timelineStatuses.addAll(fetched_statuses.statuses);
                statusAdapter.notifyItemRangeInserted(fromPosition, insertedStatus);
                for(Status statusReceived: fetched_statuses.statuses) {
                    if (!timelineStatuses.contains(statusReceived)) {
                        timelineStatuses.add(statusReceived);
                        statusAdapter.notifyItemInserted(timelineStatuses.size() - 1);
                        insertedStatus++;
                    }
                }
            }
            //For these directions, the app will display counters for new messages
            if (insertedStatus >= 0 && update != null && direction != DIRECTION.FETCH_NEW && !fetchingMissing) {