From c778f9b9a92889ab3d405ca82c47eab9de06a238 Mon Sep 17 00:00:00 2001 From: caneleex Date: Mon, 26 Jul 2021 00:13:33 +0200 Subject: [PATCH] hopefully fix corrupted string --- .../main/java/pl/jakubweg/ShieldButton.java | 2 +- .../java/pl/jakubweg/SponsorBlockUtils.java | 18 +++++++-- .../main/java/pl/jakubweg/VotingButton.java | 2 +- .../java/pl/jakubweg/requests/Requester.java | 38 +++++++++---------- 4 files changed, 33 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/pl/jakubweg/ShieldButton.java b/app/src/main/java/pl/jakubweg/ShieldButton.java index 6e15540..9cc0cd4 100644 --- a/app/src/main/java/pl/jakubweg/ShieldButton.java +++ b/app/src/main/java/pl/jakubweg/ShieldButton.java @@ -102,7 +102,7 @@ public class ShieldButton { } static boolean shouldBeShown() { - return SponsorBlockSettings.isSponsorBlockEnabled && SponsorBlockSettings.isAddNewSegmentEnabled; + return SponsorBlockUtils.isSettingEnabled(SponsorBlockSettings.isAddNewSegmentEnabled); } //region Helpers diff --git a/app/src/main/java/pl/jakubweg/SponsorBlockUtils.java b/app/src/main/java/pl/jakubweg/SponsorBlockUtils.java index 2b96e9f..190faf4 100644 --- a/app/src/main/java/pl/jakubweg/SponsorBlockUtils.java +++ b/app/src/main/java/pl/jakubweg/SponsorBlockUtils.java @@ -40,6 +40,8 @@ import static pl.jakubweg.PlayerController.getLastKnownVideoTime; import static pl.jakubweg.PlayerController.sponsorSegmentsOfCurrentVideo; import static pl.jakubweg.SponsorBlockPreferenceFragment.FORMATTER; import static pl.jakubweg.SponsorBlockPreferenceFragment.SAVED_TEMPLATE; +import static pl.jakubweg.SponsorBlockSettings.isSponsorBlockEnabled; +import static pl.jakubweg.SponsorBlockSettings.showTimeWithoutSegments; import static pl.jakubweg.SponsorBlockSettings.skippedSegments; import static pl.jakubweg.SponsorBlockSettings.skippedTime; import static pl.jakubweg.StringRef.str; @@ -395,18 +397,22 @@ public abstract class SponsorBlockUtils { } public static String appendTimeWithoutSegments(String totalTime) { - if (videoHasSegments && SponsorBlockSettings.showTimeWithoutSegments && !TextUtils.isEmpty(totalTime)) { + if (videoHasSegments && isSettingEnabled(showTimeWithoutSegments) && !TextUtils.isEmpty(totalTime)) { + if (timeWithoutSegments.isEmpty()) { + timeWithoutSegments = getTimeWithoutSegments(sponsorSegmentsOfCurrentVideo); + } return totalTime + timeWithoutSegments; } return totalTime; } - public static String getTimeWithoutSegments(List sponsorSegmentsOfCurrentVideo) { - if (!SponsorBlockSettings.isSponsorBlockEnabled || !SponsorBlockSettings.showTimeWithoutSegments || sponsorSegmentsOfCurrentVideo == null) { + public static String getTimeWithoutSegments(SponsorSegment[] sponsorSegmentsOfCurrentVideo) { + long currentVideoLength = PlayerController.getCurrentVideoLength(); + if (!isSettingEnabled(showTimeWithoutSegments) || sponsorSegmentsOfCurrentVideo == null || currentVideoLength == 1) { return ""; } - long timeWithoutSegments = PlayerController.getCurrentVideoLength() + 500; // YouTube:tm: + long timeWithoutSegments = currentVideoLength + 500; // YouTube:tm: for (SponsorSegment segment : sponsorSegmentsOfCurrentVideo) { timeWithoutSegments -= segment.end - segment.start; } @@ -499,6 +505,10 @@ public abstract class SponsorBlockUtils { } } + public static boolean isSettingEnabled(boolean setting) { + return isSponsorBlockEnabled && setting; + } + public enum VoteOption { UPVOTE(str("vote_upvote")), DOWNVOTE(str("vote_downvote")), diff --git a/app/src/main/java/pl/jakubweg/VotingButton.java b/app/src/main/java/pl/jakubweg/VotingButton.java index 7d5d61a..f585f96 100644 --- a/app/src/main/java/pl/jakubweg/VotingButton.java +++ b/app/src/main/java/pl/jakubweg/VotingButton.java @@ -102,7 +102,7 @@ public class VotingButton { } static boolean shouldBeShown() { - return SponsorBlockSettings.isVotingEnabled && SponsorBlockSettings.isSponsorBlockEnabled; + return SponsorBlockUtils.isSettingEnabled(SponsorBlockSettings.isVotingEnabled); } //region Helpers diff --git a/app/src/main/java/pl/jakubweg/requests/Requester.java b/app/src/main/java/pl/jakubweg/requests/Requester.java index acef509..41954e2 100644 --- a/app/src/main/java/pl/jakubweg/requests/Requester.java +++ b/app/src/main/java/pl/jakubweg/requests/Requester.java @@ -43,29 +43,25 @@ public class Requester { videoHasSegments = false; timeWithoutSegments = ""; - switch (responseCode) { - case 200: - JSONArray responseArray = new JSONArray(parseJson(connection)); - int length = responseArray.length(); - for (int i = 0; i < length; i++) { - JSONObject obj = ((JSONObject) responseArray.get(i)); - JSONArray segment = obj.getJSONArray("segment"); - long start = (long) (segment.getDouble(0) * 1000); - long end = (long) (segment.getDouble(1) * 1000); - String category = obj.getString("category"); - String uuid = obj.getString("UUID"); + if (responseCode == 200) { + JSONArray responseArray = new JSONArray(parseJson(connection)); + int length = responseArray.length(); + for (int i = 0; i < length; i++) { + JSONObject obj = ((JSONObject) responseArray.get(i)); + JSONArray segment = obj.getJSONArray("segment"); + long start = (long) (segment.getDouble(0) * 1000); + long end = (long) (segment.getDouble(1) * 1000); + String category = obj.getString("category"); + String uuid = obj.getString("UUID"); - SponsorBlockSettings.SegmentInfo segmentCategory = SponsorBlockSettings.SegmentInfo.byCategoryKey(category); - if (segmentCategory != null && segmentCategory.behaviour.showOnTimeBar) { - SponsorSegment sponsorSegment = new SponsorSegment(start, end, segmentCategory, uuid); - segments.add(sponsorSegment); - } + SponsorBlockSettings.SegmentInfo segmentCategory = SponsorBlockSettings.SegmentInfo.byCategoryKey(category); + if (segmentCategory != null && segmentCategory.behaviour.showOnTimeBar) { + SponsorSegment sponsorSegment = new SponsorSegment(start, end, segmentCategory, uuid); + segments.add(sponsorSegment); } - videoHasSegments = true; - timeWithoutSegments = SponsorBlockUtils.getTimeWithoutSegments(segments); - break; - case 404: - break; + } + videoHasSegments = true; + timeWithoutSegments = SponsorBlockUtils.getTimeWithoutSegments(segments.toArray(new SponsorSegment[0])); } connection.disconnect(); }