Some fixes with cache and notifications

This commit is contained in:
Thomas 2022-09-30 16:57:49 +02:00
parent bb4851e424
commit c4dbe80a05
2 changed files with 15 additions and 2 deletions

View File

@ -14,6 +14,8 @@ package app.fedilab.android.client.entities.api;
* You should have received a copy of the GNU General Public License along with Fedilab; if not,
* see <http://www.gnu.org/licenses>. */
import androidx.annotation.Nullable;
import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;
@ -45,6 +47,15 @@ public class Notification {
BOTTOM
}
@Override
public boolean equals(@Nullable Object obj) {
boolean same = false;
if (obj instanceof Notification) {
same = this.id.equals(((Notification) obj).id);
}
return same;
}
public transient List<Notification> relatedNotifications;
public boolean isFetchMore;
public boolean isFetchMoreHidden = false;

View File

@ -508,8 +508,10 @@ public class FragmentMastodonNotification extends Fragment implements Notificati
//We compare the date of each status and we only add status having a date greater than the another, it is inserted at this position
//Pinned messages are ignored because their date can be older
if (notificationReceived.id.compareTo(notificationsAlreadyPresent.id) > 0) {
notificationList.add(position, notificationReceived);
notificationAdapter.notifyItemInserted(position);
if (!notificationList.contains(notificationReceived)) {
notificationList.add(position, notificationReceived);
notificationAdapter.notifyItemInserted(position);
}
break;
}
position++;