From d2f40f21f71bc0dabcf9a0dda1943911ec9548cf Mon Sep 17 00:00:00 2001 From: nuclearfog Date: Sun, 4 Dec 2022 20:56:28 +0100 Subject: [PATCH] bug fix --- .../api/mastodon/impl/MastodonUser.java | 17 +++++++++++------ .../api/twitter/impl/TwitterNotification.java | 19 +++++++++++++++++++ .../twidda/database/impl/AccountImpl.java | 2 +- .../database/impl/NotificationImpl.java | 16 ++++++++++++++++ 4 files changed, 47 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/api/mastodon/impl/MastodonUser.java b/app/src/main/java/org/nuclearfog/twidda/backend/api/mastodon/impl/MastodonUser.java index fe7ed2ea..699302b0 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/api/mastodon/impl/MastodonUser.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/api/mastodon/impl/MastodonUser.java @@ -5,6 +5,7 @@ import androidx.annotation.Nullable; import org.json.JSONException; import org.json.JSONObject; +import org.jsoup.Jsoup; import org.nuclearfog.twidda.backend.utils.StringTools; import org.nuclearfog.twidda.model.User; @@ -42,18 +43,22 @@ public class MastodonUser implements User { */ public MastodonUser(JSONObject json) throws JSONException { String idStr = json.getString("id"); + String description = json.optString("note", ""); screenname = '@' + json.optString("acct", ""); - username = json.optString("display_name"); + username = json.optString("display_name", ""); createdAt = StringTools.getTime(json.optString("created_at", ""), StringTools.TIME_MASTODON); - profileUrl = json.optString("avatar"); - bannerUrl = json.optString("banner"); - description = json.optString("note"); - url = json.optString("url"); + profileUrl = json.optString("avatar", ""); + bannerUrl = json.optString("banner", ""); + url = json.optString("url", ""); following = json.optInt("following_count"); follower = json.optInt("followers_count"); statusCount = json.optInt("statuses_count"); locked = json.optBoolean("locked"); - + if (!description.isEmpty()) { + this.description = Jsoup.parse(description).text(); + } else { + this.description = ""; + } try { id = Long.parseLong(idStr); } catch (NumberFormatException e) { diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/api/twitter/impl/TwitterNotification.java b/app/src/main/java/org/nuclearfog/twidda/backend/api/twitter/impl/TwitterNotification.java index f3c2b265..9f9e5e9a 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/api/twitter/impl/TwitterNotification.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/api/twitter/impl/TwitterNotification.java @@ -1,5 +1,8 @@ package org.nuclearfog.twidda.backend.api.twitter.impl; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + import org.nuclearfog.twidda.model.Notification; import org.nuclearfog.twidda.model.Status; import org.nuclearfog.twidda.model.User; @@ -50,4 +53,20 @@ public class TwitterNotification implements Notification { public Status getStatus() { return status; } + + + @NonNull + @Override + public String toString() { + return "id=" + status.getId() + " " + status.getAuthor(); + } + + + @Override + public boolean equals(@Nullable Object obj) { + if (!(obj instanceof Notification)) + return false; + Notification notification = ((Notification) obj); + return status.equals(notification.getStatus()); + } } \ No newline at end of file diff --git a/app/src/main/java/org/nuclearfog/twidda/database/impl/AccountImpl.java b/app/src/main/java/org/nuclearfog/twidda/database/impl/AccountImpl.java index decff213..b28141e6 100644 --- a/app/src/main/java/org/nuclearfog/twidda/database/impl/AccountImpl.java +++ b/app/src/main/java/org/nuclearfog/twidda/database/impl/AccountImpl.java @@ -142,7 +142,7 @@ public class AccountImpl implements Account { @NonNull @Override public String toString() { - return "date=" + loginDate + " host=" + host + " user=" + user; + return "date=" + loginDate + " host=\"" + host + "\" user=" + user; } /** diff --git a/app/src/main/java/org/nuclearfog/twidda/database/impl/NotificationImpl.java b/app/src/main/java/org/nuclearfog/twidda/database/impl/NotificationImpl.java index 241b76be..94e04a13 100644 --- a/app/src/main/java/org/nuclearfog/twidda/database/impl/NotificationImpl.java +++ b/app/src/main/java/org/nuclearfog/twidda/database/impl/NotificationImpl.java @@ -2,6 +2,7 @@ package org.nuclearfog.twidda.database.impl; import android.database.Cursor; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.nuclearfog.twidda.database.DatabaseAdapter.NotificationTable; @@ -85,4 +86,19 @@ public class NotificationImpl implements Notification { public long getItemId() { return itemId; } + + + @Override + public boolean equals(@Nullable Object obj) { + if (!(obj instanceof Notification)) + return false; + return ((Notification) obj).getId() == id; + } + + + @NonNull + @Override + public String toString() { + return "id=" + id + " " + user; + } } \ No newline at end of file