mirror of
https://github.com/ReVanced/revanced-patches.git
synced 2026-01-24 11:11:03 +00:00
Compare commits
13 Commits
v2.191.0-d
...
v2.191.0-d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e153e97ed2 | ||
|
|
224142ba19 | ||
|
|
8c5239d6b5 | ||
|
|
43533f6c09 | ||
|
|
f77d743a92 | ||
|
|
27a346d74b | ||
|
|
5138197358 | ||
|
|
2e7ab38a3d | ||
|
|
47e1bcbafa | ||
|
|
d83ef1ed59 | ||
|
|
3f397dabf7 | ||
|
|
1d23dcb3ea | ||
|
|
be335adeb9 |
35
CHANGELOG.md
35
CHANGELOG.md
@@ -1,3 +1,38 @@
|
|||||||
|
# [2.191.0-dev.31](https://github.com/ReVanced/revanced-patches/compare/v2.191.0-dev.30...v2.191.0-dev.31) (2023-10-02)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - SponsorBlock:** Adjust import/export UI text ([#3063](https://github.com/ReVanced/revanced-patches/issues/3063)) ([4e5513e](https://github.com/ReVanced/revanced-patches/commit/4e5513e973f5de7c9f6330dfe7a0744e91f305b4))
|
||||||
|
|
||||||
|
# [2.191.0-dev.30](https://github.com/ReVanced/revanced-patches/compare/v2.191.0-dev.29...v2.191.0-dev.30) (2023-10-02)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* Add hooks to existing hook set ([5655067](https://github.com/ReVanced/revanced-patches/commit/5655067f28d010f3a7a6d91b09ac984eee162031))
|
||||||
|
* **Google Recorder - Remove device restrictions:** Clarify limitation ([094f57b](https://github.com/ReVanced/revanced-patches/commit/094f57b601d746079c43fd5c8834e3e6be07f946))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **YouTube - Hide layout components:** Hide search result shelf header ([f4eda8c](https://github.com/ReVanced/revanced-patches/commit/f4eda8c8d111cc856d5878a32ddca3f7c2e0df31))
|
||||||
|
|
||||||
|
# [2.191.0-dev.29](https://github.com/ReVanced/revanced-patches/compare/v2.191.0-dev.28...v2.191.0-dev.29) (2023-10-01)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **TikTok - Hide ads:** Constrain to last working version ([516e8a1](https://github.com/ReVanced/revanced-patches/commit/516e8a14c0e113f9f4c0dda9be223cf3e929eb3a))
|
||||||
|
|
||||||
|
# [2.191.0-dev.28](https://github.com/ReVanced/revanced-patches/compare/v2.191.0-dev.27...v2.191.0-dev.28) (2023-10-01)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **YouTube - Hide "Load more" button:** Use correct names ([569c3cd](https://github.com/ReVanced/revanced-patches/commit/569c3cde9875b807c9116322ca324f69b5fa0218))
|
||||||
|
* **YouTube - Hide shorts components:** Fix hiding navigation bar ([2de51e6](https://github.com/ReVanced/revanced-patches/commit/2de51e65f05be8a6364dfdfe9cd36e8fed5737f6))
|
||||||
|
|
||||||
# [2.191.0-dev.27](https://github.com/ReVanced/revanced-patches/compare/v2.191.0-dev.26...v2.191.0-dev.27) (2023-10-01)
|
# [2.191.0-dev.27](https://github.com/ReVanced/revanced-patches/compare/v2.191.0-dev.26...v2.191.0-dev.27) (2023-10-01)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
org.gradle.parallel = true
|
org.gradle.parallel = true
|
||||||
org.gradle.caching = true
|
org.gradle.caching = true
|
||||||
kotlin.code.style = official
|
kotlin.code.style = official
|
||||||
version = 2.191.0-dev.27
|
version = 2.191.0-dev.31
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[versions]
|
[versions]
|
||||||
revanced-patcher = "15.0.1"
|
revanced-patcher = "15.0.3"
|
||||||
revanced-patch-annotation-processor = "15.0.1"
|
revanced-patch-annotation-processor = "15.0.3"
|
||||||
ksp = "1.9.0-1.0.11"
|
ksp = "1.9.0-1.0.11"
|
||||||
smali = "3.0.3"
|
smali = "3.0.3"
|
||||||
guava = "32.1.2-jre"
|
guava = "32.1.2-jre"
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -13,7 +13,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
|
|
||||||
@Patch(
|
@Patch(
|
||||||
name = "Remove device restrictions",
|
name = "Remove device restrictions",
|
||||||
description = "Removes restrictions from using the app on any device.",
|
description = "Removes restrictions from using the app on any device. Requires mounting patched app over original.",
|
||||||
compatiblePackages = [CompatiblePackage("com.google.android.apps.recorder")]
|
compatiblePackages = [CompatiblePackage("com.google.android.apps.recorder")]
|
||||||
)
|
)
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ import com.android.tools.smali.dexlib2.iface.reference.FieldReference
|
|||||||
@Patch(
|
@Patch(
|
||||||
name = "Hide ads",
|
name = "Hide ads",
|
||||||
compatiblePackages = [
|
compatiblePackages = [
|
||||||
CompatiblePackage("com.ss.android.ugc.trill"),
|
CompatiblePackage("com.ss.android.ugc.trill", ["30.9.3"]),
|
||||||
CompatiblePackage("com.zhiliaoapp.musically")
|
CompatiblePackage("com.zhiliaoapp.musically", ["30.9.3"])
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@Suppress("unused")
|
@Suppress("unused")
|
||||||
|
|||||||
@@ -70,6 +70,21 @@ object HideLayoutComponentsPatch : BytecodePatch(
|
|||||||
StringResource("revanced_hide_timed_reactions_summary_on", "Timed reactions are hidden"),
|
StringResource("revanced_hide_timed_reactions_summary_on", "Timed reactions are hidden"),
|
||||||
StringResource("revanced_hide_timed_reactions_summary_off", "Timed reactions are shown")
|
StringResource("revanced_hide_timed_reactions_summary_off", "Timed reactions are shown")
|
||||||
),
|
),
|
||||||
|
SwitchPreference(
|
||||||
|
"revanced_hide_search_result_shelf_header",
|
||||||
|
StringResource(
|
||||||
|
"revanced_hide_search_result_shelf_header_title",
|
||||||
|
"Hide search result shelf header"
|
||||||
|
),
|
||||||
|
StringResource(
|
||||||
|
"revanced_hide_search_result_shelf_header_summary_on",
|
||||||
|
"Shelf header is hidden"
|
||||||
|
),
|
||||||
|
StringResource(
|
||||||
|
"revanced_hide_search_result_shelf_header_summary_off",
|
||||||
|
"Shelf header is shown"
|
||||||
|
)
|
||||||
|
),
|
||||||
SwitchPreference(
|
SwitchPreference(
|
||||||
"revanced_hide_channel_guidelines",
|
"revanced_hide_channel_guidelines",
|
||||||
StringResource("revanced_hide_channel_guidelines_title", "Hide channel guidelines"),
|
StringResource("revanced_hide_channel_guidelines_title", "Hide channel guidelines"),
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import app.revanced.patches.youtube.layout.hide.loadmorebutton.fingerprints.Hide
|
|||||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||||
|
|
||||||
@Patch(
|
@Patch(
|
||||||
name = "Hide load more button",
|
name = "Hide \"Load more\" button",
|
||||||
description = "Hides the button under videos that loads similar videos.",
|
description = "Hides the button under videos that loads similar videos.",
|
||||||
dependencies = [HideLoadMoreButtonResourcePatch::class],
|
dependencies = [HideLoadMoreButtonResourcePatch::class],
|
||||||
compatiblePackages = [
|
compatiblePackages = [
|
||||||
|
|||||||
@@ -21,9 +21,9 @@ object HideLoadMoreButtonResourcePatch : ResourcePatch() {
|
|||||||
SettingsPatch.PreferenceScreen.LAYOUT.addPreferences(
|
SettingsPatch.PreferenceScreen.LAYOUT.addPreferences(
|
||||||
SwitchPreference(
|
SwitchPreference(
|
||||||
"revanced_hide_load_more_button",
|
"revanced_hide_load_more_button",
|
||||||
StringResource("revanced_hide_load_more_button_title", "Hide Load More button"),
|
StringResource("revanced_hide_load_more_button_title", "Hide \"Load More\" button"),
|
||||||
StringResource("revanced_hide_load_more_button_summary_on", "Load More button is hidden"),
|
StringResource("revanced_hide_load_more_button_summary_on", "Button is hidden"),
|
||||||
StringResource("revanced_hide_load_more_button_summary_off", "Load More button is shown")
|
StringResource("revanced_hide_load_more_button_summary_off", "Button is shown")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -98,10 +98,10 @@ object HideShortsComponentsPatch : BytecodePatch(
|
|||||||
|
|
||||||
SetPivotBarVisibilityFingerprint.result!!.let { result ->
|
SetPivotBarVisibilityFingerprint.result!!.let { result ->
|
||||||
result.mutableMethod.apply {
|
result.mutableMethod.apply {
|
||||||
val checkCastIndex = result.scanResult.patternScanResult!!.endIndex
|
val insertIndex = result.scanResult.patternScanResult!!.endIndex
|
||||||
val viewRegister = getInstruction<OneRegisterInstruction>(checkCastIndex).registerA
|
val viewRegister = getInstruction<OneRegisterInstruction>(insertIndex - 1).registerA
|
||||||
addInstruction(
|
addInstruction(
|
||||||
checkCastIndex + 1,
|
insertIndex,
|
||||||
"sput-object v$viewRegister, $FILTER_CLASS_DESCRIPTOR->pivotBar:" +
|
"sput-object v$viewRegister, $FILTER_CLASS_DESCRIPTOR->pivotBar:" +
|
||||||
"Lcom/google/android/libraries/youtube/rendering/ui/pivotbar/PivotBar;"
|
"Lcom/google/android/libraries/youtube/rendering/ui/pivotbar/PivotBar;"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,19 +1,16 @@
|
|||||||
package app.revanced.patches.youtube.layout.hide.shorts.fingerprints
|
package app.revanced.patches.youtube.layout.hide.shorts.fingerprints
|
||||||
|
|
||||||
|
import app.revanced.patcher.extensions.or
|
||||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||||
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
import com.android.tools.smali.dexlib2.Opcode
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
|
|
||||||
object SetPivotBarVisibilityFingerprint : MethodFingerprint(
|
object SetPivotBarVisibilityFingerprint : MethodFingerprint(
|
||||||
|
returnType = "V",
|
||||||
|
accessFlags = AccessFlags.PRIVATE or AccessFlags.FINAL,
|
||||||
parameters = listOf("Z"),
|
parameters = listOf("Z"),
|
||||||
opcodes = listOf(
|
opcodes = listOf(
|
||||||
Opcode.IGET_OBJECT,
|
|
||||||
Opcode.INVOKE_VIRTUAL,
|
|
||||||
Opcode.MOVE_RESULT,
|
|
||||||
Opcode.IF_EQZ,
|
|
||||||
Opcode.RETURN_VOID,
|
|
||||||
Opcode.IGET_OBJECT,
|
|
||||||
Opcode.INVOKE_VIRTUAL,
|
|
||||||
Opcode.MOVE_RESULT_OBJECT,
|
|
||||||
Opcode.CHECK_CAST,
|
Opcode.CHECK_CAST,
|
||||||
|
Opcode.IF_EQZ
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -38,7 +38,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
|||||||
object SpoofAppVersionPatch : BytecodePatch(
|
object SpoofAppVersionPatch : BytecodePatch(
|
||||||
setOf(SpoofAppVersionFingerprint)
|
setOf(SpoofAppVersionFingerprint)
|
||||||
) {
|
) {
|
||||||
private const val INTEGRATIONS_CLASS_DESCRIPTOR = "Lapp/revanced/integrations/patches/SpoofAppVersionPatch"
|
private const val INTEGRATIONS_CLASS_DESCRIPTOR = "Lapp/revanced/integrations/patches/spoof/SpoofAppVersionPatch;"
|
||||||
|
|
||||||
override fun execute(context: BytecodeContext) {
|
override fun execute(context: BytecodeContext) {
|
||||||
SettingsPatch.PreferenceScreen.LAYOUT.addPreferences(
|
SettingsPatch.PreferenceScreen.LAYOUT.addPreferences(
|
||||||
@@ -87,7 +87,7 @@ object SpoofAppVersionPatch : BytecodePatch(
|
|||||||
mutableMethod.addInstructions(
|
mutableMethod.addInstructions(
|
||||||
insertIndex,
|
insertIndex,
|
||||||
"""
|
"""
|
||||||
invoke-static {v$buildOverrideNameRegister}, $INTEGRATIONS_CLASS_DESCRIPTOR;->getYouTubeVersionOverride(Ljava/lang/String;)Ljava/lang/String;
|
invoke-static {v$buildOverrideNameRegister}, $INTEGRATIONS_CLASS_DESCRIPTOR->getYouTubeVersionOverride(Ljava/lang/String;)Ljava/lang/String;
|
||||||
move-result-object v$buildOverrideNameRegister
|
move-result-object v$buildOverrideNameRegister
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ object SpoofSignaturePatch : BytecodePatch(
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Hook the player parameters.
|
// Hook the player parameters.
|
||||||
PlayerResponseMethodHookPatch + PlayerResponseMethodHookPatch.Hook.ProtoBufferParameter(
|
PlayerResponseMethodHookPatch += PlayerResponseMethodHookPatch.Hook.ProtoBufferParameter(
|
||||||
"$INTEGRATIONS_CLASS_DESCRIPTOR->spoofParameter(Ljava/lang/String;)Ljava/lang/String;"
|
"$INTEGRATIONS_CLASS_DESCRIPTOR->spoofParameter(Ljava/lang/String;)Ljava/lang/String;"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ object VideoIdPatch : BytecodePatch(
|
|||||||
* @param methodDescriptor which method to call. Params have to be `Ljava/lang/String;`
|
* @param methodDescriptor which method to call. Params have to be `Ljava/lang/String;`
|
||||||
*/
|
*/
|
||||||
fun hookPlayerResponseVideoId(methodDescriptor: String) {
|
fun hookPlayerResponseVideoId(methodDescriptor: String) {
|
||||||
PlayerResponseMethodHookPatch + PlayerResponseMethodHookPatch.Hook.VideoId(
|
PlayerResponseMethodHookPatch += PlayerResponseMethodHookPatch.Hook.VideoId(
|
||||||
methodDescriptor
|
methodDescriptor
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,7 +53,8 @@
|
|||||||
<string name="sb_api_url_changed">API URL changed</string>
|
<string name="sb_api_url_changed">API URL changed</string>
|
||||||
<string name="sb_settings_ie">Import/Export settings</string>
|
<string name="sb_settings_ie">Import/Export settings</string>
|
||||||
<string name="sb_settings_copy">Copy</string>
|
<string name="sb_settings_copy">Copy</string>
|
||||||
<string name="sb_settings_ie_sum">Your SponsorBlock JSON configuration that can be imported/exported to ReVanced and other SponsorBlock platforms. This includes your private user id. Be sure to share this wisely</string>
|
<string name="sb_settings_ie_sum">Your SponsorBlock JSON configuration that can be imported/exported to ReVanced and other SponsorBlock platforms. %s</string>
|
||||||
|
<string name="sb_settings_ie_sum_warning">This includes your private user id. Be sure to share this wisely</string>
|
||||||
<string name="sb_settings_import_successful">Settings imported successfully</string>
|
<string name="sb_settings_import_successful">Settings imported successfully</string>
|
||||||
<string name="sb_settings_import_failed">Failed to import: %s</string>
|
<string name="sb_settings_import_failed">Failed to import: %s</string>
|
||||||
<string name="sb_settings_export_failed">Failed to export: %s</string>
|
<string name="sb_settings_export_failed">Failed to export: %s</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user