From b63fdeb10b504468307a77bd5de69407906848bf Mon Sep 17 00:00:00 2001 From: FullerBread2032 <56510855+FullerBread2032@users.noreply.github.com> Date: Fri, 29 Nov 2024 07:35:19 +0100 Subject: [PATCH 01/12] fix(YouTube Music - Hide category bar): Add support for latest release (#3968) --- .../patches/music/layout/compactheader/Fingerprints.kt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/Fingerprints.kt index d7f0f03de..234078c2a 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/compactheader/Fingerprints.kt @@ -15,8 +15,6 @@ internal val constructCategoryBarFingerprint = fingerprint { Opcode.MOVE_RESULT_OBJECT, Opcode.IPUT_OBJECT, Opcode.CONST, - Opcode.INVOKE_VIRTUAL, - Opcode.NEW_INSTANCE, - Opcode.INVOKE_DIRECT, + Opcode.INVOKE_VIRTUAL ) } From 414e1dac33a895eb98b7825700183c324ffce4f9 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 29 Nov 2024 06:38:16 +0000 Subject: [PATCH 02/12] chore: Release v5.2.1-dev.3 [skip ci] ## [5.2.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.2...v5.2.1-dev.3) (2024-11-29) ### Bug Fixes * **YouTube Music - Hide category bar:** Add support for latest release ([#3968](https://github.com/ReVanced/revanced-patches/issues/3968)) ([b63fdeb](https://github.com/ReVanced/revanced-patches/commit/b63fdeb10b504468307a77bd5de69407906848bf)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 401d3ec95..f362b173c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [5.2.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.2...v5.2.1-dev.3) (2024-11-29) + + +### Bug Fixes + +* **YouTube Music - Hide category bar:** Add support for latest release ([#3968](https://github.com/ReVanced/revanced-patches/issues/3968)) ([b63fdeb](https://github.com/ReVanced/revanced-patches/commit/b63fdeb10b504468307a77bd5de69407906848bf)) + ## [5.2.1-dev.2](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.1...v5.2.1-dev.2) (2024-11-28) diff --git a/gradle.properties b/gradle.properties index 36764a035..fe393c2c2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.2.1-dev.2 +version = 5.2.1-dev.3 From 62df5965d7331e47b3143425d169a79a19eac447 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 30 Nov 2024 12:53:08 +0400 Subject: [PATCH 03/12] fix(Twitch): Resolve setting menu crashes (#4025) --- .../AbstractPreferenceFragment.java | 72 ----------------- .../youtube/settings/LicenseActivityHook.java | 3 +- .../ReVancedPreferenceFragment.java | 77 +++++++++++++++++++ .../twitch/misc/settings/SettingsPatch.kt | 7 ++ .../resources/addresources/values/strings.xml | 2 + 5 files changed, 87 insertions(+), 74 deletions(-) diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java b/extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java index b7dd65063..902b95897 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java +++ b/extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java @@ -1,23 +1,13 @@ package app.revanced.extension.shared.settings.preference; import static app.revanced.extension.shared.StringRef.str; -import static app.revanced.extension.shared.Utils.getResourceIdentifier; import android.annotation.SuppressLint; import android.app.AlertDialog; -import android.app.Dialog; import android.content.Context; import android.content.SharedPreferences; -import android.graphics.Insets; -import android.graphics.drawable.Drawable; -import android.os.Build; import android.os.Bundle; import android.preference.*; -import android.util.TypedValue; -import android.view.ViewGroup; -import android.view.WindowInsets; -import android.widget.TextView; -import android.widget.Toolbar; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -29,7 +19,6 @@ import app.revanced.extension.shared.Utils; import app.revanced.extension.shared.settings.BaseSettings; import app.revanced.extension.shared.settings.BooleanSetting; import app.revanced.extension.shared.settings.Setting; -import app.revanced.extension.youtube.ThemeHelper; @SuppressWarnings("deprecation") public abstract class AbstractPreferenceFragment extends PreferenceFragment { @@ -85,14 +74,6 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment { } }; - @SuppressLint("UseCompatLoadingForDrawables") - public static Drawable getBackButtonDrawable() { - final int backButtonResource = getResourceIdentifier(ThemeHelper.isDarkTheme() - ? "yt_outline_arrow_left_white_24" - : "yt_outline_arrow_left_black_24", - "drawable"); - return Utils.getContext().getResources().getDrawable(backButtonResource); - } /** * Initialize this instance, and do any custom behavior. @@ -284,7 +265,6 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment { // causes a callback to the listener even though nothing changed. initialize(); updateUIToSettingValues(); - setPreferenceScreenToolbar(getPreferenceScreen()); preferenceManager.getSharedPreferences().registerOnSharedPreferenceChangeListener(listener); } catch (Exception ex) { @@ -297,56 +277,4 @@ public abstract class AbstractPreferenceFragment extends PreferenceFragment { getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(listener); super.onDestroy(); } - - private void setPreferenceScreenToolbar(PreferenceScreen parentScreen) { - for (int i = 0, preferenceCount = parentScreen.getPreferenceCount(); i < preferenceCount; i++) { - Preference childPreference = parentScreen.getPreference(i); - if (childPreference instanceof PreferenceScreen) { - // Recursively set sub preferences. - setPreferenceScreenToolbar((PreferenceScreen) childPreference); - - childPreference.setOnPreferenceClickListener( - childScreen -> { - Dialog preferenceScreenDialog = ((PreferenceScreen) childScreen).getDialog(); - ViewGroup rootView = (ViewGroup) preferenceScreenDialog - .findViewById(android.R.id.content) - .getParent(); - - // Fix required for Android 15 and YT 19.45+ - // FIXME: - // On Android 15 the text layout is not aligned the same as the parent - // screen and it looks a little off. Otherwise this works. - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - rootView.setOnApplyWindowInsetsListener((v, insets) -> { - Insets statusInsets = insets.getInsets(WindowInsets.Type.statusBars()); - v.setPadding(0, statusInsets.top, 0, 0); - return insets; - }); - } - - Toolbar toolbar = new Toolbar(childScreen.getContext()); - toolbar.setTitle(childScreen.getTitle()); - toolbar.setNavigationIcon(getBackButtonDrawable()); - toolbar.setNavigationOnClickListener(view -> preferenceScreenDialog.dismiss()); - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - final int margin = (int) TypedValue.applyDimension( - TypedValue.COMPLEX_UNIT_DIP, 16, getResources().getDisplayMetrics() - ); - toolbar.setTitleMargin(margin, 0, margin, 0); - } - - TextView toolbarTextView = Utils.getChildView(toolbar, - true, TextView.class::isInstance); - if (toolbarTextView != null) { - toolbarTextView.setTextColor(ThemeHelper.getForegroundColor()); - } - - rootView.addView(toolbar, 0); - return false; - } - ); - } - } - } } diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java index 51409e2e4..1ca0f5c19 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java @@ -7,7 +7,6 @@ import android.view.ViewGroup; import android.widget.ImageButton; import android.widget.TextView; import app.revanced.extension.shared.Logger; -import app.revanced.extension.shared.settings.preference.AbstractPreferenceFragment; import app.revanced.extension.youtube.ThemeHelper; import app.revanced.extension.youtube.settings.preference.ReVancedPreferenceFragment; import app.revanced.extension.youtube.settings.preference.ReturnYouTubeDislikePreferenceFragment; @@ -83,7 +82,7 @@ public class LicenseActivityHook { ViewGroup toolbar = activity.findViewById(getToolbarResourceId()); ImageButton imageButton = Objects.requireNonNull(getChildView(toolbar, false, view -> view instanceof ImageButton)); - imageButton.setImageDrawable(AbstractPreferenceFragment.getBackButtonDrawable()); + imageButton.setImageDrawable(ReVancedPreferenceFragment.getBackButtonDrawable()); imageButton.setOnClickListener(view -> activity.onBackPressed()); } diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java b/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java index a22206f22..9e6cdeeeb 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java +++ b/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java @@ -1,13 +1,27 @@ package app.revanced.extension.youtube.settings.preference; +import static app.revanced.extension.shared.Utils.getResourceIdentifier; + +import android.annotation.SuppressLint; +import android.app.Dialog; +import android.graphics.Insets; +import android.graphics.drawable.Drawable; import android.os.Build; import android.preference.ListPreference; import android.preference.Preference; +import android.preference.PreferenceScreen; +import android.util.TypedValue; +import android.view.ViewGroup; +import android.view.WindowInsets; +import android.widget.TextView; +import android.widget.Toolbar; import androidx.annotation.RequiresApi; import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.Utils; import app.revanced.extension.shared.settings.preference.AbstractPreferenceFragment; +import app.revanced.extension.youtube.ThemeHelper; import app.revanced.extension.youtube.patches.playback.speed.CustomPlaybackSpeedPatch; import app.revanced.extension.youtube.settings.Settings; @@ -18,12 +32,23 @@ import app.revanced.extension.youtube.settings.Settings; */ public class ReVancedPreferenceFragment extends AbstractPreferenceFragment { + @SuppressLint("UseCompatLoadingForDrawables") + public static Drawable getBackButtonDrawable() { + final int backButtonResource = getResourceIdentifier(ThemeHelper.isDarkTheme() + ? "yt_outline_arrow_left_white_24" + : "yt_outline_arrow_left_black_24", + "drawable"); + return Utils.getContext().getResources().getDrawable(backButtonResource); + } + @RequiresApi(api = Build.VERSION_CODES.O) @Override protected void initialize() { super.initialize(); try { + setPreferenceScreenToolbar(getPreferenceScreen()); + // If the preference was included, then initialize it based on the available playback speed. Preference defaultSpeedPreference = findPreference(Settings.PLAYBACK_SPEED_DEFAULT.key); if (defaultSpeedPreference instanceof ListPreference) { @@ -33,4 +58,56 @@ public class ReVancedPreferenceFragment extends AbstractPreferenceFragment { Logger.printException(() -> "initialize failure", ex); } } + + private void setPreferenceScreenToolbar(PreferenceScreen parentScreen) { + for (int i = 0, preferenceCount = parentScreen.getPreferenceCount(); i < preferenceCount; i++) { + Preference childPreference = parentScreen.getPreference(i); + if (childPreference instanceof PreferenceScreen) { + // Recursively set sub preferences. + setPreferenceScreenToolbar((PreferenceScreen) childPreference); + + childPreference.setOnPreferenceClickListener( + childScreen -> { + Dialog preferenceScreenDialog = ((PreferenceScreen) childScreen).getDialog(); + ViewGroup rootView = (ViewGroup) preferenceScreenDialog + .findViewById(android.R.id.content) + .getParent(); + + // Fix required for Android 15 and YT 19.45+ + // FIXME: + // On Android 15 the text layout is not aligned the same as the parent + // screen and it looks a little off. Otherwise this works. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + rootView.setOnApplyWindowInsetsListener((v, insets) -> { + Insets statusInsets = insets.getInsets(WindowInsets.Type.statusBars()); + v.setPadding(0, statusInsets.top, 0, 0); + return insets; + }); + } + + Toolbar toolbar = new Toolbar(childScreen.getContext()); + toolbar.setTitle(childScreen.getTitle()); + toolbar.setNavigationIcon(getBackButtonDrawable()); + toolbar.setNavigationOnClickListener(view -> preferenceScreenDialog.dismiss()); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + final int margin = (int) TypedValue.applyDimension( + TypedValue.COMPLEX_UNIT_DIP, 16, getResources().getDisplayMetrics() + ); + toolbar.setTitleMargin(margin, 0, margin, 0); + } + + TextView toolbarTextView = Utils.getChildView(toolbar, + true, TextView.class::isInstance); + if (toolbarTextView != null) { + toolbarTextView.setTextColor(ThemeHelper.getForegroundColor()); + } + + rootView.addView(toolbar, 0); + return false; + } + ); + } + } + } } diff --git a/patches/src/main/kotlin/app/revanced/patches/twitch/misc/settings/SettingsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitch/misc/settings/SettingsPatch.kt index 71bc5f54a..7d14e7adb 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitch/misc/settings/SettingsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitch/misc/settings/SettingsPatch.kt @@ -11,6 +11,7 @@ import app.revanced.patches.all.misc.resources.addResources import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.patches.shared.misc.settings.preference.BasePreference import app.revanced.patches.shared.misc.settings.preference.BasePreferenceScreen +import app.revanced.patches.shared.misc.settings.preference.NonInteractivePreference import app.revanced.patches.shared.misc.settings.preference.PreferenceCategory import app.revanced.patches.shared.misc.settings.preference.SwitchPreference import app.revanced.patches.shared.misc.settings.settingsPatch @@ -58,6 +59,12 @@ val settingsPatch = bytecodePatch( execute { addResources("twitch", "misc.settings.settingsPatch") + preferences += NonInteractivePreference( + key = "revanced_about", + tag = "app.revanced.extension.shared.settings.preference.ReVancedAboutPreference", + selectable = true, + ) + PreferenceScreen.MISC.OTHER.addPreferences( // The debug setting is shared across multiple apps and the key must be the same. // But the title and summary must be different, otherwise when the strings file is flattened diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 0b837bdf7..c8a363685 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -1269,6 +1269,8 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced Settings + About + About ReVanced Ads Ad blocking settings Chat From 1080a68da25f27fd8e9783b359b286182479cc1b Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 30 Nov 2024 08:56:25 +0000 Subject: [PATCH 04/12] chore: Release v5.2.1-dev.4 [skip ci] ## [5.2.1-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.3...v5.2.1-dev.4) (2024-11-30) ### Bug Fixes * **Twitch:** Resolve setting menu crashes ([#4025](https://github.com/ReVanced/revanced-patches/issues/4025)) ([62df596](https://github.com/ReVanced/revanced-patches/commit/62df5965d7331e47b3143425d169a79a19eac447)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f362b173c..64a65501c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [5.2.1-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.3...v5.2.1-dev.4) (2024-11-30) + + +### Bug Fixes + +* **Twitch:** Resolve setting menu crashes ([#4025](https://github.com/ReVanced/revanced-patches/issues/4025)) ([62df596](https://github.com/ReVanced/revanced-patches/commit/62df5965d7331e47b3143425d169a79a19eac447)) + ## [5.2.1-dev.3](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.2...v5.2.1-dev.3) (2024-11-29) diff --git a/gradle.properties b/gradle.properties index fe393c2c2..99625cbbc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.2.1-dev.3 +version = 5.2.1-dev.4 From 7623b3ae18718b5057ab85b6ed5c0775b7a697d6 Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Sat, 30 Nov 2024 19:55:15 +0400 Subject: [PATCH 05/12] refactor(YouTube): Change fingerprints to support a wider range of target versions (#4026) --- patches/api/patches.api | 5 +-- .../hide/general/HideLayoutComponentsPatch.kt | 24 +++++++---- .../ReturnYouTubeDislikePatch.kt | 4 +- .../DisableResumingShortsOnStartupPatch.kt | 40 +++++++------------ .../layout/startupshortsreset/Fingerprints.kt | 28 +++---------- .../misc/debugging/EnableDebuggingPatch.kt | 31 ++++++++------ .../misc/playservice/VersionCheckPatch.kt | 3 ++ 7 files changed, 59 insertions(+), 76 deletions(-) diff --git a/patches/api/patches.api b/patches/api/patches.api index 2ba4d9a4e..d920cf745 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1200,10 +1200,6 @@ public final class app/revanced/patches/youtube/layout/startupshortsreset/Disabl public static final fun getDisableResumingShortsOnStartupPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } -public final class app/revanced/patches/youtube/layout/startupshortsreset/FingerprintsKt { - public static final fun indexOfOptionalInstruction (Lcom/android/tools/smali/dexlib2/iface/Method;)I -} - public final class app/revanced/patches/youtube/layout/tablet/EnableTabletLayoutPatchKt { public static final field EXTENSION_CLASS_DESCRIPTOR Ljava/lang/String; public static final fun getEnableTabletLayoutPatch ()Lapp/revanced/patcher/patch/BytecodePatch; @@ -1329,6 +1325,7 @@ public final class app/revanced/patches/youtube/misc/playservice/VersionCheckPat public static final fun is_19_41_or_greater ()Z public static final fun is_19_43_or_greater ()Z public static final fun is_19_46_or_greater ()Z + public static final fun is_19_47_or_greater ()Z } public final class app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatchKt { diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt index 64fd674ad..0a03da6d9 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt @@ -20,6 +20,8 @@ import app.revanced.patches.shared.misc.settings.preference.* import app.revanced.patches.youtube.misc.litho.filter.addLithoFilter import app.revanced.patches.youtube.misc.litho.filter.lithoFilterPatch import app.revanced.patches.youtube.misc.navigation.navigationBarHookPatch +import app.revanced.patches.youtube.misc.playservice.is_19_47_or_greater +import app.revanced.patches.youtube.misc.playservice.versionCheckPatch import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch import app.revanced.util.findInstructionIndicesReversedOrThrow @@ -118,6 +120,7 @@ val hideLayoutComponentsPatch = bytecodePatch( addResourcesPatch, hideLayoutComponentsResourcePatch, navigationBarHookPatch, + versionCheckPatch ) compatibleWith( @@ -243,22 +246,27 @@ val hideLayoutComponentsPatch = bytecodePatch( // region Mix playlists - val startIndex = parseElementFromBufferFingerprint.patternMatch!!.startIndex - parseElementFromBufferFingerprint.method.apply { - val freeRegister = "v0" + val startIndex = parseElementFromBufferFingerprint.patternMatch!!.startIndex + // Target code is a mess with a lot of register moves. + // There is no simple way to find a free register for all versions so this is hard coded. + val freeRegister = if (is_19_47_or_greater) 6 else 0 val byteArrayParameter = "p3" val conversionContextRegister = getInstruction(startIndex).registerA val returnEmptyComponentInstruction = instructions.last { it.opcode == Opcode.INVOKE_STATIC } + val returnEmptyComponentRegister = (returnEmptyComponentInstruction as FiveRegisterInstruction).registerC addInstructionsWithLabels( startIndex + 1, """ - invoke-static { v$conversionContextRegister, $byteArrayParameter }, $LAYOUT_COMPONENTS_FILTER_CLASS_DESCRIPTOR->filterMixPlaylists(Ljava/lang/Object;[B)Z - move-result $freeRegister - if-nez $freeRegister, :return_empty_component - const/4 $freeRegister, 0x0 # Restore register, required for 19.16 - """, + invoke-static { v$conversionContextRegister, $byteArrayParameter }, $LAYOUT_COMPONENTS_FILTER_CLASS_DESCRIPTOR->filterMixPlaylists(Ljava/lang/Object;[B)Z + move-result v$freeRegister + if-eqz v$freeRegister, :show + move-object v$returnEmptyComponentRegister, p1 # Required for 19.47 + goto :return_empty_component + :show + const/4 v$freeRegister, 0x0 # Restore register, required for 19.16 + """, ExternalLabel("return_empty_component", returnEmptyComponentInstruction), ) } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/returnyoutubedislike/ReturnYouTubeDislikePatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/returnyoutubedislike/ReturnYouTubeDislikePatch.kt index bc80fd14f..e78abfca4 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/returnyoutubedislike/ReturnYouTubeDislikePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/returnyoutubedislike/ReturnYouTubeDislikePatch.kt @@ -125,8 +125,8 @@ val returnYouTubeDislikePatch = bytecodePatch( if (is_19_33_or_greater) { insertIndex = indexOfFirstInstructionOrThrow { - opcode == Opcode.INVOKE_STATIC_RANGE && - getReference()?.returnType == textDataClassType + (opcode == Opcode.INVOKE_STATIC || opcode == Opcode.INVOKE_STATIC_RANGE) + && getReference()?.returnType == textDataClassType } tempRegister = getInstruction(insertIndex + 1).registerA diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/DisableResumingShortsOnStartupPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/DisableResumingShortsOnStartupPatch.kt index f636d364f..ae0eb263b 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/DisableResumingShortsOnStartupPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/DisableResumingShortsOnStartupPatch.kt @@ -1,6 +1,6 @@ package app.revanced.patches.youtube.layout.startupshortsreset -import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patches.all.misc.resources.addResources @@ -49,31 +49,6 @@ val disableResumingShortsOnStartupPatch = bytecodePatch( SwitchPreference("revanced_disable_resuming_shorts_player"), ) - userWasInShortsConfigFingerprint.originalMethod.apply { - val startIndex = indexOfOptionalInstruction(this) - val walkerIndex = indexOfFirstInstructionOrThrow(startIndex) { - val reference = getReference() - opcode == Opcode.INVOKE_VIRTUAL && - reference?.returnType == "Z" && - reference.definingClass != "Lj${'$'}/util/Optional;" && - reference.parameterTypes.isEmpty() - } - - // Presumably a method that processes the ProtoDataStore value (boolean) for the 'user_was_in_shorts' key. - navigate(this).to(walkerIndex).stop().addInstructionsWithLabels( - 0, - """ - invoke-static {}, $EXTENSION_CLASS_DESCRIPTOR->disableResumingStartupShortsPlayer()Z - move-result v0 - if-eqz v0, :show - const/4 v0, 0x0 - return v0 - :show - nop - """, - ) - } - userWasInShortsFingerprint.method.apply { val listenableInstructionIndex = indexOfFirstInstructionOrThrow { opcode == Opcode.INVOKE_INTERFACE && @@ -94,5 +69,18 @@ val disableResumingShortsOnStartupPatch = bytecodePatch( """, ) } + + userWasInShortsConfigFingerprint.method.addInstructions( + 0, + """ + invoke-static {}, $EXTENSION_CLASS_DESCRIPTOR->disableResumingStartupShortsPlayer()Z + move-result v0 + if-eqz v0, :show + const/4 v0, 0x0 + return v0 + :show + nop + """ + ) } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/Fingerprints.kt index 326ebbe14..1ae9ce7fe 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/startupshortsreset/Fingerprints.kt @@ -1,13 +1,8 @@ package app.revanced.patches.youtube.layout.startupshortsreset import app.revanced.patcher.fingerprint -import app.revanced.util.getReference -import app.revanced.util.indexOfFirstInstruction +import app.revanced.util.literal import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.iface.Method -import com.android.tools.smali.dexlib2.iface.reference.MethodReference -import com.android.tools.smali.dexlib2.immutable.reference.ImmutableMethodReference -import com.android.tools.smali.dexlib2.util.MethodUtil internal val userWasInShortsFingerprint = fingerprint { returns("V") @@ -20,22 +15,9 @@ internal val userWasInShortsFingerprint = fingerprint { * 18.15.40+ */ internal val userWasInShortsConfigFingerprint = fingerprint { - returns("V") - strings("Failed to get offline response: ") - custom { method, _ -> - indexOfOptionalInstruction(method) >= 0 + accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL) + returns("Z") + literal { + 45358360L } } - -private val optionalOfMethodReference = ImmutableMethodReference( - "Lj${'$'}/util/Optional;", - "of", - listOf("Ljava/lang/Object;"), - "Lj${'$'}/util/Optional;", -) - -fun indexOfOptionalInstruction(method: Method) = method.indexOfFirstInstruction { - val reference = getReference() ?: return@indexOfFirstInstruction false - - MethodUtil.methodSignaturesMatch(reference, optionalOfMethodReference) -} diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatch.kt index 55fc04e39..9c0dc3e85 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/debugging/EnableDebuggingPatch.kt @@ -8,6 +8,8 @@ import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPref import app.revanced.patches.shared.misc.settings.preference.PreferenceScreenPreference.Sorting import app.revanced.patches.shared.misc.settings.preference.SwitchPreference import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch +import app.revanced.patches.youtube.misc.playservice.is_19_16_or_greater +import app.revanced.patches.youtube.misc.playservice.versionCheckPatch import app.revanced.patches.youtube.misc.settings.PreferenceScreen import app.revanced.patches.youtube.misc.settings.settingsPatch import app.revanced.util.indexOfFirstInstructionOrThrow @@ -25,6 +27,7 @@ val enableDebuggingPatch = bytecodePatch( sharedExtensionPatch, settingsPatch, addResourcesPatch, + versionCheckPatch ) compatibleWith( @@ -91,20 +94,22 @@ val enableDebuggingPatch = bytecodePatch( ) } - experimentalLongFeatureFlagFingerprint.match( - experimentalFeatureFlagParentFingerprint.originalClassDef - ).method.apply { - val insertIndex = indexOfFirstInstructionOrThrow(Opcode.MOVE_RESULT_WIDE) + if (is_19_16_or_greater) { + experimentalLongFeatureFlagFingerprint.match( + experimentalFeatureFlagParentFingerprint.originalClassDef + ).method.apply { + val insertIndex = indexOfFirstInstructionOrThrow(Opcode.MOVE_RESULT_WIDE) - addInstructions( - insertIndex, - """ - move-result-wide v0 - invoke-static/range { v0 .. v5 }, $EXTENSION_CLASS_DESCRIPTOR->isLongFeatureFlagEnabled(JJJ)J - move-result-wide v0 - return-wide v0 - """ - ) + addInstructions( + insertIndex, + """ + move-result-wide v0 + invoke-static/range { v0 .. v5 }, $EXTENSION_CLASS_DESCRIPTOR->isLongFeatureFlagEnabled(JJJ)J + move-result-wide v0 + return-wide v0 + """ + ) + } } experimentalStringFeatureFlagFingerprint.match( diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playservice/VersionCheckPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playservice/VersionCheckPatch.kt index f989ce16c..e5c233b11 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playservice/VersionCheckPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playservice/VersionCheckPatch.kt @@ -39,6 +39,8 @@ var is_19_43_or_greater = false private set var is_19_46_or_greater = false private set +var is_19_47_or_greater = false + private set val versionCheckPatch = resourcePatch( description = "Uses the Play Store service version to find the major/minor version of the YouTube target app.", @@ -71,5 +73,6 @@ val versionCheckPatch = resourcePatch( is_19_41_or_greater = 244305000 <= playStoreServicesVersion is_19_43_or_greater = 244405000 <= playStoreServicesVersion is_19_46_or_greater = 244705000 <= playStoreServicesVersion + is_19_47_or_greater = 244799000 <= playStoreServicesVersion } } From 43c04216c6e647eaf6ad7e813eb5f0df0c108b77 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Sun, 1 Dec 2024 09:25:30 +0100 Subject: [PATCH 06/12] perf: Move variables to local scope --- .../patches/shared/misc/mapping/ResourceMappingPatch.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/mapping/ResourceMappingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/mapping/ResourceMappingPatch.kt index 4368bace0..8a9e499dd 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/mapping/ResourceMappingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/mapping/ResourceMappingPatch.kt @@ -12,12 +12,12 @@ lateinit var resourceMappings: List private set val resourceMappingPatch = resourcePatch { - val threadCount = Runtime.getRuntime().availableProcessors() - val threadPoolExecutor = Executors.newFixedThreadPool(threadCount) - val resourceMappings = Collections.synchronizedList(mutableListOf()) execute { + val threadCount = Runtime.getRuntime().availableProcessors() + val threadPoolExecutor = Executors.newFixedThreadPool(threadCount) + // Save the file in memory to concurrently read from it. val resourceXmlFile = get("res/values/public.xml").readBytes() From 6883a66b23fb04b1c40f3cf30fbba9e7d5fc4033 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 1 Dec 2024 08:28:06 +0000 Subject: [PATCH 07/12] chore: Release v5.2.1-dev.5 [skip ci] ## [5.2.1-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.4...v5.2.1-dev.5) (2024-12-01) ### Performance Improvements * Move variables to local scope ([43c0421](https://github.com/ReVanced/revanced-patches/commit/43c04216c6e647eaf6ad7e813eb5f0df0c108b77)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64a65501c..9460534ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [5.2.1-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.4...v5.2.1-dev.5) (2024-12-01) + + +### Performance Improvements + +* Move variables to local scope ([43c0421](https://github.com/ReVanced/revanced-patches/commit/43c04216c6e647eaf6ad7e813eb5f0df0c108b77)) + ## [5.2.1-dev.4](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.3...v5.2.1-dev.4) (2024-11-30) diff --git a/gradle.properties b/gradle.properties index 99625cbbc..840a770e7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.2.1-dev.4 +version = 5.2.1-dev.5 From 54fe947568302b194440ad6f3a1f86e86cb97e4e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 22:53:19 +0400 Subject: [PATCH 08/12] chore: Sync translations (#4039) --- .../addresources/values-ar-rSA/strings.xml | 4 +- .../addresources/values-az-rAZ/strings.xml | 4 +- .../addresources/values-be-rBY/strings.xml | 1 + .../addresources/values-bg-rBG/strings.xml | 4 +- .../addresources/values-bn-rBD/strings.xml | 1 + .../addresources/values-ca-rES/strings.xml | 1 + .../addresources/values-cs-rCZ/strings.xml | 4 +- .../addresources/values-da-rDK/strings.xml | 4 +- .../addresources/values-de-rDE/strings.xml | 4 +- .../addresources/values-el-rGR/strings.xml | 4 +- .../addresources/values-es-rES/strings.xml | 64 ++-- .../addresources/values-et-rEE/strings.xml | 1 + .../addresources/values-fa-rIR/strings.xml | 1 + .../addresources/values-fi-rFI/strings.xml | 4 +- .../addresources/values-fil-rPH/strings.xml | 1 + .../addresources/values-fr-rFR/strings.xml | 4 +- .../addresources/values-ga-rIE/strings.xml | 6 +- .../addresources/values-hi-rIN/strings.xml | 1 + .../addresources/values-hr-rHR/strings.xml | 1 + .../addresources/values-hu-rHU/strings.xml | 4 +- .../addresources/values-hy-rAM/strings.xml | 1 + .../addresources/values-in-rID/strings.xml | 4 +- .../addresources/values-is-rIS/strings.xml | 1 + .../addresources/values-it-rIT/strings.xml | 22 +- .../addresources/values-iw-rIL/strings.xml | 1 + .../addresources/values-ja-rJP/strings.xml | 3 +- .../addresources/values-ko-rKR/strings.xml | 4 +- .../addresources/values-lt-rLT/strings.xml | 2 + .../addresources/values-lv-rLV/strings.xml | 1 + .../addresources/values-ms-rMY/strings.xml | 1 + .../addresources/values-nb-rNO/strings.xml | 4 +- .../addresources/values-nl-rNL/strings.xml | 3 +- .../addresources/values-or-rIN/strings.xml | 1 + .../addresources/values-pl-rPL/strings.xml | 50 +-- .../addresources/values-pt-rBR/strings.xml | 129 ++++---- .../addresources/values-pt-rPT/strings.xml | 4 +- .../addresources/values-ro-rRO/strings.xml | 296 +++++++++--------- .../addresources/values-ru-rRU/strings.xml | 6 +- .../addresources/values-sk-rSK/strings.xml | 1 + .../addresources/values-sl-rSI/strings.xml | 1 + .../addresources/values-sq-rAL/strings.xml | 1 + .../addresources/values-sr-rCS/strings.xml | 8 +- .../addresources/values-sr-rSP/strings.xml | 8 +- .../addresources/values-sv-rSE/strings.xml | 3 +- .../addresources/values-ta-rIN/strings.xml | 1 + .../addresources/values-te-rIN/strings.xml | 1 + .../addresources/values-th-rTH/strings.xml | 1 + .../addresources/values-tr-rTR/strings.xml | 88 +++--- .../addresources/values-uk-rUA/strings.xml | 4 +- .../addresources/values-uz-rUZ/strings.xml | 1 + .../addresources/values-vi-rVN/strings.xml | 8 +- .../addresources/values-zh-rCN/strings.xml | 3 +- .../addresources/values-zh-rTW/strings.xml | 6 +- 53 files changed, 441 insertions(+), 345 deletions(-) diff --git a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml index 6ce35a509..513462cd6 100644 --- a/patches/src/main/resources/addresources/values-ar-rSA/strings.xml +++ b/patches/src/main/resources/addresources/values-ar-rSA/strings.xml @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t الهدف من تغيير إصدار التطبيق - 19.16.39 - استعادة أيقونات مشغل Shorts القديمة + 19.35.36 - استعادة أيقونات مشغل Shorts القديمة 18.33.40 - استعادة RYD على Shorts بوضع التخفي 18.20.39 - استعادة قائمة سرعة الفيديو العريضة & الجودة @@ -1249,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t إعدادات ReVanced + لمحة + لمحة عن ReVanced الإعلانات إعدادات حجب الإعلانات الدردشة diff --git a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml index 60d80b9e0..553593180 100644 --- a/patches/src/main/resources/addresources/values-az-rAZ/strings.xml +++ b/patches/src/main/resources/addresources/values-az-rAZ/strings.xml @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Saxta tətbiq versiyası hədəfi - 19.16.39 - Köhnə Shorts oynadıcı işarələrin bərpa et + 19.35.36 - Köhnə Shorts oynadıcı işarələrin bərpa et 18.33.40 - Shorts gizli rejimində RYD-ni bərpa et 18.20.39 - Geniş video sürəti & keyfiyyət menyusunu bərpa et @@ -1249,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced Tənzimləmələri + Haqqında + ReVanced haqqında Reklamlar Reklam əngəlləmə tənzimləmələri Söhbət diff --git a/patches/src/main/resources/addresources/values-be-rBY/strings.xml b/patches/src/main/resources/addresources/values-be-rBY/strings.xml index 406cdf61a..82bdf5da1 100644 --- a/patches/src/main/resources/addresources/values-be-rBY/strings.xml +++ b/patches/src/main/resources/addresources/values-be-rBY/strings.xml @@ -1113,6 +1113,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Налады ReVanced + Пра нас Аб\"явы Налады блакіроўкі рэкламы Чат diff --git a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml index 35aa18a4c..757eff2e5 100644 --- a/patches/src/main/resources/addresources/values-bg-rBG/strings.xml +++ b/patches/src/main/resources/addresources/values-bg-rBG/strings.xml @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Подлъгване за версията на - 19.16.39 - Възстановете старите икони на Shorts в плейъра + 19.35.36 - Възстановете старите икони на Shorts в плейъра 18.33.40 - Възстановете RYD в режим „инкогнито“ на Shorts 18.20.39 - Възстановяване на видео скорост & в менюто за качество @@ -1249,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Настройки на ReVanced + Относно + За ReVanced Реклами Настройки за блокиране на реклами Чатове diff --git a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml index 1e96ccff8..11426af23 100644 --- a/patches/src/main/resources/addresources/values-bn-rBD/strings.xml +++ b/patches/src/main/resources/addresources/values-bn-rBD/strings.xml @@ -1109,6 +1109,7 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced সেটিং + সম্পর্কিত বিজ্ঞাপন বিজ্ঞাপন বন্ধ করার সেটিং আলাপচারি diff --git a/patches/src/main/resources/addresources/values-ca-rES/strings.xml b/patches/src/main/resources/addresources/values-ca-rES/strings.xml index fb88431ce..650ad2a72 100644 --- a/patches/src/main/resources/addresources/values-ca-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-ca-rES/strings.xml @@ -250,6 +250,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + Quant a diff --git a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml index 70264b830..89ea7b4db 100644 --- a/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml +++ b/patches/src/main/resources/addresources/values-cs-rCZ/strings.xml @@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Cíl pro spontánní verzi aplikace - 19.16.39 - Obnovuje staré ikony Shorts přehrávače + 19.35.36 - Obnovuje staré ikony Shorts přehrávače 18.33.40 - Obnovení RYD v krátkém anonymním režimu 18.20.39 - Obnovení široké rychlosti videa & kvalitní menu @@ -1250,6 +1250,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Rozšířené nastavení + O aplikaci + O ReVanced Reklamy Nastavení blokování reklamy Chat diff --git a/patches/src/main/resources/addresources/values-da-rDK/strings.xml b/patches/src/main/resources/addresources/values-da-rDK/strings.xml index 3d77d8088..570b2df4a 100644 --- a/patches/src/main/resources/addresources/values-da-rDK/strings.xml +++ b/patches/src/main/resources/addresources/values-da-rDK/strings.xml @@ -953,7 +953,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Spoof app version mål - 19.16.39 - Gendan gamle Shorts spillerikoner + 19.35.36 - Gendan gamle Shorts player ikoner 18.33.40 - Gendan RYD på Shorts inkognitotilstand 18.20.39 - Gendan bred video hastighed & kvalitet menu @@ -1232,6 +1232,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Vigtigste Indstillinger + Om + Om ReVanced Annoncer Reklame blokeringsindstillinger Chat diff --git a/patches/src/main/resources/addresources/values-de-rDE/strings.xml b/patches/src/main/resources/addresources/values-de-rDE/strings.xml index a8107a9d4..4651b79ea 100644 --- a/patches/src/main/resources/addresources/values-de-rDE/strings.xml +++ b/patches/src/main/resources/addresources/values-de-rDE/strings.xml @@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Spoof-App-Versionsziel - 19.16.39 - Alte Shorts Spielersymbole wiederherstellen + 19.35.36 - Alte Shorts Spielersymbole wiederherstellen 18.33.40 - RYD auf Shorts Inkognito-Modus wiederherstellen 18.20.39 - Wiederherstellen der breiten Videogeschwindigkeit & Qualitätsmenü @@ -1250,6 +1250,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Verbesserte Einstellungen + Über + Über ReVanced Werbung Werbeblocker-Einstellungen Chat diff --git a/patches/src/main/resources/addresources/values-el-rGR/strings.xml b/patches/src/main/resources/addresources/values-el-rGR/strings.xml index e7802377a..3c82ea91a 100644 --- a/patches/src/main/resources/addresources/values-el-rGR/strings.xml +++ b/patches/src/main/resources/addresources/values-el-rGR/strings.xml @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Έκδοση τροποποίησης της εφαρμογής - 19.16.39 - Επαναφορά των παλαιών κουμπιών της οθόνης αναπαραγωγής των Shorts + 19.35.36 - Επαναφορά των παλιών εικονιδίων της οθόνης αναπαραγωγής Shorts 18.33.40 - Επαναφορά λειτουργικότητας του RYD στα Shorts σε λειτουργία ανώνυμης περιήγησης 18.20.39 - Επαναφορά ευρύτερου μενού ταχύτητας & ποιότητας βίντεο @@ -1249,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Ρυθμίσεις ReVanced + Ομάδα προγραμματιστών + Σχετικά με το ReVanced Διαφημίσεις Ρυθμίσεις αποκλεισμού διαφημίσεων Συνομιλία diff --git a/patches/src/main/resources/addresources/values-es-rES/strings.xml b/patches/src/main/resources/addresources/values-es-rES/strings.xml index 4d0976c36..fe93fe963 100644 --- a/patches/src/main/resources/addresources/values-es-rES/strings.xml +++ b/patches/src/main/resources/addresources/values-es-rES/strings.xml @@ -69,7 +69,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Acción necesaria MicroG GmsCore no tiene permiso para ejecutarse en segundo plano.\n\nSigue la guía \"No cerrar mi aplicación\" para tu teléfono y aplica las instrucciones a tu instalación de MicroG.\n\nEsto es necesario para que la aplicación funcione. Abrir sitio web - Las optimizaciones de la batería de MicroG GmsCore deben estar deshabilitadas para evitar problemas.\n\nPulse el botón continuar y desactive las optimizaciones de la batería. + Las optimizaciones de batería de MicroG GmsCore deben estar deshabilitadas para evitar problemas.\n\nPulse el botón continuar y desactive las optimizaciones de la batería. Continuar @@ -343,9 +343,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar resultados de búsqueda web Los resultados de búsqueda web están ocultos Se muestran los resultados de la búsqueda web - Ocultar banners de mercandise - Los banners de mercadería están ocultos - Se muestran los banners de Mercandise + Ocultar banners publicitarios + Los banners publicitarios están ocultos + Se muestran los banners publicitarios Ocultar anuncio solo con dispositivos viejos @@ -396,8 +396,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Habilitar toque en la barra de búsqueda - Seekbar toping está habilitado - Seekbar toping está desactivado + Toque de barra de búsqueda está habilitado + Toque de barra de búsqueda está desactivado Activar gesto de brillo @@ -437,8 +437,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Botones de acción Ocultar o mostrar botones en videos Ocultar me gusta y no me gusta - Botones \"Me gusta\" y \"no me gusta\" están ocultos - Se muestran botones \"Me gusta\" y \"no me gusta\" + Botones \"Me gusta\" y \"No me gusta\" están ocultos + Se muestran botones \"Me gusta\" y \"No me gusta\" Ocultar Compartir El botón Compartir está oculto @@ -470,7 +470,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Mostrar el botón Guardar a la lista - Navigation buttons + Botones de navegación Ocultar o cambiar botones en la barra de navegación Ocultar Principal @@ -483,13 +483,13 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar Crear El botón Crear está oculto - Se muestra el botón de crear + Se muestra el botón Crear - Ocultar suscripciones - El botón de suscripciones está oculto - Se muestra el botón de suscripciones + Ocultar Suscripciones + El botón Suscripciones está oculto + Se muestra el botón Suscripciones - Cambiar Create con notificaciones + Cambiar Crear con Notificaciones El botón Crear cambia con el botón de Notificaciones\n\nNota: Activar esto también oculta anuncios de vídeo por la fuerza El botón Crear no se cambia con el botón de notificaciones Ocultar etiquetas de botón de navegación @@ -497,12 +497,12 @@ This is because Crowdin requires temporarily flattening this file and removing t Las etiquetas se muestran - Flyout menu - Ocultar o mostrar elementos del menú de vuelo del jugador + Menú desplegable + Ocultar o mostrar elementos del menú desplegable del reproductor - Ocultar leyendas + Ocultar Subtítulos Menú de subtítulos oculto - Menú de subtítulos mostrado + Se muestra el menú de subtítulos Ocultar ajustes adicionales Menú de configuración adicional oculto @@ -513,18 +513,18 @@ This is because Crowdin requires temporarily flattening this file and removing t El menú de temporizador de sueño se muestra Ocultar video de bucle - El menú de video Loop está oculto - El menú de Loop video se muestra + El menú de video en bucle está oculto + El menú de vídeo en bucle se muestra - Ocultar modo ambiente - Menú de modo ambiente oculto - Se muestra el menú de modo ambiente + Ocultar Modo ambiente + Menú de Modo ambiente oculto + Se muestra el menú de Modo ambiente Ocultar volumen estable Se muestra el menú de volumen estable El menú de volumen estable está oculto - Ocultar Ayuda & Comentarios - El menú de ayuda & comentarios está oculto + Ocultar Ayuda & comentarios + El menú Ayuda & comentarios está oculto Se muestra el menú Ayuda & comentarios Ocultar velocidad de reproducción @@ -532,9 +532,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Mostrar menú de velocidad de reproducción - Ocultar más información - El menú de más información está oculto - Se muestra el menú de más información + Ocultar Más información + El menú Más información está oculto + Se muestra el menú Más información Ocultar pantalla de bloqueo El menú de la pantalla de bloqueo está oculto @@ -555,7 +555,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar botones de vídeo anteriores & siguiente Los botones están ocultos Los botones se muestran - Ocultar botón de reparto + Ocultar botón Transmitir El botón de envío a otros dispositivos está oculto El botón de envío a otros dispositivos es visible @@ -940,7 +940,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Has salvado personas de segmentos <b>%s</b> Pulsa aquí para ver las estadísticas globales y los mejores colaboradores Eso es <b>%s</b> de sus vidas.<br>Toca aquí para ver la tabla de clasificación - Te has saltado segmentos <b>%s</b> + Has omitido <b>%s</b> segmentos Eso es <b>%s</b> ¿Restablecer contador de segmentos saltados? %1$s horas %2$s minutos @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Destino de versión de la aplicación Spoof - 19.16.39 - Restaurar iconos antiguos del reproductor de Shorts + 19.35.36 - Restaurar iconos antiguos del reproductor de Shorts 18.33.40 - Restaurar RYD en Shorts de modo incógnito 18.20.39 - Restaurar la velocidad de vídeo ancha & menú de calidad @@ -1249,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Ajustes de ReVanced + Acerca de + Acerca de ReVanced Anuncios Ajustes de bloqueo de anuncios Chatear diff --git a/patches/src/main/resources/addresources/values-et-rEE/strings.xml b/patches/src/main/resources/addresources/values-et-rEE/strings.xml index b14c1e322..993234442 100644 --- a/patches/src/main/resources/addresources/values-et-rEE/strings.xml +++ b/patches/src/main/resources/addresources/values-et-rEE/strings.xml @@ -243,6 +243,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + Teave diff --git a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml index 644c21720..54a33df44 100644 --- a/patches/src/main/resources/addresources/values-fa-rIR/strings.xml +++ b/patches/src/main/resources/addresources/values-fa-rIR/strings.xml @@ -242,6 +242,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + درباره ما diff --git a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml index 8d6f000d3..ac320bc2b 100644 --- a/patches/src/main/resources/addresources/values-fi-rFI/strings.xml +++ b/patches/src/main/resources/addresources/values-fi-rFI/strings.xml @@ -965,7 +965,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Naamioitava kohdeversio - 19.16.39 - Vanhojen Shorts-pelaajan kuvakkeiden palauttaminen + 19.35.36 - Palauta vanhat Shorts-pelaajan kuvakkeet 18.33.40 - Palauita RYD Shorts-videoissa incognito-tilassa 18.20.39 - Palauta laaja videonopeus- ja laatuvalikko @@ -1251,6 +1251,8 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced-asetukset + Tietoja + Tietoja Keskeytetyistä Mainokset Mainosestoasetukset Keskustelu diff --git a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml index d780ab5a0..6b688c88a 100644 --- a/patches/src/main/resources/addresources/values-fil-rPH/strings.xml +++ b/patches/src/main/resources/addresources/values-fil-rPH/strings.xml @@ -1095,6 +1095,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Naka-disable ang twitch debug mode + Mga Tungkol Mga ad Mga setting ng pag-block ng ad Mga setting ng chat diff --git a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml index 9f69c7b45..1206ff790 100644 --- a/patches/src/main/resources/addresources/values-fr-rFR/strings.xml +++ b/patches/src/main/resources/addresources/values-fr-rFR/strings.xml @@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Falsifier la cible de version de l\'application - 19.16.39 - Restaurer les anciennes icônes de joueur à court terme + 19.35.36 - Restauration des anciennes icônes du lecteur de Shorts 18.33.40 - Restaurer RYD en mode incognito Shorts 18.20.39 - Restaurer une grande vitesse vidéo & menu qualité @@ -1250,6 +1250,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Réglages ReVanced + À propos + À propos de ReVanced Publicités Paramètres de blocage des publicités Discuter diff --git a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml index 84f07782f..199709e80 100644 --- a/patches/src/main/resources/addresources/values-ga-rIE/strings.xml +++ b/patches/src/main/resources/addresources/values-ga-rIE/strings.xml @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Sprioc leagan aip spoof - 19.16.39 - Athchóirigh sean-deilbhíní imreoir Shorts + 19.35.36 - Athchóirigh sean-deilbhíní imreoir Shorts 18.33.40 - Athchóirigh RYD ar mhodh incognito Shorts 18.20.39 - Athchóirigh luas leathan físe & roghchlár cáilíochta @@ -1205,7 +1205,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Níl díchódú crua-earraí VP9 ar do ghléas, agus bíonn an socrú seo ar siúl i gcónaí nuair atá spoofing Cliant cumasaithe Má dhéantar é seo a chumasú, d\'fhéadfadh sé go bhfeabhsófaí saol na gceallraí agus go n-athshocraigh sé stopáil athsheinm.\n\nTá uas-taifeach 1080p ag AVC, agus úsáidfidh athsheinm físe níos mó sonraí idirlín ná mar a úsáideann VP9 nó AV1. Fo-iarsmaí spoofing iOS + • Ní cheadaítear físeáin leanaí príobháideacha a sheinm\n• Tosaíonn sruthanna beo ón tús\n• Seans go gcríochnóidh físeáin 1 soicind go luath\n• Gan codec fuaime opus Fo-iarsmaí spoofing Android VR + • Ní fhéadfaidh físeáin leanaí a sheinm\n• Tá an roghchlár rian fuaime ar iarraidh\n• Níl an toirt cobhsaí ar fáil @@ -1247,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Socruithe ReVanced + Maidir + Maidir ReVanced Fógraí Socruithe blocála fógraí Comhrá diff --git a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml index 1a40a8c60..4ca0dc134 100644 --- a/patches/src/main/resources/addresources/values-hi-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-hi-rIN/strings.xml @@ -251,6 +251,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + विवरण diff --git a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml index bed50c2df..9d8a5fddd 100644 --- a/patches/src/main/resources/addresources/values-hr-rHR/strings.xml +++ b/patches/src/main/resources/addresources/values-hr-rHR/strings.xml @@ -242,6 +242,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + O aplikaciji diff --git a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml index 741cb7ebd..f8631eedd 100644 --- a/patches/src/main/resources/addresources/values-hu-rHU/strings.xml +++ b/patches/src/main/resources/addresources/values-hu-rHU/strings.xml @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Hamisított alkalmazásverzió célja - 19.16.39 - A régi Shorts lejátszó ikonok visszaállítása + 19.35.36 - A régi Shorts lejátszó ikonok visszaállítása 18.33.40 - RYD visszaállítása Shorts inkognitó módban 18.20.39 - Széles videósebesség és minőség menü visszaállítása @@ -1249,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced beállítások + Rólunk + ReVanced névjegy Hirdetések Hirdetés blokkolás beállításai Csevegés diff --git a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml index 83ffb23b0..5abb9a012 100644 --- a/patches/src/main/resources/addresources/values-hy-rAM/strings.xml +++ b/patches/src/main/resources/addresources/values-hy-rAM/strings.xml @@ -242,6 +242,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + Ծրագրի մասին diff --git a/patches/src/main/resources/addresources/values-in-rID/strings.xml b/patches/src/main/resources/addresources/values-in-rID/strings.xml index 2e7ddfd50..079b91245 100644 --- a/patches/src/main/resources/addresources/values-in-rID/strings.xml +++ b/patches/src/main/resources/addresources/values-in-rID/strings.xml @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Target versi app yang dipalsukan - 19.16.39 - Pulihkan ikon pemutar Shorts lama + 19.35.36 - Pulihkan ikon pemutar Shorts lama 18.33.40 - Pulihkan RYD pada mode penyamaran Shorts 18.20.39 - Pulihkan menu kecepatan & kualitas video lebar @@ -1249,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Pengaturan ReVanced + Tentang + Tentang ReVanced Iklan Pengaturan pemblokir iklan Obrolan diff --git a/patches/src/main/resources/addresources/values-is-rIS/strings.xml b/patches/src/main/resources/addresources/values-is-rIS/strings.xml index ebaeec424..7350387f6 100644 --- a/patches/src/main/resources/addresources/values-is-rIS/strings.xml +++ b/patches/src/main/resources/addresources/values-is-rIS/strings.xml @@ -242,6 +242,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + Um diff --git a/patches/src/main/resources/addresources/values-it-rIT/strings.xml b/patches/src/main/resources/addresources/values-it-rIT/strings.xml index 13c39716b..7c9f621fb 100644 --- a/patches/src/main/resources/addresources/values-it-rIT/strings.xml +++ b/patches/src/main/resources/addresources/values-it-rIT/strings.xml @@ -56,7 +56,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Importa / Esporta Importa / Esporta impostazioni ReVanced - Stai usando la versione <i>%s</i> di ReVanced Patches + Stai usando la versione <i>%s</i> delle Patch ReVanced Nota Questa versione è una pre-release e potresti riscontrare problemi inaspettati Link ufficiali @@ -129,7 +129,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Le sezioni sono visibili - Nascondi il pulsante \'Unisci\' + Nascondi il pulsante \'Abbonati\' Il pulsante è nascosto Il pulsante è visibile @@ -486,7 +486,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Il pulsante Crea è visibile Nascondi Iscrizioni - Il pulsante di sottoscrizioni è nascosto + Il pulsante Iscrizioni è nascosto Il pulsante Iscrizioni è visibile Cambia Crea con le notifiche @@ -789,7 +789,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Il pulsante Salta si nasconde dopo alcuni secondi Il pulsante Salta è visibile per tutta la durata del segmento Mostra una notifica quando un segmento è saltato automaticamente - La notifica è visibile quando un segmento è saltato automaticamente. Tocca qui per vedere un esempio + Mostra una notifica quando un segmento è saltato automaticamente. Tocca qui per vedere un esempio La notifica è nascosta. Tocca qui per vedere un esempio Mostra la durata del video senza segmenti La durata del video meno tutti gli eventuali segmenti, visibile tra parentesi accanto alla durata del video completo @@ -841,8 +841,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Simili agli Sponsor, ma sono promozioni non pagate o autopromozioni. Questo include segmenti sul merchandising, donazioni o informazioni dei collaboratori del video Promemoria di interazione (iscrizione) Un breve promemoria per piacere, iscriversi o seguirli nel mezzo dei contenuti. Se è lungo o su qualcosa di specifico, dovrebbe invece essere sotto auto-promozione - Evidenzia - La parte del video che la maggior parte delle persone sono alla ricerca + Momento saliente + La parte del video che la maggior parte delle persone sta cercando Interruzione/Animazione Introduzione Un intervallo senza contenuto effettivo. Potrebbe essere una pausa, un quadro statico o un\'animazione ripetitiva. Non include transizioni contenenti informazioni Conclusioni/titoli di coda @@ -858,7 +858,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Salta sponsor Salta promozione Salta promemoria - Salta al momento saliente + Vai al momento saliente Salta introduzione Salta intermezzo Salta intermezzo @@ -867,7 +867,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Salta anteprima Salta riepilogo Salta riempimento - Salta non-musica + Salta sezione non-musicale Salta segmento Sponsorizzazione saltata Autopromozione saltata @@ -962,8 +962,8 @@ This is because Crowdin requires temporarily flattening this file and removing t La versione dell\'app sarà camuffata ad una versione precedente di YouTube.\n\nQuesto cambierà l\'aspetto e le caratteristiche dell\'app, ma potrebbero verificarsi effetti collaterali sconosciuti.\n\nSe in seguito verrà disattivato, si consiglia di cancellare i dati dell\'app per evitare bug dell\'interfaccia. - Simula la versione dell\'app bersaglio - 19.16.39 - Ripristinare vecchie icone del player Shorts + Target della versione dell\'app desiderata + 19.35.36 - Ripristinare le vecchie icone del player Shorts 18.33.40 - Ripristina RYD negli Shorts in modalità incognito 18.20.39 - Ripristina velocità video larga & menu qualità @@ -1249,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Impostazioni di ReVanced + Informazioni + Informazioni su ReVanced Pubblicità Impostazioni blocco pubblicità Chat diff --git a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml index a897207c2..bfc7338d8 100644 --- a/patches/src/main/resources/addresources/values-iw-rIL/strings.xml +++ b/patches/src/main/resources/addresources/values-iw-rIL/strings.xml @@ -317,6 +317,7 @@ This is because Crowdin requires temporarily flattening this file and removing t הגדרות ReVanced + אודות שונות diff --git a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml index 69def95e0..c82a5ccb5 100644 --- a/patches/src/main/resources/addresources/values-ja-rJP/strings.xml +++ b/patches/src/main/resources/addresources/values-ja-rJP/strings.xml @@ -948,7 +948,6 @@ This is because Crowdin requires temporarily flattening this file and removing t アプリバージョンのターゲットを偽装する - 19.16.39 - 古いショーツプレーヤーアイコンを復元する 18.33.40 - シークレットモード使用時のShortsのRYDを復元 18.20.39 - ワイドビデオスピード & クオリティメニューを復元 @@ -1226,6 +1225,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Revancedの設定 + 情報 + ReVancedについて 広告 広告ブロックの設定 チャット diff --git a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml index 3839a2232..2548ae1e9 100644 --- a/patches/src/main/resources/addresources/values-ko-rKR/strings.xml +++ b/patches/src/main/resources/addresources/values-ko-rKR/strings.xml @@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 변경할 앱 버전 설정 - 19.16.39 - 이전 Shorts 플레이어 아이콘을 복원합니다 + 19.35.36 - 이전 Shorts 플레이어 아이콘을 복원합니다 18.33.40 - 시크릿 모드에서 Shorts RYD를 복원합니다 18.20.39 - 넓은 동영상 재생 속도 & 화질 메뉴를 복원합니다 @@ -1250,6 +1250,8 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced 설정 + 정보 + ReVanced 정보 광고 광고 차단을 설정할 수 있습니다 채팅 diff --git a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml index 11a332f98..9d36ba8c7 100644 --- a/patches/src/main/resources/addresources/values-lt-rLT/strings.xml +++ b/patches/src/main/resources/addresources/values-lt-rLT/strings.xml @@ -246,6 +246,8 @@ This is because Crowdin requires temporarily flattening this file and removing t + Apie + Apie „ReVanced“ diff --git a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml index ebbcd586a..22d09a13b 100644 --- a/patches/src/main/resources/addresources/values-lv-rLV/strings.xml +++ b/patches/src/main/resources/addresources/values-lv-rLV/strings.xml @@ -243,6 +243,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + Par diff --git a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml index 13c885612..d53ecc993 100644 --- a/patches/src/main/resources/addresources/values-ms-rMY/strings.xml +++ b/patches/src/main/resources/addresources/values-ms-rMY/strings.xml @@ -242,6 +242,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + Tentang diff --git a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml index 7c385b532..3f1432e96 100644 --- a/patches/src/main/resources/addresources/values-nb-rNO/strings.xml +++ b/patches/src/main/resources/addresources/values-nb-rNO/strings.xml @@ -942,7 +942,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Spoof app-versjonen mål - 19.16.39 - Gjenopprett gamle Shorts-spillerikoner + 19.35.36 - Gjenopprett gamle Shorts-spillerikoner 18.33.40 - Gjenopprett RYD på Shorts incognito-modus 18.20.39 - Gjenopprette bred videokastighet & kvalitetsmeny @@ -1219,6 +1219,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Forbedret innstillinger + Om + Om ReVanced Reklame Innstillinger for annonseblokkering Samtale diff --git a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml index 216edb0a7..644be3566 100644 --- a/patches/src/main/resources/addresources/values-nl-rNL/strings.xml +++ b/patches/src/main/resources/addresources/values-nl-rNL/strings.xml @@ -955,7 +955,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Spoof app versie doel - 19.16.39 - Herstel oude knipisten speler iconen 18.33.40 - Herstel RYD op incognito modus 18.20.39 - Herstel brede videosnelheid & kwaliteitsmenu @@ -1235,6 +1234,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Verbeterde instellingen + Over + Over ReVanced Advertenties Instellingen voor advertentieblokkering Chatten diff --git a/patches/src/main/resources/addresources/values-or-rIN/strings.xml b/patches/src/main/resources/addresources/values-or-rIN/strings.xml index 91ed73878..85928d645 100644 --- a/patches/src/main/resources/addresources/values-or-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-or-rIN/strings.xml @@ -240,6 +240,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + ସମ୍ବନ୍ଧରେ diff --git a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml index 5aae75249..0e47f991e 100644 --- a/patches/src/main/resources/addresources/values-pl-rPL/strings.xml +++ b/patches/src/main/resources/addresources/values-pl-rPL/strings.xml @@ -638,15 +638,15 @@ This is because Crowdin requires temporarily flattening this file and removing t Przycisk szablonu Przycisk szablonu jest ukryty Przycisk szablonu jest widoczny - Ukryj nadchodzący przycisk - Przychodzący przycisk jest ukryty - Przychodzący przycisk jest pokazany + Przycisk od nadchodzących wydarzeń + Przycisk nadchodzących jest ukryty + Przycisk nadchodzących jest widoczny Przycisk od greenscreena Przycisk od greenscreena jest ukryty Przycisk od greenscreena jest widoczny Przycisk hashtagu - Przycisk Hashtagu jest ukryty - Przycisk Hashtagu jest widoczny + Przycisk hashtagu jest ukryty + Przycisk hashtagu jest widoczny Sugestie wyszukiwania Sugestie wyszukiwania są ukryte Sugestie wyszukiwania są widoczne @@ -679,13 +679,13 @@ This is because Crowdin requires temporarily flattening this file and removing t Pasek kanału Pasek kanału jest ukryty Pasek kanału jest widoczny - Ukryj tytuł filmu + Tytuł filmu Tytuł jest ukryty Tytuł jest widoczny - Ukryj etykietę metadanych dźwięku + Etykieta z metadanymi dźwięku Etykieta metadanych jest ukryta Etykieta metadanych jest widoczna - Etykiety z linkami do całych filmów + Etykieta z linkami do całych filmów Etykieta linku do filmu jest ukryta Etykieta linku do filmu jest widoczna Przycisk dźwięku @@ -739,7 +739,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Komunikat o niedostępności API Komunikat jest wyświetlany, jeśli Return YouTube Dislike nie jest dostępny Komunikat nie jest wyświetlany, jeśli Return YouTube Dislike nie jest dostępny - O programie + O aplikacji Dane są dostarczane przez API Return YouTube Dislike. Dotknij tutaj, aby dowiedzieć się więcej Statystyki ReturnYouTubeDislike tego urządzenia @@ -863,7 +863,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Pomiń wprowadzenie Pomiń przerywnik Pomiń przerywnik - Skip outro + Pomiń zakończenie Pomiń podgląd Pomiń podgląd Pomiń podsumowanie @@ -910,7 +910,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Brak segmentów do zagłosowania Wybierz kategorię segmentu Kategoria jest wyłączona w ustawieniach. Włącz kategorię do wysłania. - Nowy segment SponsorBlock\'a + Nowy segment SponsorBlocka Ustawić %s jako początek lub koniec nowego segmentu? początek koniec @@ -953,23 +953,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Nieprawidłowy kod koloru Resetuj kolor Resetuj - O programie + O aplikacji Dane są dostarczane przez API SponsorBlock. Dotknij tutaj, aby dowiedzieć się więcej i pobrać na inne platformy Oszukiwanie wersji aplikacji - Włączone - Wyłączone + Oszukiwanie wersji jest włączone + Oszukiwanie wersji jest wyłączone Wersja aplikacji zostanie oszukana do starszej wersji YouTube.\n\nZmieni to wygląd i zachowanie aplikacji, lecz mogą wystąpić nieznane efekty uboczne.\n\nJeśli później zostanie to wyłączone, zaleca się wyczyszczenie danych aplikacji, aby zapobiec błędom interfejsu. Docelowa oszukiwana wersja aplikacji - 19.16.39 - Przywróć stare ikony odtwarzacza Shortsów + 19.35.36 - Przywraca stare ikony odtwarzacza Shortsów - 18.33.40 - Przywróć RYD w trybie incognito Shortsów - 18.20.39 - Przywracanie szerokiej prędkości wideo & menu jakości - 18.09.39 - Przywróć kartę bibliotek - 17.33.42 - Przywróć stary układ playlisty + 18.33.40 - Przywraca RYD w trybie incognito dla Shortsów + 18.20.39 - Przywraca szerokie menu prędkości i jakości filmu + 18.09.39 - Przywraca kartę biblioteki + 17.33.42 - Przywraca starą półkę do playlist Strona startowa @@ -1029,14 +1029,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Gest przeciągnięcia i upuszczenia włączony\n\nMiniodtwarzacz można przeciągnąć do dowolnego rogu ekranu Gest przeciągnięcia i upuszczenia wyłączony Gest przeciągania w poziomie - Włączony\n\nMiniodtwarzacz można przeciągnąć poza ekran w lewo lub prawo + Gest przeciągania w poziomie jest włączony\n\nMiniodtwarzacz można przeciągnąć poza ekran w lewo lub prawo Gest przeciągania w poziomie jest wyłączony Przycisk zamykania Przycisk zamykania jest ukryty Przycisk zamykania jest widoczny Przyciski rozszerzania i zamykania - Przycisk są ukryte\n\nPrzesuń palcem, aby rozszerzyć lub zamknąć - Widoczne + Przyciski są ukryte\n\nPrzesuń palcem, aby rozszerzyć lub zamknąć + Przyciski są widoczne Podteksty Podteksty są ukryte Podteksty są widoczne @@ -1196,8 +1196,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Oszukaj strumienie filmu Oszukuje strumienie filmu klienta, aby zapobiec problemom z odtwarzaniem Oszukaj strumienie filmu - Włączone - Wyłączone\n\nOdtwarzanie filmu może nie działać poprawnie + Oszukiwanie strumienia jest włączone + Oszukiwanie strumienia jest wyłączone\n\nOdtwarzanie filmu może nie działać poprawnie Wyłączenie tej opcji może spowodować problemy z odtwarzaniem filmów. Domyślny klient Wymuś AVC (H.264) @@ -1250,6 +1250,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Ustawienia ReVanced + O nas + O ReVanced Reklamy Ustawienia blokowania reklam Czat diff --git a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml index 282665310..d7db760c4 100644 --- a/patches/src/main/resources/addresources/values-pt-rBR/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rBR/strings.xml @@ -118,13 +118,13 @@ This is because Crowdin requires temporarily flattening this file and removing t Cartões de álbum não estão ocultos Ocultar caixa de financiamento coletivo Caixa de financiamento coletivo está oculta - Caixa de financiamento coletivo não está oculta + Caixa de financiamento coletivo é mostrada Ocultar botão de microfone flutuante Botão microfone está oculto Botão microfone não está oculto Ocultar marca d\'água do canal Marca d\'água está oculta - Marca d\'água não está oculta + Marca d\'água é mostrada Ocultar prateleiras horizontais Prateleiras estão ocultas, tais como:\n• Ultimas notícias\n• Continuar assistindo\n• Canais para você\n• Compras\n• Assista novamente Prateleiras não estão ocultos @@ -132,16 +132,16 @@ This is because Crowdin requires temporarily flattening this file and removing t This appears in the video player for certain videos. --> Ocultar botão \'Seja membro\' Botão está oculto - Botão não está oculto + O botão é mostrado Ocultar prateleira \'Para você\' na página do canal Prateleira está oculta - Prateleira não está oculta + A prateleira é mostrada Ocultar botão \'Notificar-me\' Botão está oculto - Botão não está oculto + O botão é mostrado Ocultar as recomendações \"As pessoas também assistiram\" Recomendações estão ocultas @@ -150,22 +150,22 @@ This is because Crowdin requires temporarily flattening this file and removing t This button usually appears when searching for a YT creator. --> Ocultar botão \'Mostrar mais\' Botão está oculto - Botão não está oculto + O botão é mostrado Ocultar reações cronometradas Reações cronometradas estão ocultas Reações cronometradas não estão ocultas - Ocultar cabeçalho de prateleira de resultados de busca - Cabeçalho da prateleira está oculto - Cabeçalho da prateleira não está oculto + Ocultar a prateleira de imagens no resultado da pesquisa + A prateleira de imagens está oculta + A prateleira de imagens é mostrada Ocultar diretrizes de canal Diretrizes de canal está oculto Diretrizes de canal não estão ocultos Ocultar prateleira de cartões Prateleira de cartões estão ocultas - Prateleira de cartões não estão ocultas + A prateleira de cartões são mostradas Ocultar cartão expansível em vídeos Cartão expansível está oculto - Cartão expansível não está oculto + O cartão expansível é mostrado Ocultar publicações da comunidade Publicações da comunidade está oculto Publicações da comunidade não está oculto @@ -174,10 +174,10 @@ This is because Crowdin requires temporarily flattening this file and removing t Banners compactos não estão ocultos Ocultar seção de filmes Seção de filmes está oculto - Seção de filmes não está oculto + A seção de filmes é mostrada Ocultar pesquisas na tela inicial Pesquisas na tela inicial está oculto - Pesquisas na tela inicial não está oculto + As pesquisas de feed são mostradas Ocultar diretrizes da comunidade Diretrizes da comunidade está oculto Diretrizes da comunidade não está oculto @@ -186,22 +186,22 @@ This is because Crowdin requires temporarily flattening this file and removing t Diretrizes da comunidade de inscritos não está oculto Ocultar prateleira de membros do canal Prateleira de membros do canal está oculto - Prateleira de membros do canal não está oculto + A prateleira dos membros do canal é mostrada Ocultar caixas de emergência Caixas de emergência estão oculto Caixas de emergência não estão ocultas Ocultar painel de informações Painel de informações está oculto - Painel de informações não está oculto + O painel de informações é mostrado Ocultar painel médico Painel médico está oculto - Painel médico não está oculto + Os painéis médicos são mostrados Ocultar barra de canais Barra de canal está oculta - Barra de canal não está oculta - Ocultar Reprodução - Reproduzíveis estão ocultos - Reproduzíveis não estão ocultos + A barra de canal é mostrada + Ocultar Playables + Os Playables estão ocultos + Os Playables são mostrados Ocultar ações rápidas em tela cheia Ações rápidas estão ocultas Ações rápidas não estão ocultas @@ -210,16 +210,16 @@ This is because Crowdin requires temporarily flattening this file and removing t Vídeos relacionados não estão ocultos Ocultar prateleira de imagens nos resultados da pesquisa Prateleira de imagem está oculta - Prateleira de imagem não está oculta + A prateleira de imagem é mostrada Ocultar últimas publicações Últimas publicações estão ocultas Últimas publicações não estão ocultas Ocultar playlists de mix Playlists de mix estão ocultas - Playlists de mix não estão ocultas + As playlists de mix são mostradas Ocultar cartões do artista Cartões do artista estão ocultas - Cartões do artista não estão ocultas + Os cartões de artista são mostrados Ocultar seção de atributos \'Locais em destaque\', Seções de Jogos e Músicas estão ocultas \'Locais em destaque\', Seções de Jogos e Músicas são mostrados @@ -231,13 +231,13 @@ This is because Crowdin requires temporarily flattening this file and removing t A seção \'Explorar o podcast\' é mostrada Ocultar seção de cartões de informações Seção de cartões de informações está oculto - Seção de cartões de informações não está oculto + A seção de cartões de informações é mostrada Ocultar a seção \'Conceitos-chave\' A seção \'Conceitos-chave\' está oculta A seção \'Conceitos-chave\' é mostrada Ocultar seção de transcrição Seção de transcrição está oculta - Seção de transcrição não está oculta + A seção de transcrição é mostrada Descrição do vídeo Ocultar ou mostrar componentes de descrição do vídeo Barra de filtro @@ -255,26 +255,26 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar ou mostrar componentes da seção de comentários Ocultar cabeçalho \'Comentários por membros\' O cabeçalho \'Comentários dos membros\' está oculto - O cabeçalho \'Comentários dos membros\' é exibido + O cabeçalho \'Comentários dos membros\' é mostrado Ocultar seção de comentários Seção de comentários está oculta - Seção de comentários exibida + A seção de comentários é mostrada Ocultar botão \'Criar um Short\' O botão \'Criar um Short\' está oculto - O botão \'Criar um Short\' é exibido + O botão \'Criar um Short\' é mostrado Ocultar prévia de comentário Prévia de comentário está oculta - Prévia de comentário não está oculta + A prévia de comentário é exibida Ocultar botão valeu Botão valeu está oculto - Botão valeu não está oculto + O botão valeu é mostrada Ocultar botões de tempo e emoji Os botões de cronograma e emoji estão ocultos Botões de tempo e emoji são mostrados Ocultar Doodles do YouTube Doodles na barra de pesquisa estão ocultos - Doodles na barra de pesquisa estão ativos + Os Doodles na barra de pesquisa são mostrados Doodles do YouTube aparecem alguns dias por ano.\n\nSe um Doodle estiver ativo em sua região e esta configuração de ocultação estiver ativada, a barra de filtros abaixo da barra de pesquisa também será oculta. Filtro personalizado Ocultar componentes usando filtros personalizados @@ -315,7 +315,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar anúncios gerais Anúncios gerais estão ocultos - Anúncios gerais não estão ocultos + Os anúncios gerais são mostrados Ocultar anúncios em tela cheia Os anúncios de tela cheia são ocultos\n\nEste recurso está disponível apenas para dispositivos mais antigos Anúncios em tela cheia não estão ocultos @@ -330,23 +330,23 @@ This is because Crowdin requires temporarily flattening this file and removing t Cartões autopatrocinados não estão ocultos Ocultar banner ver os produtos Banner está oculto - Banner não está oculto + O banner é mostrado Ocultar painel de compras do reprodutor O painel de compras está oculto - O painel de compras será exibido + O painel de compras vai ser mostrado Ocultar links de compras na descrição do vídeo Links de compras estão ocultos Links de compras não estão ocultos Ocultar o botão \'Visitar loja\' nas páginas dos canais Botão está oculto - Botão não esta oculto + O botão é mostrado Ocultar resultados de busca web Resultados de busca web estão ocultos - Resultados de busca web não estão ocultos + Os resultados de busca web são mostrados Ocultar banners de mercadoria Os banners de mercadoria estão ocultos - Os banners de mercadoria não estão ocultos + Os banners de mercadorias são mostrados Ocultar anúncios em tela cheia só funciona com dispositivos antigos @@ -364,16 +364,16 @@ This is because Crowdin requires temporarily flattening this file and removing t URL copiada para a área de transferência URL com tempo copiado Mostrar botão copiar URL no vídeo - Botão é exibido. Toque para copiar a URL do vídeo. Toque e segure para copiar a URL do vídeo com tempo - Botão não está visível + O botão é mostrado. Toque para copiar a URL do vídeo. Toque e segure para copiar a URL do vídeo com tempo + O botão não está visível Mostrar botão copiar URL com tempo - Botão é exibido. Toque para copiar a URL do vídeo com temo. Toque e segure para copiar vídeos sem tempo - Botão não está visível + O botão é mostrado. Toque para copiar a URL do vídeo com temo. Toque e segure para copiar vídeos sem tempo + O botão não está visível Remover diálogo de restrição Diálogo foi removido - Diálogo não foi removido + O diálogo vai ser mostrado Isto não ignora a restrição de idade, apenas a aceita automaticamente. @@ -443,32 +443,32 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar Compartilhar Botão compartilhar está oculto - Botão compartilhar não está oculto + O botão compartilhar é mostrado Ocultar Denúncia Botão de denúncia está oculto - Botão de denúncia não está oculto + O botão de denúncia é mostrado Ocultar Remix Botão remix está oculto - Botão remix não está oculto + O botão remix é mostrado Ocultar Download Botão download está oculto - Botão download não está oculto + O botão download é mostrado Ocultar Valeu Botão valeu está oculto - Botão valeu não está oculto + O botão valeu é mostrado Ocultar Clipe Botão clipe está oculto - Botão clipe não está oculto + O botão clipe é mostrado Ocultar Salvar Botão salvar na playlist está oculto - Botão salvar na playlist não está oculto + O botão salvar na playlist é mostrado Botões de navegação @@ -476,7 +476,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar Início Botão de início está oculto - Botão de início não está oculto + O botão de início é mostrado Ocultar Shorts O botão Shorts está oculto @@ -484,11 +484,11 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar Criar Botão criar está oculto - Botão criar não está oculto + O botão criar é mostrado Ocultar Inscrições Botão inscrições está oculto - Botão inscrições não está oculto + O botão inscrições é mostrado Mudar botão Criar por Notificações O botão Criar é alternado com o botão Notificações\n\nNota: Ativar isso também forçar a ocultação de anúncios de vídeo @@ -503,39 +503,39 @@ This is because Crowdin requires temporarily flattening this file and removing t Ocultar Legendas Menu legendas está oculto - Menu legendas não está oculto + O menu legendas é mostrado Ocultar Configurações adicionais Menu de configurações adicionais está oculto - Menu de configurações adicionais não está oculto + O menu de configurações adicionais é mostrado Ocultar Timer de suspensão O menu Timer de suspensão está oculto - O menu Timer de suspensão será exibido + O menu do timer de suspensão é mostrado Ocultar Vídeo em Loop Menu de vídeo em loop está oculto - Menu de vídeo em loop não está oculto + O menu de vídeo em loop é mostrado Ocultar Modo ambiente Menu do modo ambiente está oculto - Menu do modo ambiente não está oculto + O menu do modo ambiente é mostrado Ocultar Volume estável - O menu de Volume estável será exibido + O menu de volume estável será exibido O menu de Volume estável está oculto Ocultar Ajuda & Feedback Menu ajuda & opinião está oculto - Menu ajuda & opinião não está oculto + O menu de ajuda & feedback é mostrado Ocultar Velocidade da reprodução Menu velocidade da reprodução está oculto - Menu velocidade da reprodução não está oculto + O menu velocidade da reprodução é mostrado Ocultar Mais informações Menu mais Informações está oculto - Menu mais Informações não está oculto + O menu mais Informações é mostrado Ocultar Tela de bloqueio Menu tela de bloqueio está oculto @@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Versão de spoofing alvo - 19.16.39 - Restaurar ícones antigos do player dos Shorts + 19.35.36 - Restaurar ícones antigos do player dos Shorts 18.33.40 - Restaurar RYD no modo de navegação anônima nos Shorts 18.20.39 - Restaurar a velocidade de vídeo ampla & menu de qualidade @@ -1014,6 +1014,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Tipo de miniplayer Desativado Original + Mínimo Tablet Moderno 1 Moderno 2 @@ -1205,7 +1206,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Seu dispositivo não possui decodificação de VP9 por hardware, e esta configuração está sempre ligada quando o spoofing do cliente está ativado Ativar isso pode melhorar a duração da bateria e corrigir falhas na reprodução.\n\nO AVC tem uma resolução máxima de 1080p, e a reprodução de vídeo usará mais dados de internet do que o VP9 ou o AV1. Efeitos colaterais do spoofing de iOS + • Vídeos privados para crianças não podem ser reproduzidos\n• As transmissões ao vivo começam do início\n• Os vídeos podem terminar 1 segundo antes\n• Nenhum codec de áudio opus Efeitos colaterais do spoofing de Android VR + • Os vídeos infantis podem não ser reproduzidos\n• O menu da faixa de áudio está ausente\n• O volume estável não está disponível @@ -1247,6 +1250,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Configurações do ReVanced + Sobre + Sobre ReVanced Anúncios Configurações de bloqueio de anúncios Bate-papo diff --git a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml index 1a1a37b4a..37b4cbb0d 100644 --- a/patches/src/main/resources/addresources/values-pt-rPT/strings.xml +++ b/patches/src/main/resources/addresources/values-pt-rPT/strings.xml @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Destaque de versão do app - 19.16.39 - Restaurar os icones antigos do reprodutor dos Shorts + 19.35.36 - Restaurar os icones antigos do reprodutor dos Shorts 18.33.40 - Restaurar RYD em Modo Curto Incógnito 18.20.39 - Restaurar menu de qualidade de vídeo & @@ -1249,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Configurações Avançadas + Sobre + Sobre ReVanced Anúncios Configurações de bloqueio de anúncios Bate-papo diff --git a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml index f3c2f98ad..22ebef1b4 100644 --- a/patches/src/main/resources/addresources/values-ro-rRO/strings.xml +++ b/patches/src/main/resources/addresources/values-ro-rRO/strings.xml @@ -33,31 +33,31 @@ This is because Crowdin requires temporarily flattening this file and removing t - Verificări eșuate + Verificările au eșuat Deschide site-ul oficial Ignoră <h5>Se pare că aplicația nu este modificată de dv.</h5><br>Este posibil ca aplicația să nu funcționeze corect, <b>să dăuneze dispozitivului sau să prezinte un pericol la utilizare</b>.<br><br>Simpla existență a acestor verificări sugerează faptul că aplicația este modificată în prealabil sau obținută de la altcineva: <br><br><small>%1$s</small><br>Recomandăm cu tărie <b>dezinstalarea și modificarea manuală a acestei aplicații</b> pentru a vă asigura că aplicația pe care o folosiți este validă și sigură.<p><br>După ignorare, mesajul nu va mai fi afișat decât o a doua oară. - Patchat pe un alt dispozitiv - Nu este instalat de ReVanced Manager - Patchat acum mai mult de 10 minute - Patchat %s zile în urmă - Data construcției APK este coruptă + Modificată pe un alt dispozitiv + Nu este instalată de ReVanced Manager + Modificat de mai mult de 10 minute + Modificat cu %s zile în urmă + Data de compilare a fișierului APK este coruptă ReVanced Doriți să continuați? - Resetează - Reîmprospătați și reporniți + Resetare + Reîmprospătare și repornire Repornire Importare Copiere - Setările revizuite se resetează la valorile implicite + Setările ReVanced vor fi reinițializate Setări %d importate Importul a eșuat: %s - Importă / Exportă - Setări Import / Export ReVanced + Importați / Exportați + Importați / Exportați setări ReVanced - Folosiți ReVanced Patch-uri versiunea <i>%s</i> + Folosiți versiunea <i>%s</i> a ReVanced Patches Notă Această versiune este o pre-lansare și este posibil să întâmpinați probleme neașteptate Link-uri oficiale @@ -77,10 +77,10 @@ This is because Crowdin requires temporarily flattening this file and removing t Despre - Anunţuri + Publicitate Miniaturi alternative Flux - Jucător + Player Structura generală Bară de căutare Controale glisare @@ -110,9 +110,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Eroare la dezactivare toasts ascunde toate notificările de eroare ReVanced\n\nNu veți fi notificat de niciun eveniment neașteptat. - Dezactivează ca / abonare strălucire buton - Butonul Îmi place și abonare nu va străluci când este menționat - Butonul de like-uri și abonare va străluci când este menționat + Dezactivare strălucire butoane „Apreciez“ și „Abonare“ + Butoanele nu vor străluci când sunt menționate în clip + Butoanele vor străluci când sunt menționate în clip Ascundeți cardurile de album Cardurile de album sunt ascunse Cardurile de album sunt afișate @@ -126,7 +126,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Marcajul este ascuns Se afișează filigran Ascunde rafturile orizontale - Proiectilele sunt ascunse ca:\n• Întrerupe știrile\n• Continuă să urmărești\n• Explorează mai multe canale\n• Cumpărături\n• Urmărește din nou + Sunt ascunse recomandări, precum:\n• Știri de ultimă oră\n• Continuați urmărirea\n• Explorați mai multe canale\n• Cumpărături\n• Urmăriți din nou Se afişează rafturi @@ -143,7 +143,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Butonul este ascuns Butonul este afișat - Ascunde recomandările \'Oameni urmăriți\' + Ascundeți recomandările „Specatorii vizionează și acest videoclip“ Recomandările sunt ascunse Recomandările sunt afișate Lista șirurilor constructorului traiectoriei componentei pentru filtrarea separată de o linie nouă Filtru personalizat nevalid: %s - Ascundeți conținutul cuvântului cheie - Ascundeți căutarea și hrănirea videoclipurilor folosind filtre de cuvinte cheie - Ascunde videoclipurile de acasă după cuvintele cheie - Videoclipurile din fila principală sunt filtrate de cuvinte cheie - Videoclipurile din fila principală nu sunt filtrate de cuvintele cheie - Ascunde abonarea videoclipurilor după cuvintele-cheie - Videoclipurile din fila abonamente sunt filtrate de cuvinte cheie - Videoclipurile din fila abonamente nu sunt filtrate de cuvinte cheie - Ascunde rezultatele căutării după cuvinte cheie - Rezultatele căutării sunt filtrate după cuvintele cheie - Rezultatele căutării nu sunt filtrate de cuvinte cheie + Ascundere conținut după cuvinte cheie + Ascundeți videoclipuri din flux după cuvinte cheie + Ascundeți videoclipuri de pe pagina „Acasă“ după cuvinte cheie + Videoclipurile de pe pagina „Acasă“ sunt filtrate + Videoclipurile de pe pagina „Acasă“ nu sunt filtrate + Ascundeți videoclipuri de pe pagina „Abonamente“ după cuvinte cheie + Videoclipurile de pe pagina „Abonamente“ sunt filtrate + Videoclipurile de pe pagina „Abonamente“ nu sunt filtrate + Ascundeți rezultate ale căutării după cuvinte cheie + Rezultatele sunt filtrate după cuvinte cheie + Rezultatele nu sunt filtrate după cuvinte cheie Cuvinte cheie de ascuns - Cuvinte cheie și fraze de ascuns, separate prin linii noi\n\nCuvintele cheie pot fi nume de canal sau orice text afișat în titlurile video\n\nCuvinte cu litere mari în mijloc trebuie să fie introduse cu caseta (ex: iPhone, TikTok, LeBlanc) - Despre filtrarea cuvintelor cheie - Potrivește cuvinte întregi + Cuvinte cheie și fraze de ascuns, separate prin linii noi\n\nCuvintele cheie pot fi nume de canal sau orice text afișat în titlurile video\n\nCuvinte cu litere mari în mijloc trebuie să fie introduse corespunzător (ex: iPhone, TikTok, LeBlanc) + Despre filtrarea după cuvinte cheie + Paginile „Acasă“, „Abonamente“ și cea pentru rezultatele căutării sunt filtrate după o serie de fraze sau cuvinte cheie pentru a ascunde conținut.\n\nLimitări:\n• Videoclipurile scurte nu pot fi ascunse după numele canalui\n• Unele componente ale interfeței nu pot fi ascunse\n• Căutări după cuvinte din listă pot să nu returneze niciun rezultat + Filtrare după cuvinte întregi - Supravieţuirea unui cuvânt cheie/frază cu ghilimele duble va preveni meciurile parţiale ale titlurilor video şi numelui canalelor<br><br>De exemplu,<br><b>\"ai\"</b> va ascunde video-ul: <b>How does AI work?</b><br>dar nu se va ascunde: <b>What does fair use mean?</b> + Încadrarea unui cuvânt în ghilimele va împiedica filtrarea potrivirilor parțiale din cadrul titlurilor clipurilor sau a numelor canalelor<br><br>Spre exemplu,<br><b>\"ai\"</b> va ascunde clipul: <b>How does AI work?</b>,<br>dar nu va ascunde: <b>What does fair use mean?</b>. Nu se poate folosi cuvantul cheie: %s Adaugă oferte pentru a utiliza cuvântul cheie: %s @@ -365,9 +366,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Afișare buton copie URL Butonul este afișat. Atingeți pentru a copia URL-ul video. Atingeți și țineți apăsat pentru a copia URL-ul video cu marcajul de timp Butonul nu este afișat - Afișare buton copie marcaj URL - Butonul este afișat. Atingeți pentru a copia URL-ul video cu marcajul de timp. Atingeți și țineți apăsat pentru a copia videoclipul fără marcaj de timp - Butonul nu este afișat + Afișați butonul pentru copierea URL-ului cu marcaj de timp + Butonul este afișat. Apăsați pentru a copia URL-ul cu marcaj de timp. Țineți apăsat pentru a copia URL-ul simplu. + Butonul este ascuns Eliminați dialogul discreționar al vizualizatorului @@ -429,16 +430,16 @@ This is because Crowdin requires temporarily flattening this file and removing t Cantitatea de prag pentru a glisa - Dezactivează subtitrările automate - Legendele automate sunt dezactivate - Legenda automată este activată + Dezactivare subtitrări automate + Subtitrările automate sunt dezactivate + Subtitrările automate sunt activate Butoane de acţiune Ascunde sau arată butoanele sub videoclipuri - Ascunde Like și Dislike - Butoanele Like și Dislike sunt ascunse - Butoanele Like și Dislike sunt afișate + Ascunde butoanele „Apreciez“ și „Nu apreciez“ + Butoanele „Apreciez“ și „Nu apreciez“ sunt ascunse + Butoanele „Apreciez“ și „Nu apreciez“ sunt afișate Ascunde Partajarea Butonul de distribuire este ascuns @@ -490,7 +491,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Butonul Abonamente este afișat Comutare creare cu notificări - Butonul Creare este comutat cu butonul Notificări\n\nNotă: Activarea acestui buton și ascunderea forțată a anunțurilor video + Pozițiile butoanelor „Creează“ și „Notificări” sunt interschimbate\n\nNotă: Această setare ascunde forțat anunțurile video Butonul Creare nu este comutat cu butonul Notificări Ascunde etichetele butoanelor de navigare Etichetele sunt ascunse @@ -555,9 +556,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ascunde butoanele anterioare & următorul video Butoanele sunt ascunse Butoanele sunt afișate - Ascunde butonul de redare - Butonul de distribuție este ascuns - Butonul de execuție este afișat + Ascunde butonul „Proiectează“ + Butonul este ascuns + Butonul este afișat Ascunde butonul de legendă Butonul subtitrari este ascuns @@ -595,7 +596,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Pictograma bara de căutare este afișată - Player pentru Shorts + Player pentru videoclipuri scurte Ascunde Short din feed-ul de acasă Shorts în fluxul de acasă sunt ascunse @@ -615,7 +616,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Ascunde butonul de abonare Butonul Abonare este ascuns Butonul Abonare este afișat - Ascunde butoanele de suprapunere întrerupte Butoanele de suprapunere întrerupte sunt ascunse Butoanele de suprapunere întrerupte sunt afișate Ascunde butonul magazinului @@ -657,9 +657,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ascunde butonul similar Butonul Like este ascuns Butonul Like este afișat - Ascunde butonul diferit - Butonul nu este ascuns - Butonul nu este afișat + Ascunde butonul „Nu apreciez“ + Butonul „Nu apreciez“ este ascuns + Butonul „Nu apreciez“ este afișat Ascunde butonul de comentarii Butonul de comentarii este ascuns Butonul pentru comentarii este afișat @@ -694,8 +694,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Bara de navigare este afișată - Dezactivează ecranul de sfârșit propus pentru video - Videoclipurile sugerate vor fi dezactivate + Dezactivare videoclipuri sugerate din ecranul de final + Videoclipurile sugerate vor fi ascunse Videoclipurile sugerate vor fi afișate @@ -704,9 +704,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ora este afișată - Ascunde panourile pop-up jucător - Panourile pop-up ale jucătorilor sunt ascunse - Panourile pop-up ale jucătorului sunt afișate + Ascundeți panourile din player care se deschid automat + Panourile sunt ascunse + Panourile sunt afișate Opacitate suprapusă jucătorului @@ -715,28 +715,28 @@ This is because Crowdin requires temporarily flattening this file and removing t - Dislike-uri temporar indisponibile (API a expirat) - Dislike-uri indisponibile (status %d) - Dislike-uri indisponibile (limita API atinsă) - Dislike-uri indisponibile (%s) + Neaprecieri temporar indisponibile (API a expirat) + Neaprecieri indisponibile (stare: %d) + Neaprecieri indisponibile (limita API atinsă) + Neaprecieri indisponibile (%s) - Reîncarcă videoclipul pentru a vota folosind Returnare YouTube Dislike - Dislike-urile sunt afișate - Dislike-urile nu sunt afișate - Arată displace pe scurtmetraje - Dislike-uri afișate pe scurtmetraje - Dislike-uri afișate pe Scurtăturile\n\nLimitare: Este posibil ca displace să nu apară în modul incognito - Displace ascunse pe scurt-metraje - Displace ca procentaj - Dislike-uri afișate ca procent - Dislike-uri afișate ca număr + Reîncarcă clipul pentru a folosi Return YouTube Dislike + Neaprecierile sunt afișate + Neaprecierile nu sunt afișate + Afișați neaprecierile pentru videoclipurle scurte + Neaprecierile pentru videoclipurle scurte sunt afișate + Neaprecierile pentru videoclipurile scurte sunt afișate\n\nConsecință: Acestea pot să nu apară în modul incognito + Neaprecierile pentru videoclipurile scurte sunt ascunse + Afișați neaprecierile sub formă de procentaj + Neaprecierile sunt afișate sub formă de procentaj + Neaprecierile sunt afișate sub formă de număr Buton compact ca Buton de stilizat pentru lățime minimă Buton asemănător pentru cel mai bun aspect - Arată un toast dacă API-ul nu este disponibil - Toast este afișat dacă Returnarea YouTube Dislike nu este disponibilă - Toast nu este afișat dacă Returnarea YouTube Dislike nu este disponibilă + Arată un mesaj dacă serverul este indisponibil + Se afișează un mesaj dacă „Return YouTube Dislike” este indisponibil + Nu se afișează un mesaj dacă „Return YouTube Dislike” este indisponibil Despre Datele sunt furnizate de API-ul Returnare YouTube Dislike. Atinge aici pentru a afla mai multe @@ -955,14 +955,14 @@ This is because Crowdin requires temporarily flattening this file and removing t Datele sunt furnizate de API-ul SponsorBlock. Apasă aici pentru a afla mai multe și a vedea descărcările pentru alte platforme - Versiune Spoof app - Versiune falsificată - Versiune neafectată + Simulare versiune + Versiune simulată + Versiune reală Versiunea aplicației va fi falsificată de o versiune mai veche de YouTube.\n\nAceasta va schimba aspectul şi caracteristicile aplicaţiei, dar pot apărea reacţii adverse necunoscute.\n\nDacă se dezactivează ulterior, se recomandă ștergerea datelor aplicației pentru a preveni erorile de interfață. - Spoof app version target - 19.16.39 - Restaurează vechile pictograme de jucător scurt + Versiune de simulat + 19.35.36 - Restabilire pictograme învechite pentru playerul videoclipurilor scurte 18.33.40 - Restaurează RYD în modul incognito Shorts 18.20.39 - Restaurare viteză video mare & meniu calitate @@ -1001,9 +1001,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Posturile comunitare nu apar pe tablete - Minijucător + Miniplayer Schimbă stilul aplicaţiei minimizat jucătorul - Tip minijucător + Tip de miniplayer Dezactivat Originală Minimă @@ -1062,42 +1062,42 @@ This is because Crowdin requires temporarily flattening this file and removing t - Fila principală + Fila „Acasă“ - Filă abonament + Fila „Abonamente“ - Fila ta + Fila „Tu“ Liste de redare, recomandări Rezultatele căutării - Original thumbnails - Săgeată & Miniaturi originale - Săgeată & Captură încă - Încă mai capturează - DeArrow oferă miniaturi de mulțime pentru videoclipuri YouTube. Aceste miniaturi sunt adesea mai relevante decât cele furnizate de YouTube\n\nDacă sunt activate, URL-uri video vor fi trimise pe serverul API şi nu sunt trimise alte date. Dacă un videoclip nu are miniaturi DeArrow, apoi capturile originale sau fixe sunt arătate\n\nAtinge aici pentru a afla mai multe despre DeArrow - Arată un toast dacă API-ul nu este disponibil - Toast este afișat dacă DeArrow nu este disponibil - Toast nu este afișat dacă DeArrow nu este disponibil - DeArrow API endpoint - URL-ul pentru directorul de cache al miniaturii DeArrow - Capturi video încă - Încă se fac capturi de la început/mijloc/sfârșit al fiecărui video. Aceste imagini sunt încorporate pe YouTube și niciun API extern nu este folosit - Folosește capturi rapide încă - Folosind calitatea medie încă captură. Miniaturile se vor încărca mai repede, dar fluxuri live, nepublicate sau foarte vechi videoclipuri pot afișa miniaturi necompletate - Folosind calitate înaltă capturează încă - Timp video pentru a face capturi încă din - Începutul videoclipului - Mijloc video - Sfârșitul videoclipului + Miniaturi originale + DeArrow & Miniaturi originale + Săgeată & Capturi statice + Capturi statice + DeArrow oferă miniaturi sugerate de comunitate. Deseori, acestea sunt mai relevante decât cele furnizate de YouTube\n\nDacă sunt activate, adresele clipurilor video vor fi trimise serverului DeArrow, însă fără alte date. Dacă un videoclip nu are miniaturi DeArrow, sunt afișate cele originale\n\nApăsați aici pentru a afla mai multe despre DeArrow + Afișați un mesaj dacă serverul este indisponibil + Se afișează un mesaj dacă DeArrow este indisponibil + Nu se afișează un mesaj dacă DeArrow este indisponibil + Punct final al DeArrow API + Adresa punctul final DeArrow pentru miniaturi + Capturi statice + Capturile statice sunt extrase de la începutul / mijlocul / sfârșitul fiecărui videoclip. Funcționalitatea este încorporată în YouTube și nu necesită API extern. + Utilizați capturi statice rapide + Se folosesc capturi statice de calitate normală. Miniaturile se vor încărca mai repede, dar fluxurile în direct, videoclipurile nepublicate sau cele foarte vechi pot afișa miniaturi goale + Se folosesc capturi statice de calitate înaltă + Moment din clip pentru preluarea capturii statice + Început + Mijloc + Sfârșit - Derow temporar indisponibil (cod de stare: %s) - Desăgeată indisponibilă temporar + DeArrow indisponibil temporar (stare: %s) + DeArrow indisponibil temporar - Arată anunțuri revizuite - Anunțurile sunt afișate la pornire - Anunțurile nu sunt afișate la pornire - Afișare anunțuri la pornire - Conectarea la furnizorul de anunțuri a eșuat + Afișați știri din partea echipei ReVanced la pornire + Știrile sunt afișate la pornire + Știrile nu sunt afișate la pornire + Afișați știri din partea echipei ReVanced la pornire + Conectarea la serverul de știri a eșuat Anulare @@ -1185,33 +1185,33 @@ This is because Crowdin requires temporarily flattening this file and removing t Slide pentru a căuta nu este activat - Spoof video stream-uri - Sporirea canalelor video client pentru a preveni problemele de redare - Spoof video stream-uri - Fluxurile video sunt falsificate - Fluxurile video nu sunt marcate cu\n\nEste posibil ca redarea video să nu funcționeze + Simulare flux video + Simulează randorul fluxurilor video pentru a preveni probleme de redare + Simulare fluxuri video + Fluxurile video sunt simulate + Fluxurile video nu sunt simulate\n\nEste posibil ca redarea video să nu funcționeze Dezactivarea acestei setări poate cauza probleme de redare video. - Client implicit + Randor implicit Forțează AVC (H.264) Codecul video este AVC (H.264) Codecul video este VP9 sau AV1 - Dispozitivul dvs. nu are decodare hardware VP9 și această setare este întotdeauna activată atunci când este activată lingerea clientului + Dispozitivul dvs. nu acceptă decodarea VP9 la nivel hardware. Această setare este necesară pentru simularea randorului Activarea acestei funcții ar putea îmbunătăți durata de viață a bateriei și repara blocajul de redare.\n\nAVC are o rezoluție maximă de 1080p, iar redarea video va folosi mai multe date internet decât VP9 sau AV1. - Reacţii adverse de lingere iOS - • Este posibil ca videoclipurile private pentru copii să nu se redea\n• Livestream-urile încep de la începutul lui\n• Videoclipurile pot să se termine cu 1 secundă\n• Nici un cod audio opus - Reacţii adverse de spoofing Android VR - • Videoclipurile pentru copii ar putea să nu redea\n• Meniul piesei audio lipsește\n• Volumul stabil nu este disponibil + Consecințe ale simulării randorului iOS + • Este posibil ca videoclipurile private pentru copii să nu se redea\n• Transmisiunile în direct încep mereu de la început\n• Videoclipurile pot să se încheie mai devreme cu o secundă\n• Codecul audio Opus nu este acceptat + Consecințe ale simulării randorului Android VR + • Videoclipurile pentru copii pot să nu se redea\n• Meniul piesei audio lipsește\n• Volumul stabil nu este disponibil Blochează reclamele audio - Anunţurile audio sunt blocate - Anunţurile audio sunt deblocate + Anunțurile audio sunt blocate + Anunțurile audio sunt permise %s este indisponibil. Reclame pot arata. Incercati sa treceti la un alt serviciu de blocare a reclamelor din setari. - Serverul %s a returnat o eroare. Anunţurile pot apărea. Încearcă să treci la un alt serviciu de blocare a reclamelor din setări. + Serverul %s a returnat o eroare. E posibil ca anunțurile să apară. Încercați un alt serviciu de blocare a reclamelor. Blocare reclame video integrate Dezactivat Proxy luminos @@ -1220,7 +1220,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Blocare reclame video Anunțurile video sunt blocate - Anunţurile video sunt deblocate + Anunțurile audio sunt permise mesaj șters @@ -1242,7 +1242,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Setări ReVanced - Anunţuri + Despre + Despre ReVanced + Publicitate Setări blocare reclame Chat Setări chat diff --git a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml index 8e776faee..7b4c6f5d6 100644 --- a/patches/src/main/resources/addresources/values-ru-rRU/strings.xml +++ b/patches/src/main/resources/addresources/values-ru-rRU/strings.xml @@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Подмена версии приложения на - 19.16.39 - Восстановление старых иконок плеера Shorts + 19.35.36 - Восстановление старых иконок плеера Shorts 18.33.40 - Восстановление Return Youtube Dislike в режиме инкогнито Shorts 18.20.39 - Восстановление расширенного меню скорости и качества видео @@ -1206,7 +1206,9 @@ This is because Crowdin requires temporarily flattening this file and removing t На вашем устройстве нет аппаратного декодирования VP9, и эта настройка всегда активна при включенной подмене клиента Активация данной опции может улучшить время работы батареи и исправить задержки воспроизведения.\n\nAVC имеет максимальное разрешение 1080p, воспроизведение видео будет использовать больше интернет данных в сравнении с VP9 или AV1. Побочные эффекты подмены на iOS + • Частные детские видео могут не воспроизводиться\n• Прямые трансляции начинаются с самого начала\n• Видео может закончиться на 1 секунду раньше\n• Отсутствует аудиокодек opus Побочные эффекты подмены на Android VR + • Детские видео могут не воспроизводиться\n• Пункт меню \"Звуковая дорожка\" отсутвтует\n• Пункт меню \"Постоянный уровень громкости\" недоступен @@ -1248,6 +1250,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Настройки ReVanced + Информация + О ReVanced Реклама Настройки блокировки рекламы Чат diff --git a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml index 9e843cb6d..45b6f7d10 100644 --- a/patches/src/main/resources/addresources/values-sk-rSK/strings.xml +++ b/patches/src/main/resources/addresources/values-sk-rSK/strings.xml @@ -1109,6 +1109,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Režim ladenia Twitch je zakázaný + O Reklamy Nastavenia blokovania reklám Nastavenia chatu diff --git a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml index 1503ce3f0..dbf983a2c 100644 --- a/patches/src/main/resources/addresources/values-sl-rSI/strings.xml +++ b/patches/src/main/resources/addresources/values-sl-rSI/strings.xml @@ -257,6 +257,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + O programu diff --git a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml index 79edca19f..c01d46435 100644 --- a/patches/src/main/resources/addresources/values-sq-rAL/strings.xml +++ b/patches/src/main/resources/addresources/values-sq-rAL/strings.xml @@ -242,6 +242,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + Rreth nesh diff --git a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml index 02510105e..606f7b03a 100644 --- a/patches/src/main/resources/addresources/values-sr-rCS/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rCS/strings.xml @@ -36,7 +36,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Provere nisu uspele Otvori zvanični veb-sajt Zanemari - <h5>Izgleda da niste pečovali ovu aplikaciju.</h5><br>Ova aplikacija možda neće ispravno raditi, <b>može biti štetna ili čak opasna za korišćenje</b><br><br>Ove provere podrazumevaju da je ova aplikacija unapred pečovana ili dobijena od nekog drugog:<br><br><small>%1$s</small><br>Izričito se preporučuje da <b>deinstalirate ovu aplikaciju i sami je pečujete</b> da biste bili sigurni da koristite proverenu i bezbednu aplikaciju.<p><br>;Ako se zanemari, ovo upozorenje će biti prikazano samo dva puta. + <h5>Izgleda da niste vi pečovali ovu aplikaciju.</h5><br>Ova aplikacija možda neće ispravno raditi, <b>može biti štetna ili čak opasna za korišćenje.</b><br><br>Ove provere podrazumevaju da je ova aplikacija unapred pečovana ili dobijena od nekog drugog:<br><br><small>%1$s</small><br>Izričito se preporučuje da <b>deinstalirate ovu aplikaciju i sami je pečujete</b> da biste bili sigurni da koristite proverenu i bezbednu aplikaciju.<p><br>Ako se zanemari, ovo upozorenje će biti prikazano samo dva puta. Pečovano na drugom uređaju Nije instalirano u ReVanced Manageru Pečovano pre više od 10 minuta @@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ciljna verzija aplikacije za lažiranje - 19.16.39 - Vraća stare ikonice Shorts plejera + 19.35.36 - Vraća stare ikonice Shorts plejera 18.33.40 - Vraća Return YouTube Dislike u Shorts videima u režimu bez arhiviranja 18.20.39 - Vraća širok meni za brzinu i kvalitet videa @@ -1206,7 +1206,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Vaš uređaj nema VP9 hardversko dekodiranje, i ova opcija je uvek uključena kada je omogućeno lažiranje klijenta Ako ovo omogućite, možda će se produžiti trajanje baterije i popraviti zastoj pri reprodukciji.\n\nAVC ima maksimalnu rezoluciju od 1080p, a reprodukcija videa će koristiti više internet podataka nego VP9 ili AV1. Neželjeni efekti lažiranja na iOS + • Privatni dečji videi se možda neće puštati\n• Strimovi uživo počinju od početka\n• Videi će se možda završiti 1 sekundu ranije\n• Nema audio kodeka opus Neželjeni efekti lažiranja na Android VR + • Dečji videi se možda neće puštati\n• Meni „Audio snimak” nedostaje\n• Ujednačena jačina zvuka nije dostupna @@ -1248,6 +1250,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Podešavanja ReVanceda + O programu + O ReVancedu Oglasi Podešavanja blokiranja oglasa Ćaskanje diff --git a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml index 9a81641bb..7c18486f1 100644 --- a/patches/src/main/resources/addresources/values-sr-rSP/strings.xml +++ b/patches/src/main/resources/addresources/values-sr-rSP/strings.xml @@ -36,7 +36,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Провере нису успеле Отвори званични веб-сајт Занемари - <h5>Изгледа да нисте печовали ову апликацију.</h5><br>Ова апликација можда неће исправно радити, <b>може бити штетна или чак опасна за коришћење</b><br><br>Ове провере подразумевају да је ова апликација унапред печована или добијена од неког другог:<br><br><small>%1$s</small><br>Изричито се препоручује да <b>деинсталирате ову апликацију и сами је печујете</b> да бисте били сигурни да користите проверену и безбедну апликацију.<p><br>;Ако се занемари, ово упозорење ће бити приказано само два пута. + <h5>Изгледа да нисте ви печовали ову апликацију.</h5><br>Ова апликација можда неће исправно радити, <b>може бити штетна или чак опасна за коришћење.</b><br><br>Ове провере подразумевају да је ова апликација унапред печована или добијена од неког другог:<br><br><small>%1$s</small><br>Изричито се препоручује да <b>деинсталирате ову апликацију и сами је печујете</b> да бисте били сигурни да користите проверену и безбедну апликацију.<p><br>Ако се занемари, ово упозорење ће бити приказано само два пута. Печовано на другом уређају Није инсталирано у ReVanced Manager-у Печовано пре више од 10 минута @@ -964,7 +964,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Циљна верзија апликације за лажирање - 19.16.39 - Враћа старе иконице Shorts плејера + 19.35.36 - Враћа старе иконице Shorts плејера 18.33.40 - Враћа Return YouTube Dislike у Shorts видеима у режиму без архивирања 18.20.39 - Враћа широк мени за брзину и квалитет видеа @@ -1206,7 +1206,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Ваш уређај нема VP9 хардверско декодирање, и ова опција је увек укључена када је омогућено лажирање клијента Ако ово омогућите, можда ће се продужити трајање батерије и поправити застој при репродукцији.\n\nAVC има максималну резолуцију од 1080p, а репродукција видеа ће користити више интернет података него VP9 или AV1. Нежељени ефекти лажирања на iOS + • Приватни дечји видеи се можда неће пуштати\n• Стримови уживо почињу од почетка\n• Видеи ће се можда завршити 1 секунду раније\n• Нема аудио кодека opus Нежељени ефекти лажирања на Android VR + • Дечји видеи се можда неће пуштати\n• Мени „Аудио снимак” недостаје\n• Уједначена јачина звука није доступна @@ -1248,6 +1250,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Подешавања ReVanced-а + О програму + О ReVanced-у Огласи Подешавања блокирања огласа Ћаскање diff --git a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml index 4f33ddd9b..5ebda049d 100644 --- a/patches/src/main/resources/addresources/values-sv-rSE/strings.xml +++ b/patches/src/main/resources/addresources/values-sv-rSE/strings.xml @@ -964,7 +964,6 @@ This is because Crowdin requires temporarily flattening this file and removing t Spoof app-versionsmål - 19.16.39 - Återställ gamla kortspelsikoner 18.33.40 - Återställ RYD på Shorts inkognitoläge 18.20.39 - Återställ videons hastighet & kvalitetsmeny @@ -1250,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced-inställningar + Om + Om ReVanced Annonser Inställningar för annonsblockering Chatt diff --git a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml index 620fdd409..c28311bbe 100644 --- a/patches/src/main/resources/addresources/values-ta-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-ta-rIN/strings.xml @@ -256,6 +256,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + இதைப் பற்றி diff --git a/patches/src/main/resources/addresources/values-te-rIN/strings.xml b/patches/src/main/resources/addresources/values-te-rIN/strings.xml index eb805b4c1..1498e898f 100644 --- a/patches/src/main/resources/addresources/values-te-rIN/strings.xml +++ b/patches/src/main/resources/addresources/values-te-rIN/strings.xml @@ -242,6 +242,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + గురించి diff --git a/patches/src/main/resources/addresources/values-th-rTH/strings.xml b/patches/src/main/resources/addresources/values-th-rTH/strings.xml index a47cc39aa..ca1743ea1 100644 --- a/patches/src/main/resources/addresources/values-th-rTH/strings.xml +++ b/patches/src/main/resources/addresources/values-th-rTH/strings.xml @@ -313,6 +313,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + เกี่ยวกับ diff --git a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml index deba2fddb..b9fcc6bd3 100644 --- a/patches/src/main/resources/addresources/values-tr-rTR/strings.xml +++ b/patches/src/main/resources/addresources/values-tr-rTR/strings.xml @@ -92,26 +92,26 @@ This is because Crowdin requires temporarily flattening this file and removing t Shorts\'un arka planda oynatılması etkin - Debugging - Debugging seçeneklerini etkinleştir veya devre dışı bırak - Debug logları - Debug logları etkin - Debug logları devre dışı - Protocol buffer\'ın logunu tut - Debug logları proto bufffer\'ı içeriyor - Debug logları proto buffer\'ı içermiyor - Stack traces\'in logunu tut - Debug logları stack traces\'i içeriyor - Debug logları stack traces\'i içermiyor - ReVanced hatasında tost bildirimi göster + Hata ayıklama + Hata ayıklama seçeneklerini etkinleştir veya devre dışı bırak + Hata ayıklama kayıtları + Hata ayıklama kayıtları etkin + Hata ayıklama kayıtları devre dışı + Protocol buffer\'ın kaydını tut + Hata ayıklama kayıtları proto bufffer\'ı içeriyor + Hata ayıklama kayıtları proto buffer\'ı içermiyor + Stack traces\'in kaydını tut + Hata ayıklama kayıtları stack traces\'i içeriyor + Hata ayıklama kayıtları stack traces\'i içermiyor + ReVanced hatası oluştuğunda tost bildirimi göster Hata oluştuğunda tost bildirimi gösteriliyor Hata oluştuğunda tost bildirimi gösterilmiyor - Hata tost bildirimlerini gizlemek bütün ReVanced hata bildirimlerini gizler.\n\nBeklenmeyen olaylar hakkında bilgilendirilmeyeceksiniz. + Hata tost bildirimlerini kapatmak bütün ReVanced hata bildirimlerini kapatır.\n\nBeklenmeyen olaylar hakkında bilgilendirilmeyeceksiniz. Beğen / Abone ol düğmesi parlamasını devre dışı bırak - Beğen ve abone ol düğmesi bahsedildiğinde parlamayacak - Beğen ve abone ol düğmesi bahsedildiğinde parlayacak + Beğen ve abone ol butonu, üzerine gelindiğinde parlamayacak + Beğen ve abone ol butonu, üzerine gelindiğinde parlayacak Albüm kartlarını gizle Albüm kartları gizleniyor Albüm kartları gösteriliyor @@ -221,20 +221,20 @@ This is because Crowdin requires temporarily flattening this file and removing t Sanatçı kartları gösteriliyor Nitelikler bölümünü gizle Öne çıkan yerler, Oyunlar ve Müzik bölümleri gizli - Öne çıkan yerler, Oyunlar ve Müzik bölümleri görünür + Öne çıkan yerler, Oyunlar ve Müzik bölümleri görünüyor Bölümler kısmını gizle Bölümler kısmı gizli - Bölümler kısmı görünür - \"Podcast\'i keşfedin\" kısmını gizle - \"Podcast\'ı keşfedin\" kısmı gizli - \"Podcast\'ı keşfedin\" bölümü görünür + Bölümler kısmı görünüyor + \"Podcast\'i keşfedin\" bölümünü gizle + \"Podcast\'ı keşfedin\" bölümünü gizli + \"Podcast\'ı keşfedin\" bölümü görünüyor Bilgi kartları kısmını gizle Bilgi kartları kısmı gizleniyor Bilgi kartları kısmı gösteriliyor \'Anahtar kavramlar\' bölümünü gizle \'Anahtar kavramlar\' bölümü gizli - \'Anahtar kavramlar\' bölümü görünür - Transkript kısmını gizle + \'Anahtar kavramlar\' bölümü görünüyor + Transkript bölümünü gizle Transkript kısmı gizleniyor Transkript kısmı gösteriliyor Video açıklaması @@ -254,13 +254,13 @@ This is because Crowdin requires temporarily flattening this file and removing t Yorumlar kısmındaki öğeleri gizle veya göster \'Üyeler tarafından yapılan yorumlar\' başlığını gizle \'Üyeler tarafından yapılan yorumlar\' başlığı gizli - \'Üyeler tarafından yapılan yorumlar\' başlığı görünür + \'Üyeler tarafından yapılan yorumlar\' başlığı görünüyor Yorumlar kısmını gizle - Yorumlar kısmı gizli - Yorumlar kısmı görünür + Yorumlar bölümü gizli + Yorumlar bölümü gösteriliyor \'Short oluştur\' düğmesini gizle \'Short oluştur\' düğmesi gizli - \'Short oluştur\' düğmesi görünür + \'Short oluştur\' butonu gösteriliyor Önizlenen yorumu gizle Önizlenen yorum gizleniyor Önizlenen yorum gösteriliyor @@ -301,7 +301,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Yeni satırlarla ayrılmış gizlenecek anahtar kelimeler ve ifadeler\n\nAnahtar kelimeler, kanal adları veya video başlığındaki herhangi bir metin olabilir\n\nOrtasında büyük harf olan kelimeler büyük harfle girilmelidir (örn: iPhone, TikTok, TepkiKolik) Anahtar kelimeyle filtreleme hakkında Ana sayfa/Abonelikler/Arama sonuçları anahtar kelime ifadeleriyle eşleşen içeriği gizlemek için filtrelenir\n\nKısıtlamalar:\n• Shorts, kanal adına göre filtrelenemez\n• Bazı arayüz öğeleri gizlenmeyebilir\n• Bir anahtar kelimeyi aratmak hiçbir sonuç göstermeyebilir - Bütün kelimeyi eşle + Tam kelimeleri eşleştir Bir anahtar kelimeyi veya ifadeyi tırnak işareti içine almak, video başlıkları ve kanal adlarının kısmi eşleşmelerini önleyecektir<br><br>Örneğin,<br><br>\"ai\"</b>, <b>AI nasıl çalışır?</b> başlıklı videoyu gizleyecektir<br>ama <b>Air süspansiyon inceleme</b> başlıklı videoyu gizlemeyecektir @@ -552,7 +552,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Video kalite menüsü alt bilgisi görünür - Önceki ve Sonraki video butonlarını gizle + Önceki & Sonraki video butonlarını gizle Önceki ve Sonraki video butonları gizleniyor Önceki ve Sonraki video butonları gösteriliyor Yansıtma butonunu gizle @@ -721,7 +721,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Beğenmeme sayıları kullanılamıyor API sınırına ulaşıldı Beğenmeme sayıları kullanılamıyor (%s) - ReturnYouTubeDislike\'ı kullanarak oy vermek için videoyu yeniden yükleyin + ReturnYouTubeDislike ile oylamak için yeniden yükleyin Beğenmeme sayıları gösteriliyor Beğenmeme sayıları gösterilmiyor Shorts\'ta beğenmeme sayılarını göster @@ -897,7 +897,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Kısım gönderilemedi.\nAynısı mevcut Bölüm başarıyla gönderildi - SponsorBlock zaman aşımına uğradı + SponsorBlock geçici kullanılamıyor (API zaman aşımı) SponsorBlock geçici olarak kullanılamıyor (durum %d) SponsorBlock geçici olarak kullanılamıyor Bölüm oylanamıyor (API zaman aşımına uğradı) @@ -908,7 +908,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Kategori değiştir Oylanılacak bir bölüm yok Bölümün kategorisini seçin - Kategori, ayarlarda devre dışı bırakıldı. Göndermek için kategoriyi etkinleştirin. + Kategori, ayarlarda etkin değil. Göndermek için etkinleştirin. Yeni SponsorBlock bölümü %s bu kısmın başlangıcı mı, bitişi mi olarak ayarlansın? başlangıç @@ -919,7 +919,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Süreler doğru mu? Segment\n\n%1$s\niçin\n%2$s\n\n(%3$s)\n\nGöndermeye hazır mısınız? Başlangıç bitişten önce olmalıdır - Öncelikle zaman çubuğunda iki yer işaretleyin + Önce zaman çubuğunda iki yer işaretleyin Bölümü önizleyin ve sorunsuz bir şekilde atladığından emin olun Bölümün zamanlamasını el ile ayarlayın Bölümün başlangıcını mı, bitişini mi düzenlemek istiyorsunuz? @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Taklit edilecek uygulama sürümü - 19.16.39 - Eski Shorts oynatıcı simgelerini geri getir + 19.35.36 - Eski Shorts oynatıcı simgelerini geri getir 18.33.40 - Gizli modda Shorts için RYD\'yi onar 18.20.39 - Geniş video hızı & kalite menüsünü geri getir @@ -1064,7 +1064,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Resimlerin bölge kısıtlamalarını atla - yt4.ggpht.com resim sunucusu kullanılıyor + Resim sunucusu kullanılıyor: yt4.ggpht.com Orijinal resim sunucusu kullanılıyor\n\nBunu etkinleştirmek bazı bölgelerde engellenen eksik resimleri düzeltebilir @@ -1078,7 +1078,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Arama sonuçlarında Orijinal küçük resimler DeArrow ve Orijinal küçük resimleri - DeArrow ve Hareketsiz Yakalamalar + DeArrow & Hareketsiz Yakalamalar Hareketsiz yakalamalar DeArrow, YouTube videoları için topluluk kaynaklı kapak resimleri sağlar. Bu kapak resimleri, genellikle YouTube\'nin sağladığından daha alakalıdır\n\nEtkinleştirildiğinde, video URLleri API sunucusuna gönderilecektir ve başka hiçbir veri gönderilmeyecektir. Eğer bir videonun DeArrow kapak resimleri yoksa, orijinal veya video içinden kareler gösterilir.\n\nDeArrow hakkında daha fazla öğrenmek için dokunun API kullanılamadığında bir tost bildirimi göster @@ -1157,7 +1157,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Mobil ağdaki varsayılan video kalitesi mobil ağ wifi - Varsayılan %1$s kalitesi, %2$s olarak değiştirildi + Varsayılan %1$s kalitesi, %2$s olarak değişti Hız diyaloğu düğmesini göster @@ -1217,7 +1217,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Ses reklamları engellenmiyor - %s kullanılamıyor. Reklamlar görünebilir. Ayarlardan başka bir reklam engelleme hizmetine geçmeyi deneyin. + %s kullanılamıyor. Reklamlar görünebilir. Ayarlardan başka bir reklam engelleme hizmetini deneyin. %s sunucusu hata verdi. Reklamlar görünebilir. Ayarlardan başka bir reklam engelleme hizmetine geçmeyi deneyin. Gömülü video reklamlarını engelle Devre dışı @@ -1243,12 +1243,14 @@ This is because Crowdin requires temporarily flattening this file and removing t - Twitch debug modunu etkinleştir - Twitch debug modu etkin (önerilmez) - Twitch debug modu devre dışı + Twitch hata ayıklama modunu etkinleştir + Twitch hata ayıklama modu etkin (önerilmez) + Twitch hata ayıklama modu devre dışı ReVanced Ayarları + Hakkında + ReVanced hakkında Reklamlar Reklam engelleme ayarları Sohbet @@ -1259,9 +1261,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Diğer ayarlar İstemci taraflı reklamlar Sunucu taraflı kesin akışlı reklamlar - Debug logları - Debug logları etkin - Debug logları devre dışı + Hata ayıklama kayıtları + Hata ayıklama kayıtları etkin + Hata ayıklama kayıtları devre dışı diff --git a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml index 9204a9ddd..b6ed68648 100644 --- a/patches/src/main/resources/addresources/values-uk-rUA/strings.xml +++ b/patches/src/main/resources/addresources/values-uk-rUA/strings.xml @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Підробити версію програми на - 19.16.39 - Відновлення старих іконок плеєра Shorts + 19.35.36 - Відновлення старих іконок плеєра Shorts 18.33.40 - Відновлення RYD в анонімному режимі Shorts 18.20.39 - Відновлення розширеного меню швидкості та якості відео @@ -1249,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Налаштування ReVanced + Інформація + Про ReVanced Реклама Налаштування блокування реклами Чат diff --git a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml index d0a2fb7b0..a781a13ac 100644 --- a/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml +++ b/patches/src/main/resources/addresources/values-uz-rUZ/strings.xml @@ -242,6 +242,7 @@ This is because Crowdin requires temporarily flattening this file and removing t + Haqida diff --git a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml index d6bbb80a7..8bd5d6c9d 100644 --- a/patches/src/main/resources/addresources/values-vi-rVN/strings.xml +++ b/patches/src/main/resources/addresources/values-vi-rVN/strings.xml @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Phiên bản giả mạo mục tiêu - 19.16.39 - Khôi phục biểu tượng trình phát Shorts cũ + 19.35.36 - Khôi phục biểu tượng trình phát Shorts cũ 18.33.40 - Khôi phục RYD trong Shorts chế độ ẩn danh 18.20.39 - Khôi phục trình đơn tốc độ & chất lượng cho video rộng @@ -1013,7 +1013,7 @@ This is because Crowdin requires temporarily flattening this file and removing t Loại trình phát thu nhỏ Đã tắt Nguyên bản - + Thu gọn Máy tính bảng Hiện đại 1 Hiện đại 2 @@ -1205,7 +1205,9 @@ This is because Crowdin requires temporarily flattening this file and removing t Thiết bị của bạn không có phần cứng giải mã VP9, và thiết lập này luôn bật khi Giả mạo máy khách bật Bật chức năng này có thể tăng cường thời lượng pin và sửa lỗi phát lặp.\n\nAVC có độ phân giải tối đa 1080p, và video phát sẽ dùng nhiều dữ liệu mạng hơn VP9 hoặc AV1. Tác dụng phụ của giả mạo iOS + •Video trẻ em riêng tư có thể không phát được \n •Phát trực tiếp bắt đầu từ đầu \n • Video có thể kết thúc sớm 1 giây \n • Không có codec âm thanh Opus Tác dụng phụ của giả mạo Android VR + • Video trẻ em có thể không phát được \n • Menu chọn bản âm thanh không khả dụng \n • Âm lượng ổn định không có sẵn @@ -1247,6 +1249,8 @@ This is because Crowdin requires temporarily flattening this file and removing t Cài đặt ReVanced + Giới thiệu + Giới thiệu về ReVanced Quảng cáo Cài đặt chặn quảng cáo Trò chuyện diff --git a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml index 031015c29..3c7ef8dc2 100644 --- a/patches/src/main/resources/addresources/values-zh-rCN/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rCN/strings.xml @@ -955,7 +955,6 @@ This is because Crowdin requires temporarily flattening this file and removing t 伪装应用程序版本为 - 19.16.39 - 还原旧短程播放器图标 18.33.40 - 在隐身模式下恢复 RYD 18.20.39 - 还原宽视频速度 & 画质菜单 @@ -1231,6 +1230,8 @@ This is because Crowdin requires temporarily flattening this file and removing t 光学设置 + 关于 + 关于 ReVanced 广告 广告屏蔽设置 聊天 diff --git a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml index 3a0c122e4..aedf82236 100644 --- a/patches/src/main/resources/addresources/values-zh-rTW/strings.xml +++ b/patches/src/main/resources/addresources/values-zh-rTW/strings.xml @@ -963,7 +963,7 @@ This is because Crowdin requires temporarily flattening this file and removing t 欺騙應用程式版本目標 - 19.16.39 - 在還原舊版 Shorts 播放棄圖標 + 19.35.36 - 還原舊版 Shorts 播放圖標 18.33.40 - 在 Shorts 無痕模式中還原 RYD 18.20.39 - 還原寬影片速度 & 畫質選單 @@ -1206,7 +1206,9 @@ This is because Crowdin requires temporarily flattening this file and removing t 您的裝置不支援 VP9 硬體解碼,當啟用用戶端欺騙時,此設定將始終保持開啟 啟用此功能可能會改善電池續航力並修復播放卡頓問題。\n\nAVC 的最大解析度為 1080p,且影片播放將使用比 VP9 或 AV1 更多的網路數據。 iOS 欺騙副作用 + • 私人的兒童影片有可能不會播放\n• 從直播起始處播放\n• 影片可能會提早一秒結束\n• 找不到音訊解碼器 Android VR 欺騙副作用 + • 私人的兒童影片有可能不會播放\n• 找不到音樂曲目選單\n• 音量平衡不可用 @@ -1248,6 +1250,8 @@ This is because Crowdin requires temporarily flattening this file and removing t ReVanced 設定 + 關於 + 關於 ReVanced 廣告 廣告阻擋設定 聊天 From 69ec47cbeff8d48fa185db183a52958a9960fc5b Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 4 Dec 2024 19:36:38 +0000 Subject: [PATCH 09/12] chore: Release v5.2.1 [skip ci] ## [5.2.1](https://github.com/ReVanced/revanced-patches/compare/v5.2.0...v5.2.1) (2024-12-04) ### Bug Fixes * **Twitch:** Resolve setting menu crashes ([#4025](https://github.com/ReVanced/revanced-patches/issues/4025)) ([62df596](https://github.com/ReVanced/revanced-patches/commit/62df5965d7331e47b3143425d169a79a19eac447)) * **YouTube - Spoof app version:** Update spoof target to resolve library tab crashes ([#4014](https://github.com/ReVanced/revanced-patches/issues/4014)) ([c8eced5](https://github.com/ReVanced/revanced-patches/commit/c8eced54704017df4e91e536dbef1e9514306f67)) * **YouTube - Spoof app version:** Update spoof target to resolve library tab crashes ([#4019](https://github.com/ReVanced/revanced-patches/issues/4019)) ([d89ad65](https://github.com/ReVanced/revanced-patches/commit/d89ad6501a7cdb3c074c6204dac7960ca3e252f1)) * **YouTube Music - Hide category bar:** Add support for latest release ([#3968](https://github.com/ReVanced/revanced-patches/issues/3968)) ([b63fdeb](https://github.com/ReVanced/revanced-patches/commit/b63fdeb10b504468307a77bd5de69407906848bf)) ### Performance Improvements * Move variables to local scope ([43c0421](https://github.com/ReVanced/revanced-patches/commit/43c04216c6e647eaf6ad7e813eb5f0df0c108b77)) --- CHANGELOG.md | 15 +++++++++++++++ gradle.properties | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9460534ae..8f0e47717 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +## [5.2.1](https://github.com/ReVanced/revanced-patches/compare/v5.2.0...v5.2.1) (2024-12-04) + + +### Bug Fixes + +* **Twitch:** Resolve setting menu crashes ([#4025](https://github.com/ReVanced/revanced-patches/issues/4025)) ([62df596](https://github.com/ReVanced/revanced-patches/commit/62df5965d7331e47b3143425d169a79a19eac447)) +* **YouTube - Spoof app version:** Update spoof target to resolve library tab crashes ([#4014](https://github.com/ReVanced/revanced-patches/issues/4014)) ([c8eced5](https://github.com/ReVanced/revanced-patches/commit/c8eced54704017df4e91e536dbef1e9514306f67)) +* **YouTube - Spoof app version:** Update spoof target to resolve library tab crashes ([#4019](https://github.com/ReVanced/revanced-patches/issues/4019)) ([d89ad65](https://github.com/ReVanced/revanced-patches/commit/d89ad6501a7cdb3c074c6204dac7960ca3e252f1)) +* **YouTube Music - Hide category bar:** Add support for latest release ([#3968](https://github.com/ReVanced/revanced-patches/issues/3968)) ([b63fdeb](https://github.com/ReVanced/revanced-patches/commit/b63fdeb10b504468307a77bd5de69407906848bf)) + + +### Performance Improvements + +* Move variables to local scope ([43c0421](https://github.com/ReVanced/revanced-patches/commit/43c04216c6e647eaf6ad7e813eb5f0df0c108b77)) + ## [5.2.1-dev.5](https://github.com/ReVanced/revanced-patches/compare/v5.2.1-dev.4...v5.2.1-dev.5) (2024-12-01) diff --git a/gradle.properties b/gradle.properties index 840a770e7..ed3f6977a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.2.1-dev.5 +version = 5.2.1 From cc40246e6001837a23e31be67f907cff7964c7d5 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Thu, 5 Dec 2024 12:12:48 +0100 Subject: [PATCH 10/12] chore: Separate extensions by app (#3905) --- .../wifi/spoof/spoof-wifi/build.gradle.kts | 5 +++ .../spoof-wifi/src/main/AndroidManifest.xml | 3 +- .../wifi/spoof/SpoofWifiPatch.java | 0 .../build.gradle.kts | 5 +++ .../src/main/AndroidManifest.xml | 0 .../RemoveScreencaptureRestrictionPatch.java | 0 .../build.gradle.kts | 1 + .../src/main/AndroidManifest.xml | 0 .../RemoveScreenshotRestrictionPatch.java | 0 extensions/boostforreddit/build.gradle.kts | 4 ++ .../src/main/AndroidManifest.xml | 1 + .../boostforreddit/FixSLinksPatch.java | 4 +- .../stub/build.gradle.kts | 0 .../stub/src/main/AndroidManifest.xml | 1 + .../reddit/ui/activities/WebViewActivity.java | 0 extensions/{shared => }/proguard-rules.pro | 0 extensions/reddit/build.gradle.kts | 3 ++ .../reddit/src/main/AndroidManifest.xml | 1 + .../patches/FilterPromotedLinksPatch.java | 2 +- extensions/reddit/stub/build.gradle.kts | 17 ++++++++ .../reddit/stub/src/main/AndroidManifest.xml | 1 + .../java/com/reddit/domain/model/ILink.java | 0 .../build.gradle.kts | 11 ----- .../build.gradle.kts | 7 ---- extensions/shared/build.gradle.kts | 21 +--------- extensions/shared/library/build.gradle.kts | 21 ++++++++++ .../extension/shared/GmsCoreSupport.java | 0 .../app/revanced/extension/shared/Logger.java | 0 .../revanced/extension/shared/StringRef.java | 0 .../app/revanced/extension/shared/Utils.java | 0 .../extension/shared/checks/Check.java | 14 +++---- .../shared/checks/CheckEnvironmentPatch.java | 0 .../extension/shared/checks/PatchInfo.java | 0 .../fixes/slink/BaseFixSLinksPatch.java | 0 .../shared/fixes/slink/ResolveResult.java | 0 .../extension/shared}/requests/Requester.java | 2 +- .../extension/shared}/requests/Route.java | 2 +- .../shared/settings/BaseSettings.java | 2 + .../shared/settings/BooleanSetting.java | 0 .../shared/settings/EnumSetting.java | 0 .../shared/settings/FloatSetting.java | 0 .../shared/settings/IntegerSetting.java | 0 .../shared/settings/LongSetting.java | 0 .../extension/shared/settings/Setting.java | 41 +++++++++++++++---- .../shared/settings/StringSetting.java | 0 .../AbstractPreferenceFragment.java | 0 .../preference/ImportExportPreference.java | 3 +- .../preference/ReVancedAboutPreference.java | 6 +-- .../ResettableEditTextPreference.java | 0 .../preference/SharedPrefCategory.java | 0 .../shared/src/main/AndroidManifest.xml | 5 +-- .../shared/stub/src/main/AndroidManifest.xml | 2 - extensions/spoof-wifi/build.gradle.kts | 11 ----- extensions/syncforreddit/build.gradle.kts | 5 +++ .../src/main/AndroidManifest.xml | 1 + .../FixRedditVideoDownloadPatch.java | 0 .../syncforreddit/FixSLinksPatch.java | 0 .../syncforreddit/stub/build.gradle.kts | 17 ++++++++ .../stub/src/main/AndroidManifest.xml | 1 + .../ui/activities/WebViewActivity.java | 0 extensions/tiktok/build.gradle.kts | 5 +++ .../tiktok/src/main/AndroidManifest.xml | 1 + .../app/revanced/extension/tiktok/Utils.java | 0 .../RememberClearDisplayPatch.java | 0 .../tiktok/download/DownloadsPatch.java | 0 .../tiktok/feedfilter/AdsFilter.java | 0 .../tiktok/feedfilter/FeedItemsFilter.java | 0 .../extension/tiktok/feedfilter/IFilter.java | 0 .../tiktok/feedfilter/ImageVideoFilter.java | 0 .../tiktok/feedfilter/LikeCountFilter.java | 0 .../tiktok/feedfilter/LiveFilter.java | 0 .../tiktok/feedfilter/StoryFilter.java | 0 .../tiktok/feedfilter/ViewCountFilter.java | 0 .../AdPersonalizationActivityHook.java | 0 .../extension/tiktok/settings/Settings.java | 0 .../tiktok/settings/SettingsStatus.java | 0 .../preference/DownloadPathPreference.java | 0 .../preference/InputTextPreference.java | 0 .../preference/RangeValuePreference.java | 0 .../ReVancedPreferenceFragment.java | 0 .../ReVancedTikTokAboutPreference.java | 1 - .../settings/preference/TogglePreference.java | 0 .../ConditionalPreferenceCategory.java | 0 .../DownloadsPreferenceCategory.java | 0 .../ExtensionPreferenceCategory.java | 0 .../FeedFilterPreferenceCategory.java | 0 .../SimSpoofPreferenceCategory.java | 0 .../tiktok/speed/PlaybackSpeedPatch.java | 0 .../tiktok/spoof/sim/SpoofSimPatch.java | 0 extensions/tiktok/stub/build.gradle.kts | 17 ++++++++ .../tiktok/stub/src/main/AndroidManifest.xml | 1 + .../AdPersonalizationActivity.java | 0 .../android/ugc/aweme/feed/model/Aweme.java | 0 .../ugc/aweme/feed/model/AwemeStatistics.java | 0 .../ugc/aweme/feed/model/FeedItemList.java | 0 extensions/tudortmund/build.gradle.kts | 3 ++ .../tudortmund/src/main/AndroidManifest.xml | 1 + .../lockscreen/ShowOnLockscreenPatch.java | 3 ++ extensions/tumblr/build.gradle.kts | 3 ++ .../tumblr/src/main/AndroidManifest.xml | 1 + .../tumblr/patches/TimelineFilterPatch.java | 0 extensions/tumblr/stub/build.gradle.kts | 17 ++++++++ .../tumblr/stub/src/main/AndroidManifest.xml | 1 + .../tumblr/rumblr/model/TimelineObject.java | 0 .../rumblr/model/TimelineObjectType.java | 0 .../com/tumblr/rumblr/model/Timelineable.java | 0 extensions/twitch/build.gradle.kts | 8 ++++ .../twitch/src/main/AndroidManifest.xml | 1 + .../app/revanced/extension/twitch/Utils.java | 0 .../twitch/adblock/IAdblockService.java | 19 +++++---- .../twitch/adblock/LuminousService.java | 0 .../twitch/adblock/PurpleAdblockService.java | 0 .../twitch/api/PurpleAdblockApi.java | 0 .../twitch/api/RequestInterceptor.java | 0 .../extension/twitch/api/RetrofitClient.java | 0 .../twitch/patches/AudioAdsPatch.java | 0 .../patches/AutoClaimChannelPointsPatch.java | 0 .../twitch/patches/DebugModePatch.java | 0 .../twitch/patches/EmbeddedAdsPatch.java | 0 .../patches/ShowDeletedMessagesPatch.java | 0 .../twitch/patches/VideoAdsPatch.java | 0 .../settings/AppCompatActivityHook.java | 0 .../extension/twitch/settings/Settings.java | 0 .../preference/CustomPreferenceCategory.java | 0 .../ReVancedPreferenceFragment.java | 0 extensions/twitch/stub/build.gradle.kts | 17 ++++++++ .../twitch/stub/src/main/AndroidManifest.xml | 1 + .../settings/menu/SettingsMenuGroup.java | 0 .../android/settings/SettingsActivity.java | 0 .../chat/util/ClickableUsernameSpan.java | 0 extensions/twitter/build.gradle.kts | 1 + .../twitter/src/main/AndroidManifest.xml | 1 + .../twitter/patches/hook/json/BaseJsonHook.kt | 0 .../twitter/patches/hook/json/JsonHook.kt | 0 .../patches/hook/json/JsonHookPatch.kt | 0 .../twitter/patches/hook/patch/Hook.kt | 0 .../patches/hook/patch/ads/HideAdsHook.kt | 0 .../patches/hook/patch/dummy/DummyHook.kt | 0 .../recommendation/RecommendedUsersHook.kt | 0 .../patches/hook/twifucker/TwiFucker.kt | 0 .../patches/hook/twifucker/TwiFuckerUtils.kt | 0 .../links/ChangeLinkSharingDomainPatch.java | 2 +- .../links/OpenLinksWithAppChooserPatch.java | 2 +- .../revanced}/twitter/utils/json/JsonUtils.kt | 0 .../twitter/utils/stream/StreamUtils.kt | 0 extensions/youtube/build.gradle.kts | 8 ++++ .../youtube/src/main/AndroidManifest.xml | 1 + .../extension/youtube/ByteTrieSearch.java | 0 .../app/revanced/extension/youtube/Event.kt | 0 .../extension/youtube/StringTrieSearch.java | 0 .../extension/youtube/ThemeHelper.java | 0 .../extension/youtube/TrieSearch.java | 0 .../patches/AlternativeThumbnailsPatch.java | 0 .../youtube/patches/AutoRepeatPatch.java | 0 .../patches/BackgroundPlaybackPatch.java | 0 .../BypassImageRegionRestrictionsPatch.java | 0 .../patches/BypassURLRedirectsPatch.java | 0 .../youtube/patches/ChangeStartPagePatch.java | 0 ...WatchHistoryDomainNameResolutionPatch.java | 0 .../youtube/patches/CopyVideoUrlPatch.java | 0 .../CustomPlayerOverlayOpacityPatch.java | 0 .../patches/DisableAutoCaptionsPatch.java | 0 .../DisableFullscreenAmbientModePatch.java | 0 .../DisablePlayerPopupPanelsPatch.java | 0 .../DisablePreciseSeekingGesturePatch.java | 0 ...sableResumingStartupShortsPlayerPatch.java | 0 .../DisableRollingNumberAnimationsPatch.java | 0 .../DisableSuggestedVideoEndScreenPatch.java | 0 .../youtube/patches/DownloadsPatch.java | 0 .../youtube/patches/EnableDebuggingPatch.java | 0 .../patches/FixBackToExitGesturePatch.java | 0 .../patches/FullscreenPanelsRemoverPatch.java | 0 .../patches/HideEndscreenCardsPatch.java | 0 .../youtube/patches/HideGetPremiumPatch.java | 0 .../youtube/patches/HideInfoCardsPatch.java | 0 .../HidePlayerOverlayButtonsPatch.java | 0 .../youtube/patches/HideSeekbarPatch.java | 0 .../youtube/patches/HideTimestampPatch.java | 0 .../youtube/patches/MiniplayerPatch.java | 4 +- .../patches/NavigationButtonsPatch.java | 0 .../patches/OpenLinksExternallyPatch.java | 0 .../youtube/patches/PlayerControlsPatch.java | 0 .../patches/PlayerOverlaysHookPatch.java | 0 .../youtube/patches/PlayerTypeHookPatch.java | 0 .../RemoveTrackingQueryParameterPatch.java | 0 .../RemoveViewerDiscretionDialogPatch.java | 0 .../patches/ReturnYouTubeDislikePatch.java | 0 .../youtube/patches/SeekbarTappingPatch.java | 0 .../patches/SeekbarThumbnailsPatch.java | 0 .../youtube/patches/ShortsAutoplayPatch.java | 0 .../youtube/patches/SlideToSeekPatch.java | 0 .../youtube/patches/TabletLayoutPatch.java | 0 .../youtube/patches/VersionCheckPatch.java | 0 .../youtube/patches/VideoAdsPatch.java | 0 .../youtube/patches/VideoInformation.java | 0 .../youtube/patches/WideSearchbarPatch.java | 0 .../youtube/patches/ZoomHapticsPatch.java | 0 .../announcements/AnnouncementsPatch.java | 2 +- .../requests/AnnouncementsRoutes.java | 6 +-- .../youtube/patches/components/AdsFilter.java | 0 .../patches/components/ButtonsFilter.java | 0 .../patches/components/CommentsFilter.java | 0 .../patches/components/CustomFilter.java | 0 .../DescriptionComponentsFilter.java | 0 .../youtube/patches/components/Filter.java | 0 .../patches/components/FilterGroup.java | 0 .../patches/components/FilterGroupList.java | 0 .../components/HideInfoCardsFilterPatch.java | 0 .../components/KeywordContentFilter.java | 0 .../components/LayoutComponentsFilter.java | 0 .../patches/components/LithoFilterPatch.java | 0 .../PlaybackSpeedMenuFilterPatch.java | 0 .../PlayerFlyoutMenuItemsFilter.java | 0 .../ReturnYouTubeDislikeFilterPatch.java | 0 .../patches/components/ShortsFilter.java | 0 .../VideoQualityMenuFilterPatch.java | 0 .../quality/RememberVideoQualityPatch.java | 0 .../RestoreOldVideoQualityMenuPatch.java | 2 +- .../speed/CustomPlaybackSpeedPatch.java | 5 +-- .../speed/RememberPlaybackSpeedPatch.java | 0 .../youtube/patches/spoof/ClientType.java | 0 .../patches/spoof/DeviceHardwareSupport.java | 0 .../patches/spoof/SpoofAppVersionPatch.java | 0 .../spoof/SpoofDeviceDimensionsPatch.java | 0 .../patches/spoof/SpoofVideoStreamsPatch.java | 0 .../patches/spoof/requests/PlayerRoutes.java | 4 +- .../spoof/requests/StreamingDataRequest.java | 0 .../patches/theme/ProgressBarDrawable.java | 0 .../patches/theme/SeekbarColorPatch.java | 0 .../youtube/patches/theme/ThemePatch.java | 0 .../ReturnYouTubeDislike.java | 0 .../requests/RYDVoteData.java | 0 .../requests/ReturnYouTubeDislikeApi.java | 4 +- .../requests/ReturnYouTubeDislikeRoutes.java | 8 ++-- .../youtube/settings/LicenseActivityHook.java | 0 .../extension/youtube/settings/Settings.java | 9 +++- ...ativeThumbnailsAboutDeArrowPreference.java | 0 .../ForceAVCSpoofingPreference.java | 0 .../settings/preference/HtmlPreference.java | 0 .../ReVancedPreferenceFragment.java | 0 .../ReVancedYouTubeAboutPreference.java | 0 ...eturnYouTubeDislikePreferenceFragment.java | 0 .../SponsorBlockPreferenceFragment.java | 0 .../youtube/shared/NavigationBar.java | 0 .../PlayerControlsVisibilityObserver.kt | 0 .../youtube/shared/PlayerOverlays.kt | 0 .../extension/youtube/shared/PlayerType.kt | 0 .../extension/youtube/shared/VideoState.kt | 0 .../SegmentPlaybackController.java | 0 .../sponsorblock/SponsorBlockSettings.java | 11 +++++ .../sponsorblock/SponsorBlockUtils.java | 0 .../objects/CategoryBehaviour.java | 0 .../sponsorblock/objects/SegmentCategory.java | 0 .../SegmentCategoryListPreference.java | 0 .../sponsorblock/objects/SponsorSegment.java | 0 .../sponsorblock/objects/UserStats.java | 0 .../sponsorblock/requests/SBRequester.java | 4 +- .../sponsorblock/requests/SBRoutes.java | 6 +-- .../ui/CreateSegmentButtonController.java | 2 + .../sponsorblock/ui/NewSegmentLayout.java | 5 +-- .../sponsorblock/ui/SkipSponsorButton.java | 0 .../ui/SponsorBlockViewController.java | 0 .../ui/VotingButtonController.java | 2 + .../SwipeControlsConfigurationProvider.kt | 0 .../SwipeControlsHostActivity.kt | 0 .../controller/AudioVolumeController.kt | 0 .../controller/ScreenBrightnessController.kt | 0 .../controller/SwipeZonesController.kt | 0 .../controller/VolumeKeysController.kt | 0 .../gesture/ClassicSwipeController.kt | 0 .../gesture/PressToSwipeController.kt | 0 .../gesture/core/BaseGestureController.kt | 0 .../gesture/core/GestureController.kt | 0 .../controller/gesture/core/SwipeDetector.kt | 0 .../core/VolumeAndBrightnessScroller.kt | 0 .../youtube/swipecontrols/misc/Point.kt | 0 .../youtube/swipecontrols/misc/Rectangle.kt | 0 .../misc/ScrollDistanceHelper.kt | 0 .../misc/SwipeControlsOverlay.kt | 0 .../swipecontrols/misc/SwipeControlsUtils.kt | 0 .../views/SwipeControlsOverlayLayout.kt | 2 + .../videoplayer/CopyVideoUrlButton.java | 0 .../CopyVideoUrlTimestampButton.java | 0 .../videoplayer/ExternalDownloadButton.java | 0 .../PlaybackSpeedDialogButton.java | 0 .../videoplayer/PlayerControlButton.java | 0 extensions/youtube/stub/build.gradle.kts | 17 ++++++++ .../youtube/stub/src/main/AndroidManifest.xml | 1 + .../support/v7/widget/RecyclerView.java | 1 + .../support/constraint/ConstraintLayout.java | 4 +- ...tadataScrollableButtonContainerLayout.java | 0 .../rendering/ui/pivotbar/PivotBar.java | 0 .../InnertubeContext$ClientInfo.java | 0 .../java/org/chromium/net/UrlRequest.java | 0 .../org/chromium/net/UrlResponseInfo.java | 0 .../chromium/net/impl/CronetUrlRequest.java | 0 patches/api/patches.api | 1 + .../connectivity/wifi/spoof/SpoofWifiPatch.kt | 5 ++- .../RemoveScreenCaptureRestrictionPatch.kt | 2 +- .../RemoveScreenshotRestrictionPatch.kt | 2 +- .../extension/{Fingerprints.kt => Hooks.kt} | 0 .../misc/extension/SharedExtensionPatch.kt | 5 ++- .../misc/extension/SharedExtensionPatch.kt | 2 +- .../extension/SharedExtensionPatch.kt | 2 +- .../reddit/misc/extension/ExtensionPatch.kt | 2 +- .../misc/extension/SharedExtensionPatch.kt | 20 +++++++++ .../tiktok/misc/extension/ExtensionPatch.kt | 2 +- .../misc/extension/ExtensionPatch.kt | 2 +- .../tumblr/misc/extension/ExtensionPatch.kt | 2 +- .../misc/extension/SharedExtensionPatch.kt | 2 +- .../twitter/misc/extension/ExtensionPatch.kt | 2 +- .../misc/extension/SharedExtensionPatch.kt | 5 +-- .../playercontrols/PlayerControlsPatch.kt | 19 +++++---- settings.gradle.kts | 10 ++++- 314 files changed, 371 insertions(+), 148 deletions(-) create mode 100644 extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/build.gradle.kts rename extensions/{ => all/misc/connectivity/wifi/spoof}/spoof-wifi/src/main/AndroidManifest.xml (73%) rename extensions/{ => all/misc/connectivity/wifi/spoof}/spoof-wifi/src/main/java/app/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch.java (100%) create mode 100644 extensions/all/misc/screencapture/remove-screen-capture-restriction/build.gradle.kts rename extensions/{ => all/misc/screencapture}/remove-screen-capture-restriction/src/main/AndroidManifest.xml (100%) rename extensions/{ => all/misc/screencapture}/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreencaptureRestrictionPatch.java (100%) create mode 100644 extensions/all/misc/screenshot/remove-screenshot-restriction/build.gradle.kts rename extensions/{ => all/misc/screenshot}/remove-screenshot-restriction/src/main/AndroidManifest.xml (100%) rename extensions/{ => all/misc/screenshot}/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java (100%) create mode 100644 extensions/boostforreddit/build.gradle.kts create mode 100644 extensions/boostforreddit/src/main/AndroidManifest.xml rename extensions/{shared => boostforreddit}/src/main/java/app/revanced/extension/boostforreddit/FixSLinksPatch.java (95%) rename extensions/{shared => boostforreddit}/stub/build.gradle.kts (100%) create mode 100644 extensions/boostforreddit/stub/src/main/AndroidManifest.xml rename extensions/{shared => boostforreddit}/stub/src/main/java/com/rubenmayayo/reddit/ui/activities/WebViewActivity.java (100%) rename extensions/{shared => }/proguard-rules.pro (100%) create mode 100644 extensions/reddit/build.gradle.kts create mode 100644 extensions/reddit/src/main/AndroidManifest.xml rename extensions/{shared/src/main/java/app/revanced/extension/reddit => reddit/src/main/java/app/revanced/extension}/patches/FilterPromotedLinksPatch.java (91%) create mode 100644 extensions/reddit/stub/build.gradle.kts create mode 100644 extensions/reddit/stub/src/main/AndroidManifest.xml rename extensions/{shared => reddit}/stub/src/main/java/com/reddit/domain/model/ILink.java (100%) delete mode 100644 extensions/remove-screen-capture-restriction/build.gradle.kts delete mode 100644 extensions/remove-screenshot-restriction/build.gradle.kts create mode 100644 extensions/shared/library/build.gradle.kts rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/Logger.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/StringRef.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/Utils.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/checks/Check.java (91%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/checks/CheckEnvironmentPatch.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/checks/PatchInfo.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/fixes/slink/BaseFixSLinksPatch.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/fixes/slink/ResolveResult.java (100%) rename extensions/shared/{src/main/java/app/revanced/extension/youtube => library/src/main/java/app/revanced/extension/shared}/requests/Requester.java (99%) rename extensions/shared/{src/main/java/app/revanced/extension/youtube => library/src/main/java/app/revanced/extension/shared}/requests/Route.java (97%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java (83%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/BooleanSetting.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/EnumSetting.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/FloatSetting.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/IntegerSetting.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/LongSetting.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/Setting.java (92%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/StringSetting.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java (98%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java (98%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/preference/ResettableEditTextPreference.java (100%) rename extensions/shared/{ => library}/src/main/java/app/revanced/extension/shared/settings/preference/SharedPrefCategory.java (100%) delete mode 100644 extensions/shared/stub/src/main/AndroidManifest.xml delete mode 100644 extensions/spoof-wifi/build.gradle.kts create mode 100644 extensions/syncforreddit/build.gradle.kts create mode 100644 extensions/syncforreddit/src/main/AndroidManifest.xml rename extensions/{shared => syncforreddit}/src/main/java/app/revanced/extension/syncforreddit/FixRedditVideoDownloadPatch.java (100%) rename extensions/{shared => syncforreddit}/src/main/java/app/revanced/extension/syncforreddit/FixSLinksPatch.java (100%) create mode 100644 extensions/syncforreddit/stub/build.gradle.kts create mode 100644 extensions/syncforreddit/stub/src/main/AndroidManifest.xml rename extensions/{shared => syncforreddit}/stub/src/main/java/com/laurencedawson/reddit_sync/ui/activities/WebViewActivity.java (100%) create mode 100644 extensions/tiktok/build.gradle.kts create mode 100644 extensions/tiktok/src/main/AndroidManifest.xml rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/Utils.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/cleardisplay/RememberClearDisplayPatch.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/download/DownloadsPatch.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/feedfilter/AdsFilter.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/feedfilter/FeedItemsFilter.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/feedfilter/IFilter.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/feedfilter/ImageVideoFilter.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/feedfilter/LikeCountFilter.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/feedfilter/LiveFilter.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/feedfilter/StoryFilter.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/feedfilter/ViewCountFilter.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/AdPersonalizationActivityHook.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/Settings.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/SettingsStatus.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/preference/DownloadPathPreference.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/preference/InputTextPreference.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/preference/RangeValuePreference.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedPreferenceFragment.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedTikTokAboutPreference.java (98%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/preference/TogglePreference.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/ConditionalPreferenceCategory.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/DownloadsPreferenceCategory.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/ExtensionPreferenceCategory.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/FeedFilterPreferenceCategory.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/SimSpoofPreferenceCategory.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/speed/PlaybackSpeedPatch.java (100%) rename extensions/{shared => tiktok}/src/main/java/app/revanced/extension/tiktok/spoof/sim/SpoofSimPatch.java (100%) create mode 100644 extensions/tiktok/stub/build.gradle.kts create mode 100644 extensions/tiktok/stub/src/main/AndroidManifest.xml rename extensions/{shared => tiktok}/stub/src/main/java/com/bytedance/ies/ugc/aweme/commercialize/compliance/personalization/AdPersonalizationActivity.java (100%) rename extensions/{shared => tiktok}/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/Aweme.java (100%) rename extensions/{shared => tiktok}/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/AwemeStatistics.java (100%) rename extensions/{shared => tiktok}/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/FeedItemList.java (100%) create mode 100644 extensions/tudortmund/build.gradle.kts create mode 100644 extensions/tudortmund/src/main/AndroidManifest.xml rename extensions/{shared => tudortmund}/src/main/java/app/revanced/extension/tudortmund/lockscreen/ShowOnLockscreenPatch.java (97%) create mode 100644 extensions/tumblr/build.gradle.kts create mode 100644 extensions/tumblr/src/main/AndroidManifest.xml rename extensions/{shared => tumblr}/src/main/java/app/revanced/extension/tumblr/patches/TimelineFilterPatch.java (100%) create mode 100644 extensions/tumblr/stub/build.gradle.kts create mode 100644 extensions/tumblr/stub/src/main/AndroidManifest.xml rename extensions/{shared => tumblr}/stub/src/main/java/com/tumblr/rumblr/model/TimelineObject.java (100%) rename extensions/{shared => tumblr}/stub/src/main/java/com/tumblr/rumblr/model/TimelineObjectType.java (100%) rename extensions/{shared => tumblr}/stub/src/main/java/com/tumblr/rumblr/model/Timelineable.java (100%) create mode 100644 extensions/twitch/build.gradle.kts create mode 100644 extensions/twitch/src/main/AndroidManifest.xml rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/Utils.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/adblock/IAdblockService.java (92%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/adblock/LuminousService.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/adblock/PurpleAdblockService.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/api/PurpleAdblockApi.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/api/RequestInterceptor.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/api/RetrofitClient.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/patches/AudioAdsPatch.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/patches/AutoClaimChannelPointsPatch.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/patches/DebugModePatch.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/patches/EmbeddedAdsPatch.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/patches/ShowDeletedMessagesPatch.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/patches/VideoAdsPatch.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/settings/AppCompatActivityHook.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/settings/Settings.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/settings/preference/CustomPreferenceCategory.java (100%) rename extensions/{shared => twitch}/src/main/java/app/revanced/extension/twitch/settings/preference/ReVancedPreferenceFragment.java (100%) create mode 100644 extensions/twitch/stub/build.gradle.kts create mode 100644 extensions/twitch/stub/src/main/AndroidManifest.xml rename extensions/{shared => twitch}/stub/src/main/java/tv/twitch/android/feature/settings/menu/SettingsMenuGroup.java (100%) rename extensions/{shared => twitch}/stub/src/main/java/tv/twitch/android/settings/SettingsActivity.java (100%) rename extensions/{shared => twitch}/stub/src/main/java/tv/twitch/android/shared/chat/util/ClickableUsernameSpan.java (100%) create mode 100644 extensions/twitter/build.gradle.kts create mode 100644 extensions/twitter/src/main/AndroidManifest.xml rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/patches/hook/json/BaseJsonHook.kt (100%) rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/patches/hook/json/JsonHook.kt (100%) rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/patches/hook/json/JsonHookPatch.kt (100%) rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/patches/hook/patch/Hook.kt (100%) rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/patches/hook/patch/ads/HideAdsHook.kt (100%) rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/patches/hook/patch/dummy/DummyHook.kt (100%) rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/patches/hook/patch/recommendation/RecommendedUsersHook.kt (100%) rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/patches/hook/twifucker/TwiFucker.kt (100%) rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/patches/hook/twifucker/TwiFuckerUtils.kt (100%) rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/patches/links/ChangeLinkSharingDomainPatch.java (91%) rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/patches/links/OpenLinksWithAppChooserPatch.java (88%) rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/utils/json/JsonUtils.kt (100%) rename extensions/{shared/src/main/java/app/revanced/extension => twitter/src/main/java/app/revanced}/twitter/utils/stream/StreamUtils.kt (100%) create mode 100644 extensions/youtube/build.gradle.kts create mode 100644 extensions/youtube/src/main/AndroidManifest.xml rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/ByteTrieSearch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/Event.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/StringTrieSearch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/ThemeHelper.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/TrieSearch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/AlternativeThumbnailsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/AutoRepeatPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/BackgroundPlaybackPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/BypassImageRegionRestrictionsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/BypassURLRedirectsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/ChangeStartPagePatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/CheckWatchHistoryDomainNameResolutionPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/CopyVideoUrlPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/CustomPlayerOverlayOpacityPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/DisableAutoCaptionsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/DisableFullscreenAmbientModePatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/DisablePlayerPopupPanelsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/DisablePreciseSeekingGesturePatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/DisableResumingStartupShortsPlayerPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/DisableRollingNumberAnimationsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/DisableSuggestedVideoEndScreenPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/DownloadsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/EnableDebuggingPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/FixBackToExitGesturePatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/FullscreenPanelsRemoverPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/HideEndscreenCardsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/HideGetPremiumPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/HideInfoCardsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/HidePlayerOverlayButtonsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/HideSeekbarPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/HideTimestampPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java (99%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/NavigationButtonsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/OpenLinksExternallyPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/PlayerOverlaysHookPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/PlayerTypeHookPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/RemoveTrackingQueryParameterPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/RemoveViewerDiscretionDialogPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/SeekbarTappingPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/SeekbarThumbnailsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/ShortsAutoplayPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/SlideToSeekPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/TabletLayoutPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/VersionCheckPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/VideoAdsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/ZoomHapticsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/announcements/AnnouncementsPatch.java (99%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/announcements/requests/AnnouncementsRoutes.java (80%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/CustomFilter.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/Filter.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/FilterGroup.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/FilterGroupList.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/HideInfoCardsFilterPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/LithoFilterPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/PlaybackSpeedMenuFilterPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/ReturnYouTubeDislikeFilterPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/components/VideoQualityMenuFilterPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RestoreOldVideoQualityMenuPatch.java (99%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java (98%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/playback/speed/RememberPlaybackSpeedPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/spoof/ClientType.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/spoof/DeviceHardwareSupport.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofAppVersionPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofDeviceDimensionsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/PlayerRoutes.java (95%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/StreamingDataRequest.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/theme/ProgressBarDrawable.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/theme/SeekbarColorPatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/patches/theme/ThemePatch.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/RYDVoteData.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeApi.java (99%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeRoutes.java (78%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/settings/Settings.java (99%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/settings/preference/AlternativeThumbnailsAboutDeArrowPreference.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/settings/preference/ForceAVCSpoofingPreference.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/settings/preference/HtmlPreference.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedYouTubeAboutPreference.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/settings/preference/ReturnYouTubeDislikePreferenceFragment.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/shared/PlayerControlsVisibilityObserver.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/shared/PlayerOverlays.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/shared/PlayerType.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/shared/VideoState.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockSettings.java (96%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockUtils.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/CategoryBehaviour.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategory.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategoryListPreference.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SponsorSegment.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/UserStats.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRequester.java (99%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRoutes.java (86%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButtonController.java (98%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/NewSegmentLayout.java (98%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SkipSponsorButton.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockViewController.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButtonController.java (98%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsConfigurationProvider.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsHostActivity.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/AudioVolumeController.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/ScreenBrightnessController.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/SwipeZonesController.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/VolumeKeysController.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/ClassicSwipeController.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/PressToSwipeController.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/BaseGestureController.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/GestureController.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/SwipeDetector.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/VolumeAndBrightnessScroller.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/Point.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/Rectangle.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/ScrollDistanceHelper.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/SwipeControlsOverlay.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/SwipeControlsUtils.kt (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/swipecontrols/views/SwipeControlsOverlayLayout.kt (98%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java (100%) rename extensions/{shared => youtube}/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java (100%) create mode 100644 extensions/youtube/stub/build.gradle.kts create mode 100644 extensions/youtube/stub/src/main/AndroidManifest.xml rename extensions/{shared => youtube}/stub/src/main/java/android/support/v7/widget/RecyclerView.java (86%) rename extensions/{shared/stub/src/main/java => youtube/stub/src/main/java/com/google/android}/android/support/constraint/ConstraintLayout.java (89%) rename extensions/{shared => youtube}/stub/src/main/java/com/google/android/apps/youtube/app/ui/SlimMetadataScrollableButtonContainerLayout.java (100%) rename extensions/{shared => youtube}/stub/src/main/java/com/google/android/libraries/youtube/rendering/ui/pivotbar/PivotBar.java (100%) rename extensions/{shared => youtube}/stub/src/main/java/com/google/protos/youtube/api/innertube/InnertubeContext$ClientInfo.java (100%) rename extensions/{shared => youtube}/stub/src/main/java/org/chromium/net/UrlRequest.java (100%) rename extensions/{shared => youtube}/stub/src/main/java/org/chromium/net/UrlResponseInfo.java (100%) rename extensions/{shared => youtube}/stub/src/main/java/org/chromium/net/impl/CronetUrlRequest.java (100%) rename patches/src/main/kotlin/app/revanced/patches/googlephotos/misc/extension/{Fingerprints.kt => Hooks.kt} (100%) diff --git a/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/build.gradle.kts b/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/build.gradle.kts new file mode 100644 index 000000000..bc416f685 --- /dev/null +++ b/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/build.gradle.kts @@ -0,0 +1,5 @@ +android.namespace = "app.revanced.extension" + +dependencies { + compileOnly(libs.annotation) +} diff --git a/extensions/spoof-wifi/src/main/AndroidManifest.xml b/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/AndroidManifest.xml similarity index 73% rename from extensions/spoof-wifi/src/main/AndroidManifest.xml rename to extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/AndroidManifest.xml index 7425a54c5..0bfc2a532 100644 --- a/extensions/spoof-wifi/src/main/AndroidManifest.xml +++ b/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/AndroidManifest.xml @@ -1,4 +1,3 @@ - - + diff --git a/extensions/spoof-wifi/src/main/java/app/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch.java b/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch.java similarity index 100% rename from extensions/spoof-wifi/src/main/java/app/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch.java rename to extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch.java diff --git a/extensions/all/misc/screencapture/remove-screen-capture-restriction/build.gradle.kts b/extensions/all/misc/screencapture/remove-screen-capture-restriction/build.gradle.kts new file mode 100644 index 000000000..bc416f685 --- /dev/null +++ b/extensions/all/misc/screencapture/remove-screen-capture-restriction/build.gradle.kts @@ -0,0 +1,5 @@ +android.namespace = "app.revanced.extension" + +dependencies { + compileOnly(libs.annotation) +} diff --git a/extensions/remove-screen-capture-restriction/src/main/AndroidManifest.xml b/extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/AndroidManifest.xml similarity index 100% rename from extensions/remove-screen-capture-restriction/src/main/AndroidManifest.xml rename to extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/AndroidManifest.xml diff --git a/extensions/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreencaptureRestrictionPatch.java b/extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreencaptureRestrictionPatch.java similarity index 100% rename from extensions/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreencaptureRestrictionPatch.java rename to extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreencaptureRestrictionPatch.java diff --git a/extensions/all/misc/screenshot/remove-screenshot-restriction/build.gradle.kts b/extensions/all/misc/screenshot/remove-screenshot-restriction/build.gradle.kts new file mode 100644 index 000000000..88c859b78 --- /dev/null +++ b/extensions/all/misc/screenshot/remove-screenshot-restriction/build.gradle.kts @@ -0,0 +1 @@ +android.namespace = "app.revanced.extension" diff --git a/extensions/remove-screenshot-restriction/src/main/AndroidManifest.xml b/extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/AndroidManifest.xml similarity index 100% rename from extensions/remove-screenshot-restriction/src/main/AndroidManifest.xml rename to extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/AndroidManifest.xml diff --git a/extensions/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java b/extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java similarity index 100% rename from extensions/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java rename to extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java diff --git a/extensions/boostforreddit/build.gradle.kts b/extensions/boostforreddit/build.gradle.kts new file mode 100644 index 000000000..54c06871b --- /dev/null +++ b/extensions/boostforreddit/build.gradle.kts @@ -0,0 +1,4 @@ +dependencies { + compileOnly(project(":extensions:shared:library")) + compileOnly(project(":extensions:boostforreddit:stub")) +} diff --git a/extensions/boostforreddit/src/main/AndroidManifest.xml b/extensions/boostforreddit/src/main/AndroidManifest.xml new file mode 100644 index 000000000..9b65eb06c --- /dev/null +++ b/extensions/boostforreddit/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/extensions/shared/src/main/java/app/revanced/extension/boostforreddit/FixSLinksPatch.java b/extensions/boostforreddit/src/main/java/app/revanced/extension/boostforreddit/FixSLinksPatch.java similarity index 95% rename from extensions/shared/src/main/java/app/revanced/extension/boostforreddit/FixSLinksPatch.java rename to extensions/boostforreddit/src/main/java/app/revanced/extension/boostforreddit/FixSLinksPatch.java index b7a150fb1..1d6089737 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/boostforreddit/FixSLinksPatch.java +++ b/extensions/boostforreddit/src/main/java/app/revanced/extension/boostforreddit/FixSLinksPatch.java @@ -4,7 +4,9 @@ import com.rubenmayayo.reddit.ui.activities.WebViewActivity; import app.revanced.extension.shared.fixes.slink.BaseFixSLinksPatch; -/** @noinspection unused*/ +/** + * @noinspection unused + */ public class FixSLinksPatch extends BaseFixSLinksPatch { static { INSTANCE = new FixSLinksPatch(); diff --git a/extensions/shared/stub/build.gradle.kts b/extensions/boostforreddit/stub/build.gradle.kts similarity index 100% rename from extensions/shared/stub/build.gradle.kts rename to extensions/boostforreddit/stub/build.gradle.kts diff --git a/extensions/boostforreddit/stub/src/main/AndroidManifest.xml b/extensions/boostforreddit/stub/src/main/AndroidManifest.xml new file mode 100644 index 000000000..15e7c2ae6 --- /dev/null +++ b/extensions/boostforreddit/stub/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/extensions/shared/stub/src/main/java/com/rubenmayayo/reddit/ui/activities/WebViewActivity.java b/extensions/boostforreddit/stub/src/main/java/com/rubenmayayo/reddit/ui/activities/WebViewActivity.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/rubenmayayo/reddit/ui/activities/WebViewActivity.java rename to extensions/boostforreddit/stub/src/main/java/com/rubenmayayo/reddit/ui/activities/WebViewActivity.java diff --git a/extensions/shared/proguard-rules.pro b/extensions/proguard-rules.pro similarity index 100% rename from extensions/shared/proguard-rules.pro rename to extensions/proguard-rules.pro diff --git a/extensions/reddit/build.gradle.kts b/extensions/reddit/build.gradle.kts new file mode 100644 index 000000000..8693f97f5 --- /dev/null +++ b/extensions/reddit/build.gradle.kts @@ -0,0 +1,3 @@ +dependencies { + compileOnly(project(":extensions:reddit:stub")) +} diff --git a/extensions/reddit/src/main/AndroidManifest.xml b/extensions/reddit/src/main/AndroidManifest.xml new file mode 100644 index 000000000..9b65eb06c --- /dev/null +++ b/extensions/reddit/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/extensions/shared/src/main/java/app/revanced/extension/reddit/patches/FilterPromotedLinksPatch.java b/extensions/reddit/src/main/java/app/revanced/extension/patches/FilterPromotedLinksPatch.java similarity index 91% rename from extensions/shared/src/main/java/app/revanced/extension/reddit/patches/FilterPromotedLinksPatch.java rename to extensions/reddit/src/main/java/app/revanced/extension/patches/FilterPromotedLinksPatch.java index 7534d6928..5b3e61b2a 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/reddit/patches/FilterPromotedLinksPatch.java +++ b/extensions/reddit/src/main/java/app/revanced/extension/patches/FilterPromotedLinksPatch.java @@ -1,4 +1,4 @@ -package app.revanced.extension.reddit.patches; +package app.revanced.extension.patches; import com.reddit.domain.model.ILink; diff --git a/extensions/reddit/stub/build.gradle.kts b/extensions/reddit/stub/build.gradle.kts new file mode 100644 index 000000000..c1cc5794c --- /dev/null +++ b/extensions/reddit/stub/build.gradle.kts @@ -0,0 +1,17 @@ +plugins { + id(libs.plugins.android.library.get().pluginId) +} + +android { + namespace = "app.revanced.extension" + compileSdk = 33 + + defaultConfig { + minSdk = 24 + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} diff --git a/extensions/reddit/stub/src/main/AndroidManifest.xml b/extensions/reddit/stub/src/main/AndroidManifest.xml new file mode 100644 index 000000000..15e7c2ae6 --- /dev/null +++ b/extensions/reddit/stub/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/extensions/shared/stub/src/main/java/com/reddit/domain/model/ILink.java b/extensions/reddit/stub/src/main/java/com/reddit/domain/model/ILink.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/reddit/domain/model/ILink.java rename to extensions/reddit/stub/src/main/java/com/reddit/domain/model/ILink.java diff --git a/extensions/remove-screen-capture-restriction/build.gradle.kts b/extensions/remove-screen-capture-restriction/build.gradle.kts deleted file mode 100644 index 46f94dac8..000000000 --- a/extensions/remove-screen-capture-restriction/build.gradle.kts +++ /dev/null @@ -1,11 +0,0 @@ -extension { - name = "extensions/all/screencapture/remove-screen-capture-restriction.rve" -} - -android { - namespace = "app.revanced.extension" -} - -dependencies { - compileOnly(libs.annotation) -} diff --git a/extensions/remove-screenshot-restriction/build.gradle.kts b/extensions/remove-screenshot-restriction/build.gradle.kts deleted file mode 100644 index cdbad5e1e..000000000 --- a/extensions/remove-screenshot-restriction/build.gradle.kts +++ /dev/null @@ -1,7 +0,0 @@ -extension { - name = "extensions/all/screenshot/remove-screenshot-restriction.rve" -} - -android { - namespace = "app.revanced.extension" -} diff --git a/extensions/shared/build.gradle.kts b/extensions/shared/build.gradle.kts index 5abaf83ab..2da2e1e89 100644 --- a/extensions/shared/build.gradle.kts +++ b/extensions/shared/build.gradle.kts @@ -1,22 +1,3 @@ -extension { - name = "extensions/shared.rve" -} - -android { - namespace = "app.revanced.extension" - - buildTypes { - release { - isMinifyEnabled = true - } - } -} - dependencies { - compileOnly(libs.appcompat) - compileOnly(libs.annotation) - compileOnly(libs.okhttp) - compileOnly(libs.retrofit) - - compileOnly(project(":extensions:shared:stub")) + implementation(project(":extensions:shared:library")) } diff --git a/extensions/shared/library/build.gradle.kts b/extensions/shared/library/build.gradle.kts new file mode 100644 index 000000000..3cbb56069 --- /dev/null +++ b/extensions/shared/library/build.gradle.kts @@ -0,0 +1,21 @@ +plugins { + id("com.android.library") +} + +android { + namespace = "app.revanced.extension" + compileSdk = 34 + + defaultConfig { + minSdk = 23 + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } +} + +dependencies { + compileOnly(libs.annotation) +} diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/Logger.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Logger.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/Logger.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/Logger.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/StringRef.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/StringRef.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/StringRef.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/StringRef.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/Utils.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/Utils.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/checks/Check.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/checks/Check.java similarity index 91% rename from extensions/shared/src/main/java/app/revanced/extension/shared/checks/Check.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/checks/Check.java index 855e6003b..6d4db14e5 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/checks/Check.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/checks/Check.java @@ -19,7 +19,7 @@ import java.util.Collection; import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Utils; -import app.revanced.extension.youtube.settings.Settings; +import app.revanced.extension.shared.settings.BaseSettings; abstract class Check { private static final int NUMBER_OF_TIMES_TO_IGNORE_WARNING_BEFORE_DISABLING = 2; @@ -46,11 +46,11 @@ abstract class Check { /** * For debugging and development only. * Forces all checks to be performed and the check failed dialog to be shown. - * Can be enabled by importing settings text with {@link Settings#CHECK_ENVIRONMENT_WARNINGS_ISSUED} + * Can be enabled by importing settings text with {@link BaseSettings#CHECK_ENVIRONMENT_WARNINGS_ISSUED} * set to -1. */ static boolean debugAlwaysShowWarning() { - final boolean alwaysShowWarning = Settings.CHECK_ENVIRONMENT_WARNINGS_ISSUED.get() < 0; + final boolean alwaysShowWarning = BaseSettings.CHECK_ENVIRONMENT_WARNINGS_ISSUED.get() < 0; if (alwaysShowWarning) { Logger.printInfo(() -> "Debug forcing environment check warning to show"); } @@ -59,14 +59,14 @@ abstract class Check { } static boolean shouldRun() { - return Settings.CHECK_ENVIRONMENT_WARNINGS_ISSUED.get() + return BaseSettings.CHECK_ENVIRONMENT_WARNINGS_ISSUED.get() < NUMBER_OF_TIMES_TO_IGNORE_WARNING_BEFORE_DISABLING; } static void disableForever() { Logger.printInfo(() -> "Environment checks disabled forever"); - Settings.CHECK_ENVIRONMENT_WARNINGS_ISSUED.save(Integer.MAX_VALUE); + BaseSettings.CHECK_ENVIRONMENT_WARNINGS_ISSUED.save(Integer.MAX_VALUE); } @SuppressLint("NewApi") @@ -107,8 +107,8 @@ abstract class Check { " ", (dialog, which) -> { // Cleanup data if the user incorrectly imported a huge negative number. - final int current = Math.max(0, Settings.CHECK_ENVIRONMENT_WARNINGS_ISSUED.get()); - Settings.CHECK_ENVIRONMENT_WARNINGS_ISSUED.save(current + 1); + final int current = Math.max(0, BaseSettings.CHECK_ENVIRONMENT_WARNINGS_ISSUED.get()); + BaseSettings.CHECK_ENVIRONMENT_WARNINGS_ISSUED.save(current + 1); dialog.dismiss(); } diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/checks/CheckEnvironmentPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/checks/CheckEnvironmentPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/checks/CheckEnvironmentPatch.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/checks/CheckEnvironmentPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/checks/PatchInfo.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/checks/PatchInfo.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/checks/PatchInfo.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/checks/PatchInfo.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/fixes/slink/BaseFixSLinksPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/fixes/slink/BaseFixSLinksPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/fixes/slink/BaseFixSLinksPatch.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/fixes/slink/BaseFixSLinksPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/fixes/slink/ResolveResult.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/fixes/slink/ResolveResult.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/fixes/slink/ResolveResult.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/fixes/slink/ResolveResult.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/requests/Requester.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/requests/Requester.java similarity index 99% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/requests/Requester.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/requests/Requester.java index 69d43a4be..c25e71d78 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/requests/Requester.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/requests/Requester.java @@ -1,4 +1,4 @@ -package app.revanced.extension.youtube.requests; +package app.revanced.extension.shared.requests; import app.revanced.extension.shared.Utils; import org.json.JSONArray; diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/requests/Route.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/requests/Route.java similarity index 97% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/requests/Route.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/requests/Route.java index c25d108b9..9e6f2c5a7 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/requests/Route.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/requests/Route.java @@ -1,4 +1,4 @@ -package app.revanced.extension.youtube.requests; +package app.revanced.extension.shared.requests; public class Route { private final String route; diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java similarity index 83% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java index 70d7589e8..13be9547c 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java @@ -14,4 +14,6 @@ public class BaseSettings { public static final BooleanSetting DEBUG = new BooleanSetting("revanced_debug", FALSE); public static final BooleanSetting DEBUG_STACKTRACE = new BooleanSetting("revanced_debug_stacktrace", FALSE, parent(DEBUG)); public static final BooleanSetting DEBUG_TOAST_ON_ERROR = new BooleanSetting("revanced_debug_toast_on_error", TRUE, "revanced_debug_toast_on_error_user_dialog_message"); + + public static final IntegerSetting CHECK_ENVIRONMENT_WARNINGS_ISSUED = new IntegerSetting("revanced_check_environment_warnings_issued", 0, true, false); } diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/BooleanSetting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BooleanSetting.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/BooleanSetting.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BooleanSetting.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/EnumSetting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/EnumSetting.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/EnumSetting.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/EnumSetting.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/FloatSetting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/FloatSetting.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/FloatSetting.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/FloatSetting.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/IntegerSetting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/IntegerSetting.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/IntegerSetting.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/IntegerSetting.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/LongSetting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/LongSetting.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/LongSetting.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/LongSetting.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/Setting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java similarity index 92% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/Setting.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java index 7507d802a..5f5a97474 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/Setting.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java @@ -7,7 +7,6 @@ import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.StringRef; import app.revanced.extension.shared.Utils; import app.revanced.extension.shared.settings.preference.SharedPrefCategory; -import app.revanced.extension.youtube.sponsorblock.SponsorBlockSettings; import org.jetbrains.annotations.NotNull; import org.json.JSONException; import org.json.JSONObject; @@ -62,6 +61,30 @@ public abstract class Setting { }; } + /** + * Callback for importing/exporting settings. + */ + public interface ImportExportCallback { + /** + * Called after all settings have been imported. + */ + void settingsImported(@Nullable Context context); + + /** + * Called after all settings have been exported. + */ + void settingsExported(@Nullable Context context); + } + + private static final List importExportCallbacks = new ArrayList<>(); + + /** + * Adds a callback for {@link #importFromJSON(Context, String)} and {@link #exportToJson(Context)}. + */ + public static void addImportExportCallback(@NonNull ImportExportCallback callback) { + importExportCallbacks.add(Objects.requireNonNull(callback)); + } + /** * All settings that were instantiated. * When a new setting is created, it is automatically added to this list. @@ -365,7 +388,10 @@ public abstract class Setting { setting.writeToJSON(json, importExportKey); } } - SponsorBlockSettings.showExportWarningIfNeeded(alertDialogContext); + + for (ImportExportCallback callback : importExportCallbacks) { + callback.settingsExported(alertDialogContext); + } if (json.length() == 0) { return ""; @@ -385,7 +411,7 @@ public abstract class Setting { /** * @return if any settings that require a reboot were changed. */ - public static boolean importFromJSON(@NonNull String settingsJsonString) { + public static boolean importFromJSON(@NonNull Context alertDialogContext, @NonNull String settingsJsonString) { try { if (!settingsJsonString.matches("[\\s\\S]*\\{")) { settingsJsonString = '{' + settingsJsonString + '}'; // Restore outer JSON braces @@ -411,12 +437,9 @@ public abstract class Setting { } } - // SB Enum categories are saved using StringSettings. - // Which means they need to reload again if changed by other code (such as here). - // This call could be removed by creating a custom Setting class that manages the - // "String <-> Enum" logic or by adding an event hook of when settings are imported. - // But for now this is simple and works. - SponsorBlockSettings.updateFromImportedSettings(); + for (ImportExportCallback callback : importExportCallbacks) { + callback.settingsExported(alertDialogContext); + } Utils.showToastLong(numberOfSettingsImported == 0 ? str("revanced_settings_import_reset") diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/StringSetting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/StringSetting.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/StringSetting.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/StringSetting.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/AbstractPreferenceFragment.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java similarity index 98% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java index c750ca3f1..4c06a97df 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java @@ -85,7 +85,8 @@ public class ImportExportPreference extends EditTextPreference implements Prefer return; } AbstractPreferenceFragment.settingImportInProgress = true; - final boolean rebootNeeded = Setting.importFromJSON(replacementSettings); + + final boolean rebootNeeded = Setting.importFromJSON(Utils.getContext(), replacementSettings); if (rebootNeeded) { AbstractPreferenceFragment.showRestartDialog(getContext()); } diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java similarity index 98% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java index c3db3b4b0..cd62235fc 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java @@ -1,7 +1,7 @@ package app.revanced.extension.shared.settings.preference; import static app.revanced.extension.shared.StringRef.str; -import static app.revanced.extension.youtube.requests.Route.Method.GET; +import static app.revanced.extension.shared.requests.Route.Method.GET; import android.annotation.SuppressLint; import android.app.Dialog; @@ -34,8 +34,8 @@ import java.util.List; import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Utils; -import app.revanced.extension.youtube.requests.Requester; -import app.revanced.extension.youtube.requests.Route; +import app.revanced.extension.shared.requests.Requester; +import app.revanced.extension.shared.requests.Route; /** * Opens a dialog showing official links. diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/ResettableEditTextPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ResettableEditTextPreference.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/ResettableEditTextPreference.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ResettableEditTextPreference.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/SharedPrefCategory.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/SharedPrefCategory.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/shared/settings/preference/SharedPrefCategory.java rename to extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/SharedPrefCategory.java diff --git a/extensions/shared/src/main/AndroidManifest.xml b/extensions/shared/src/main/AndroidManifest.xml index e960b0003..9b65eb06c 100644 --- a/extensions/shared/src/main/AndroidManifest.xml +++ b/extensions/shared/src/main/AndroidManifest.xml @@ -1,4 +1 @@ - - - - + diff --git a/extensions/shared/stub/src/main/AndroidManifest.xml b/extensions/shared/stub/src/main/AndroidManifest.xml deleted file mode 100644 index 568741e54..000000000 --- a/extensions/shared/stub/src/main/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/extensions/spoof-wifi/build.gradle.kts b/extensions/spoof-wifi/build.gradle.kts deleted file mode 100644 index 9a2728690..000000000 --- a/extensions/spoof-wifi/build.gradle.kts +++ /dev/null @@ -1,11 +0,0 @@ -extension { - name = "extensions/all/connectivity/wifi/spoof/spoof-wifi.rve" -} - -android { - namespace = "app.revanced.extension" -} - -dependencies { - compileOnly(libs.annotation) -} diff --git a/extensions/syncforreddit/build.gradle.kts b/extensions/syncforreddit/build.gradle.kts new file mode 100644 index 000000000..a2b2899db --- /dev/null +++ b/extensions/syncforreddit/build.gradle.kts @@ -0,0 +1,5 @@ +dependencies { + compileOnly(project(":extensions:shared:library")) + compileOnly(project(":extensions:syncforreddit:stub")) + compileOnly(libs.annotation) +} diff --git a/extensions/syncforreddit/src/main/AndroidManifest.xml b/extensions/syncforreddit/src/main/AndroidManifest.xml new file mode 100644 index 000000000..9b65eb06c --- /dev/null +++ b/extensions/syncforreddit/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/extensions/shared/src/main/java/app/revanced/extension/syncforreddit/FixRedditVideoDownloadPatch.java b/extensions/syncforreddit/src/main/java/app/revanced/extension/syncforreddit/FixRedditVideoDownloadPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/syncforreddit/FixRedditVideoDownloadPatch.java rename to extensions/syncforreddit/src/main/java/app/revanced/extension/syncforreddit/FixRedditVideoDownloadPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/syncforreddit/FixSLinksPatch.java b/extensions/syncforreddit/src/main/java/app/revanced/extension/syncforreddit/FixSLinksPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/syncforreddit/FixSLinksPatch.java rename to extensions/syncforreddit/src/main/java/app/revanced/extension/syncforreddit/FixSLinksPatch.java diff --git a/extensions/syncforreddit/stub/build.gradle.kts b/extensions/syncforreddit/stub/build.gradle.kts new file mode 100644 index 000000000..c1cc5794c --- /dev/null +++ b/extensions/syncforreddit/stub/build.gradle.kts @@ -0,0 +1,17 @@ +plugins { + id(libs.plugins.android.library.get().pluginId) +} + +android { + namespace = "app.revanced.extension" + compileSdk = 33 + + defaultConfig { + minSdk = 24 + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} diff --git a/extensions/syncforreddit/stub/src/main/AndroidManifest.xml b/extensions/syncforreddit/stub/src/main/AndroidManifest.xml new file mode 100644 index 000000000..15e7c2ae6 --- /dev/null +++ b/extensions/syncforreddit/stub/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/extensions/shared/stub/src/main/java/com/laurencedawson/reddit_sync/ui/activities/WebViewActivity.java b/extensions/syncforreddit/stub/src/main/java/com/laurencedawson/reddit_sync/ui/activities/WebViewActivity.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/laurencedawson/reddit_sync/ui/activities/WebViewActivity.java rename to extensions/syncforreddit/stub/src/main/java/com/laurencedawson/reddit_sync/ui/activities/WebViewActivity.java diff --git a/extensions/tiktok/build.gradle.kts b/extensions/tiktok/build.gradle.kts new file mode 100644 index 000000000..e9c01da56 --- /dev/null +++ b/extensions/tiktok/build.gradle.kts @@ -0,0 +1,5 @@ +dependencies { + compileOnly(project(":extensions:shared:library")) + compileOnly(project(":extensions:tiktok:stub")) + compileOnly(libs.annotation) +} diff --git a/extensions/tiktok/src/main/AndroidManifest.xml b/extensions/tiktok/src/main/AndroidManifest.xml new file mode 100644 index 000000000..9b65eb06c --- /dev/null +++ b/extensions/tiktok/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/Utils.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/Utils.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/Utils.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/Utils.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/cleardisplay/RememberClearDisplayPatch.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/cleardisplay/RememberClearDisplayPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/cleardisplay/RememberClearDisplayPatch.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/cleardisplay/RememberClearDisplayPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/download/DownloadsPatch.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/download/DownloadsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/download/DownloadsPatch.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/download/DownloadsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/AdsFilter.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/AdsFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/AdsFilter.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/AdsFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/FeedItemsFilter.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/FeedItemsFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/FeedItemsFilter.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/FeedItemsFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/IFilter.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/IFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/IFilter.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/IFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/ImageVideoFilter.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/ImageVideoFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/ImageVideoFilter.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/ImageVideoFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/LikeCountFilter.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/LikeCountFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/LikeCountFilter.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/LikeCountFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/LiveFilter.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/LiveFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/LiveFilter.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/LiveFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/StoryFilter.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/StoryFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/StoryFilter.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/StoryFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/ViewCountFilter.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/ViewCountFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/feedfilter/ViewCountFilter.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/feedfilter/ViewCountFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/AdPersonalizationActivityHook.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/AdPersonalizationActivityHook.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/AdPersonalizationActivityHook.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/AdPersonalizationActivityHook.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/Settings.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/Settings.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/Settings.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/Settings.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/SettingsStatus.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/SettingsStatus.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/SettingsStatus.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/SettingsStatus.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/DownloadPathPreference.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/DownloadPathPreference.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/DownloadPathPreference.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/DownloadPathPreference.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/InputTextPreference.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/InputTextPreference.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/InputTextPreference.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/InputTextPreference.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/RangeValuePreference.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/RangeValuePreference.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/RangeValuePreference.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/RangeValuePreference.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedPreferenceFragment.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedPreferenceFragment.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedPreferenceFragment.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedPreferenceFragment.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedTikTokAboutPreference.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedTikTokAboutPreference.java similarity index 98% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedTikTokAboutPreference.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedTikTokAboutPreference.java index f20a0b635..2ca953e1c 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedTikTokAboutPreference.java +++ b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/ReVancedTikTokAboutPreference.java @@ -8,7 +8,6 @@ import java.util.Map; import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.settings.preference.ReVancedAboutPreference; -@SuppressWarnings("unused") public class ReVancedTikTokAboutPreference extends ReVancedAboutPreference { /** diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/TogglePreference.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/TogglePreference.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/TogglePreference.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/TogglePreference.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/ConditionalPreferenceCategory.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/ConditionalPreferenceCategory.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/ConditionalPreferenceCategory.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/ConditionalPreferenceCategory.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/DownloadsPreferenceCategory.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/DownloadsPreferenceCategory.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/DownloadsPreferenceCategory.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/DownloadsPreferenceCategory.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/ExtensionPreferenceCategory.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/ExtensionPreferenceCategory.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/ExtensionPreferenceCategory.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/ExtensionPreferenceCategory.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/FeedFilterPreferenceCategory.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/FeedFilterPreferenceCategory.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/FeedFilterPreferenceCategory.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/FeedFilterPreferenceCategory.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/SimSpoofPreferenceCategory.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/SimSpoofPreferenceCategory.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/SimSpoofPreferenceCategory.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/settings/preference/categories/SimSpoofPreferenceCategory.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/speed/PlaybackSpeedPatch.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/speed/PlaybackSpeedPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/speed/PlaybackSpeedPatch.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/speed/PlaybackSpeedPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/tiktok/spoof/sim/SpoofSimPatch.java b/extensions/tiktok/src/main/java/app/revanced/extension/tiktok/spoof/sim/SpoofSimPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tiktok/spoof/sim/SpoofSimPatch.java rename to extensions/tiktok/src/main/java/app/revanced/extension/tiktok/spoof/sim/SpoofSimPatch.java diff --git a/extensions/tiktok/stub/build.gradle.kts b/extensions/tiktok/stub/build.gradle.kts new file mode 100644 index 000000000..c1cc5794c --- /dev/null +++ b/extensions/tiktok/stub/build.gradle.kts @@ -0,0 +1,17 @@ +plugins { + id(libs.plugins.android.library.get().pluginId) +} + +android { + namespace = "app.revanced.extension" + compileSdk = 33 + + defaultConfig { + minSdk = 24 + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} diff --git a/extensions/tiktok/stub/src/main/AndroidManifest.xml b/extensions/tiktok/stub/src/main/AndroidManifest.xml new file mode 100644 index 000000000..15e7c2ae6 --- /dev/null +++ b/extensions/tiktok/stub/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/extensions/shared/stub/src/main/java/com/bytedance/ies/ugc/aweme/commercialize/compliance/personalization/AdPersonalizationActivity.java b/extensions/tiktok/stub/src/main/java/com/bytedance/ies/ugc/aweme/commercialize/compliance/personalization/AdPersonalizationActivity.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/bytedance/ies/ugc/aweme/commercialize/compliance/personalization/AdPersonalizationActivity.java rename to extensions/tiktok/stub/src/main/java/com/bytedance/ies/ugc/aweme/commercialize/compliance/personalization/AdPersonalizationActivity.java diff --git a/extensions/shared/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/Aweme.java b/extensions/tiktok/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/Aweme.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/Aweme.java rename to extensions/tiktok/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/Aweme.java diff --git a/extensions/shared/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/AwemeStatistics.java b/extensions/tiktok/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/AwemeStatistics.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/AwemeStatistics.java rename to extensions/tiktok/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/AwemeStatistics.java diff --git a/extensions/shared/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/FeedItemList.java b/extensions/tiktok/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/FeedItemList.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/FeedItemList.java rename to extensions/tiktok/stub/src/main/java/com/ss/android/ugc/aweme/feed/model/FeedItemList.java diff --git a/extensions/tudortmund/build.gradle.kts b/extensions/tudortmund/build.gradle.kts new file mode 100644 index 000000000..1c9660b0e --- /dev/null +++ b/extensions/tudortmund/build.gradle.kts @@ -0,0 +1,3 @@ +dependencies { + compileOnly(libs.appcompat) +} diff --git a/extensions/tudortmund/src/main/AndroidManifest.xml b/extensions/tudortmund/src/main/AndroidManifest.xml new file mode 100644 index 000000000..9b65eb06c --- /dev/null +++ b/extensions/tudortmund/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/extensions/shared/src/main/java/app/revanced/extension/tudortmund/lockscreen/ShowOnLockscreenPatch.java b/extensions/tudortmund/src/main/java/app/revanced/extension/tudortmund/lockscreen/ShowOnLockscreenPatch.java similarity index 97% rename from extensions/shared/src/main/java/app/revanced/extension/tudortmund/lockscreen/ShowOnLockscreenPatch.java rename to extensions/tudortmund/src/main/java/app/revanced/extension/tudortmund/lockscreen/ShowOnLockscreenPatch.java index 5ffa8ead6..f2868cf4e 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/tudortmund/lockscreen/ShowOnLockscreenPatch.java +++ b/extensions/tudortmund/src/main/java/app/revanced/extension/tudortmund/lockscreen/ShowOnLockscreenPatch.java @@ -11,6 +11,9 @@ import static android.view.WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD; import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED; public class ShowOnLockscreenPatch { + /** + * @noinspection deprecation + */ public static Window getWindow(AppCompatActivity activity, float brightness) { Window window = activity.getWindow(); diff --git a/extensions/tumblr/build.gradle.kts b/extensions/tumblr/build.gradle.kts new file mode 100644 index 000000000..c4a52573c --- /dev/null +++ b/extensions/tumblr/build.gradle.kts @@ -0,0 +1,3 @@ +dependencies { + compileOnly(project(":extensions:tumblr:stub")) +} diff --git a/extensions/tumblr/src/main/AndroidManifest.xml b/extensions/tumblr/src/main/AndroidManifest.xml new file mode 100644 index 000000000..9b65eb06c --- /dev/null +++ b/extensions/tumblr/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/extensions/shared/src/main/java/app/revanced/extension/tumblr/patches/TimelineFilterPatch.java b/extensions/tumblr/src/main/java/app/revanced/extension/tumblr/patches/TimelineFilterPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/tumblr/patches/TimelineFilterPatch.java rename to extensions/tumblr/src/main/java/app/revanced/extension/tumblr/patches/TimelineFilterPatch.java diff --git a/extensions/tumblr/stub/build.gradle.kts b/extensions/tumblr/stub/build.gradle.kts new file mode 100644 index 000000000..c1cc5794c --- /dev/null +++ b/extensions/tumblr/stub/build.gradle.kts @@ -0,0 +1,17 @@ +plugins { + id(libs.plugins.android.library.get().pluginId) +} + +android { + namespace = "app.revanced.extension" + compileSdk = 33 + + defaultConfig { + minSdk = 24 + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} diff --git a/extensions/tumblr/stub/src/main/AndroidManifest.xml b/extensions/tumblr/stub/src/main/AndroidManifest.xml new file mode 100644 index 000000000..15e7c2ae6 --- /dev/null +++ b/extensions/tumblr/stub/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/extensions/shared/stub/src/main/java/com/tumblr/rumblr/model/TimelineObject.java b/extensions/tumblr/stub/src/main/java/com/tumblr/rumblr/model/TimelineObject.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/tumblr/rumblr/model/TimelineObject.java rename to extensions/tumblr/stub/src/main/java/com/tumblr/rumblr/model/TimelineObject.java diff --git a/extensions/shared/stub/src/main/java/com/tumblr/rumblr/model/TimelineObjectType.java b/extensions/tumblr/stub/src/main/java/com/tumblr/rumblr/model/TimelineObjectType.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/tumblr/rumblr/model/TimelineObjectType.java rename to extensions/tumblr/stub/src/main/java/com/tumblr/rumblr/model/TimelineObjectType.java diff --git a/extensions/shared/stub/src/main/java/com/tumblr/rumblr/model/Timelineable.java b/extensions/tumblr/stub/src/main/java/com/tumblr/rumblr/model/Timelineable.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/tumblr/rumblr/model/Timelineable.java rename to extensions/tumblr/stub/src/main/java/com/tumblr/rumblr/model/Timelineable.java diff --git a/extensions/twitch/build.gradle.kts b/extensions/twitch/build.gradle.kts new file mode 100644 index 000000000..3b6fa456a --- /dev/null +++ b/extensions/twitch/build.gradle.kts @@ -0,0 +1,8 @@ +dependencies { + compileOnly(project(":extensions:shared:library")) + compileOnly(project(":extensions:twitch:stub")) + compileOnly(libs.okhttp) + compileOnly(libs.retrofit) + compileOnly(libs.annotation) + compileOnly(libs.appcompat) +} diff --git a/extensions/twitch/src/main/AndroidManifest.xml b/extensions/twitch/src/main/AndroidManifest.xml new file mode 100644 index 000000000..9b65eb06c --- /dev/null +++ b/extensions/twitch/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/Utils.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/Utils.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/Utils.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/Utils.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/adblock/IAdblockService.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/adblock/IAdblockService.java similarity index 92% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/adblock/IAdblockService.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/adblock/IAdblockService.java index 457ecdf97..fe5babd94 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/twitch/adblock/IAdblockService.java +++ b/extensions/twitch/src/main/java/app/revanced/extension/twitch/adblock/IAdblockService.java @@ -3,15 +3,7 @@ package app.revanced.extension.twitch.adblock; import okhttp3.Request; public interface IAdblockService { - String friendlyName(); - - Integer maxAttempts(); - - Boolean isAvailable(); - - Request rewriteHlsRequest(Request originalRequest); - - static boolean isVod(Request request){ + static boolean isVod(Request request) { return request.url().pathSegments().contains("vod"); } @@ -23,4 +15,13 @@ public interface IAdblockService { } return null; } + + String friendlyName(); + + Integer maxAttempts(); + + Boolean isAvailable(); + + Request rewriteHlsRequest(Request originalRequest); } + diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/adblock/LuminousService.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/adblock/LuminousService.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/adblock/LuminousService.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/adblock/LuminousService.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/adblock/PurpleAdblockService.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/adblock/PurpleAdblockService.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/adblock/PurpleAdblockService.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/adblock/PurpleAdblockService.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/api/PurpleAdblockApi.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/api/PurpleAdblockApi.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/api/PurpleAdblockApi.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/api/PurpleAdblockApi.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/api/RequestInterceptor.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/api/RequestInterceptor.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/api/RequestInterceptor.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/api/RequestInterceptor.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/api/RetrofitClient.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/api/RetrofitClient.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/api/RetrofitClient.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/api/RetrofitClient.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/patches/AudioAdsPatch.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/patches/AudioAdsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/patches/AudioAdsPatch.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/patches/AudioAdsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/patches/AutoClaimChannelPointsPatch.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/patches/AutoClaimChannelPointsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/patches/AutoClaimChannelPointsPatch.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/patches/AutoClaimChannelPointsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/patches/DebugModePatch.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/patches/DebugModePatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/patches/DebugModePatch.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/patches/DebugModePatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/patches/EmbeddedAdsPatch.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/patches/EmbeddedAdsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/patches/EmbeddedAdsPatch.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/patches/EmbeddedAdsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/patches/ShowDeletedMessagesPatch.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/patches/ShowDeletedMessagesPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/patches/ShowDeletedMessagesPatch.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/patches/ShowDeletedMessagesPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/patches/VideoAdsPatch.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/patches/VideoAdsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/patches/VideoAdsPatch.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/patches/VideoAdsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/settings/AppCompatActivityHook.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/settings/AppCompatActivityHook.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/settings/AppCompatActivityHook.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/settings/AppCompatActivityHook.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/settings/Settings.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/settings/Settings.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/settings/Settings.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/settings/Settings.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/settings/preference/CustomPreferenceCategory.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/settings/preference/CustomPreferenceCategory.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/settings/preference/CustomPreferenceCategory.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/settings/preference/CustomPreferenceCategory.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitch/settings/preference/ReVancedPreferenceFragment.java b/extensions/twitch/src/main/java/app/revanced/extension/twitch/settings/preference/ReVancedPreferenceFragment.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitch/settings/preference/ReVancedPreferenceFragment.java rename to extensions/twitch/src/main/java/app/revanced/extension/twitch/settings/preference/ReVancedPreferenceFragment.java diff --git a/extensions/twitch/stub/build.gradle.kts b/extensions/twitch/stub/build.gradle.kts new file mode 100644 index 000000000..c1cc5794c --- /dev/null +++ b/extensions/twitch/stub/build.gradle.kts @@ -0,0 +1,17 @@ +plugins { + id(libs.plugins.android.library.get().pluginId) +} + +android { + namespace = "app.revanced.extension" + compileSdk = 33 + + defaultConfig { + minSdk = 24 + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} diff --git a/extensions/twitch/stub/src/main/AndroidManifest.xml b/extensions/twitch/stub/src/main/AndroidManifest.xml new file mode 100644 index 000000000..15e7c2ae6 --- /dev/null +++ b/extensions/twitch/stub/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/extensions/shared/stub/src/main/java/tv/twitch/android/feature/settings/menu/SettingsMenuGroup.java b/extensions/twitch/stub/src/main/java/tv/twitch/android/feature/settings/menu/SettingsMenuGroup.java similarity index 100% rename from extensions/shared/stub/src/main/java/tv/twitch/android/feature/settings/menu/SettingsMenuGroup.java rename to extensions/twitch/stub/src/main/java/tv/twitch/android/feature/settings/menu/SettingsMenuGroup.java diff --git a/extensions/shared/stub/src/main/java/tv/twitch/android/settings/SettingsActivity.java b/extensions/twitch/stub/src/main/java/tv/twitch/android/settings/SettingsActivity.java similarity index 100% rename from extensions/shared/stub/src/main/java/tv/twitch/android/settings/SettingsActivity.java rename to extensions/twitch/stub/src/main/java/tv/twitch/android/settings/SettingsActivity.java diff --git a/extensions/shared/stub/src/main/java/tv/twitch/android/shared/chat/util/ClickableUsernameSpan.java b/extensions/twitch/stub/src/main/java/tv/twitch/android/shared/chat/util/ClickableUsernameSpan.java similarity index 100% rename from extensions/shared/stub/src/main/java/tv/twitch/android/shared/chat/util/ClickableUsernameSpan.java rename to extensions/twitch/stub/src/main/java/tv/twitch/android/shared/chat/util/ClickableUsernameSpan.java diff --git a/extensions/twitter/build.gradle.kts b/extensions/twitter/build.gradle.kts new file mode 100644 index 000000000..f3c06ad73 --- /dev/null +++ b/extensions/twitter/build.gradle.kts @@ -0,0 +1 @@ +// Do not remove. Necessary for the extension plugin to be applied to the project. diff --git a/extensions/twitter/src/main/AndroidManifest.xml b/extensions/twitter/src/main/AndroidManifest.xml new file mode 100644 index 000000000..9b65eb06c --- /dev/null +++ b/extensions/twitter/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/json/BaseJsonHook.kt b/extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/json/BaseJsonHook.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/json/BaseJsonHook.kt rename to extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/json/BaseJsonHook.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/json/JsonHook.kt b/extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/json/JsonHook.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/json/JsonHook.kt rename to extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/json/JsonHook.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/json/JsonHookPatch.kt b/extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/json/JsonHookPatch.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/json/JsonHookPatch.kt rename to extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/json/JsonHookPatch.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/patch/Hook.kt b/extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/patch/Hook.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/patch/Hook.kt rename to extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/patch/Hook.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/patch/ads/HideAdsHook.kt b/extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/patch/ads/HideAdsHook.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/patch/ads/HideAdsHook.kt rename to extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/patch/ads/HideAdsHook.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/patch/dummy/DummyHook.kt b/extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/patch/dummy/DummyHook.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/patch/dummy/DummyHook.kt rename to extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/patch/dummy/DummyHook.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/patch/recommendation/RecommendedUsersHook.kt b/extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/patch/recommendation/RecommendedUsersHook.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/patch/recommendation/RecommendedUsersHook.kt rename to extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/patch/recommendation/RecommendedUsersHook.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/twifucker/TwiFucker.kt b/extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/twifucker/TwiFucker.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/twifucker/TwiFucker.kt rename to extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/twifucker/TwiFucker.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/twifucker/TwiFuckerUtils.kt b/extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/twifucker/TwiFuckerUtils.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/patches/hook/twifucker/TwiFuckerUtils.kt rename to extensions/twitter/src/main/java/app/revanced/twitter/patches/hook/twifucker/TwiFuckerUtils.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/links/ChangeLinkSharingDomainPatch.java b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java similarity index 91% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/patches/links/ChangeLinkSharingDomainPatch.java rename to extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java index 808a8de03..ff67394c6 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/links/ChangeLinkSharingDomainPatch.java +++ b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/ChangeLinkSharingDomainPatch.java @@ -1,4 +1,4 @@ -package app.revanced.extension.twitter.patches.links; +package app.revanced.twitter.patches.links; public final class ChangeLinkSharingDomainPatch { private static final String DOMAIN_NAME = "https://fxtwitter.com"; diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/links/OpenLinksWithAppChooserPatch.java b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/OpenLinksWithAppChooserPatch.java similarity index 88% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/patches/links/OpenLinksWithAppChooserPatch.java rename to extensions/twitter/src/main/java/app/revanced/twitter/patches/links/OpenLinksWithAppChooserPatch.java index 2b4bdc124..62220506a 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/twitter/patches/links/OpenLinksWithAppChooserPatch.java +++ b/extensions/twitter/src/main/java/app/revanced/twitter/patches/links/OpenLinksWithAppChooserPatch.java @@ -1,4 +1,4 @@ -package app.revanced.extension.twitter.patches.links; +package app.revanced.twitter.patches.links; import android.content.Context; import android.content.Intent; diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/utils/json/JsonUtils.kt b/extensions/twitter/src/main/java/app/revanced/twitter/utils/json/JsonUtils.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/utils/json/JsonUtils.kt rename to extensions/twitter/src/main/java/app/revanced/twitter/utils/json/JsonUtils.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/twitter/utils/stream/StreamUtils.kt b/extensions/twitter/src/main/java/app/revanced/twitter/utils/stream/StreamUtils.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/twitter/utils/stream/StreamUtils.kt rename to extensions/twitter/src/main/java/app/revanced/twitter/utils/stream/StreamUtils.kt diff --git a/extensions/youtube/build.gradle.kts b/extensions/youtube/build.gradle.kts new file mode 100644 index 000000000..dccfb60d6 --- /dev/null +++ b/extensions/youtube/build.gradle.kts @@ -0,0 +1,8 @@ +//noinspection GradleDependency +android.compileSdk = 33 + +dependencies { + compileOnly(project(":extensions:shared:library")) + compileOnly(project(":extensions:youtube:stub")) + compileOnly(libs.annotation) +} diff --git a/extensions/youtube/src/main/AndroidManifest.xml b/extensions/youtube/src/main/AndroidManifest.xml new file mode 100644 index 000000000..9b65eb06c --- /dev/null +++ b/extensions/youtube/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/ByteTrieSearch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/ByteTrieSearch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/ByteTrieSearch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/ByteTrieSearch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/Event.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/Event.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/Event.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/Event.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/StringTrieSearch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/StringTrieSearch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/StringTrieSearch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/StringTrieSearch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/ThemeHelper.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/ThemeHelper.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/ThemeHelper.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/ThemeHelper.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/TrieSearch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/TrieSearch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/TrieSearch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/TrieSearch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/AlternativeThumbnailsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/AlternativeThumbnailsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/AlternativeThumbnailsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/AlternativeThumbnailsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/AutoRepeatPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/AutoRepeatPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/AutoRepeatPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/AutoRepeatPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/BackgroundPlaybackPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/BackgroundPlaybackPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/BackgroundPlaybackPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/BackgroundPlaybackPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/BypassImageRegionRestrictionsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/BypassImageRegionRestrictionsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/BypassImageRegionRestrictionsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/BypassImageRegionRestrictionsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/BypassURLRedirectsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/BypassURLRedirectsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/BypassURLRedirectsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/BypassURLRedirectsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/ChangeStartPagePatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ChangeStartPagePatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/ChangeStartPagePatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ChangeStartPagePatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/CheckWatchHistoryDomainNameResolutionPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/CheckWatchHistoryDomainNameResolutionPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/CheckWatchHistoryDomainNameResolutionPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/CheckWatchHistoryDomainNameResolutionPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/CopyVideoUrlPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/CopyVideoUrlPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/CopyVideoUrlPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/CopyVideoUrlPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/CustomPlayerOverlayOpacityPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/CustomPlayerOverlayOpacityPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/CustomPlayerOverlayOpacityPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/CustomPlayerOverlayOpacityPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisableAutoCaptionsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableAutoCaptionsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisableAutoCaptionsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableAutoCaptionsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisableFullscreenAmbientModePatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableFullscreenAmbientModePatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisableFullscreenAmbientModePatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableFullscreenAmbientModePatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisablePlayerPopupPanelsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisablePlayerPopupPanelsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisablePlayerPopupPanelsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisablePlayerPopupPanelsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisablePreciseSeekingGesturePatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisablePreciseSeekingGesturePatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisablePreciseSeekingGesturePatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisablePreciseSeekingGesturePatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisableResumingStartupShortsPlayerPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableResumingStartupShortsPlayerPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisableResumingStartupShortsPlayerPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableResumingStartupShortsPlayerPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisableRollingNumberAnimationsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableRollingNumberAnimationsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisableRollingNumberAnimationsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableRollingNumberAnimationsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisableSuggestedVideoEndScreenPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableSuggestedVideoEndScreenPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DisableSuggestedVideoEndScreenPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DisableSuggestedVideoEndScreenPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DownloadsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DownloadsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/DownloadsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/DownloadsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/EnableDebuggingPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/EnableDebuggingPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/EnableDebuggingPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/EnableDebuggingPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/FixBackToExitGesturePatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/FixBackToExitGesturePatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/FixBackToExitGesturePatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/FixBackToExitGesturePatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/FullscreenPanelsRemoverPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/FullscreenPanelsRemoverPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/FullscreenPanelsRemoverPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/FullscreenPanelsRemoverPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/HideEndscreenCardsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideEndscreenCardsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/HideEndscreenCardsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideEndscreenCardsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/HideGetPremiumPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideGetPremiumPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/HideGetPremiumPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideGetPremiumPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/HideInfoCardsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideInfoCardsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/HideInfoCardsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideInfoCardsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/HidePlayerOverlayButtonsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HidePlayerOverlayButtonsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/HidePlayerOverlayButtonsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HidePlayerOverlayButtonsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/HideSeekbarPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideSeekbarPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/HideSeekbarPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideSeekbarPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/HideTimestampPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideTimestampPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/HideTimestampPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HideTimestampPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java similarity index 99% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java index 068aa4d2e..80bb57f83 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/MiniplayerPatch.java @@ -32,7 +32,7 @@ public final class MiniplayerPatch { /** Unmodified type, and same as un-patched. */ ORIGINAL(null, null), /** - * Exactly the same as MINIMAL, and only here for migration of user settings. + * Exactly the same as MINIMAL and only here for migration of user settings. * Eventually this should be deleted. */ @Deprecated @@ -342,4 +342,4 @@ public final class MiniplayerPatch { Logger.printException(() -> "playerOverlayGroupCreated failure", ex); } } -} +} \ No newline at end of file diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/NavigationButtonsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/NavigationButtonsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/NavigationButtonsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/NavigationButtonsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/OpenLinksExternallyPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/OpenLinksExternallyPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/OpenLinksExternallyPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/OpenLinksExternallyPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerControlsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/PlayerOverlaysHookPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerOverlaysHookPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/PlayerOverlaysHookPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerOverlaysHookPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/PlayerTypeHookPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerTypeHookPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/PlayerTypeHookPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/PlayerTypeHookPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/RemoveTrackingQueryParameterPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/RemoveTrackingQueryParameterPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/RemoveTrackingQueryParameterPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/RemoveTrackingQueryParameterPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/RemoveViewerDiscretionDialogPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/RemoveViewerDiscretionDialogPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/RemoveViewerDiscretionDialogPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/RemoveViewerDiscretionDialogPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ReturnYouTubeDislikePatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/SeekbarTappingPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/SeekbarTappingPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/SeekbarTappingPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/SeekbarTappingPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/SeekbarThumbnailsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/SeekbarThumbnailsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/SeekbarThumbnailsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/SeekbarThumbnailsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/ShortsAutoplayPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ShortsAutoplayPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/ShortsAutoplayPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ShortsAutoplayPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/SlideToSeekPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/SlideToSeekPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/SlideToSeekPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/SlideToSeekPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/TabletLayoutPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/TabletLayoutPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/TabletLayoutPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/TabletLayoutPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/VersionCheckPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VersionCheckPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/VersionCheckPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VersionCheckPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/VideoAdsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoAdsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/VideoAdsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoAdsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/VideoInformation.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/WideSearchbarPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/ZoomHapticsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ZoomHapticsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/ZoomHapticsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ZoomHapticsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/announcements/AnnouncementsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/announcements/AnnouncementsPatch.java similarity index 99% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/announcements/AnnouncementsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/announcements/AnnouncementsPatch.java index 10309da96..92490aabd 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/announcements/AnnouncementsPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/announcements/AnnouncementsPatch.java @@ -22,8 +22,8 @@ import java.time.LocalDateTime; import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Utils; +import app.revanced.extension.shared.requests.Requester; import app.revanced.extension.youtube.patches.announcements.requests.AnnouncementsRoutes; -import app.revanced.extension.youtube.requests.Requester; import app.revanced.extension.youtube.settings.Settings; @SuppressWarnings("unused") diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/announcements/requests/AnnouncementsRoutes.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/announcements/requests/AnnouncementsRoutes.java similarity index 80% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/announcements/requests/AnnouncementsRoutes.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/announcements/requests/AnnouncementsRoutes.java index ea54e1bd6..6f5261056 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/announcements/requests/AnnouncementsRoutes.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/announcements/requests/AnnouncementsRoutes.java @@ -1,12 +1,12 @@ package app.revanced.extension.youtube.patches.announcements.requests; -import app.revanced.extension.youtube.requests.Requester; -import app.revanced.extension.youtube.requests.Route; +import app.revanced.extension.shared.requests.Requester; +import app.revanced.extension.shared.requests.Route; import java.io.IOException; import java.net.HttpURLConnection; -import static app.revanced.extension.youtube.requests.Route.Method.GET; +import static app.revanced.extension.shared.requests.Route.Method.GET; public class AnnouncementsRoutes { private static final String ANNOUNCEMENTS_PROVIDER = "https://api.revanced.app/v4"; diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CustomFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CustomFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/CustomFilter.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CustomFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/DescriptionComponentsFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/Filter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/Filter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/Filter.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/Filter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/FilterGroup.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/FilterGroup.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/FilterGroup.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/FilterGroup.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/FilterGroupList.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/FilterGroupList.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/FilterGroupList.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/FilterGroupList.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/HideInfoCardsFilterPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/HideInfoCardsFilterPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/HideInfoCardsFilterPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/HideInfoCardsFilterPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/KeywordContentFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/LithoFilterPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LithoFilterPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/LithoFilterPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LithoFilterPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/PlaybackSpeedMenuFilterPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlaybackSpeedMenuFilterPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/PlaybackSpeedMenuFilterPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlaybackSpeedMenuFilterPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/PlayerFlyoutMenuItemsFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/ReturnYouTubeDislikeFilterPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ReturnYouTubeDislikeFilterPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/ReturnYouTubeDislikeFilterPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ReturnYouTubeDislikeFilterPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ShortsFilter.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/VideoQualityMenuFilterPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/VideoQualityMenuFilterPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/components/VideoQualityMenuFilterPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/VideoQualityMenuFilterPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RememberVideoQualityPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RestoreOldVideoQualityMenuPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RestoreOldVideoQualityMenuPatch.java similarity index 99% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RestoreOldVideoQualityMenuPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RestoreOldVideoQualityMenuPatch.java index ac74bc810..11874006e 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RestoreOldVideoQualityMenuPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/quality/RestoreOldVideoQualityMenuPatch.java @@ -107,4 +107,4 @@ public final class RestoreOldVideoQualityMenuPatch { } }); } -} +} \ No newline at end of file diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java similarity index 98% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java index 7e754407d..22d8df37e 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/CustomPlaybackSpeedPatch.java @@ -25,7 +25,7 @@ public class CustomPlaybackSpeedPatch { /** * Maximum playback speed, exclusive value. Custom speeds must be less than this value. - * + *

* Going over 8x does not increase the actual playback speed any higher, * and the UI selector starts flickering and acting weird. * Over 10x and the speeds show up out of order in the UI selector. @@ -157,11 +157,10 @@ public class CustomPlaybackSpeedPatch { } View firstChild = recyclerView.getChildAt(0); - if (!(firstChild instanceof ViewGroup)) { + if (!(firstChild instanceof ViewGroup PlaybackSpeedParentView)) { return false; } - ViewGroup PlaybackSpeedParentView = (ViewGroup) firstChild; if (PlaybackSpeedParentView.getChildCount() != expectedChildCount) { return false; } diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/playback/speed/RememberPlaybackSpeedPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/RememberPlaybackSpeedPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/playback/speed/RememberPlaybackSpeedPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/playback/speed/RememberPlaybackSpeedPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/ClientType.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/ClientType.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/ClientType.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/ClientType.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/DeviceHardwareSupport.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/DeviceHardwareSupport.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/DeviceHardwareSupport.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/DeviceHardwareSupport.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofAppVersionPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofAppVersionPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofAppVersionPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofAppVersionPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofDeviceDimensionsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofDeviceDimensionsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofDeviceDimensionsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofDeviceDimensionsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/SpoofVideoStreamsPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/PlayerRoutes.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/PlayerRoutes.java similarity index 95% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/PlayerRoutes.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/PlayerRoutes.java index 3388892cc..8d6782cb3 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/PlayerRoutes.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/PlayerRoutes.java @@ -7,9 +7,9 @@ import java.io.IOException; import java.net.HttpURLConnection; import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.requests.Requester; +import app.revanced.extension.shared.requests.Route; import app.revanced.extension.youtube.patches.spoof.ClientType; -import app.revanced.extension.youtube.requests.Requester; -import app.revanced.extension.youtube.requests.Route; final class PlayerRoutes { static final Route.CompiledRoute GET_STREAMING_DATA = new Route( diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/StreamingDataRequest.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/StreamingDataRequest.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/StreamingDataRequest.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/StreamingDataRequest.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/theme/ProgressBarDrawable.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/theme/ProgressBarDrawable.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/theme/ProgressBarDrawable.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/theme/ProgressBarDrawable.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/theme/SeekbarColorPatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/theme/SeekbarColorPatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/theme/SeekbarColorPatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/theme/SeekbarColorPatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/patches/theme/ThemePatch.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/theme/ThemePatch.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/patches/theme/ThemePatch.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/theme/ThemePatch.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/ReturnYouTubeDislike.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/RYDVoteData.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/RYDVoteData.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/RYDVoteData.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/RYDVoteData.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeApi.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeApi.java similarity index 99% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeApi.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeApi.java index 0ccb87d32..1ebeea223 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeApi.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeApi.java @@ -24,7 +24,7 @@ import java.util.Objects; import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Utils; -import app.revanced.extension.youtube.requests.Requester; +import app.revanced.extension.shared.requests.Requester; import app.revanced.extension.youtube.returnyoutubedislike.ReturnYouTubeDislike; import app.revanced.extension.youtube.settings.Settings; @@ -147,6 +147,7 @@ public class ReturnYouTubeDislikeApi { */ private static void randomlyWaitIfLocallyDebugging() { final boolean DEBUG_RANDOMLY_DELAY_NETWORK_CALLS = false; // set true to debug UI + //noinspection ConstantValue if (DEBUG_RANDOMLY_DELAY_NETWORK_CALLS) { final long amountOfTimeToWaste = (long) (Math.random() @@ -188,6 +189,7 @@ public class ReturnYouTubeDislikeApi { */ private static boolean checkIfRateLimitWasHit(int httpResponseCode) { final boolean DEBUG_RATE_LIMIT = false; // set to true, to verify rate limit works + //noinspection ConstantValue if (DEBUG_RATE_LIMIT) { final double RANDOM_RATE_LIMIT_PERCENTAGE = 0.2; // 20% chance of a triggering a rate limit diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeRoutes.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeRoutes.java similarity index 78% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeRoutes.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeRoutes.java index 2c2ae7255..e4de849b0 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeRoutes.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/returnyoutubedislike/requests/ReturnYouTubeDislikeRoutes.java @@ -1,13 +1,13 @@ package app.revanced.extension.youtube.returnyoutubedislike.requests; -import static app.revanced.extension.youtube.requests.Route.Method.GET; -import static app.revanced.extension.youtube.requests.Route.Method.POST; +import static app.revanced.extension.shared.requests.Route.Method.GET; +import static app.revanced.extension.shared.requests.Route.Method.POST; import java.io.IOException; import java.net.HttpURLConnection; -import app.revanced.extension.youtube.requests.Requester; -import app.revanced.extension.youtube.requests.Route; +import app.revanced.extension.shared.requests.Requester; +import app.revanced.extension.shared.requests.Route; class ReturnYouTubeDislikeRoutes { static final String RYD_API_URL = "https://returnyoutubedislikeapi.com/"; diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java similarity index 99% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index 1a62b6df3..4f11de928 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -279,7 +279,6 @@ public class Settings extends BaseSettings { public static final IntegerSetting ANNOUNCEMENT_LAST_ID = new IntegerSetting("revanced_announcement_last_id", -1, false, false); public static final BooleanSetting CHECK_WATCH_HISTORY_DOMAIN_NAME = new BooleanSetting("revanced_check_watch_history_domain_name", TRUE, false, false); public static final BooleanSetting REMOVE_TRACKING_QUERY_PARAMETER = new BooleanSetting("revanced_remove_tracking_query_parameter", TRUE); - public static final IntegerSetting CHECK_ENVIRONMENT_WARNINGS_ISSUED = new IntegerSetting("revanced_check_environment_warnings_issued", 0, true, false); // Debugging /** @@ -384,12 +383,18 @@ public class Settings extends BaseSettings { SPOOF_APP_VERSION_TARGET.resetToDefault(); } - // Migrate renamed enum type. + // Migrate renamed enum. if (MINIPLAYER_TYPE.get() == PHONE) { MINIPLAYER_TYPE.save(MINIMAL); } // endregion + + // region SB import/export callbacks + + Setting.addImportExportCallback(SponsorBlockSettings.SB_IMPORT_EXPORT_CALLBACK); + + // endregion } } diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/AlternativeThumbnailsAboutDeArrowPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/AlternativeThumbnailsAboutDeArrowPreference.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/AlternativeThumbnailsAboutDeArrowPreference.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/AlternativeThumbnailsAboutDeArrowPreference.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ForceAVCSpoofingPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ForceAVCSpoofingPreference.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ForceAVCSpoofingPreference.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ForceAVCSpoofingPreference.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/HtmlPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/HtmlPreference.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/HtmlPreference.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/HtmlPreference.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedYouTubeAboutPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedYouTubeAboutPreference.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedYouTubeAboutPreference.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedYouTubeAboutPreference.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReturnYouTubeDislikePreferenceFragment.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReturnYouTubeDislikePreferenceFragment.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/ReturnYouTubeDislikePreferenceFragment.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReturnYouTubeDislikePreferenceFragment.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/SponsorBlockPreferenceFragment.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/NavigationBar.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/shared/PlayerControlsVisibilityObserver.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerControlsVisibilityObserver.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/shared/PlayerControlsVisibilityObserver.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerControlsVisibilityObserver.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/shared/PlayerOverlays.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerOverlays.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/shared/PlayerOverlays.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerOverlays.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/shared/PlayerType.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerType.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/shared/PlayerType.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/PlayerType.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/shared/VideoState.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/VideoState.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/shared/VideoState.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/shared/VideoState.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SegmentPlaybackController.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockSettings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockSettings.java similarity index 96% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockSettings.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockSettings.java index 0edc054c7..00ecfacf9 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockSettings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockSettings.java @@ -27,6 +27,17 @@ public class SponsorBlockSettings { */ private static final int SB_PRIVATE_USER_ID_MINIMUM_LENGTH = 30; + public static final Setting.ImportExportCallback SB_IMPORT_EXPORT_CALLBACK = new Setting.ImportExportCallback() { + @Override + public void settingsImported(@Nullable Context context) { + updateFromImportedSettings(); + } + @Override + public void settingsExported(@Nullable Context context) { + showExportWarningIfNeeded(context); + } + }; + public static void importDesktopSettings(@NonNull String json) { Utils.verifyOnMainThread(); try { diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockUtils.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockUtils.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockUtils.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockUtils.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/CategoryBehaviour.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/CategoryBehaviour.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/CategoryBehaviour.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/CategoryBehaviour.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategory.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategory.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategory.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategory.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategoryListPreference.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategoryListPreference.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategoryListPreference.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategoryListPreference.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SponsorSegment.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SponsorSegment.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SponsorSegment.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SponsorSegment.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/UserStats.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/UserStats.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/UserStats.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/UserStats.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRequester.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRequester.java similarity index 99% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRequester.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRequester.java index 0f0a93afc..f67489850 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRequester.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRequester.java @@ -17,14 +17,14 @@ import java.util.List; import java.util.Locale; import java.util.concurrent.TimeUnit; -import app.revanced.extension.youtube.requests.Requester; -import app.revanced.extension.youtube.requests.Route; import app.revanced.extension.youtube.settings.Settings; import app.revanced.extension.youtube.sponsorblock.SponsorBlockSettings; import app.revanced.extension.youtube.sponsorblock.objects.SegmentCategory; import app.revanced.extension.youtube.sponsorblock.objects.SponsorSegment; import app.revanced.extension.youtube.sponsorblock.objects.SponsorSegment.SegmentVote; import app.revanced.extension.youtube.sponsorblock.objects.UserStats; +import app.revanced.extension.shared.requests.Route; +import app.revanced.extension.shared.requests.Requester; import app.revanced.extension.shared.Logger; import app.revanced.extension.shared.Utils; diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRoutes.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRoutes.java similarity index 86% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRoutes.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRoutes.java index fe3403e56..0f7b54c90 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRoutes.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/requests/SBRoutes.java @@ -1,9 +1,9 @@ package app.revanced.extension.youtube.sponsorblock.requests; -import static app.revanced.extension.youtube.requests.Route.Method.GET; -import static app.revanced.extension.youtube.requests.Route.Method.POST; +import static app.revanced.extension.shared.requests.Route.Method.GET; +import static app.revanced.extension.shared.requests.Route.Method.POST; -import app.revanced.extension.youtube.requests.Route; +import app.revanced.extension.shared.requests.Route; class SBRoutes { static final Route IS_USER_VIP = new Route(GET, "/api/isUserVIP?userID={user_id}"); diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButtonController.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButtonController.java similarity index 98% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButtonController.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButtonController.java index e19d3273c..4ec6c35b7 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButtonController.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/CreateSegmentButtonController.java @@ -1,5 +1,7 @@ package app.revanced.extension.youtube.sponsorblock.ui; +import static app.revanced.extension.shared.Utils.getResourceIdentifier; + import android.view.View; import android.widget.ImageView; diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/NewSegmentLayout.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/NewSegmentLayout.java similarity index 98% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/NewSegmentLayout.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/NewSegmentLayout.java index 9499d98ea..1f8d80c50 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/NewSegmentLayout.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/NewSegmentLayout.java @@ -109,12 +109,11 @@ public final class NewSegmentLayout extends FrameLayout { final ButtonOnClickHandlerFunction handler, final String debugMessage) { ImageButton button = findViewById(getResourceIdentifier(context, resourceIdentifierName, "id")); - button.setBackgroundResource(rippleEffectId); + // Add ripple effect RippleDrawable rippleDrawable = new RippleDrawable( rippleColorStateList, null, null ); button.setBackground(rippleDrawable); - button.setOnClickListener((v) -> { handler.apply(); Logger.printDebug(() -> debugMessage); @@ -125,4 +124,4 @@ public final class NewSegmentLayout extends FrameLayout { private interface ButtonOnClickHandlerFunction { void apply(); } -} \ No newline at end of file +} diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SkipSponsorButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SkipSponsorButton.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SkipSponsorButton.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SkipSponsorButton.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockViewController.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockViewController.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockViewController.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockViewController.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButtonController.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButtonController.java similarity index 98% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButtonController.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButtonController.java index 8609dd004..bad5f2484 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButtonController.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/VotingButtonController.java @@ -1,5 +1,7 @@ package app.revanced.extension.youtube.sponsorblock.ui; +import static app.revanced.extension.shared.Utils.getResourceIdentifier; + import android.view.View; import android.widget.ImageView; diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsConfigurationProvider.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsConfigurationProvider.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsConfigurationProvider.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsConfigurationProvider.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsHostActivity.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsHostActivity.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsHostActivity.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/SwipeControlsHostActivity.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/AudioVolumeController.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/AudioVolumeController.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/AudioVolumeController.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/AudioVolumeController.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/ScreenBrightnessController.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/ScreenBrightnessController.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/ScreenBrightnessController.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/ScreenBrightnessController.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/SwipeZonesController.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/SwipeZonesController.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/SwipeZonesController.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/SwipeZonesController.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/VolumeKeysController.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/VolumeKeysController.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/VolumeKeysController.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/VolumeKeysController.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/ClassicSwipeController.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/ClassicSwipeController.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/ClassicSwipeController.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/ClassicSwipeController.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/PressToSwipeController.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/PressToSwipeController.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/PressToSwipeController.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/PressToSwipeController.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/BaseGestureController.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/BaseGestureController.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/BaseGestureController.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/BaseGestureController.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/GestureController.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/GestureController.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/GestureController.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/GestureController.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/SwipeDetector.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/SwipeDetector.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/SwipeDetector.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/SwipeDetector.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/VolumeAndBrightnessScroller.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/VolumeAndBrightnessScroller.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/VolumeAndBrightnessScroller.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/controller/gesture/core/VolumeAndBrightnessScroller.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/Point.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/Point.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/Point.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/Point.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/Rectangle.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/Rectangle.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/Rectangle.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/Rectangle.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/ScrollDistanceHelper.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/ScrollDistanceHelper.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/ScrollDistanceHelper.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/ScrollDistanceHelper.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/SwipeControlsOverlay.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/SwipeControlsOverlay.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/SwipeControlsOverlay.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/SwipeControlsOverlay.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/SwipeControlsUtils.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/SwipeControlsUtils.kt similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/SwipeControlsUtils.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/misc/SwipeControlsUtils.kt diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/views/SwipeControlsOverlayLayout.kt b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/views/SwipeControlsOverlayLayout.kt similarity index 98% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/views/SwipeControlsOverlayLayout.kt rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/views/SwipeControlsOverlayLayout.kt index fa30d5994..b3422d7bd 100644 --- a/extensions/shared/src/main/java/app/revanced/extension/youtube/swipecontrols/views/SwipeControlsOverlayLayout.kt +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/swipecontrols/views/SwipeControlsOverlayLayout.kt @@ -7,6 +7,8 @@ import android.os.Handler import android.os.Looper import android.util.TypedValue import android.view.HapticFeedbackConstants +import android.view.View +import android.view.ViewGroup import android.widget.RelativeLayout import android.widget.TextView import app.revanced.extension.shared.StringRef.str diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlButton.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/CopyVideoUrlTimestampButton.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/ExternalDownloadButton.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlaybackSpeedDialogButton.java diff --git a/extensions/shared/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java similarity index 100% rename from extensions/shared/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java rename to extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java diff --git a/extensions/youtube/stub/build.gradle.kts b/extensions/youtube/stub/build.gradle.kts new file mode 100644 index 000000000..c1cc5794c --- /dev/null +++ b/extensions/youtube/stub/build.gradle.kts @@ -0,0 +1,17 @@ +plugins { + id(libs.plugins.android.library.get().pluginId) +} + +android { + namespace = "app.revanced.extension" + compileSdk = 33 + + defaultConfig { + minSdk = 24 + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} diff --git a/extensions/youtube/stub/src/main/AndroidManifest.xml b/extensions/youtube/stub/src/main/AndroidManifest.xml new file mode 100644 index 000000000..15e7c2ae6 --- /dev/null +++ b/extensions/youtube/stub/src/main/AndroidManifest.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/extensions/shared/stub/src/main/java/android/support/v7/widget/RecyclerView.java b/extensions/youtube/stub/src/main/java/android/support/v7/widget/RecyclerView.java similarity index 86% rename from extensions/shared/stub/src/main/java/android/support/v7/widget/RecyclerView.java rename to extensions/youtube/stub/src/main/java/android/support/v7/widget/RecyclerView.java index d902dbfc8..b768b8484 100644 --- a/extensions/shared/stub/src/main/java/android/support/v7/widget/RecyclerView.java +++ b/extensions/youtube/stub/src/main/java/android/support/v7/widget/RecyclerView.java @@ -7,6 +7,7 @@ public class RecyclerView extends View { public RecyclerView(Context context) { super(context); + throw new UnsupportedOperationException("Stub"); } public View getChildAt(@SuppressWarnings("unused") final int index) { diff --git a/extensions/shared/stub/src/main/java/android/support/constraint/ConstraintLayout.java b/extensions/youtube/stub/src/main/java/com/google/android/android/support/constraint/ConstraintLayout.java similarity index 89% rename from extensions/shared/stub/src/main/java/android/support/constraint/ConstraintLayout.java rename to extensions/youtube/stub/src/main/java/com/google/android/android/support/constraint/ConstraintLayout.java index 2861235a5..627dcc47d 100644 --- a/extensions/shared/stub/src/main/java/android/support/constraint/ConstraintLayout.java +++ b/extensions/youtube/stub/src/main/java/com/google/android/android/support/constraint/ConstraintLayout.java @@ -1,4 +1,4 @@ -package android.support.constraint; +package com.google.android.android.support.constraint; import android.content.Context; import android.view.ViewGroup; @@ -7,7 +7,7 @@ import android.view.ViewGroup; * "CompileOnly" class * because android.support.android.support.constraint.ConstraintLayout is deprecated * in favour of androidx.constraintlayout.widget.ConstraintLayout. - * + *

* This class will not be included and "replaced" by the real package's class. */ public class ConstraintLayout extends ViewGroup { diff --git a/extensions/shared/stub/src/main/java/com/google/android/apps/youtube/app/ui/SlimMetadataScrollableButtonContainerLayout.java b/extensions/youtube/stub/src/main/java/com/google/android/apps/youtube/app/ui/SlimMetadataScrollableButtonContainerLayout.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/google/android/apps/youtube/app/ui/SlimMetadataScrollableButtonContainerLayout.java rename to extensions/youtube/stub/src/main/java/com/google/android/apps/youtube/app/ui/SlimMetadataScrollableButtonContainerLayout.java diff --git a/extensions/shared/stub/src/main/java/com/google/android/libraries/youtube/rendering/ui/pivotbar/PivotBar.java b/extensions/youtube/stub/src/main/java/com/google/android/libraries/youtube/rendering/ui/pivotbar/PivotBar.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/google/android/libraries/youtube/rendering/ui/pivotbar/PivotBar.java rename to extensions/youtube/stub/src/main/java/com/google/android/libraries/youtube/rendering/ui/pivotbar/PivotBar.java diff --git a/extensions/shared/stub/src/main/java/com/google/protos/youtube/api/innertube/InnertubeContext$ClientInfo.java b/extensions/youtube/stub/src/main/java/com/google/protos/youtube/api/innertube/InnertubeContext$ClientInfo.java similarity index 100% rename from extensions/shared/stub/src/main/java/com/google/protos/youtube/api/innertube/InnertubeContext$ClientInfo.java rename to extensions/youtube/stub/src/main/java/com/google/protos/youtube/api/innertube/InnertubeContext$ClientInfo.java diff --git a/extensions/shared/stub/src/main/java/org/chromium/net/UrlRequest.java b/extensions/youtube/stub/src/main/java/org/chromium/net/UrlRequest.java similarity index 100% rename from extensions/shared/stub/src/main/java/org/chromium/net/UrlRequest.java rename to extensions/youtube/stub/src/main/java/org/chromium/net/UrlRequest.java diff --git a/extensions/shared/stub/src/main/java/org/chromium/net/UrlResponseInfo.java b/extensions/youtube/stub/src/main/java/org/chromium/net/UrlResponseInfo.java similarity index 100% rename from extensions/shared/stub/src/main/java/org/chromium/net/UrlResponseInfo.java rename to extensions/youtube/stub/src/main/java/org/chromium/net/UrlResponseInfo.java diff --git a/extensions/shared/stub/src/main/java/org/chromium/net/impl/CronetUrlRequest.java b/extensions/youtube/stub/src/main/java/org/chromium/net/impl/CronetUrlRequest.java similarity index 100% rename from extensions/shared/stub/src/main/java/org/chromium/net/impl/CronetUrlRequest.java rename to extensions/youtube/stub/src/main/java/org/chromium/net/impl/CronetUrlRequest.java diff --git a/patches/api/patches.api b/patches/api/patches.api index d920cf745..1c601b551 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -543,6 +543,7 @@ public final class app/revanced/patches/shared/misc/extension/ExtensionHook { public final class app/revanced/patches/shared/misc/extension/SharedExtensionPatchKt { public static final fun extensionHook (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook; public static synthetic fun extensionHook$default (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lapp/revanced/patches/shared/misc/extension/ExtensionHook; + public static final fun sharedExtensionPatch (Ljava/lang/String;[Lapp/revanced/patches/shared/misc/extension/ExtensionHook;)Lapp/revanced/patcher/patch/BytecodePatch; public static final fun sharedExtensionPatch ([Lapp/revanced/patches/shared/misc/extension/ExtensionHook;)Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.kt index 3e086f95c..ede9eb1dc 100644 --- a/patches/src/main/kotlin/app/revanced/patches/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.kt @@ -5,7 +5,8 @@ import app.revanced.patches.all.misc.transformation.IMethodCall import app.revanced.patches.all.misc.transformation.filterMapInstruction35c import app.revanced.patches.all.misc.transformation.transformInstructionsPatch -internal const val EXTENSION_CLASS_DESCRIPTOR_PREFIX = "Lapp/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch" +internal const val EXTENSION_CLASS_DESCRIPTOR_PREFIX = + "Lapp/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch" internal const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;" @@ -15,7 +16,7 @@ val spoofWifiPatch = bytecodePatch( description = "Spoofs an existing Wi-Fi connection.", use = false, ) { - extendWith("extensions/all/connectivity/wifi/spoof/spoof-wifi.rve") + extendWith("extensions/all/misc/connectivity/wifi/spoof/spoof-wifi.rve") dependsOn( transformInstructionsPatch( diff --git a/patches/src/main/kotlin/app/revanced/patches/all/misc/screencapture/RemoveScreenCaptureRestrictionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/misc/screencapture/RemoveScreenCaptureRestrictionPatch.kt index 5eef83ac0..4b5955d87 100644 --- a/patches/src/main/kotlin/app/revanced/patches/all/misc/screencapture/RemoveScreenCaptureRestrictionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/all/misc/screencapture/RemoveScreenCaptureRestrictionPatch.kt @@ -34,7 +34,7 @@ val removeScreenCaptureRestrictionPatch = bytecodePatch( description = "Removes the restriction of capturing audio from apps that normally wouldn't allow it.", use = false, ) { - extendWith("extensions/all/screencapture/remove-screen-capture-restriction.rve") + extendWith("extensions/all/misc/screencapture/remove-screen-capture-restriction.rve") dependsOn( removeCaptureRestrictionResourcePatch, diff --git a/patches/src/main/kotlin/app/revanced/patches/all/misc/screenshot/RemoveScreenshotRestrictionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/misc/screenshot/RemoveScreenshotRestrictionPatch.kt index af689f5ed..19c4ba05f 100644 --- a/patches/src/main/kotlin/app/revanced/patches/all/misc/screenshot/RemoveScreenshotRestrictionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/all/misc/screenshot/RemoveScreenshotRestrictionPatch.kt @@ -19,7 +19,7 @@ val removeScreenshotRestrictionPatch = bytecodePatch( description = "Removes the restriction of taking screenshots in apps that normally wouldn't allow it.", use = false, ) { - extendWith("extensions/all/screenshot/remove-screenshot-restriction.rve") + extendWith("extensions/all/misc/screenshot/remove-screenshot-restriction.rve") dependsOn( // Remove the restriction of taking screenshots. diff --git a/patches/src/main/kotlin/app/revanced/patches/googlephotos/misc/extension/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/googlephotos/misc/extension/Hooks.kt similarity index 100% rename from patches/src/main/kotlin/app/revanced/patches/googlephotos/misc/extension/Fingerprints.kt rename to patches/src/main/kotlin/app/revanced/patches/googlephotos/misc/extension/Hooks.kt diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/extension/SharedExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/extension/SharedExtensionPatch.kt index e6c1c69fe..9351b600e 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/extension/SharedExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/extension/SharedExtensionPatch.kt @@ -3,4 +3,7 @@ package app.revanced.patches.music.misc.extension import app.revanced.patches.music.misc.extension.hooks.applicationInitHook import app.revanced.patches.shared.misc.extension.sharedExtensionPatch -val sharedExtensionPatch = sharedExtensionPatch(applicationInitHook) +val sharedExtensionPatch = sharedExtensionPatch( + "music", + applicationInitHook, +) diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/boostforreddit/misc/extension/SharedExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/boostforreddit/misc/extension/SharedExtensionPatch.kt index 3d92d142b..9f85643f4 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/boostforreddit/misc/extension/SharedExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/boostforreddit/misc/extension/SharedExtensionPatch.kt @@ -3,4 +3,4 @@ package app.revanced.patches.reddit.customclients.boostforreddit.misc.extension import app.revanced.patches.reddit.customclients.boostforreddit.misc.extension.hooks.initHook import app.revanced.patches.shared.misc.extension.sharedExtensionPatch -val sharedExtensionPatch = sharedExtensionPatch(initHook) +val sharedExtensionPatch = sharedExtensionPatch("boostforreddit", initHook) diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/sync/syncforreddit/extension/SharedExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/sync/syncforreddit/extension/SharedExtensionPatch.kt index 67f02676f..7f50bdf7e 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/sync/syncforreddit/extension/SharedExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/customclients/sync/syncforreddit/extension/SharedExtensionPatch.kt @@ -3,4 +3,4 @@ package app.revanced.patches.reddit.customclients.sync.syncforreddit.extension import app.revanced.patches.reddit.customclients.sync.syncforreddit.extension.hooks.initHook import app.revanced.patches.shared.misc.extension.sharedExtensionPatch -val sharedExtensionPatch = sharedExtensionPatch(initHook) +val sharedExtensionPatch = sharedExtensionPatch("sync", initHook) diff --git a/patches/src/main/kotlin/app/revanced/patches/reddit/misc/extension/ExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/reddit/misc/extension/ExtensionPatch.kt index db449a93e..5633647ed 100644 --- a/patches/src/main/kotlin/app/revanced/patches/reddit/misc/extension/ExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/reddit/misc/extension/ExtensionPatch.kt @@ -2,4 +2,4 @@ package app.revanced.patches.reddit.misc.extension import app.revanced.patches.shared.misc.extension.sharedExtensionPatch -val sharedExtensionPatch = sharedExtensionPatch() +val sharedExtensionPatch = sharedExtensionPatch("reddit") diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/extension/SharedExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/extension/SharedExtensionPatch.kt index 7460ddd11..cfcf9d0b1 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/extension/SharedExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/extension/SharedExtensionPatch.kt @@ -14,6 +14,26 @@ import java.util.jar.JarFile internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/shared/Utils;" +/** + * A patch to extend with an extension shared with multiple patches. + * + * @param extensionName The name of the extension to extend with. + */ +fun sharedExtensionPatch( + extensionName: String, + vararg hooks: ExtensionHook, +) = bytecodePatch { + dependsOn(sharedExtensionPatch(*hooks)) + + extendWith("extensions/$extensionName.rve") +} + +/** + * A patch to extend with the "shared" extension. + * + * @param hooks The hooks to get the application context for use in the extension, + * commonly for the onCreate method of exported activities. + */ fun sharedExtensionPatch( vararg hooks: ExtensionHook, ) = bytecodePatch { diff --git a/patches/src/main/kotlin/app/revanced/patches/tiktok/misc/extension/ExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/tiktok/misc/extension/ExtensionPatch.kt index b714b9d1c..66efc7f51 100644 --- a/patches/src/main/kotlin/app/revanced/patches/tiktok/misc/extension/ExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/tiktok/misc/extension/ExtensionPatch.kt @@ -2,4 +2,4 @@ package app.revanced.patches.tiktok.misc.extension import app.revanced.patches.shared.misc.extension.sharedExtensionPatch -val sharedExtensionPatch = sharedExtensionPatch(initHook) +val sharedExtensionPatch = sharedExtensionPatch("tiktok", initHook) diff --git a/patches/src/main/kotlin/app/revanced/patches/tudortmund/misc/extension/ExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/tudortmund/misc/extension/ExtensionPatch.kt index 1c056b0c6..9ca0b78d7 100644 --- a/patches/src/main/kotlin/app/revanced/patches/tudortmund/misc/extension/ExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/tudortmund/misc/extension/ExtensionPatch.kt @@ -2,4 +2,4 @@ package app.revanced.patches.tudortmund.misc.extension import app.revanced.patches.shared.misc.extension.sharedExtensionPatch -val sharedExtensionPatch = sharedExtensionPatch() +val sharedExtensionPatch = sharedExtensionPatch("tudortmund") diff --git a/patches/src/main/kotlin/app/revanced/patches/tumblr/misc/extension/ExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/tumblr/misc/extension/ExtensionPatch.kt index 3a69b74a5..ce554e745 100644 --- a/patches/src/main/kotlin/app/revanced/patches/tumblr/misc/extension/ExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/tumblr/misc/extension/ExtensionPatch.kt @@ -2,4 +2,4 @@ package app.revanced.patches.tumblr.misc.extension import app.revanced.patches.shared.misc.extension.sharedExtensionPatch -val sharedExtensionPatch = sharedExtensionPatch() +val sharedExtensionPatch = sharedExtensionPatch("tumblr") diff --git a/patches/src/main/kotlin/app/revanced/patches/twitch/misc/extension/SharedExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitch/misc/extension/SharedExtensionPatch.kt index 2299d3bb5..cd2f42b58 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitch/misc/extension/SharedExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitch/misc/extension/SharedExtensionPatch.kt @@ -2,4 +2,4 @@ package app.revanced.patches.twitch.misc.extension import app.revanced.patches.shared.misc.extension.sharedExtensionPatch -val sharedExtensionPatch = sharedExtensionPatch(initHook) +val sharedExtensionPatch = sharedExtensionPatch("twitch", initHook) diff --git a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/extension/ExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/extension/ExtensionPatch.kt index f1e6a879b..c5c758245 100644 --- a/patches/src/main/kotlin/app/revanced/patches/twitter/misc/extension/ExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/twitter/misc/extension/ExtensionPatch.kt @@ -2,4 +2,4 @@ package app.revanced.patches.twitter.misc.extension import app.revanced.patches.shared.misc.extension.sharedExtensionPatch -val sharedExtensionPatch = sharedExtensionPatch() +val sharedExtensionPatch = sharedExtensionPatch("twitter") diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/extension/SharedExtensionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/extension/SharedExtensionPatch.kt index 369e3ea74..553cc486f 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/extension/SharedExtensionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/extension/SharedExtensionPatch.kt @@ -3,7 +3,4 @@ package app.revanced.patches.youtube.misc.extension import app.revanced.patches.shared.misc.extension.sharedExtensionPatch import app.revanced.patches.youtube.misc.extension.hooks.* -// TODO: Move this to a "Hook.kt" file. Same for other extension hook patches. -val sharedExtensionPatch = sharedExtensionPatch( - applicationInitHook, -) +val sharedExtensionPatch = sharedExtensionPatch("youtube", applicationInitHook) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatch.kt index d8e72d87f..f167a3bd5 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/playercontrols/PlayerControlsPatch.kt @@ -11,6 +11,7 @@ import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod import app.revanced.patches.shared.misc.mapping.get import app.revanced.patches.shared.misc.mapping.resourceMappingPatch import app.revanced.patches.shared.misc.mapping.resourceMappings +import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch import app.revanced.patches.youtube.misc.playservice.is_19_25_or_greater import app.revanced.patches.youtube.misc.playservice.is_19_35_or_greater import app.revanced.util.* @@ -214,15 +215,17 @@ private var visibilityImmediateInsertIndex: Int = 0 val playerControlsPatch = bytecodePatch( description = "Manages the code for the player controls of the YouTube player.", ) { - dependsOn(playerControlsResourcePatch) + dependsOn( + playerControlsResourcePatch, + sharedExtensionPatch, + ) execute { - fun MutableMethod.indexOfFirstViewInflateOrThrow() = - indexOfFirstInstructionOrThrow { - val reference = getReference() - reference?.definingClass == "Landroid/view/ViewStub;" && - reference.name == "inflate" - } + fun MutableMethod.indexOfFirstViewInflateOrThrow() = indexOfFirstInstructionOrThrow { + val reference = getReference() + reference?.definingClass == "Landroid/view/ViewStub;" && + reference.name == "inflate" + } playerBottomControlsInflateFingerprint.method.apply { inflateBottomControlMethod = this @@ -292,7 +295,7 @@ val playerControlsPatch = bytecodePatch( """ invoke-static { v$register }, $EXTENSION_CLASS_DESCRIPTOR->getPlayerTopControlsLayoutResourceName(Ljava/lang/String;)Ljava/lang/String; move-result-object v$register - """ + """, ) } } diff --git a/settings.gradle.kts b/settings.gradle.kts index 221f076f8..a43ee0c2e 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -16,7 +16,15 @@ pluginManagement { } plugins { - id("app.revanced.patches") version "1.0.0-dev.6" + id("app.revanced.patches") version "1.0.0-dev.7" +} + +settings { + extensions { + defaultNamespace = "app.revanced.extension" + + proguardFiles("../proguard-rules.pro") + } } include(":patches:stub") From 4017185e760c0569e6644b94bbe66a84fa245b4b Mon Sep 17 00:00:00 2001 From: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> Date: Thu, 5 Dec 2024 19:42:08 +0400 Subject: [PATCH 11/12] fix(YouTube - Spoof video streams): Use system language as default iOS audio stream (#4042) --- .../revanced/extension/shared/settings/Setting.java | 2 +- .../settings/preference/ImportExportPreference.java | 6 +++--- .../youtube/patches/spoof/requests/PlayerRoutes.java | 7 ++++++- .../youtube/sponsorblock/SponsorBlockSettings.java | 11 ++--------- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java index 5f5a97474..db5ecc844 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/Setting.java @@ -438,7 +438,7 @@ public abstract class Setting { } for (ImportExportCallback callback : importExportCallbacks) { - callback.settingsExported(alertDialogContext); + callback.settingsImported(alertDialogContext); } Utils.showToastLong(numberOfSettingsImported == 0 diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java index 4c06a97df..a1d051c2b 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ImportExportPreference.java @@ -72,21 +72,21 @@ public class ImportExportPreference extends EditTextPreference implements Prefer builder.setNeutralButton(str("revanced_settings_import_copy"), (dialog, which) -> { Utils.setClipboard(getEditText().getText().toString()); }).setPositiveButton(str("revanced_settings_import"), (dialog, which) -> { - importSettings(getEditText().getText().toString()); + importSettings(builder.getContext(), getEditText().getText().toString()); }); } catch (Exception ex) { Logger.printException(() -> "onPrepareDialogBuilder failure", ex); } } - private void importSettings(String replacementSettings) { + private void importSettings(Context context, String replacementSettings) { try { if (replacementSettings.equals(existingSettings)) { return; } AbstractPreferenceFragment.settingImportInProgress = true; - final boolean rebootNeeded = Setting.importFromJSON(Utils.getContext(), replacementSettings); + final boolean rebootNeeded = Setting.importFromJSON(context, replacementSettings); if (rebootNeeded) { AbstractPreferenceFragment.showRestartDialog(getContext()); } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/PlayerRoutes.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/PlayerRoutes.java index 8d6782cb3..f77288ccc 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/PlayerRoutes.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/spoof/requests/PlayerRoutes.java @@ -7,6 +7,7 @@ import java.io.IOException; import java.net.HttpURLConnection; import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.Utils; import app.revanced.extension.shared.requests.Requester; import app.revanced.extension.shared.requests.Route; import app.revanced.extension.youtube.patches.spoof.ClientType; @@ -24,6 +25,9 @@ final class PlayerRoutes { */ private static final int CONNECTION_TIMEOUT_MILLISECONDS = 10 * 1000; // 10 Seconds. + private static final String LOCALE_LANGUAGE = Utils.getContext().getResources() + .getConfiguration().locale.getLanguage(); + private PlayerRoutes() { } @@ -34,6 +38,8 @@ final class PlayerRoutes { JSONObject context = new JSONObject(); JSONObject client = new JSONObject(); + // Required to use correct default audio channel with iOS. + client.put("hl", LOCALE_LANGUAGE); client.put("clientName", clientType.name()); client.put("clientVersion", clientType.clientVersion); client.put("deviceModel", clientType.deviceModel); @@ -41,7 +47,6 @@ final class PlayerRoutes { if (clientType.androidSdkVersion != null) { client.put("androidSdkVersion", clientType.androidSdkVersion); } - context.put("client", client); innerTubeBody.put("context", context); diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockSettings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockSettings.java index 00ecfacf9..45739f267 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockSettings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/SponsorBlockSettings.java @@ -30,7 +30,7 @@ public class SponsorBlockSettings { public static final Setting.ImportExportCallback SB_IMPORT_EXPORT_CALLBACK = new Setting.ImportExportCallback() { @Override public void settingsImported(@Nullable Context context) { - updateFromImportedSettings(); + SegmentCategory.loadAllCategoriesFromSettings(); } @Override public void settingsExported(@Nullable Context context) { @@ -172,7 +172,7 @@ public class SponsorBlockSettings { /** * Export the categories using flatten json (no embedded dictionaries or arrays). */ - public static void showExportWarningIfNeeded(@Nullable Context dialogContext) { + private static void showExportWarningIfNeeded(@Nullable Context dialogContext) { Utils.verifyOnMainThread(); initialize(); @@ -245,11 +245,4 @@ public class SponsorBlockSettings { SegmentCategory.updateEnabledCategories(); } - - /** - * Updates internal data based on {@link Setting} values. - */ - public static void updateFromImportedSettings() { - SegmentCategory.loadAllCategoriesFromSettings(); - } } From 35db935708e5c9ef6975d5beac60866fb0d15198 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 5 Dec 2024 15:45:47 +0000 Subject: [PATCH 12/12] chore: Release v5.2.2-dev.1 [skip ci] ## [5.2.2-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.2.1...v5.2.2-dev.1) (2024-12-05) ### Bug Fixes * **YouTube - Spoof video streams:** Use system language as default iOS audio stream ([#4042](https://github.com/ReVanced/revanced-patches/issues/4042)) ([4017185](https://github.com/ReVanced/revanced-patches/commit/4017185e760c0569e6644b94bbe66a84fa245b4b)) --- CHANGELOG.md | 7 +++++++ gradle.properties | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f0e47717..94a12103d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [5.2.2-dev.1](https://github.com/ReVanced/revanced-patches/compare/v5.2.1...v5.2.2-dev.1) (2024-12-05) + + +### Bug Fixes + +* **YouTube - Spoof video streams:** Use system language as default iOS audio stream ([#4042](https://github.com/ReVanced/revanced-patches/issues/4042)) ([4017185](https://github.com/ReVanced/revanced-patches/commit/4017185e760c0569e6644b94bbe66a84fa245b4b)) + ## [5.2.1](https://github.com/ReVanced/revanced-patches/compare/v5.2.0...v5.2.1) (2024-12-04) diff --git a/gradle.properties b/gradle.properties index ed3f6977a..48d87ebcf 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,4 +3,4 @@ org.gradle.jvmargs = -Xms512M -Xmx2048M org.gradle.parallel = true android.useAndroidX = true kotlin.code.style = official -version = 5.2.1 +version = 5.2.2-dev.1