added other sponsorblock delete categories
This commit is contained in:
parent
4b5dc1fb40
commit
14033e38e2
8 changed files with 69 additions and 20 deletions
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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()));
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
});
|
||||
|
|
|
|||
5
app/src/main/res/drawable/ic_money.xml
Normal file
5
app/src/main/res/drawable/ic_money.xml
Normal 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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in a new issue