added other sponsorblock delete categories

This commit is contained in:
Denis Çerri 2023-01-02 22:34:43 +01:00
parent 4b5dc1fb40
commit 14033e38e2
No known key found for this signature in database
GPG key ID: 96B3554AF5B193EE
8 changed files with 69 additions and 20 deletions

View file

@ -320,7 +320,7 @@
<PersistentState>
<option name="values">
<map>
<entry key="url" value="jar:file:/C:/Program%20Files/Android/Android%20Studio/plugins/android/lib/android.jar!/images/material/icons/materialicons/arrow_upward/baseline_arrow_upward_24.xml" />
<entry key="url" value="file:/$USER_HOME$/AppData/Local/Android/Sdk/icons/material/materialicons/attach_money/baseline_attach_money_24.xml" />
</map>
</option>
</PersistentState>
@ -331,7 +331,7 @@
<option name="values">
<map>
<entry key="color" value="00a6ff" />
<entry key="outputName" value="ic_arrow_up" />
<entry key="outputName" value="ic_money" />
<entry key="sourceFile" value="C:\Users\denis\Desktop\adaptiveproduct_youtube_foreground_color_108 (1).svg" />
</map>
</option>

View file

@ -27,9 +27,11 @@ import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -315,6 +317,12 @@ public class DownloaderService extends Service {
video.setTitle(video.getTitle().replaceAll(":|'|\"|[.]|,", ""));
video.setAuthor(video.getAuthor().replaceAll(":|'|\"|[.]|,", ""));
String sponsorBlockFilters = sharedPreferences.getString("sponsorblock_filter", "");
Toast.makeText(context, sponsorBlockFilters, Toast.LENGTH_LONG).show();
if (!sponsorBlockFilters.isEmpty()){
request.addOption("--sponsorblock-remove", sponsorBlockFilters);
}
if (type.equals("audio")) {
request.addOption("-x");
String format = video.getAudioFormat();
@ -337,11 +345,6 @@ public class DownloaderService extends Service {
}
}
boolean removeNonMusic = sharedPreferences.getBoolean("remove_non_music", false);
if(removeNonMusic){
request.addOption("--sponsorblock-remove", "all");
}
request.addCommands(Arrays.asList("--replace-in-metadata","title",".*.",video.getTitle()));
request.addCommands(Arrays.asList("--replace-in-metadata","uploader",".*.",video.getAuthor()));

View file

@ -13,15 +13,19 @@ import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.preference.EditTextPreference;
import androidx.preference.ListPreference;
import androidx.preference.MultiSelectListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.SeekBarPreference;
import androidx.preference.SwitchPreferenceCompat;
import com.deniscerri.ytdlnis.BuildConfig;
import com.deniscerri.ytdlnis.R;
import com.deniscerri.ytdlnis.util.UpdateUtil;
import java.nio.charset.StandardCharsets;
import java.util.HashSet;
import java.util.Set;
public class SettingsFragment extends PreferenceFragmentCompat {
@ -36,7 +40,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
EditTextPreference limitRate;
SwitchPreferenceCompat aria2;
SwitchPreferenceCompat removeNonMusic;
MultiSelectListPreference sponsorblockFilters;
SwitchPreferenceCompat embedSubtitles;
SwitchPreferenceCompat embedThumbnail;
SwitchPreferenceCompat addChapters;
@ -82,7 +86,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
limitRate = findPreference("limit_rate");
aria2 = findPreference("aria2");
removeNonMusic = findPreference("remove_non_music");
sponsorblockFilters = findPreference("sponsorblock_filter");
embedSubtitles = findPreference("embed_subtitles");
embedThumbnail = findPreference("embed_thumbnail");
addChapters = findPreference("add_chapters");
@ -113,7 +117,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
editor.putInt("concurrent_fragments", concurrentFragments.getValue());
editor.putString("limit_rate", limitRate.getText());
editor.putBoolean("aria2", aria2.isChecked());
editor.putBoolean("remove_non_music", removeNonMusic.isChecked());
editor.putString("sponsorblock_filter", String.join(",", sponsorblockFilters.getValues()));
editor.putBoolean("embed_subtitles", embedSubtitles.isChecked());
editor.putBoolean("embed_thumbnail", embedThumbnail.isChecked());
editor.putBoolean("add_chapters", addChapters.isChecked());
@ -192,9 +196,9 @@ public class SettingsFragment extends PreferenceFragmentCompat {
return true;
});
removeNonMusic.setOnPreferenceChangeListener((preference, newValue) -> {
boolean remove = (Boolean) newValue;
editor.putBoolean("remove_non_music", remove);
sponsorblockFilters.setOnPreferenceChangeListener((preference, newValue) -> {
sponsorblockFilters.setValues((Set<String>) newValue);
editor.putString("sponsorblock_filter", String.join(",", (Set<String>)newValue));
editor.apply();
return true;
});

View file

@ -0,0 +1,5 @@
<vector android:height="24dp"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="?android:textColorPrimary" android:pathData="M11.8,10.9c-2.27,-0.59 -3,-1.2 -3,-2.15 0,-1.09 1.01,-1.85 2.7,-1.85 1.78,0 2.44,0.85 2.5,2.1h2.21c-0.07,-1.72 -1.12,-3.3 -3.21,-3.81V3h-3v2.16c-1.94,0.42 -3.5,1.68 -3.5,3.61 0,2.31 1.91,3.46 4.7,4.13 2.5,0.6 3,1.48 3,2.41 0,0.69 -0.49,1.79 -2.7,1.79 -2.06,0 -2.87,-0.92 -2.98,-2.1h-2.2c0.12,2.19 1.76,3.42 3.68,3.83V21h3v-2.15c1.95,-0.37 3.5,-1.5 3.5,-3.55 0,-2.84 -2.43,-3.81 -4.7,-4.4z"/>
</vector>

View file

@ -28,4 +28,29 @@
<item>Worst Quality</item>
</string-array>
<string-array name="sponsorblock_settings_entries">
<item>@string/sponsorblock_nonmusic</item>
<item>@string/sponsorblock_sponsors</item>
<item>@string/sponsorblock_intro</item>
<item>@string/sponsorblock_outro</item>
<item>@string/sponsorblock_promos</item>
<item>@string/sponsorblock_previews</item>
<item>@string/sponsorblock_fillers</item>
<item>@string/sponsorblock_reminders</item>
</string-array>
<string-array name="sponsorblock_settings_values">
<item>music_offtopic</item>
<item>sponsor</item>
<item>intro</item>
<item>outro</item>
<item>selfpromo</item>
<item>preview</item>
<item>filler</item>
<item>interaction</item>
</string-array>
<string-array name="sponsorblock_settings_default">
<item>music_offtopic</item>
</string-array>
</resources>

View file

@ -139,4 +139,13 @@
<string name="request_permission_desc">This app needs File Permissions to save downloads on the device</string>
<string name="exit_app">Exit App</string>
<string name="warning">Warning</string>
<string name="sponsorblock_nonmusic">Non-Music and OffTopic portions</string>
<string name="sponsorblock_sponsors">Sponsors</string>
<string name="sponsorblock_intro">Intro</string>
<string name="sponsorblock_outro">Outro</string>
<string name="sponsorblock_promos">Self Promos</string>
<string name="sponsorblock_previews">Previews</string>
<string name="sponsorblock_fillers">Fillers</string>
<string name="sponsorblock_reminders">Subscription Reminders</string>
<string name="select_sponsorblock_filtering">Select SponsorBlock Filtering</string>
</resources>

View file

@ -74,12 +74,15 @@
<PreferenceCategory android:title="@string/processing">
<SwitchPreferenceCompat
app:defaultValue="true"
app:icon="@drawable/ic_music"
app:key="remove_non_music"
app:summary="@string/remove_non_music_summary"
app:title="@string/remove_non_music" />
<MultiSelectListPreference
app:defaultValue="@array/sponsorblock_settings_default"
app:icon="@drawable/ic_money"
app:dialogTitle="@string/select_sponsorblock_filtering"
app:entries="@array/sponsorblock_settings_entries"
app:entryValues="@array/sponsorblock_settings_values"
app:key="sponsorblock_filter"
app:summary="@string/select_sponsorblock_filtering"
app:title="SponsorBlock" />
<SwitchPreferenceCompat
app:defaultValue="true"

View file

@ -17,7 +17,7 @@ buildscript {
def versionMajor = 1
def versionMinor = 4
def versionPatch = 5
def versionPatch = 6
def versionBuild = 0 // bump for dogfood builds, public betas, etc.
ext {