fix(YouTube - Announcements): Parse announcement correctly by using Instant instead of LocalDateTime for archived_at (#6889)
This commit is contained in:
parent
4a36d1ab56
commit
77098b2c05
1 changed files with 5 additions and 5 deletions
|
|
@ -20,7 +20,7 @@ import org.json.JSONObject;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.time.LocalDateTime;
|
import java.time.Instant;
|
||||||
|
|
||||||
import app.revanced.extension.shared.Logger;
|
import app.revanced.extension.shared.Logger;
|
||||||
import app.revanced.extension.shared.Utils;
|
import app.revanced.extension.shared.Utils;
|
||||||
|
|
@ -116,7 +116,7 @@ public final class AnnouncementsPatch {
|
||||||
int id = Settings.ANNOUNCEMENT_LAST_ID.defaultValue;
|
int id = Settings.ANNOUNCEMENT_LAST_ID.defaultValue;
|
||||||
String title;
|
String title;
|
||||||
String message;
|
String message;
|
||||||
LocalDateTime archivedAt = LocalDateTime.MAX;
|
Instant archivedAt = Instant.MAX;
|
||||||
Level level = Level.INFO;
|
Level level = Level.INFO;
|
||||||
try {
|
try {
|
||||||
final var announcements = new JSONArray(jsonString);
|
final var announcements = new JSONArray(jsonString);
|
||||||
|
|
@ -140,20 +140,20 @@ public final class AnnouncementsPatch {
|
||||||
title = announcement.getString("title");
|
title = announcement.getString("title");
|
||||||
message = announcement.getString("content");
|
message = announcement.getString("content");
|
||||||
if (!announcement.isNull("archived_at")) {
|
if (!announcement.isNull("archived_at")) {
|
||||||
archivedAt = LocalDateTime.parse(announcement.getString("archived_at"));
|
archivedAt = Instant.parse(announcement.getString("archived_at"));
|
||||||
}
|
}
|
||||||
if (!announcement.isNull("level")) {
|
if (!announcement.isNull("level")) {
|
||||||
level = Level.fromInt(announcement.getInt("level"));
|
level = Level.fromInt(announcement.getInt("level"));
|
||||||
}
|
}
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
Logger.printException(() -> "Failed to parse announcement. Fall-backing to raw string", ex);
|
Logger.printException(() -> "Failed to parse announcement. Falling back to raw string", ex);
|
||||||
|
|
||||||
title = "Announcement";
|
title = "Announcement";
|
||||||
message = jsonString;
|
message = jsonString;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the announcement is archived, do not show it.
|
// If the announcement is archived, do not show it.
|
||||||
if (archivedAt.isBefore(LocalDateTime.now())) {
|
if (archivedAt.isBefore(Instant.now())) {
|
||||||
Settings.ANNOUNCEMENT_LAST_ID.save(id);
|
Settings.ANNOUNCEMENT_LAST_ID.save(id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue