mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-04-30 14:44:30 +02:00
feat(Spoof streaming data): Separate Sync video length before playback
setting
This commit is contained in:
parent
7653041595
commit
3c8e61c850
@ -21,6 +21,12 @@ import app.revanced.extension.shared.utils.Utils;
|
|||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public class SpoofStreamingDataPatch extends BlockRequestPatch {
|
public class SpoofStreamingDataPatch extends BlockRequestPatch {
|
||||||
|
/**
|
||||||
|
* Even if the default client is not iOS, videos that cannot be played on Android VR or Android TV will fall back to iOS.
|
||||||
|
* Do not add a dependency that checks whether the default client is iOS or not.
|
||||||
|
*/
|
||||||
|
private static final boolean SPOOF_STREAMING_DATA_SYNC_VIDEO_LENGTH =
|
||||||
|
SPOOF_STREAMING_DATA && BaseSettings.SPOOF_STREAMING_DATA_SYNC_VIDEO_LENGTH.get();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Key: videoId.
|
* Key: videoId.
|
||||||
@ -119,7 +125,7 @@ public class SpoofStreamingDataPatch extends BlockRequestPatch {
|
|||||||
* Called after {@link #getStreamingData(String)}.
|
* Called after {@link #getStreamingData(String)}.
|
||||||
*/
|
*/
|
||||||
public static void setFormats(String videoId, StreamingDataOuterClass$StreamingData originalStreamingData, StreamingDataOuterClass$StreamingData spoofed) {
|
public static void setFormats(String videoId, StreamingDataOuterClass$StreamingData originalStreamingData, StreamingDataOuterClass$StreamingData spoofed) {
|
||||||
if (formatsIsEmpty(spoofed)) {
|
if (SPOOF_STREAMING_DATA_SYNC_VIDEO_LENGTH && formatsIsEmpty(spoofed)) {
|
||||||
formatsMap.put(videoId, getFormatsFromStreamingData(originalStreamingData));
|
formatsMap.put(videoId, getFormatsFromStreamingData(originalStreamingData));
|
||||||
Logger.printDebug(() -> "New formats video id: " + videoId);
|
Logger.printDebug(() -> "New formats video id: " + videoId);
|
||||||
}
|
}
|
||||||
@ -165,7 +171,7 @@ public class SpoofStreamingDataPatch extends BlockRequestPatch {
|
|||||||
* Called after {@link #getStreamingData(String)}.
|
* Called after {@link #getStreamingData(String)}.
|
||||||
*/
|
*/
|
||||||
public static List<?> getOriginalFormats(String videoId, List<?> spoofedFormats) {
|
public static List<?> getOriginalFormats(String videoId, List<?> spoofedFormats) {
|
||||||
if (SPOOF_STREAMING_DATA) {
|
if (SPOOF_STREAMING_DATA_SYNC_VIDEO_LENGTH) {
|
||||||
try {
|
try {
|
||||||
if (videoId != null && !videoId.equals(MASKED_VIDEO_ID) && spoofedFormats.size() == 0) {
|
if (videoId != null && !videoId.equals(MASKED_VIDEO_ID) && spoofedFormats.size() == 0) {
|
||||||
List<?> androidFormats = formatsMap.get(videoId);
|
List<?> androidFormats = formatsMap.get(videoId);
|
||||||
|
@ -64,7 +64,10 @@ public class SpoofStreamingDataSideEffectsPreference extends Preference {
|
|||||||
|
|
||||||
private void updateUI() {
|
private void updateUI() {
|
||||||
final ClientType clientType = Settings.SPOOF_STREAMING_DATA_TYPE.get();
|
final ClientType clientType = Settings.SPOOF_STREAMING_DATA_TYPE.get();
|
||||||
final String summaryTextKey = "revanced_spoof_streaming_data_side_effects_" + clientType.name().toLowerCase();
|
final String summaryTextKey = clientType == ClientType.IOS &&
|
||||||
|
!Settings.SPOOF_STREAMING_DATA_SYNC_VIDEO_LENGTH.get()
|
||||||
|
? "revanced_spoof_streaming_data_side_effects_ios_skip_sync_video_length"
|
||||||
|
: "revanced_spoof_streaming_data_side_effects_" + clientType.name().toLowerCase();
|
||||||
|
|
||||||
setSummary(str(summaryTextKey));
|
setSummary(str(summaryTextKey));
|
||||||
setEnabled(Settings.SPOOF_STREAMING_DATA.get());
|
setEnabled(Settings.SPOOF_STREAMING_DATA.get());
|
||||||
|
@ -1906,10 +1906,16 @@ Tap on the continue button and disable battery optimizations."</string>
|
|||||||
<string name="revanced_spoof_streaming_data_type_entry_android_vr">Android VR</string>
|
<string name="revanced_spoof_streaming_data_type_entry_android_vr">Android VR</string>
|
||||||
<string name="revanced_spoof_streaming_data_side_effects_title">Spoofing side effects</string>
|
<string name="revanced_spoof_streaming_data_side_effects_title">Spoofing side effects</string>
|
||||||
<string name="revanced_spoof_streaming_data_side_effects_ios">• Not yet found.</string>
|
<string name="revanced_spoof_streaming_data_side_effects_ios">• Not yet found.</string>
|
||||||
|
<string name="revanced_spoof_streaming_data_side_effects_ios_skip_sync_video_length">• Videos may end 1 second early.</string>
|
||||||
<string name="revanced_spoof_streaming_data_side_effects_android_unplugged">"• Audio track menu is missing.
|
<string name="revanced_spoof_streaming_data_side_effects_android_unplugged">"• Audio track menu is missing.
|
||||||
• Stable volume is not available."</string>
|
• Stable volume is not available."</string>
|
||||||
<string name="revanced_spoof_streaming_data_side_effects_android_vr">"• Audio track menu is missing.
|
<string name="revanced_spoof_streaming_data_side_effects_android_vr">"• Audio track menu is missing.
|
||||||
• Stable volume is not available."</string>
|
• Stable volume is not available."</string>
|
||||||
|
<string name="revanced_spoof_streaming_data_sync_video_length_title">Sync video length before playback</string>
|
||||||
|
<string name="revanced_spoof_streaming_data_sync_video_length_summary_on">"Video length is synced before playback.
|
||||||
|
Video length is exact value."</string>
|
||||||
|
<string name="revanced_spoof_streaming_data_sync_video_length_summary_off">"Video length is not synced before playback.
|
||||||
|
Video length may be a rounded value."</string>
|
||||||
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Show in Stats for nerds</string>
|
<string name="revanced_spoof_streaming_data_stats_for_nerds_title">Show in Stats for nerds</string>
|
||||||
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Client used to fetch streaming data is shown in Stats for nerds.</string>
|
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_on">Client used to fetch streaming data is shown in Stats for nerds.</string>
|
||||||
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Client used to fetch streaming data is hidden in Stats for nerds.</string>
|
<string name="revanced_spoof_streaming_data_stats_for_nerds_summary_off">Client used to fetch streaming data is hidden in Stats for nerds.</string>
|
||||||
|
@ -784,6 +784,7 @@
|
|||||||
<SwitchPreference android:title="@string/revanced_spoof_streaming_data_title" android:key="revanced_spoof_streaming_data" android:summaryOn="@string/revanced_spoof_streaming_data_summary_on" android:summaryOff="@string/revanced_spoof_streaming_data_summary_off" />
|
<SwitchPreference android:title="@string/revanced_spoof_streaming_data_title" android:key="revanced_spoof_streaming_data" android:summaryOn="@string/revanced_spoof_streaming_data_summary_on" android:summaryOff="@string/revanced_spoof_streaming_data_summary_off" />
|
||||||
<ListPreference android:entries="@array/revanced_spoof_streaming_data_type_entries" android:title="@string/revanced_spoof_streaming_data_type_title" android:key="revanced_spoof_streaming_data_type" android:entryValues="@array/revanced_spoof_streaming_data_type_entry_values" android:dependency="revanced_spoof_streaming_data" />
|
<ListPreference android:entries="@array/revanced_spoof_streaming_data_type_entries" android:title="@string/revanced_spoof_streaming_data_type_title" android:key="revanced_spoof_streaming_data_type" android:entryValues="@array/revanced_spoof_streaming_data_type_entry_values" android:dependency="revanced_spoof_streaming_data" />
|
||||||
<app.revanced.extension.youtube.settings.preference.SpoofStreamingDataSideEffectsPreference android:title="@string/revanced_spoof_streaming_data_side_effects_title" />
|
<app.revanced.extension.youtube.settings.preference.SpoofStreamingDataSideEffectsPreference android:title="@string/revanced_spoof_streaming_data_side_effects_title" />
|
||||||
|
<SwitchPreference android:title="@string/revanced_spoof_streaming_data_sync_video_length_title" android:key="revanced_spoof_streaming_data_sync_video_length" android:summaryOn="@string/revanced_spoof_streaming_data_sync_video_length_summary_on" android:summaryOff="@string/revanced_spoof_streaming_data_sync_video_length_summary_off" android:dependency="revanced_spoof_streaming_data" />
|
||||||
<SwitchPreference android:title="@string/revanced_spoof_streaming_data_stats_for_nerds_title" android:key="revanced_spoof_streaming_data_stats_for_nerds" android:summaryOn="@string/revanced_spoof_streaming_data_stats_for_nerds_summary_on" android:summaryOff="@string/revanced_spoof_streaming_data_stats_for_nerds_summary_off" android:dependency="revanced_spoof_streaming_data" />
|
<SwitchPreference android:title="@string/revanced_spoof_streaming_data_stats_for_nerds_title" android:key="revanced_spoof_streaming_data_stats_for_nerds" android:summaryOn="@string/revanced_spoof_streaming_data_stats_for_nerds_summary_on" android:summaryOff="@string/revanced_spoof_streaming_data_stats_for_nerds_summary_off" android:dependency="revanced_spoof_streaming_data" />
|
||||||
</PreferenceScreen>SETTINGS: SPOOF_STREAMING_DATA -->
|
</PreferenceScreen>SETTINGS: SPOOF_STREAMING_DATA -->
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user