From f515e817865aaa1535ef38878d2965b04e0d0f3c Mon Sep 17 00:00:00 2001 From: caneleex Date: Mon, 24 Jan 2022 23:01:21 +0100 Subject: [PATCH] add support for the filler category (#63) --- .../SponsorBlockPreferenceFragment.java | 2 +- .../pl/jakubweg/SponsorBlockSettings.java | 31 ++++++++++--------- integrations/res/values/strings.xml | 3 ++ 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/integrations/java/pl/jakubweg/SponsorBlockPreferenceFragment.java b/integrations/java/pl/jakubweg/SponsorBlockPreferenceFragment.java index 4b2d04745..b40235925 100644 --- a/integrations/java/pl/jakubweg/SponsorBlockPreferenceFragment.java +++ b/integrations/java/pl/jakubweg/SponsorBlockPreferenceFragment.java @@ -163,7 +163,7 @@ public class SponsorBlockPreferenceFragment extends PreferenceFragment implement preference.setTitle(segmentInfo.getTitleWithDot()); preference.setSummary(segmentInfo.description.toString()); preference.setKey(segmentInfo.key); - preference.setDefaultValue(defaultValue); + preference.setDefaultValue(segmentInfo.behaviour.key); preference.setEntries(entries); preference.setEntryValues(entryValues); diff --git a/integrations/java/pl/jakubweg/SponsorBlockSettings.java b/integrations/java/pl/jakubweg/SponsorBlockSettings.java index 0ded1b688..9bdd5f4b5 100644 --- a/integrations/java/pl/jakubweg/SponsorBlockSettings.java +++ b/integrations/java/pl/jakubweg/SponsorBlockSettings.java @@ -102,9 +102,7 @@ public class SponsorBlockSettings { SegmentBehaviour behaviour = null; String value = preferences.getString(segment.key, null); - if (value == null) - behaviour = DefaultBehaviour; - else { + if (value != null) { for (SegmentBehaviour possibleBehaviour : possibleBehaviours) { if (possibleBehaviour.key.equals(value)) { behaviour = possibleBehaviour; @@ -112,10 +110,13 @@ public class SponsorBlockSettings { } } } - if (behaviour == null) - behaviour = DefaultBehaviour; + if (behaviour != null) { + segment.behaviour = behaviour; + } + else { + behaviour = segment.behaviour; + } - segment.behaviour = behaviour; if (behaviour.showOnTimeBar && segment != SegmentInfo.UNSUBMITTED) enabledCategories.add(segment.key); } @@ -185,13 +186,14 @@ public class SponsorBlockSettings { } public enum SegmentInfo { - SPONSOR("sponsor", sf("segments_sponsor"), sf("skipped_sponsor"), sf("segments_sponsor_sum"), null, 0xFF00d400), - INTRO("intro", sf("segments_intermission"), sf("skipped_intermission"), sf("segments_intermission_sum"), null, 0xFF00ffff), - OUTRO("outro", sf("segments_endcards"), sf("skipped_endcard"), sf("segments_endcards_sum"), null, 0xFF0202ed), - INTERACTION("interaction", sf("segments_subscribe"), sf("skipped_subscribe"), sf("segments_subscribe_sum"), null, 0xFFcc00ff), - SELF_PROMO("selfpromo", sf("segments_selfpromo"), sf("skipped_selfpromo"), sf("segments_selfpromo_sum"), null, 0xFFffff00), - MUSIC_OFFTOPIC("music_offtopic", sf("segments_nomusic"), sf("skipped_nomusic"), sf("segments_nomusic_sum"), null, 0xFFff9900), - PREVIEW("preview", sf("segments_preview"), sf("skipped_preview"), sf("segments_preview_sum"), null, 0xFF008fd6), + SPONSOR("sponsor", sf("segments_sponsor"), sf("skipped_sponsor"), sf("segments_sponsor_sum"), DefaultBehaviour, 0xFF00d400), + INTRO("intro", sf("segments_intermission"), sf("skipped_intermission"), sf("segments_intermission_sum"), DefaultBehaviour, 0xFF00ffff), + OUTRO("outro", sf("segments_endcards"), sf("skipped_endcard"), sf("segments_endcards_sum"), DefaultBehaviour, 0xFF0202ed), + INTERACTION("interaction", sf("segments_subscribe"), sf("skipped_subscribe"), sf("segments_subscribe_sum"), DefaultBehaviour, 0xFFcc00ff), + SELF_PROMO("selfpromo", sf("segments_selfpromo"), sf("skipped_selfpromo"), sf("segments_selfpromo_sum"), DefaultBehaviour, 0xFFffff00), + MUSIC_OFFTOPIC("music_offtopic", sf("segments_nomusic"), sf("skipped_nomusic"), sf("segments_nomusic_sum"), DefaultBehaviour, 0xFFff9900), + PREVIEW("preview", sf("segments_preview"), sf("skipped_preview"), sf("segments_preview_sum"), DefaultBehaviour, 0xFF008fd6), + FILLER("filler", sf("segments_filler"), sf("skipped_filler"), sf("segments_filler_sum"), SegmentBehaviour.IGNORE, 0xFF7300FF), UNSUBMITTED("unsubmitted", StringRef.empty, sf("skipped_unsubmitted"), StringRef.empty, SegmentBehaviour.SKIP_AUTOMATICALLY, 0xFFFFFFFF); private static final SegmentInfo[] mValuesWithoutUnsubmitted = new SegmentInfo[]{ @@ -201,7 +203,8 @@ public class SponsorBlockSettings { INTERACTION, SELF_PROMO, MUSIC_OFFTOPIC, - PREVIEW + PREVIEW, + FILLER }; private static final Map mValuesMap = new HashMap<>(values().length); diff --git a/integrations/res/values/strings.xml b/integrations/res/values/strings.xml index a2ea7edbd..a4da718c5 100644 --- a/integrations/res/values/strings.xml +++ b/integrations/res/values/strings.xml @@ -175,6 +175,8 @@ Similar to "sponsor" except for unpaid or self promotion. This includes sections about merchandise, donations, or information about who they collaborated with Music: Non-Music Section Only for use in music videos. This includes introductions or outros in music videos + Filler/Tangent + Tangential scenes added only for filler or humor that are not required to understand the main content of the video. This should not include segments providing context or background details Skipped a sponsor segment Skipped sponsor Skipped intro @@ -183,6 +185,7 @@ Skipped self promotion Skipped silence Skipped preview + Skipped filler Skipped unsubmitted segment Skip automatically Show a skip button